ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x100020, 0x1fffe0}, {&(0x7f0000168a00)="eb52904e5446532020202000102000000000000000f8000000000000000000000000000080008000ff0300000000000002000000000000000f00000000000000f4000000f400000025f72e792ed6fb51000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x3ff000}, {&(0x7f0000168b00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3ff1e0}], 0x0, &(0x7f0000168c00)) 01:19:30 executing program 0: sendmsg$IPVS_CMD_FLUSH(0xffffffffffffffff, 0x0, 0x0) sendmsg$IPVS_CMD_GET_CONFIG(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000040)={&(0x7f0000000340)=ANY=[@ANYBLOB="00022cbd7000fcdbdf250d000000040003800800050005000000040002800800060005000000080005000300000024000180090006006c626c63000000000c000700020000000e00000008000500"], 0x60}, 0x1, 0x0, 0x0, 0x80}, 0x4000080) r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000080)='/proc/sys/net/ipv4/vs/sync_qlen_max\x00', 0x2, 0x0) syz_genetlink_get_family_id$ipvs(0x0, 0xffffffffffffffff) sendmsg$IPVS_CMD_SET_DEST(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)=ANY=[@ANYBLOB="0000dcd2", @ANYRES16=0x0, @ANYBLOB="000428bd7000fbdbdf250600000008000500000000005000028008000700080000000800060009000000080009000000000006000e004e20000008000800000000001400010064010100000000000000000000000000080006000700000006000e004e21000008000600bc000000"], 0x74}, 0x1, 0x0, 0x0, 0x48004}, 0x41) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$alg(0x26, 0x5, 0x0) bind$alg(r1, &(0x7f0000000180)={0x26, 'hash\x00', 0x0, 0x0, 'ghash\x00'}, 0x58) r2 = accept4(r1, 0x0, 0x0, 0x0) setsockopt$ALG_SET_KEY(r1, 0x117, 0x1, &(0x7f0000000100)="0a0775b0d5e383e5b3c066ff000000e2", 0x10) sendmmsg$alg(r2, &(0x7f0000002700)=[{0x1000000000000000, 0x0, &(0x7f00000003c0)=[{0x0}, {&(0x7f0000000140)="0272f8e661d82e2f7a19243ccd5cef7165de1e59931f71baa88f", 0x1a}, {0x0}, {&(0x7f0000002900)="c9", 0x7fffefe6}], 0x2}], 0x7fffefe6, 0x0) write$snapshot(r0, &(0x7f0000000540)='9', 0x1) sendmsg$IPVS_CMD_FLUSH(0xffffffffffffffff, 0x0, 0x0) (async) sendmsg$IPVS_CMD_GET_CONFIG(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000040)={&(0x7f0000000340)=ANY=[@ANYBLOB="00022cbd7000fcdbdf250d000000040003800800050005000000040002800800060005000000080005000300000024000180090006006c626c63000000000c000700020000000e00000008000500"], 0x60}, 0x1, 0x0, 0x0, 0x80}, 0x4000080) (async) openat$ipvs(0xffffffffffffff9c, &(0x7f0000000080)='/proc/sys/net/ipv4/vs/sync_qlen_max\x00', 0x2, 0x0) (async) syz_genetlink_get_family_id$ipvs(0x0, 0xffffffffffffffff) (async) sendmsg$IPVS_CMD_SET_DEST(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)=ANY=[@ANYBLOB="0000dcd2", @ANYRES16=0x0, @ANYBLOB="000428bd7000fbdbdf250600000008000500000000005000028008000700080000000800060009000000080009000000000006000e004e20000008000800000000001400010064010100000000000000000000000000080006000700000006000e004e21000008000600bc000000"], 0x74}, 0x1, 0x0, 0x0, 0x48004}, 0x41) (async) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) socket$alg(0x26, 0x5, 0x0) (async) bind$alg(r1, &(0x7f0000000180)={0x26, 'hash\x00', 0x0, 0x0, 'ghash\x00'}, 0x58) (async) accept4(r1, 0x0, 0x0, 0x0) (async) setsockopt$ALG_SET_KEY(r1, 0x117, 0x1, &(0x7f0000000100)="0a0775b0d5e383e5b3c066ff000000e2", 0x10) (async) sendmmsg$alg(r2, &(0x7f0000002700)=[{0x1000000000000000, 0x0, &(0x7f00000003c0)=[{0x0}, {&(0x7f0000000140)="0272f8e661d82e2f7a19243ccd5cef7165de1e59931f71baa88f", 0x1a}, {0x0}, {&(0x7f0000002900)="c9", 0x7fffefe6}], 0x2}], 0x7fffefe6, 0x0) (async) write$snapshot(r0, &(0x7f0000000540)='9', 0x1) (async) 01:19:30 executing program 3: r0 = syz_clone(0x10000000, 0x0, 0x0, 0x0, 0x0, 0x0) syz_clone(0x20048000, 0x0, 0x0, 0x0, 0x0, 0x0) r1 = syz_clone(0x20048000, 0x0, 0x0, 0x0, 0x0, 0x0) setpgid(r1, 0x0) get_robust_list(r1, &(0x7f00000000c0)=&(0x7f0000000080)={&(0x7f0000000040)}, &(0x7f0000000100)=0x18) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000200)) kcmp$KCMP_EPOLL_TFD(0x0, r0, 0x5, 0xffffffffffffffff, 0x0) ioctl$TIOCGPGRP(0xffffffffffffffff, 0x540f, &(0x7f00000001c0)=0x0) setpgid(r2, r0) r3 = getpgrp(r0) r4 = socket(0x1, 0x803, 0x0) r5 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setfsuid(r6) sendmsg$nl_netfilter(r4, &(0x7f0000000240)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000200)={&(0x7f00000004c0)=ANY=[@ANYBLOB="10f95b225dc7010127bd7000fddbdf250200008d0008007300000000", @ANYRES32=r6, @ANYBLOB="ee000d004081a4f8877b8b272945ad5a9998137ddff9d6309ba4a61e5e08aaf89a35a31d078efdafcfcf0a8425a02f4398485f7e2154f32875452c1a322f9b6b47bb6244beac65da006a1f6ef15cdb42a01dc4b7f4b433041ceeb90905b13b85fd26210b462ab15502388830727bd1b7f93373d72d24341d936e6b3141260253282f47ff490fd9b8e5a2c31e41eff30ea05b2c9e123729150b651550a544b0b884b32330203b4e74076161322f122fd73e2b8bd06a43875c4c2a28c324c0dea530abdc7c92ec0b89b7b6e83ff0f353f88ec33cd5bbeeba1213f3e34467c8a3a91cb08cfd65b0b8be2938d1d9474a0000b51b03acc9a66e7310fda475a2a5e03a2177d3db0ac501971d7ae7fb5eabcc3fc6c721c959a69a6f56ae14cdd34f00836f18d3"], 0x110}, 0x1, 0x0, 0x0, 0x8000}, 0x8040008) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000140)={0x3ff8, 0x1, {r3}, {r6}, 0x2, 0x9}) r7 = openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$TIOCMBIC(r7, 0x5453, 0x0) 01:19:30 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r1 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r1, &(0x7f0000000040), 0x10) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r3, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r2, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r4 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, r5, 0x0) bind$llc(r2, &(0x7f0000000180)={0x1a, 0x335, 0x3, 0x1, 0x0, 0x3, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x3a}}, 0x10) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r2}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r5}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:30 executing program 2: sched_setscheduler(0x0, 0x5, &(0x7f0000000380)) (async, rerun: 32) r0 = perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x889f}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async, rerun: 32) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(&(0x7f0000002180)=@md0, &(0x7f00000021c0)='./file2\x00', &(0x7f0000002200)='ocfs2_dlmfs\x00', 0x10804, &(0x7f0000002240)='\x00') (async) syz_mount_image$ext4(0x0, &(0x7f0000000440)='./bus\x00', 0x0, 0x0, 0x0, 0x0, 0x0) (async) mkdir(&(0x7f00000002c0)='./file1\x00', 0x0) symlink(&(0x7f0000000000)='./bus/file0\x00', &(0x7f00000000c0)='./file0/file0\x00') mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000002280)=ANY=[@ANYBLOB="75707065726469723d2e2f6275732c775632cd6f726b6469723d2e2f66696c65312c6c687765726469723d2e2f66696c6530"]) chdir(&(0x7f00000001c0)='./bus\x00') bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000100)='lock_acquire\x00'}, 0x10) truncate(&(0x7f0000002000)='./bus\x00', 0x7fffffffffffffff) (async, rerun: 32) link(&(0x7f0000000400)='./file0\x00', &(0x7f00000004c0)='./bus\x00') (async, rerun: 32) rename(&(0x7f0000000100)='./bus\x00', &(0x7f0000000140)='./file2\x00') (async) lstat(&(0x7f00000020c0)='./file1\x00', &(0x7f0000002100)) (async) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000000000)="9e17c59d36b5647a9916f871a3da109875a9dcd354c95d650d4189486091139f82479d1dbba3299479b091635c328f6c19a2562a90ee2d0107480c2c7091c601ac6298478c88b174051be7e18e2c037fbb22e9ace71bed449a344ba1673e1d5af08b7c20a963842615ec5f0028deddbbc7d797d19dc3c3015c3b59e9cdbc9cc02cb9cb4adb05a9e114b849d7d1036a99646580a079fc89e5a93fb63310f49a58eeb67fa2e08c2817b3eadcf3dcc7ccc8211d01340feee7a2c3948c88543b264cbbab0f6641113d4a99fd877301d33af56434c1aac3e20e43d3bcefdc68793dfa29869cdd9228a1bc4fa6dabaceaddf91907c4163541262d303f31e2afdb14245ff1765a5ec9575a6568015b9531e70f49796d6120a80f2abe9eefcd80fd843d891754bbf7a64a8e9c0331aec2ea41f72266b0d3cda258cb8ebb0e143a96d3dca684161329d8806bbfc90ec4568913f74080f2da56d86dd9dd10323ab3cd17c2d07d4dbaf505e67e4b2e648a1e12282e856cc05b27a3704a23c025f34c259cd1ab7859d961a86aad098f34f92b46f9433ce932562b98089f5b14c005c4eea3469c327351e6fb8e3617c79788faaeac02d92a093826694ab52eadfd720c917a6af7333fd962349d255cea72ecc8ccb07a97540f29eb63fb0dea3fb27924f09c63c696b93f81b7ae210191a059ff2858aca47de7881f97915cfcaa5d5e00ffd9f113c3f8c5cc656095c2284bd0ddec40574acc3d65c14a0f68d1378bfd9262f55eca76f869de274519f0a19efec64b5e7883b92fe7344430a33062772b882a98fefa2dc682791fb7743d6a510166e94b01911ef347f69ca09bdb225c3291de88bde8bceac645ad20077b4c974c6854d69f1d6e4a83078aec475253c2ea933f5c10430f3eac055a4cc7d53cd65bc6751c5e6bd0db02d854787b219a51fc0247a70409567dab2eb6bf58f11992d8e89526aef8badd41c3a5dfd7e95c71bdfcec845b0b90ec13de5eabac13f49e0fffea7d26d870a049b59e64b2e902790fb88298c3363408acda45f21c497ecd2f896b9a32ba2ea0b0cf4a4608b50cf4e15948ddd7980c680590d2190c8baa699b2a8dbc5c12e3d739b4badf9ccf1af0d12490410c01fbb2a186d51ea908a9aecc1ad6025ba21681a4a7ff0b8255cfaf55766a1b0110ed76f909be6005adae1e24166623a206ce33fbc39f3ce7b36f5d00ec8b0daaf3076952014df70603dc7de16488edd227462e0b6e44c7eea65b0a2849ec925fa6722a32295219884a83f285d4e5367e86f3d30c4e6e15cb72e34110f29a41c2d281f404db68b03834205eb885263ee794fc30c4838c808c69335456a5f057f72c4675c247ba241af64de69fd0250b19b7dbec13b75e98cf7c39f7ea258ccc28af324a11f2203b7e422e0ba456a1c5c5ac789a3434e2e55d310974921e3cb236752d7087bc5d706dc05c85ff90054ba6f191449e7edb9747aa891c662ca4e8b39f42cd397e51e02c7741f7b99de50ae8501115ae0581e308e8bb12d3bcb739d8e26b46035c46201d23f629ae8ddf16cf7ef8758680ab0b6caffb0c1f13e0573765ff84005134250f1fff403aed2cd25867307d3a9c10b6c83d8fda104459d7a8492faffc32b36ec8804549d06398651608d6595e8669f559eab1bf8ab06dd430ac4d865c1bf5d25335d3f4b7fa3dabe2e1d5c9ea917c049b5a9062f0971de417a47fc27661a393fbc9007fbcab7c8f656566d97d5d3401766ec92879cf3c454e18f677e16df4167dfc4295ce5f41eb38098a3522667a9b6d08942a1dec0db5df2c1a23b8eae43bd666c3e25d2734ebbaf1427f442d8c3569ba421a82dc14605737eda512ed1a87ab4c48991c50a9dbb1243f9c82d7d304d93ee041a03c36a8411c68bdffe3f79e2c77a5eaac4f56e9f3f7931c154da25ee51a18d782e76ba6aecbe70e1668a9a79707198636acc04c7a2b4d3948cb30c0f41a00c064cb3e28e45429e1f41fbab9bf71ec4be4e656b579bedad457eb3e45b4983f9ac03a8e9986038fdf631cf67f92f7f8d5c5e0e40fdafed04959fb58ed85b282e4d13307d8aefa4b37db2888820867d871c77974e00b6dc28b20cb39924a56c328b9a94ddc35e78fa8f2cf76bc4bfa615f0d5f05aacc41fbf2b65f83cf99614d538858a114bdb9fd8f108b26a2df8d575caf341af54adb5ceea7357b709509cb1a985d8f3c07f16714c70e51972ba7a0d1eaa7d72e182323f16c7185d9f3e54422bea92cc27af37e518ea3134146f74a84985201fc54c9a69cf2d2c954cf35fc37f8d8f18d5f21781ac872ce102f31901877882312a84000857ce20ff15210237fb2db8583dbbce886a79aab6d383601ca6e49d61688f579c7e775f2b3927a84c0089c202f97d504de309e0b5b69bab1de189f414e188e8906600e28531f8e0417e9b6482b75ca82e0aa8e2057fd8502bdc20e15604fef6785c3ebef40cf8831e8c621512d393b1dbebde42a02128fa0939c521e63d50c30ee3f6cc4c0970da9ec0f6b23364719d8581eac21d7056d55f55dc5f493f69383e8109c8fb1fd7ff057e3bd183299ba9dc3405ad96749958987c614ecf4917ecad461fb0fc7f5f4d02aa116fd25471eab156f608803d6367b0282008454cbf53890c7f93e7059eb1158709617d1287eed6f77e70eafcb9318596f2db4ac7e9190bc4854a827da615c12e48bf88a4a95f523728779bb3d9ab94fd05ca746b81b596b5e8a9f749c2887b20694f22722e1a369bbef141f2b4865311f6f8614173af12a2be2fce065728234b57445f01a0f8c9f7f09b5bf6a29143ab4b9f2b246b2f3cbbbdb4f14720e457788f036f9b479c16b957ea5aeb2abd426df2cd6daec141f65a9fc29de9a521a60de2afba47764dba3fb25dc57c89fd37fcce37b0e25276322436789b79998422738559ea38e31cb5f10992e9829d5e1c7c158ad23905c45ce9e89ed13be1cce432103e112dc2117cda3e8a74bb26743dd79a6c1c97743015164e33021651399f35b3315421eb974492beeac1e0db137b08c8b8b52bc755d8494e35793a986adb0a6ee69ccade5a657baa9ebd3df7b4336cacbba00bd7e9761a4f8616d9071cd67f8fd1f123a267ce81e61cbe67bd6bd2014088146e0d98ea64c7533e34527805e0a00fcd5359f55c9acf9f31c22059b09cce886ee401a8509817efb17df9da8c7064a3dde7f3f39ab565748875a83c8a3c16f16bfff2e31a8e188224819477becc2ff4c7ebff0f24003a54783894c2032f02f690422f06b3bb21388fbe5ccb7cd26150ee0d8a8180da063cf874c9c5614354db5ee82f5c79f3affe9ee205bbeb7e91285d66eae1b03a2b88c0f935ea05a954f67c62f1d0f573a68b94e596c434348acdd18d34f9b200d96ba359ecb18e7b95fc70be5929184e5bba0a98dfe091b7d94ce251d4a489def7e5aa139330e63c583d2fb3b78ba1852ca61e1c8af95f45dc7e1012f5883f6c22d0c37a40b744f787d51db0762c734e15ce215c18d3f2db62be9a9b5ce39068d4b14ff766d70ff8bcebd7b76d65b9e1e4521cd8d7e287f85b572d174354df780fb3a38a288ed8913ad90e5e9d8aa9825f5dbd4afd235cf38b38649a1a287fd97f5a75d808e788b4c491363a9a11b1e22f095bd061b80e5b7461f7313af8fea4567d2f3250a077c8718c755a3cc63c3e8ff8841858203df146c476a5844515d0dd09eac89f4829dd4cffd61ea7e03b4ffcc872651adcf8e7580e3df2afab10a7d16c071ee2cdc1036b3bb02403671ee97975e43cdd0f2414d57f3454da0e1b22e0443ca7f7fb5ca741ac85e815318d727cc8218bdf7763f77b6a6bf2c53465df0fa0624490c8d1f9b1f81684420a9f8d9f25e715b3e0edf729dcf60948bbbe3238d6aefc6f94dbbb9417e962f0352ddf9e4eece76241e27ede59b5b512d2e06480a18f138d0b4f34b4fc620501b96e2fff258caba6ff0d67622cfcb1c56b0b909f1dc57bb6d0259d7ca0a67132048c462cbe8fc8510dc828c392e48f2ff7ab818161cc7b291154dde4e246f9d98a90169407fb290cdc10db6b4f74684dd77ca2b2176e2c55e35c53e2b1c469899fd32e53018b7e405e1558d214ead52dcbe076a4750007281d0cfadee9506df9636632e0602b64e95fa023545a483aa68442242571e9ae013f5279f0346864b05302ca207e264263e37aeecf9e1270c9c56bb8fb3cc15776e521b7eef7cc5cc3baa80c6aa485f809c5fd5cc783864b7ef50b78f9427ed3c6425c83f4999a5033610a19ec436f8ddd014bb5077669be067a1324c448617f18497d3abb0e0d6d40b4580d0a9fbe1a0dec502bb3c40e578d40269100c3a0cd62ebf7953d80dd73dd39b9205ec17add4ea8ab875b173c0355c26d61f87cb6f59f610685149b4a51f4e9d990d39d39a45db00ab03412fa894db903a0c9379223b7e46e4bb47aad11f3f759db0070626c4fb2d7e88c464cde9208795388c9da9365c813d9ea084f84e7dfad1080ff4562bf3779805cd61b8b66f807bdaf10937b04602712afcab48501e2c2d11daa8a42cf3f30983e66daeda9c624dfd40a47c68a8cc1c6eda6bdb951051568816da2dc336ecd79c62cea7b07d362797872c268c6cbc9689777a78ab29cde84eddd7f5ce2eb56320329ee745f4e83ea5d29ea678939a88d618d5e7fef94ec8fede6d341f77b41f8a42701d2a1a69467ae6ce34ee3dee50223c94951612ccdc5b6e7d854ad50e320713489252f9b6bf2f70cbdea722a63409f457a2c3983a10bafe464193781dfe5deca505c24d54d593263b1c7aface5beac9617fb43bce903c555e23923c44cd177b12c737cfe87f8f9c5ec183c7450548832b77ee31f4fa51217912ca12ef1d76ccf977f7c93612f714c7b6e7314145d63a2cff516f60e9bc5ab399f58153c93612333025c7d8574e98bd6e0252b92124a02d0648d7df477e1608987249fe593dbd77ceb85327bbadd8174cafa4069ac631799e4df6e0542daa4d7abc767ee1dc2dfb24d0ef4c104f6d78c819b346546666b8d9fc86119a469836b4e4a0328782c74fd28455b4ce8ccae3d4a2718332ff07083c48d49b3ff0b3465ed14e03aad85aa14c7466ca5c60834bb9f960ad3d7ba0c84bc8639b45835669a9bebbedf6bb7080380a74ca7665311647c62b4bc9bf4ec3791107ce258f8f07ebeb3ffd89883baeda43c6a4de9c6662245251a5a8951542509ac361fe5b973a33bc1e8fcab6bc4360d4150804722c80d308da8b30572b7208c68552334cdabf1d81e7dc4486f5e2c1dae1a96d7d358cff084c660f10e0e3526f9b55986e54bf72693fd131f5996e1626d06d17d41bcf3ef4f3779cf9b2a5c63cb3342fcb923e4340173c0c6827ea2ffdce62cb5526d20dc0cee799ee87764b430d0c6deae80195bc0cccda3ad41593766ec41edafb149f6da0bca151ee92e4e2d5ac4cd556e8a71b8f492f95bdbec8b98efc32c71ce9c2cb8dd49d2252d34c76424f192a488909d8aed3cd701a881e30b0a24128120ce23d4944b41f81687f31594dc954c27535cf8a3ad60c2f5bfd937a5e490c4dc3f629c9901fc61cc0b4fd1093004d19fbbd095083accbddb7a55a5172916f2775e166525289bf0e5f16f90e35c302c86e144b26c8d92cfc2134562b6af55987e72a085043c70df865a70d9971d5c2db591f2b5d198d8a33a81b12480ae524bd164339be3519c511015c481bcabe395d2e8951d410ee69e33a9d9f72c62b4493591574916d023685273b9f6ea82f1608c0d78f14982dac21b79c032b645b06984613f8753de17a67da5e6b45b64234d38386e95bf9ea5ed9ad5b380a915a24fca3984b122a1f611f5bfcbf99d329dd0497a6493a7fb0cb2d87b42bc2528e76a31092cd2f034a3428e48494524af8d95ec6e1827fd0c77b6f63ecd4f617ca9438a717a742bd39ed145b94c23eba4f0c429ca5342d74687a6769451bc76d039388c3e51da69e0f4d84298018e5a6f5f7d8d1249d44590e0a4f46699bc3849b042900344f96e07817f075324c2450ea846173c25a05d9cbf2bcd2b96da2781e3c350fbb70d105be92dc9432de8446667c6ef0d251b978fbd61881e56150104ceaba203763dd146809dbfc0122e1b612f5f3a0db0d50e5e4081956f22d38dc2554a2f7d923f523b90e9f74172768b3c2bfc61abf43d9b7237ae87e012ec85d8a6df412888a50f8f3acf4afea0e6c3a5cfc534ff3af872e82375b4f59bb22653850bf02586530c45e383168dab138303d768838ccaf89f93e1e49cc5ae3687115f3edfe24924f1132a61e4456c28132fd217cefc2a6f07252f79bed1513ce61716be615683318caa6cb4da3ef876ad0975c1c92ac93f1741e19d5926a30cb36cf07f4bb1e7de208788f62ce87b2d98cd96d795edfbe8a7cfca773ee08bc9a7d5d3858579d9bea259fe8c361dfda00a2b52827e2191bf48dc19c5a71ee845125b59df2405724b443380a352f7ae39713230558de6b6e2ca641543b10522c9de71f9add2da93b4117e3ec6dc0549baf0eaf00bdc223363d72bdfca6ba966f324de88fc609446d88e37c448c34c61cf98686d78c8d646c9b4f52d6e7923f5cd4877ee04568b4850c8965076e86deb863518b411186817d0d5e708fefcd7bf6259336d5cc9c3131dd7b7395f89827a099baa5f98774d7809c39600c53697c6153db67f9c5153ae4c10fd3624398acbef6e84e75f38c6e92a2c985c442f1dfb1d9f9574a6cbf6fcb973ba8470e5a36cc8bb4102ddee64d8e4ea973d7f35f937ddaa41102149106126bb45a110308a03766d979afd4fd9bbb1052900752088d974714464dfc1d0fcfaa03db45b5da8ad42b571d8e6f16dd9b8db24d8740aebb3e7832174c158d1e025ea4ce31d96d5c767d787b711eaf87af150d1aa0bf272e0703bd4ad4106932f43bec058a80d9992aa598ca4770a86b0dd674c984c671a6163d36614107c3e1417103592ed2e8b52102e78d62812066156af0918e6e50b4179498a62e38faaa76a0b65d1ff406f4e4b9f842fce07be00ae900f65c1409c6e00e1418aa0c000f38798fe664ac3d77d89ba0c7cb39c8c4b20343472ea19d53cf143f48fd885bf19f670101b72d1db307e2176fdf73295ee9c4d559e203694daf3d91b80e1c03889c9f715f921c4a2214b0d7c59df1d7380694ceabf5fe182c6ea8d8456fc53d30a485b71dedab319fe877ee6052d098a0f133b81da0e8201b560afa5f12498d94cfa3f641b045c86194cb41af90aae53ba87f4b5c321fd229f6e3dab0d3d8ac3b71d4b4e5de029ef12eb9b8e572c629852781fd886ffc7f6dea405b36bc87c7cd1f511e7f0ea441554d39504bba2f73321de7c267843f2515430822826a903a5bb73d5eecff4ec2fc531633a963e05c20d7f95eb303ca9a6627229278190634d968ee65458290da16b06694fba527706c9a77dc66cdf6eb8a4c601a910d23fe5dc14b685aa5b58055b7109f706a7419c90efdd780f184a913d89b18ed2c7ba46b3c65487b528a2b09d759d39b3f72f38414c60f8da30b98ab75f018c19aa32cbc09166820ff8eaac72356f75e38ec23cfd37e0b7b60df7af379e1df28dd124064383cec0f2c0b1eec971a2b183e08970bd36927de351fe9463c38ec53b421a107a75cc96c5f4ac01980d06d8a85d164674bc464bc37e690364832f006d18fc5e93f3b5d434e3a874399415de995d365635ad19e95cfad6f8fcd7f40ac61374d7580b2b60430f19bab82cb8393910a17e960b447ffac266cc9f0106117b9dd13505cc40ed933ed63b51bcffce9e8b16132bfedb7ea1bf436f053f6d7e5f37908b1ed9dc10b49a6bc0c9d33fd7d122d9a03c8c1dcf6b9066997ea5fc6bda9552e9069c55ae784f8798dddc0de15cd986bbf443d5ba48f5c411b17fb728d974f722c0d94ac6439d073714726b7d40b6367eecf5c6d86d28ce269eb529fe4d684edc326e47fc2a88e9282d58151aeac06712a390d96ce028548be2a38c22934318123ab54c8b9fa8f320df7040e7a458b69b79c6608cf6a67773ec26915cd4fb30208ecf2e25267797678ae26a352d77a30c72cf7490e2b6e45dd5e839060332378250751135eeb980ef45b1f2ed1475672e5e4cc0ee814031b929f6d8c576c3d3589be25aa16023b279b83b8f5d3ddd3524ad25a4c6ed5a34b4df576f6b971b08e8083ce5cb69e6d598429b442920566ab16a9aff5554a6ecc0f14bfc6581d4c89413117bedc358bf2ccbe2df93aae0575f689c8785eb21f6ea0b07048f71c0261c4ada982ee3569730181bcf727a517ac1c93da0b7a6b156acfe151b7b507f9b1392a37a7034c52e2998a7ac2fa68e04decb10e75615751a27b1dfe7e7e2a4061ad9f7178e9482d9f10180dc401ac27c595f9aae26bb5833aa7fe1fd5a92d724762ce0496f85e053e9a85b9c74eb97382e576f87e5331e26ce06a8d4f707527de790408f675094a5aecf7799bde68ca2f4b9e3f2f586ed4de4b3d3762d302f85e2a32be286e32e42cac62fce80238d094715e22d1e1fc92616fce83bfd763a3cc81762fad8a996cf6e48f53509c8ce723d95222642c540ded27037a50a3c942dc2bd95fa42646d61a4eca985357522535ea0589175b02a245f2ed1f45a317b165d2ca8891ac3c15d47a60ad5a31a88d3521b25593aed27c69c6f85992ea90bdc999ba64d545111711f803deded9e2a20d7a0b072e6019b5fadcf951387c4f9770b7a20bf5fa69c0df704bfc043c16860fb5eafb1608459938b71b8a8b6b412e43c33a961f1c4c390471deb5f3d10c855106cf2b9b6985307f19fd15aeadd39736b9c9f6cb16d1c4654261bc3beb76e65207869ad6f8fa52087515b9a2c01ff9fddaa056e919d790e2d54f3bb1b86e6caffa904b7d92c5aa12ef1588ba37c53ae981743075395b731b1f8671e69741946ae978cf3dc8f8ef4a45682fc393bff50c3b2a75715fc462f23836224ba7fa4c28c0f7e847c8396278a9bc56ffcf9487bee40fafaf29862a3dd9bbe2f313866a0c483d16e7775f8763d9e16766cbe2270dc8e00f0c220c3c00837b3aeb98513bd47339bfca1fb3dd1626b7ca26ec266bf33e91b9e353ec1c72a8fae29bd681c58e0a702a6ab819c8719fe084e3103e885aad5f7dd95b71b89aba6402a22072fd3ae79d36007a21a708e5d3866b0bcabdce8b3e663ed7cc67da0984c000179e2183e7c84f681278744f7330d03a563be893e1790f842f1699621072e9bb4ee7d58fe77582c29ead0248e0e524d4df3aa5df6dff2733db97f44498a8ecd763ab58205079f283b71bc853759cd5e25bbf101d7ef26f34371343dc31cf040e3c6def40aa6a59cde03492ae2f7fa8f55e9058766b7f20467aac561eeb96a459289039090d16e1919bbbf78a0c5d7bba56c742fb8277da9180d4466bf32d41f3e3b305f06feb543b602fe953040dcbeeb4eb3d67bdd2edd610f5ce2be0cf0b2189115c5608c7a914e5f6320f5fb83095a397f7a8588311d696cdfe42e24d4ab68bad73aa0cf2f31cbbd7db8f8313f6fd42ee4c86e54c728b218143af0cb4a2604dadc827d9826cd6488db734c35acd4c5faf1ed935f3ce49c1e347f48b7f451c40ec3b9e8edc9f07d9b85f408daafe450c6d3b98ba8d949f0ed7a1841796e8f5d1648bbc9e998a80b90c071e31ae478aab0ad211ea573519657b711ac531c8b1693201279419c9583e891bb8e1eb61d41e265bb9f0f1437395711777fd6b216163bb404306a6fcb31c24cf35246450dc2e6379ba8d3d8c1afd1ed707107e44130bfb223c7441a5a39a602e9bd422f0d5b3e8bf412ad56cb3ffc3222199264973d901040e5f961ab61f736e67e837cecac610c04055b866d2ab00341bcb32bb542c0da43fd56f6a99262e31c82449a416a8b2ab3c9a1c0f2518e7d86efacdff9f5e7eb2bfc0a506923f0ea77a56d6eb9e86a9a106b98365b0c25500503fb5e6a3ce153d1959505e76638a54d7d51052655ac936d8fdfcb5fa79824309a4805d2ec7f9981335f09e0ec0a5d09757ae01e4c09f2316fb04c8524d20d6009301be6f18cc8ec9da39bf4781d9caf44ba56c2efd41d5f2a0939df87ec7fb3c3bdba6a0cbe3a6433f73b3e21097ca086d124ff09c199abe323deac84b106957ee114bb4877683da347fc13336b5625ca3e6609fd22c08a13ed385dcb6de3c505ad8212d43933969ab74934ce892715191422b980421777f7d7fec956265925a0e8c90f75b0f19cd57474a028e928a306946fd021b6f0926a7a000eb7d7c8a24f5764d87c9beb31b27fe477f55024aec6cc6bcb47a9be66082be7b27980d3a8849520874bfe2ffa9ce62a84bb6f4646018705b8a4bc5bd859c7b26e53451cd37152fd6ee02de7333dbe10961d24511d61d9b8d901d04808d6fb88bcf901444ed5c0a0e4f8288b6fc9957eb10e00465a96b604e0e1e27a5c4bd9873712ac9ce467390c1ad0b38d054df4fab67b0ce0878d73a20a30df78c60d0c412c2c9c21bd19f4608115517d63947ccbea3c4522e9b06259bf6cf69887e21799926beb7c0378e6ca7d9d1e343acbb083bb465c2972e4bbcbc4f43af5d2a5afee828ce000a6eccb2a39f5344748e167a2308ba21aac6ce5f68bf6ad4c9a70ae362371165a99abead59f90d4dab7d784d539b5b9c086e47e65c017088ffdde084a247327733e402a63a85b57e9a3606ad649aaaf67522c0082cce85702355522535435bfb003fa2c3c47797eff592f507045d136629f180b9367f90be1b0d4feb062259bab40ca41d2adc1ecfc45132764acace378eabb447a894f9339f70800f18ad65f054955f52041c234b410f151c0ed70b8fa1a366c5f62c763211ce41853a24f9f3d7bd092458e8aca60ac2616ec2e3689a59738f912ac8b0882ec14e102f0bc4aa62c19cc494b4c35e3362a7e0b11b0079ac1becea8b951ba7d5e43048f0ba8c50fec2f9e26d7822f9e28cae1ee108c0880877710cb33fa8fdf2a6bc01327e19138988d80a13f035eeaefe26cc2698fc83b24d812f4d2c1515eeda50fe1a0a7997ec533679139f94b9e2ab5283d18ad9a3d8d5263e4e4eb73cee17a5f332c6f03d5073af510f87cdaf4d7aac9c27c3d5d63b79769fc5efd6a1169d4305e271c99d9b2f77de40f03e43c9330b975a5b34a4a710d350c19567f530570fad9dd2c808cfd80dbcbc5887f8dd6de3285adfa1da506d05aadc4fd1e0d0dd8a4c014338d8c6c6c33db3f8fae975edbf5af71c7a0bd9f54896c465fd2d336a7aed2e52f7bd77b57d9de0bd516784c82929210f102a43ce21ead2a2dc7912f0fb2b61ebe4dec01facae9796ddfbfcb523ebb0a18894d9d5fd1a956b6fbf6ab340c0d1aadaec5997bd792e18577f274a637aa506c037be8fbe63f0d359be6cd067bfe2d540ccbb40aa28f91f1f68c299e29cb27fdd00b6281fe2b8673ee1e44d9a3aac9f8ae4129597c9cda1932bbb0481d8fbfcf8aaf41ed318106a5c9746486e0ed339397f70fa26c098d32d821e8eda96914e1dc1fbd315c3dfc1792e21a9c7adde9cd27888b9b71de68713f23b46f4744838d94d2b9fe02a8", 0x2060, &(0x7f0000002040)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) ioctl$PERF_EVENT_IOC_QUERY_BPF(r0, 0xc008240a, &(0x7f0000002000)=ANY=[]) ioctl$KVM_CREATE_IRQCHIP(r2, 0xae60) (async, rerun: 32) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) (rerun: 32) 01:19:30 executing program 3: r0 = syz_clone(0x10000000, 0x0, 0x0, 0x0, 0x0, 0x0) (async) syz_clone(0x20048000, 0x0, 0x0, 0x0, 0x0, 0x0) (async) r1 = syz_clone(0x20048000, 0x0, 0x0, 0x0, 0x0, 0x0) setpgid(r1, 0x0) (async) get_robust_list(r1, &(0x7f00000000c0)=&(0x7f0000000080)={&(0x7f0000000040)}, &(0x7f0000000100)=0x18) (async) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000200)) kcmp$KCMP_EPOLL_TFD(0x0, r0, 0x5, 0xffffffffffffffff, 0x0) (async) ioctl$TIOCGPGRP(0xffffffffffffffff, 0x540f, &(0x7f00000001c0)=0x0) setpgid(r2, r0) (async) r3 = getpgrp(r0) r4 = socket(0x1, 0x803, 0x0) r5 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setfsuid(r6) (async) sendmsg$nl_netfilter(r4, &(0x7f0000000240)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000200)={&(0x7f00000004c0)=ANY=[@ANYBLOB="10f95b225dc7010127bd7000fddbdf250200008d0008007300000000", @ANYRES32=r6, @ANYBLOB="ee000d004081a4f8877b8b272945ad5a9998137ddff9d6309ba4a61e5e08aaf89a35a31d078efdafcfcf0a8425a02f4398485f7e2154f32875452c1a322f9b6b47bb6244beac65da006a1f6ef15cdb42a01dc4b7f4b433041ceeb90905b13b85fd26210b462ab15502388830727bd1b7f93373d72d24341d936e6b3141260253282f47ff490fd9b8e5a2c31e41eff30ea05b2c9e123729150b651550a544b0b884b32330203b4e74076161322f122fd73e2b8bd06a43875c4c2a28c324c0dea530abdc7c92ec0b89b7b6e83ff0f353f88ec33cd5bbeeba1213f3e34467c8a3a91cb08cfd65b0b8be2938d1d9474a0000b51b03acc9a66e7310fda475a2a5e03a2177d3db0ac501971d7ae7fb5eabcc3fc6c721c959a69a6f56ae14cdd34f00836f18d3"], 0x110}, 0x1, 0x0, 0x0, 0x8000}, 0x8040008) (async) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000140)={0x3ff8, 0x1, {r3}, {r6}, 0x2, 0x9}) r7 = openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$TIOCMBIC(r7, 0x5453, 0x0) [ 233.015641] ntfs: (device loop5): read_ntfs_boot_sector(): Primary boot sector is invalid. 01:19:30 executing program 2: sched_setscheduler(0x0, 0x5, &(0x7f0000000380)) r0 = perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x889f}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(&(0x7f0000002180)=@md0, &(0x7f00000021c0)='./file2\x00', &(0x7f0000002200)='ocfs2_dlmfs\x00', 0x10804, &(0x7f0000002240)='\x00') syz_mount_image$ext4(0x0, &(0x7f0000000440)='./bus\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mkdir(&(0x7f00000002c0)='./file1\x00', 0x0) symlink(&(0x7f0000000000)='./bus/file0\x00', &(0x7f00000000c0)='./file0/file0\x00') mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000002280)=ANY=[@ANYBLOB="75707065726469723d2e2f6275732c775632cd6f726b6469723d2e2f66696c65312c6c687765726469723d2e2f66696c6530"]) chdir(&(0x7f00000001c0)='./bus\x00') bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000100)='lock_acquire\x00'}, 0x10) truncate(&(0x7f0000002000)='./bus\x00', 0x7fffffffffffffff) link(&(0x7f0000000400)='./file0\x00', &(0x7f00000004c0)='./bus\x00') rename(&(0x7f0000000100)='./bus\x00', &(0x7f0000000140)='./file2\x00') lstat(&(0x7f00000020c0)='./file1\x00', &(0x7f0000002100)) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000000000)="9e17c59d36b5647a9916f871a3da109875a9dcd354c95d650d4189486091139f82479d1dbba3299479b091635c328f6c19a2562a90ee2d0107480c2c7091c601ac6298478c88b174051be7e18e2c037fbb22e9ace71bed449a344ba1673e1d5af08b7c20a963842615ec5f0028deddbbc7d797d19dc3c3015c3b59e9cdbc9cc02cb9cb4adb05a9e114b849d7d1036a99646580a079fc89e5a93fb63310f49a58eeb67fa2e08c2817b3eadcf3dcc7ccc8211d01340feee7a2c3948c88543b264cbbab0f6641113d4a99fd877301d33af56434c1aac3e20e43d3bcefdc68793dfa29869cdd9228a1bc4fa6dabaceaddf91907c4163541262d303f31e2afdb14245ff1765a5ec9575a6568015b9531e70f49796d6120a80f2abe9eefcd80fd843d891754bbf7a64a8e9c0331aec2ea41f72266b0d3cda258cb8ebb0e143a96d3dca684161329d8806bbfc90ec4568913f74080f2da56d86dd9dd10323ab3cd17c2d07d4dbaf505e67e4b2e648a1e12282e856cc05b27a3704a23c025f34c259cd1ab7859d961a86aad098f34f92b46f9433ce932562b98089f5b14c005c4eea3469c327351e6fb8e3617c79788faaeac02d92a093826694ab52eadfd720c917a6af7333fd962349d255cea72ecc8ccb07a97540f29eb63fb0dea3fb27924f09c63c696b93f81b7ae210191a059ff2858aca47de7881f97915cfcaa5d5e00ffd9f113c3f8c5cc656095c2284bd0ddec40574acc3d65c14a0f68d1378bfd9262f55eca76f869de274519f0a19efec64b5e7883b92fe7344430a33062772b882a98fefa2dc682791fb7743d6a510166e94b01911ef347f69ca09bdb225c3291de88bde8bceac645ad20077b4c974c6854d69f1d6e4a83078aec475253c2ea933f5c10430f3eac055a4cc7d53cd65bc6751c5e6bd0db02d854787b219a51fc0247a70409567dab2eb6bf58f11992d8e89526aef8badd41c3a5dfd7e95c71bdfcec845b0b90ec13de5eabac13f49e0fffea7d26d870a049b59e64b2e902790fb88298c3363408acda45f21c497ecd2f896b9a32ba2ea0b0cf4a4608b50cf4e15948ddd7980c680590d2190c8baa699b2a8dbc5c12e3d739b4badf9ccf1af0d12490410c01fbb2a186d51ea908a9aecc1ad6025ba21681a4a7ff0b8255cfaf55766a1b0110ed76f909be6005adae1e24166623a206ce33fbc39f3ce7b36f5d00ec8b0daaf3076952014df70603dc7de16488edd227462e0b6e44c7eea65b0a2849ec925fa6722a32295219884a83f285d4e5367e86f3d30c4e6e15cb72e34110f29a41c2d281f404db68b03834205eb885263ee794fc30c4838c808c69335456a5f057f72c4675c247ba241af64de69fd0250b19b7dbec13b75e98cf7c39f7ea258ccc28af324a11f2203b7e422e0ba456a1c5c5ac789a3434e2e55d310974921e3cb236752d7087bc5d706dc05c85ff90054ba6f191449e7edb9747aa891c662ca4e8b39f42cd397e51e02c7741f7b99de50ae8501115ae0581e308e8bb12d3bcb739d8e26b46035c46201d23f629ae8ddf16cf7ef8758680ab0b6caffb0c1f13e0573765ff84005134250f1fff403aed2cd25867307d3a9c10b6c83d8fda104459d7a8492faffc32b36ec8804549d06398651608d6595e8669f559eab1bf8ab06dd430ac4d865c1bf5d25335d3f4b7fa3dabe2e1d5c9ea917c049b5a9062f0971de417a47fc27661a393fbc9007fbcab7c8f656566d97d5d3401766ec92879cf3c454e18f677e16df4167dfc4295ce5f41eb38098a3522667a9b6d08942a1dec0db5df2c1a23b8eae43bd666c3e25d2734ebbaf1427f442d8c3569ba421a82dc14605737eda512ed1a87ab4c48991c50a9dbb1243f9c82d7d304d93ee041a03c36a8411c68bdffe3f79e2c77a5eaac4f56e9f3f7931c154da25ee51a18d782e76ba6aecbe70e1668a9a79707198636acc04c7a2b4d3948cb30c0f41a00c064cb3e28e45429e1f41fbab9bf71ec4be4e656b579bedad457eb3e45b4983f9ac03a8e9986038fdf631cf67f92f7f8d5c5e0e40fdafed04959fb58ed85b282e4d13307d8aefa4b37db2888820867d871c77974e00b6dc28b20cb39924a56c328b9a94ddc35e78fa8f2cf76bc4bfa615f0d5f05aacc41fbf2b65f83cf99614d538858a114bdb9fd8f108b26a2df8d575caf341af54adb5ceea7357b709509cb1a985d8f3c07f16714c70e51972ba7a0d1eaa7d72e182323f16c7185d9f3e54422bea92cc27af37e518ea3134146f74a84985201fc54c9a69cf2d2c954cf35fc37f8d8f18d5f21781ac872ce102f31901877882312a84000857ce20ff15210237fb2db8583dbbce886a79aab6d383601ca6e49d61688f579c7e775f2b3927a84c0089c202f97d504de309e0b5b69bab1de189f414e188e8906600e28531f8e0417e9b6482b75ca82e0aa8e2057fd8502bdc20e15604fef6785c3ebef40cf8831e8c621512d393b1dbebde42a02128fa0939c521e63d50c30ee3f6cc4c0970da9ec0f6b23364719d8581eac21d7056d55f55dc5f493f69383e8109c8fb1fd7ff057e3bd183299ba9dc3405ad96749958987c614ecf4917ecad461fb0fc7f5f4d02aa116fd25471eab156f608803d6367b0282008454cbf53890c7f93e7059eb1158709617d1287eed6f77e70eafcb9318596f2db4ac7e9190bc4854a827da615c12e48bf88a4a95f523728779bb3d9ab94fd05ca746b81b596b5e8a9f749c2887b20694f22722e1a369bbef141f2b4865311f6f8614173af12a2be2fce065728234b57445f01a0f8c9f7f09b5bf6a29143ab4b9f2b246b2f3cbbbdb4f14720e457788f036f9b479c16b957ea5aeb2abd426df2cd6daec141f65a9fc29de9a521a60de2afba47764dba3fb25dc57c89fd37fcce37b0e25276322436789b79998422738559ea38e31cb5f10992e9829d5e1c7c158ad23905c45ce9e89ed13be1cce432103e112dc2117cda3e8a74bb26743dd79a6c1c97743015164e33021651399f35b3315421eb974492beeac1e0db137b08c8b8b52bc755d8494e35793a986adb0a6ee69ccade5a657baa9ebd3df7b4336cacbba00bd7e9761a4f8616d9071cd67f8fd1f123a267ce81e61cbe67bd6bd2014088146e0d98ea64c7533e34527805e0a00fcd5359f55c9acf9f31c22059b09cce886ee401a8509817efb17df9da8c7064a3dde7f3f39ab565748875a83c8a3c16f16bfff2e31a8e188224819477becc2ff4c7ebff0f24003a54783894c2032f02f690422f06b3bb21388fbe5ccb7cd26150ee0d8a8180da063cf874c9c5614354db5ee82f5c79f3affe9ee205bbeb7e91285d66eae1b03a2b88c0f935ea05a954f67c62f1d0f573a68b94e596c434348acdd18d34f9b200d96ba359ecb18e7b95fc70be5929184e5bba0a98dfe091b7d94ce251d4a489def7e5aa139330e63c583d2fb3b78ba1852ca61e1c8af95f45dc7e1012f5883f6c22d0c37a40b744f787d51db0762c734e15ce215c18d3f2db62be9a9b5ce39068d4b14ff766d70ff8bcebd7b76d65b9e1e4521cd8d7e287f85b572d174354df780fb3a38a288ed8913ad90e5e9d8aa9825f5dbd4afd235cf38b38649a1a287fd97f5a75d808e788b4c491363a9a11b1e22f095bd061b80e5b7461f7313af8fea4567d2f3250a077c8718c755a3cc63c3e8ff8841858203df146c476a5844515d0dd09eac89f4829dd4cffd61ea7e03b4ffcc872651adcf8e7580e3df2afab10a7d16c071ee2cdc1036b3bb02403671ee97975e43cdd0f2414d57f3454da0e1b22e0443ca7f7fb5ca741ac85e815318d727cc8218bdf7763f77b6a6bf2c53465df0fa0624490c8d1f9b1f81684420a9f8d9f25e715b3e0edf729dcf60948bbbe3238d6aefc6f94dbbb9417e962f0352ddf9e4eece76241e27ede59b5b512d2e06480a18f138d0b4f34b4fc620501b96e2fff258caba6ff0d67622cfcb1c56b0b909f1dc57bb6d0259d7ca0a67132048c462cbe8fc8510dc828c392e48f2ff7ab818161cc7b291154dde4e246f9d98a90169407fb290cdc10db6b4f74684dd77ca2b2176e2c55e35c53e2b1c469899fd32e53018b7e405e1558d214ead52dcbe076a4750007281d0cfadee9506df9636632e0602b64e95fa023545a483aa68442242571e9ae013f5279f0346864b05302ca207e264263e37aeecf9e1270c9c56bb8fb3cc15776e521b7eef7cc5cc3baa80c6aa485f809c5fd5cc783864b7ef50b78f9427ed3c6425c83f4999a5033610a19ec436f8ddd014bb5077669be067a1324c448617f18497d3abb0e0d6d40b4580d0a9fbe1a0dec502bb3c40e578d40269100c3a0cd62ebf7953d80dd73dd39b9205ec17add4ea8ab875b173c0355c26d61f87cb6f59f610685149b4a51f4e9d990d39d39a45db00ab03412fa894db903a0c9379223b7e46e4bb47aad11f3f759db0070626c4fb2d7e88c464cde9208795388c9da9365c813d9ea084f84e7dfad1080ff4562bf3779805cd61b8b66f807bdaf10937b04602712afcab48501e2c2d11daa8a42cf3f30983e66daeda9c624dfd40a47c68a8cc1c6eda6bdb951051568816da2dc336ecd79c62cea7b07d362797872c268c6cbc9689777a78ab29cde84eddd7f5ce2eb56320329ee745f4e83ea5d29ea678939a88d618d5e7fef94ec8fede6d341f77b41f8a42701d2a1a69467ae6ce34ee3dee50223c94951612ccdc5b6e7d854ad50e320713489252f9b6bf2f70cbdea722a63409f457a2c3983a10bafe464193781dfe5deca505c24d54d593263b1c7aface5beac9617fb43bce903c555e23923c44cd177b12c737cfe87f8f9c5ec183c7450548832b77ee31f4fa51217912ca12ef1d76ccf977f7c93612f714c7b6e7314145d63a2cff516f60e9bc5ab399f58153c93612333025c7d8574e98bd6e0252b92124a02d0648d7df477e1608987249fe593dbd77ceb85327bbadd8174cafa4069ac631799e4df6e0542daa4d7abc767ee1dc2dfb24d0ef4c104f6d78c819b346546666b8d9fc86119a469836b4e4a0328782c74fd28455b4ce8ccae3d4a2718332ff07083c48d49b3ff0b3465ed14e03aad85aa14c7466ca5c60834bb9f960ad3d7ba0c84bc8639b45835669a9bebbedf6bb7080380a74ca7665311647c62b4bc9bf4ec3791107ce258f8f07ebeb3ffd89883baeda43c6a4de9c6662245251a5a8951542509ac361fe5b973a33bc1e8fcab6bc4360d4150804722c80d308da8b30572b7208c68552334cdabf1d81e7dc4486f5e2c1dae1a96d7d358cff084c660f10e0e3526f9b55986e54bf72693fd131f5996e1626d06d17d41bcf3ef4f3779cf9b2a5c63cb3342fcb923e4340173c0c6827ea2ffdce62cb5526d20dc0cee799ee87764b430d0c6deae80195bc0cccda3ad41593766ec41edafb149f6da0bca151ee92e4e2d5ac4cd556e8a71b8f492f95bdbec8b98efc32c71ce9c2cb8dd49d2252d34c76424f192a488909d8aed3cd701a881e30b0a24128120ce23d4944b41f81687f31594dc954c27535cf8a3ad60c2f5bfd937a5e490c4dc3f629c9901fc61cc0b4fd1093004d19fbbd095083accbddb7a55a5172916f2775e166525289bf0e5f16f90e35c302c86e144b26c8d92cfc2134562b6af55987e72a085043c70df865a70d9971d5c2db591f2b5d198d8a33a81b12480ae524bd164339be3519c511015c481bcabe395d2e8951d410ee69e33a9d9f72c62b4493591574916d023685273b9f6ea82f1608c0d78f14982dac21b79c032b645b06984613f8753de17a67da5e6b45b64234d38386e95bf9ea5ed9ad5b380a915a24fca3984b122a1f611f5bfcbf99d329dd0497a6493a7fb0cb2d87b42bc2528e76a31092cd2f034a3428e48494524af8d95ec6e1827fd0c77b6f63ecd4f617ca9438a717a742bd39ed145b94c23eba4f0c429ca5342d74687a6769451bc76d039388c3e51da69e0f4d84298018e5a6f5f7d8d1249d44590e0a4f46699bc3849b042900344f96e07817f075324c2450ea846173c25a05d9cbf2bcd2b96da2781e3c350fbb70d105be92dc9432de8446667c6ef0d251b978fbd61881e56150104ceaba203763dd146809dbfc0122e1b612f5f3a0db0d50e5e4081956f22d38dc2554a2f7d923f523b90e9f74172768b3c2bfc61abf43d9b7237ae87e012ec85d8a6df412888a50f8f3acf4afea0e6c3a5cfc534ff3af872e82375b4f59bb22653850bf02586530c45e383168dab138303d768838ccaf89f93e1e49cc5ae3687115f3edfe24924f1132a61e4456c28132fd217cefc2a6f07252f79bed1513ce61716be615683318caa6cb4da3ef876ad0975c1c92ac93f1741e19d5926a30cb36cf07f4bb1e7de208788f62ce87b2d98cd96d795edfbe8a7cfca773ee08bc9a7d5d3858579d9bea259fe8c361dfda00a2b52827e2191bf48dc19c5a71ee845125b59df2405724b443380a352f7ae39713230558de6b6e2ca641543b10522c9de71f9add2da93b4117e3ec6dc0549baf0eaf00bdc223363d72bdfca6ba966f324de88fc609446d88e37c448c34c61cf98686d78c8d646c9b4f52d6e7923f5cd4877ee04568b4850c8965076e86deb863518b411186817d0d5e708fefcd7bf6259336d5cc9c3131dd7b7395f89827a099baa5f98774d7809c39600c53697c6153db67f9c5153ae4c10fd3624398acbef6e84e75f38c6e92a2c985c442f1dfb1d9f9574a6cbf6fcb973ba8470e5a36cc8bb4102ddee64d8e4ea973d7f35f937ddaa41102149106126bb45a110308a03766d979afd4fd9bbb1052900752088d974714464dfc1d0fcfaa03db45b5da8ad42b571d8e6f16dd9b8db24d8740aebb3e7832174c158d1e025ea4ce31d96d5c767d787b711eaf87af150d1aa0bf272e0703bd4ad4106932f43bec058a80d9992aa598ca4770a86b0dd674c984c671a6163d36614107c3e1417103592ed2e8b52102e78d62812066156af0918e6e50b4179498a62e38faaa76a0b65d1ff406f4e4b9f842fce07be00ae900f65c1409c6e00e1418aa0c000f38798fe664ac3d77d89ba0c7cb39c8c4b20343472ea19d53cf143f48fd885bf19f670101b72d1db307e2176fdf73295ee9c4d559e203694daf3d91b80e1c03889c9f715f921c4a2214b0d7c59df1d7380694ceabf5fe182c6ea8d8456fc53d30a485b71dedab319fe877ee6052d098a0f133b81da0e8201b560afa5f12498d94cfa3f641b045c86194cb41af90aae53ba87f4b5c321fd229f6e3dab0d3d8ac3b71d4b4e5de029ef12eb9b8e572c629852781fd886ffc7f6dea405b36bc87c7cd1f511e7f0ea441554d39504bba2f73321de7c267843f2515430822826a903a5bb73d5eecff4ec2fc531633a963e05c20d7f95eb303ca9a6627229278190634d968ee65458290da16b06694fba527706c9a77dc66cdf6eb8a4c601a910d23fe5dc14b685aa5b58055b7109f706a7419c90efdd780f184a913d89b18ed2c7ba46b3c65487b528a2b09d759d39b3f72f38414c60f8da30b98ab75f018c19aa32cbc09166820ff8eaac72356f75e38ec23cfd37e0b7b60df7af379e1df28dd124064383cec0f2c0b1eec971a2b183e08970bd36927de351fe9463c38ec53b421a107a75cc96c5f4ac01980d06d8a85d164674bc464bc37e690364832f006d18fc5e93f3b5d434e3a874399415de995d365635ad19e95cfad6f8fcd7f40ac61374d7580b2b60430f19bab82cb8393910a17e960b447ffac266cc9f0106117b9dd13505cc40ed933ed63b51bcffce9e8b16132bfedb7ea1bf436f053f6d7e5f37908b1ed9dc10b49a6bc0c9d33fd7d122d9a03c8c1dcf6b9066997ea5fc6bda9552e9069c55ae784f8798dddc0de15cd986bbf443d5ba48f5c411b17fb728d974f722c0d94ac6439d073714726b7d40b6367eecf5c6d86d28ce269eb529fe4d684edc326e47fc2a88e9282d58151aeac06712a390d96ce028548be2a38c22934318123ab54c8b9fa8f320df7040e7a458b69b79c6608cf6a67773ec26915cd4fb30208ecf2e25267797678ae26a352d77a30c72cf7490e2b6e45dd5e839060332378250751135eeb980ef45b1f2ed1475672e5e4cc0ee814031b929f6d8c576c3d3589be25aa16023b279b83b8f5d3ddd3524ad25a4c6ed5a34b4df576f6b971b08e8083ce5cb69e6d598429b442920566ab16a9aff5554a6ecc0f14bfc6581d4c89413117bedc358bf2ccbe2df93aae0575f689c8785eb21f6ea0b07048f71c0261c4ada982ee3569730181bcf727a517ac1c93da0b7a6b156acfe151b7b507f9b1392a37a7034c52e2998a7ac2fa68e04decb10e75615751a27b1dfe7e7e2a4061ad9f7178e9482d9f10180dc401ac27c595f9aae26bb5833aa7fe1fd5a92d724762ce0496f85e053e9a85b9c74eb97382e576f87e5331e26ce06a8d4f707527de790408f675094a5aecf7799bde68ca2f4b9e3f2f586ed4de4b3d3762d302f85e2a32be286e32e42cac62fce80238d094715e22d1e1fc92616fce83bfd763a3cc81762fad8a996cf6e48f53509c8ce723d95222642c540ded27037a50a3c942dc2bd95fa42646d61a4eca985357522535ea0589175b02a245f2ed1f45a317b165d2ca8891ac3c15d47a60ad5a31a88d3521b25593aed27c69c6f85992ea90bdc999ba64d545111711f803deded9e2a20d7a0b072e6019b5fadcf951387c4f9770b7a20bf5fa69c0df704bfc043c16860fb5eafb1608459938b71b8a8b6b412e43c33a961f1c4c390471deb5f3d10c855106cf2b9b6985307f19fd15aeadd39736b9c9f6cb16d1c4654261bc3beb76e65207869ad6f8fa52087515b9a2c01ff9fddaa056e919d790e2d54f3bb1b86e6caffa904b7d92c5aa12ef1588ba37c53ae981743075395b731b1f8671e69741946ae978cf3dc8f8ef4a45682fc393bff50c3b2a75715fc462f23836224ba7fa4c28c0f7e847c8396278a9bc56ffcf9487bee40fafaf29862a3dd9bbe2f313866a0c483d16e7775f8763d9e16766cbe2270dc8e00f0c220c3c00837b3aeb98513bd47339bfca1fb3dd1626b7ca26ec266bf33e91b9e353ec1c72a8fae29bd681c58e0a702a6ab819c8719fe084e3103e885aad5f7dd95b71b89aba6402a22072fd3ae79d36007a21a708e5d3866b0bcabdce8b3e663ed7cc67da0984c000179e2183e7c84f681278744f7330d03a563be893e1790f842f1699621072e9bb4ee7d58fe77582c29ead0248e0e524d4df3aa5df6dff2733db97f44498a8ecd763ab58205079f283b71bc853759cd5e25bbf101d7ef26f34371343dc31cf040e3c6def40aa6a59cde03492ae2f7fa8f55e9058766b7f20467aac561eeb96a459289039090d16e1919bbbf78a0c5d7bba56c742fb8277da9180d4466bf32d41f3e3b305f06feb543b602fe953040dcbeeb4eb3d67bdd2edd610f5ce2be0cf0b2189115c5608c7a914e5f6320f5fb83095a397f7a8588311d696cdfe42e24d4ab68bad73aa0cf2f31cbbd7db8f8313f6fd42ee4c86e54c728b218143af0cb4a2604dadc827d9826cd6488db734c35acd4c5faf1ed935f3ce49c1e347f48b7f451c40ec3b9e8edc9f07d9b85f408daafe450c6d3b98ba8d949f0ed7a1841796e8f5d1648bbc9e998a80b90c071e31ae478aab0ad211ea573519657b711ac531c8b1693201279419c9583e891bb8e1eb61d41e265bb9f0f1437395711777fd6b216163bb404306a6fcb31c24cf35246450dc2e6379ba8d3d8c1afd1ed707107e44130bfb223c7441a5a39a602e9bd422f0d5b3e8bf412ad56cb3ffc3222199264973d901040e5f961ab61f736e67e837cecac610c04055b866d2ab00341bcb32bb542c0da43fd56f6a99262e31c82449a416a8b2ab3c9a1c0f2518e7d86efacdff9f5e7eb2bfc0a506923f0ea77a56d6eb9e86a9a106b98365b0c25500503fb5e6a3ce153d1959505e76638a54d7d51052655ac936d8fdfcb5fa79824309a4805d2ec7f9981335f09e0ec0a5d09757ae01e4c09f2316fb04c8524d20d6009301be6f18cc8ec9da39bf4781d9caf44ba56c2efd41d5f2a0939df87ec7fb3c3bdba6a0cbe3a6433f73b3e21097ca086d124ff09c199abe323deac84b106957ee114bb4877683da347fc13336b5625ca3e6609fd22c08a13ed385dcb6de3c505ad8212d43933969ab74934ce892715191422b980421777f7d7fec956265925a0e8c90f75b0f19cd57474a028e928a306946fd021b6f0926a7a000eb7d7c8a24f5764d87c9beb31b27fe477f55024aec6cc6bcb47a9be66082be7b27980d3a8849520874bfe2ffa9ce62a84bb6f4646018705b8a4bc5bd859c7b26e53451cd37152fd6ee02de7333dbe10961d24511d61d9b8d901d04808d6fb88bcf901444ed5c0a0e4f8288b6fc9957eb10e00465a96b604e0e1e27a5c4bd9873712ac9ce467390c1ad0b38d054df4fab67b0ce0878d73a20a30df78c60d0c412c2c9c21bd19f4608115517d63947ccbea3c4522e9b06259bf6cf69887e21799926beb7c0378e6ca7d9d1e343acbb083bb465c2972e4bbcbc4f43af5d2a5afee828ce000a6eccb2a39f5344748e167a2308ba21aac6ce5f68bf6ad4c9a70ae362371165a99abead59f90d4dab7d784d539b5b9c086e47e65c017088ffdde084a247327733e402a63a85b57e9a3606ad649aaaf67522c0082cce85702355522535435bfb003fa2c3c47797eff592f507045d136629f180b9367f90be1b0d4feb062259bab40ca41d2adc1ecfc45132764acace378eabb447a894f9339f70800f18ad65f054955f52041c234b410f151c0ed70b8fa1a366c5f62c763211ce41853a24f9f3d7bd092458e8aca60ac2616ec2e3689a59738f912ac8b0882ec14e102f0bc4aa62c19cc494b4c35e3362a7e0b11b0079ac1becea8b951ba7d5e43048f0ba8c50fec2f9e26d7822f9e28cae1ee108c0880877710cb33fa8fdf2a6bc01327e19138988d80a13f035eeaefe26cc2698fc83b24d812f4d2c1515eeda50fe1a0a7997ec533679139f94b9e2ab5283d18ad9a3d8d5263e4e4eb73cee17a5f332c6f03d5073af510f87cdaf4d7aac9c27c3d5d63b79769fc5efd6a1169d4305e271c99d9b2f77de40f03e43c9330b975a5b34a4a710d350c19567f530570fad9dd2c808cfd80dbcbc5887f8dd6de3285adfa1da506d05aadc4fd1e0d0dd8a4c014338d8c6c6c33db3f8fae975edbf5af71c7a0bd9f54896c465fd2d336a7aed2e52f7bd77b57d9de0bd516784c82929210f102a43ce21ead2a2dc7912f0fb2b61ebe4dec01facae9796ddfbfcb523ebb0a18894d9d5fd1a956b6fbf6ab340c0d1aadaec5997bd792e18577f274a637aa506c037be8fbe63f0d359be6cd067bfe2d540ccbb40aa28f91f1f68c299e29cb27fdd00b6281fe2b8673ee1e44d9a3aac9f8ae4129597c9cda1932bbb0481d8fbfcf8aaf41ed318106a5c9746486e0ed339397f70fa26c098d32d821e8eda96914e1dc1fbd315c3dfc1792e21a9c7adde9cd27888b9b71de68713f23b46f4744838d94d2b9fe02a8", 0x2060, &(0x7f0000002040)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) ioctl$PERF_EVENT_IOC_QUERY_BPF(r0, 0xc008240a, &(0x7f0000002000)=ANY=[]) ioctl$KVM_CREATE_IRQCHIP(r2, 0xae60) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) sched_setscheduler(0x0, 0x5, &(0x7f0000000380)) (async) perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x889f}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) openat$kvm(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) (async) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) (async) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) (async) mount(&(0x7f0000002180)=@md0, &(0x7f00000021c0)='./file2\x00', &(0x7f0000002200)='ocfs2_dlmfs\x00', 0x10804, &(0x7f0000002240)='\x00') (async) syz_mount_image$ext4(0x0, &(0x7f0000000440)='./bus\x00', 0x0, 0x0, 0x0, 0x0, 0x0) (async) mkdir(&(0x7f00000002c0)='./file1\x00', 0x0) (async) symlink(&(0x7f0000000000)='./bus/file0\x00', &(0x7f00000000c0)='./file0/file0\x00') (async) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x0, &(0x7f0000002280)=ANY=[@ANYBLOB="75707065726469723d2e2f6275732c775632cd6f726b6469723d2e2f66696c65312c6c687765726469723d2e2f66696c6530"]) (async) chdir(&(0x7f00000001c0)='./bus\x00') (async) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000100)='lock_acquire\x00'}, 0x10) (async) truncate(&(0x7f0000002000)='./bus\x00', 0x7fffffffffffffff) (async) link(&(0x7f0000000400)='./file0\x00', &(0x7f00000004c0)='./bus\x00') (async) rename(&(0x7f0000000100)='./bus\x00', &(0x7f0000000140)='./file2\x00') (async) lstat(&(0x7f00000020c0)='./file1\x00', &(0x7f0000002100)) (async) syz_fuse_handle_req(0xffffffffffffffff, &(0x7f0000000000)="9e17c59d36b5647a9916f871a3da109875a9dcd354c95d650d4189486091139f82479d1dbba3299479b091635c328f6c19a2562a90ee2d0107480c2c7091c601ac6298478c88b174051be7e18e2c037fbb22e9ace71bed449a344ba1673e1d5af08b7c20a963842615ec5f0028deddbbc7d797d19dc3c3015c3b59e9cdbc9cc02cb9cb4adb05a9e114b849d7d1036a99646580a079fc89e5a93fb63310f49a58eeb67fa2e08c2817b3eadcf3dcc7ccc8211d01340feee7a2c3948c88543b264cbbab0f6641113d4a99fd877301d33af56434c1aac3e20e43d3bcefdc68793dfa29869cdd9228a1bc4fa6dabaceaddf91907c4163541262d303f31e2afdb14245ff1765a5ec9575a6568015b9531e70f49796d6120a80f2abe9eefcd80fd843d891754bbf7a64a8e9c0331aec2ea41f72266b0d3cda258cb8ebb0e143a96d3dca684161329d8806bbfc90ec4568913f74080f2da56d86dd9dd10323ab3cd17c2d07d4dbaf505e67e4b2e648a1e12282e856cc05b27a3704a23c025f34c259cd1ab7859d961a86aad098f34f92b46f9433ce932562b98089f5b14c005c4eea3469c327351e6fb8e3617c79788faaeac02d92a093826694ab52eadfd720c917a6af7333fd962349d255cea72ecc8ccb07a97540f29eb63fb0dea3fb27924f09c63c696b93f81b7ae210191a059ff2858aca47de7881f97915cfcaa5d5e00ffd9f113c3f8c5cc656095c2284bd0ddec40574acc3d65c14a0f68d1378bfd9262f55eca76f869de274519f0a19efec64b5e7883b92fe7344430a33062772b882a98fefa2dc682791fb7743d6a510166e94b01911ef347f69ca09bdb225c3291de88bde8bceac645ad20077b4c974c6854d69f1d6e4a83078aec475253c2ea933f5c10430f3eac055a4cc7d53cd65bc6751c5e6bd0db02d854787b219a51fc0247a70409567dab2eb6bf58f11992d8e89526aef8badd41c3a5dfd7e95c71bdfcec845b0b90ec13de5eabac13f49e0fffea7d26d870a049b59e64b2e902790fb88298c3363408acda45f21c497ecd2f896b9a32ba2ea0b0cf4a4608b50cf4e15948ddd7980c680590d2190c8baa699b2a8dbc5c12e3d739b4badf9ccf1af0d12490410c01fbb2a186d51ea908a9aecc1ad6025ba21681a4a7ff0b8255cfaf55766a1b0110ed76f909be6005adae1e24166623a206ce33fbc39f3ce7b36f5d00ec8b0daaf3076952014df70603dc7de16488edd227462e0b6e44c7eea65b0a2849ec925fa6722a32295219884a83f285d4e5367e86f3d30c4e6e15cb72e34110f29a41c2d281f404db68b03834205eb885263ee794fc30c4838c808c69335456a5f057f72c4675c247ba241af64de69fd0250b19b7dbec13b75e98cf7c39f7ea258ccc28af324a11f2203b7e422e0ba456a1c5c5ac789a3434e2e55d310974921e3cb236752d7087bc5d706dc05c85ff90054ba6f191449e7edb9747aa891c662ca4e8b39f42cd397e51e02c7741f7b99de50ae8501115ae0581e308e8bb12d3bcb739d8e26b46035c46201d23f629ae8ddf16cf7ef8758680ab0b6caffb0c1f13e0573765ff84005134250f1fff403aed2cd25867307d3a9c10b6c83d8fda104459d7a8492faffc32b36ec8804549d06398651608d6595e8669f559eab1bf8ab06dd430ac4d865c1bf5d25335d3f4b7fa3dabe2e1d5c9ea917c049b5a9062f0971de417a47fc27661a393fbc9007fbcab7c8f656566d97d5d3401766ec92879cf3c454e18f677e16df4167dfc4295ce5f41eb38098a3522667a9b6d08942a1dec0db5df2c1a23b8eae43bd666c3e25d2734ebbaf1427f442d8c3569ba421a82dc14605737eda512ed1a87ab4c48991c50a9dbb1243f9c82d7d304d93ee041a03c36a8411c68bdffe3f79e2c77a5eaac4f56e9f3f7931c154da25ee51a18d782e76ba6aecbe70e1668a9a79707198636acc04c7a2b4d3948cb30c0f41a00c064cb3e28e45429e1f41fbab9bf71ec4be4e656b579bedad457eb3e45b4983f9ac03a8e9986038fdf631cf67f92f7f8d5c5e0e40fdafed04959fb58ed85b282e4d13307d8aefa4b37db2888820867d871c77974e00b6dc28b20cb39924a56c328b9a94ddc35e78fa8f2cf76bc4bfa615f0d5f05aacc41fbf2b65f83cf99614d538858a114bdb9fd8f108b26a2df8d575caf341af54adb5ceea7357b709509cb1a985d8f3c07f16714c70e51972ba7a0d1eaa7d72e182323f16c7185d9f3e54422bea92cc27af37e518ea3134146f74a84985201fc54c9a69cf2d2c954cf35fc37f8d8f18d5f21781ac872ce102f31901877882312a84000857ce20ff15210237fb2db8583dbbce886a79aab6d383601ca6e49d61688f579c7e775f2b3927a84c0089c202f97d504de309e0b5b69bab1de189f414e188e8906600e28531f8e0417e9b6482b75ca82e0aa8e2057fd8502bdc20e15604fef6785c3ebef40cf8831e8c621512d393b1dbebde42a02128fa0939c521e63d50c30ee3f6cc4c0970da9ec0f6b23364719d8581eac21d7056d55f55dc5f493f69383e8109c8fb1fd7ff057e3bd183299ba9dc3405ad96749958987c614ecf4917ecad461fb0fc7f5f4d02aa116fd25471eab156f608803d6367b0282008454cbf53890c7f93e7059eb1158709617d1287eed6f77e70eafcb9318596f2db4ac7e9190bc4854a827da615c12e48bf88a4a95f523728779bb3d9ab94fd05ca746b81b596b5e8a9f749c2887b20694f22722e1a369bbef141f2b4865311f6f8614173af12a2be2fce065728234b57445f01a0f8c9f7f09b5bf6a29143ab4b9f2b246b2f3cbbbdb4f14720e457788f036f9b479c16b957ea5aeb2abd426df2cd6daec141f65a9fc29de9a521a60de2afba47764dba3fb25dc57c89fd37fcce37b0e25276322436789b79998422738559ea38e31cb5f10992e9829d5e1c7c158ad23905c45ce9e89ed13be1cce432103e112dc2117cda3e8a74bb26743dd79a6c1c97743015164e33021651399f35b3315421eb974492beeac1e0db137b08c8b8b52bc755d8494e35793a986adb0a6ee69ccade5a657baa9ebd3df7b4336cacbba00bd7e9761a4f8616d9071cd67f8fd1f123a267ce81e61cbe67bd6bd2014088146e0d98ea64c7533e34527805e0a00fcd5359f55c9acf9f31c22059b09cce886ee401a8509817efb17df9da8c7064a3dde7f3f39ab565748875a83c8a3c16f16bfff2e31a8e188224819477becc2ff4c7ebff0f24003a54783894c2032f02f690422f06b3bb21388fbe5ccb7cd26150ee0d8a8180da063cf874c9c5614354db5ee82f5c79f3affe9ee205bbeb7e91285d66eae1b03a2b88c0f935ea05a954f67c62f1d0f573a68b94e596c434348acdd18d34f9b200d96ba359ecb18e7b95fc70be5929184e5bba0a98dfe091b7d94ce251d4a489def7e5aa139330e63c583d2fb3b78ba1852ca61e1c8af95f45dc7e1012f5883f6c22d0c37a40b744f787d51db0762c734e15ce215c18d3f2db62be9a9b5ce39068d4b14ff766d70ff8bcebd7b76d65b9e1e4521cd8d7e287f85b572d174354df780fb3a38a288ed8913ad90e5e9d8aa9825f5dbd4afd235cf38b38649a1a287fd97f5a75d808e788b4c491363a9a11b1e22f095bd061b80e5b7461f7313af8fea4567d2f3250a077c8718c755a3cc63c3e8ff8841858203df146c476a5844515d0dd09eac89f4829dd4cffd61ea7e03b4ffcc872651adcf8e7580e3df2afab10a7d16c071ee2cdc1036b3bb02403671ee97975e43cdd0f2414d57f3454da0e1b22e0443ca7f7fb5ca741ac85e815318d727cc8218bdf7763f77b6a6bf2c53465df0fa0624490c8d1f9b1f81684420a9f8d9f25e715b3e0edf729dcf60948bbbe3238d6aefc6f94dbbb9417e962f0352ddf9e4eece76241e27ede59b5b512d2e06480a18f138d0b4f34b4fc620501b96e2fff258caba6ff0d67622cfcb1c56b0b909f1dc57bb6d0259d7ca0a67132048c462cbe8fc8510dc828c392e48f2ff7ab818161cc7b291154dde4e246f9d98a90169407fb290cdc10db6b4f74684dd77ca2b2176e2c55e35c53e2b1c469899fd32e53018b7e405e1558d214ead52dcbe076a4750007281d0cfadee9506df9636632e0602b64e95fa023545a483aa68442242571e9ae013f5279f0346864b05302ca207e264263e37aeecf9e1270c9c56bb8fb3cc15776e521b7eef7cc5cc3baa80c6aa485f809c5fd5cc783864b7ef50b78f9427ed3c6425c83f4999a5033610a19ec436f8ddd014bb5077669be067a1324c448617f18497d3abb0e0d6d40b4580d0a9fbe1a0dec502bb3c40e578d40269100c3a0cd62ebf7953d80dd73dd39b9205ec17add4ea8ab875b173c0355c26d61f87cb6f59f610685149b4a51f4e9d990d39d39a45db00ab03412fa894db903a0c9379223b7e46e4bb47aad11f3f759db0070626c4fb2d7e88c464cde9208795388c9da9365c813d9ea084f84e7dfad1080ff4562bf3779805cd61b8b66f807bdaf10937b04602712afcab48501e2c2d11daa8a42cf3f30983e66daeda9c624dfd40a47c68a8cc1c6eda6bdb951051568816da2dc336ecd79c62cea7b07d362797872c268c6cbc9689777a78ab29cde84eddd7f5ce2eb56320329ee745f4e83ea5d29ea678939a88d618d5e7fef94ec8fede6d341f77b41f8a42701d2a1a69467ae6ce34ee3dee50223c94951612ccdc5b6e7d854ad50e320713489252f9b6bf2f70cbdea722a63409f457a2c3983a10bafe464193781dfe5deca505c24d54d593263b1c7aface5beac9617fb43bce903c555e23923c44cd177b12c737cfe87f8f9c5ec183c7450548832b77ee31f4fa51217912ca12ef1d76ccf977f7c93612f714c7b6e7314145d63a2cff516f60e9bc5ab399f58153c93612333025c7d8574e98bd6e0252b92124a02d0648d7df477e1608987249fe593dbd77ceb85327bbadd8174cafa4069ac631799e4df6e0542daa4d7abc767ee1dc2dfb24d0ef4c104f6d78c819b346546666b8d9fc86119a469836b4e4a0328782c74fd28455b4ce8ccae3d4a2718332ff07083c48d49b3ff0b3465ed14e03aad85aa14c7466ca5c60834bb9f960ad3d7ba0c84bc8639b45835669a9bebbedf6bb7080380a74ca7665311647c62b4bc9bf4ec3791107ce258f8f07ebeb3ffd89883baeda43c6a4de9c6662245251a5a8951542509ac361fe5b973a33bc1e8fcab6bc4360d4150804722c80d308da8b30572b7208c68552334cdabf1d81e7dc4486f5e2c1dae1a96d7d358cff084c660f10e0e3526f9b55986e54bf72693fd131f5996e1626d06d17d41bcf3ef4f3779cf9b2a5c63cb3342fcb923e4340173c0c6827ea2ffdce62cb5526d20dc0cee799ee87764b430d0c6deae80195bc0cccda3ad41593766ec41edafb149f6da0bca151ee92e4e2d5ac4cd556e8a71b8f492f95bdbec8b98efc32c71ce9c2cb8dd49d2252d34c76424f192a488909d8aed3cd701a881e30b0a24128120ce23d4944b41f81687f31594dc954c27535cf8a3ad60c2f5bfd937a5e490c4dc3f629c9901fc61cc0b4fd1093004d19fbbd095083accbddb7a55a5172916f2775e166525289bf0e5f16f90e35c302c86e144b26c8d92cfc2134562b6af55987e72a085043c70df865a70d9971d5c2db591f2b5d198d8a33a81b12480ae524bd164339be3519c511015c481bcabe395d2e8951d410ee69e33a9d9f72c62b4493591574916d023685273b9f6ea82f1608c0d78f14982dac21b79c032b645b06984613f8753de17a67da5e6b45b64234d38386e95bf9ea5ed9ad5b380a915a24fca3984b122a1f611f5bfcbf99d329dd0497a6493a7fb0cb2d87b42bc2528e76a31092cd2f034a3428e48494524af8d95ec6e1827fd0c77b6f63ecd4f617ca9438a717a742bd39ed145b94c23eba4f0c429ca5342d74687a6769451bc76d039388c3e51da69e0f4d84298018e5a6f5f7d8d1249d44590e0a4f46699bc3849b042900344f96e07817f075324c2450ea846173c25a05d9cbf2bcd2b96da2781e3c350fbb70d105be92dc9432de8446667c6ef0d251b978fbd61881e56150104ceaba203763dd146809dbfc0122e1b612f5f3a0db0d50e5e4081956f22d38dc2554a2f7d923f523b90e9f74172768b3c2bfc61abf43d9b7237ae87e012ec85d8a6df412888a50f8f3acf4afea0e6c3a5cfc534ff3af872e82375b4f59bb22653850bf02586530c45e383168dab138303d768838ccaf89f93e1e49cc5ae3687115f3edfe24924f1132a61e4456c28132fd217cefc2a6f07252f79bed1513ce61716be615683318caa6cb4da3ef876ad0975c1c92ac93f1741e19d5926a30cb36cf07f4bb1e7de208788f62ce87b2d98cd96d795edfbe8a7cfca773ee08bc9a7d5d3858579d9bea259fe8c361dfda00a2b52827e2191bf48dc19c5a71ee845125b59df2405724b443380a352f7ae39713230558de6b6e2ca641543b10522c9de71f9add2da93b4117e3ec6dc0549baf0eaf00bdc223363d72bdfca6ba966f324de88fc609446d88e37c448c34c61cf98686d78c8d646c9b4f52d6e7923f5cd4877ee04568b4850c8965076e86deb863518b411186817d0d5e708fefcd7bf6259336d5cc9c3131dd7b7395f89827a099baa5f98774d7809c39600c53697c6153db67f9c5153ae4c10fd3624398acbef6e84e75f38c6e92a2c985c442f1dfb1d9f9574a6cbf6fcb973ba8470e5a36cc8bb4102ddee64d8e4ea973d7f35f937ddaa41102149106126bb45a110308a03766d979afd4fd9bbb1052900752088d974714464dfc1d0fcfaa03db45b5da8ad42b571d8e6f16dd9b8db24d8740aebb3e7832174c158d1e025ea4ce31d96d5c767d787b711eaf87af150d1aa0bf272e0703bd4ad4106932f43bec058a80d9992aa598ca4770a86b0dd674c984c671a6163d36614107c3e1417103592ed2e8b52102e78d62812066156af0918e6e50b4179498a62e38faaa76a0b65d1ff406f4e4b9f842fce07be00ae900f65c1409c6e00e1418aa0c000f38798fe664ac3d77d89ba0c7cb39c8c4b20343472ea19d53cf143f48fd885bf19f670101b72d1db307e2176fdf73295ee9c4d559e203694daf3d91b80e1c03889c9f715f921c4a2214b0d7c59df1d7380694ceabf5fe182c6ea8d8456fc53d30a485b71dedab319fe877ee6052d098a0f133b81da0e8201b560afa5f12498d94cfa3f641b045c86194cb41af90aae53ba87f4b5c321fd229f6e3dab0d3d8ac3b71d4b4e5de029ef12eb9b8e572c629852781fd886ffc7f6dea405b36bc87c7cd1f511e7f0ea441554d39504bba2f73321de7c267843f2515430822826a903a5bb73d5eecff4ec2fc531633a963e05c20d7f95eb303ca9a6627229278190634d968ee65458290da16b06694fba527706c9a77dc66cdf6eb8a4c601a910d23fe5dc14b685aa5b58055b7109f706a7419c90efdd780f184a913d89b18ed2c7ba46b3c65487b528a2b09d759d39b3f72f38414c60f8da30b98ab75f018c19aa32cbc09166820ff8eaac72356f75e38ec23cfd37e0b7b60df7af379e1df28dd124064383cec0f2c0b1eec971a2b183e08970bd36927de351fe9463c38ec53b421a107a75cc96c5f4ac01980d06d8a85d164674bc464bc37e690364832f006d18fc5e93f3b5d434e3a874399415de995d365635ad19e95cfad6f8fcd7f40ac61374d7580b2b60430f19bab82cb8393910a17e960b447ffac266cc9f0106117b9dd13505cc40ed933ed63b51bcffce9e8b16132bfedb7ea1bf436f053f6d7e5f37908b1ed9dc10b49a6bc0c9d33fd7d122d9a03c8c1dcf6b9066997ea5fc6bda9552e9069c55ae784f8798dddc0de15cd986bbf443d5ba48f5c411b17fb728d974f722c0d94ac6439d073714726b7d40b6367eecf5c6d86d28ce269eb529fe4d684edc326e47fc2a88e9282d58151aeac06712a390d96ce028548be2a38c22934318123ab54c8b9fa8f320df7040e7a458b69b79c6608cf6a67773ec26915cd4fb30208ecf2e25267797678ae26a352d77a30c72cf7490e2b6e45dd5e839060332378250751135eeb980ef45b1f2ed1475672e5e4cc0ee814031b929f6d8c576c3d3589be25aa16023b279b83b8f5d3ddd3524ad25a4c6ed5a34b4df576f6b971b08e8083ce5cb69e6d598429b442920566ab16a9aff5554a6ecc0f14bfc6581d4c89413117bedc358bf2ccbe2df93aae0575f689c8785eb21f6ea0b07048f71c0261c4ada982ee3569730181bcf727a517ac1c93da0b7a6b156acfe151b7b507f9b1392a37a7034c52e2998a7ac2fa68e04decb10e75615751a27b1dfe7e7e2a4061ad9f7178e9482d9f10180dc401ac27c595f9aae26bb5833aa7fe1fd5a92d724762ce0496f85e053e9a85b9c74eb97382e576f87e5331e26ce06a8d4f707527de790408f675094a5aecf7799bde68ca2f4b9e3f2f586ed4de4b3d3762d302f85e2a32be286e32e42cac62fce80238d094715e22d1e1fc92616fce83bfd763a3cc81762fad8a996cf6e48f53509c8ce723d95222642c540ded27037a50a3c942dc2bd95fa42646d61a4eca985357522535ea0589175b02a245f2ed1f45a317b165d2ca8891ac3c15d47a60ad5a31a88d3521b25593aed27c69c6f85992ea90bdc999ba64d545111711f803deded9e2a20d7a0b072e6019b5fadcf951387c4f9770b7a20bf5fa69c0df704bfc043c16860fb5eafb1608459938b71b8a8b6b412e43c33a961f1c4c390471deb5f3d10c855106cf2b9b6985307f19fd15aeadd39736b9c9f6cb16d1c4654261bc3beb76e65207869ad6f8fa52087515b9a2c01ff9fddaa056e919d790e2d54f3bb1b86e6caffa904b7d92c5aa12ef1588ba37c53ae981743075395b731b1f8671e69741946ae978cf3dc8f8ef4a45682fc393bff50c3b2a75715fc462f23836224ba7fa4c28c0f7e847c8396278a9bc56ffcf9487bee40fafaf29862a3dd9bbe2f313866a0c483d16e7775f8763d9e16766cbe2270dc8e00f0c220c3c00837b3aeb98513bd47339bfca1fb3dd1626b7ca26ec266bf33e91b9e353ec1c72a8fae29bd681c58e0a702a6ab819c8719fe084e3103e885aad5f7dd95b71b89aba6402a22072fd3ae79d36007a21a708e5d3866b0bcabdce8b3e663ed7cc67da0984c000179e2183e7c84f681278744f7330d03a563be893e1790f842f1699621072e9bb4ee7d58fe77582c29ead0248e0e524d4df3aa5df6dff2733db97f44498a8ecd763ab58205079f283b71bc853759cd5e25bbf101d7ef26f34371343dc31cf040e3c6def40aa6a59cde03492ae2f7fa8f55e9058766b7f20467aac561eeb96a459289039090d16e1919bbbf78a0c5d7bba56c742fb8277da9180d4466bf32d41f3e3b305f06feb543b602fe953040dcbeeb4eb3d67bdd2edd610f5ce2be0cf0b2189115c5608c7a914e5f6320f5fb83095a397f7a8588311d696cdfe42e24d4ab68bad73aa0cf2f31cbbd7db8f8313f6fd42ee4c86e54c728b218143af0cb4a2604dadc827d9826cd6488db734c35acd4c5faf1ed935f3ce49c1e347f48b7f451c40ec3b9e8edc9f07d9b85f408daafe450c6d3b98ba8d949f0ed7a1841796e8f5d1648bbc9e998a80b90c071e31ae478aab0ad211ea573519657b711ac531c8b1693201279419c9583e891bb8e1eb61d41e265bb9f0f1437395711777fd6b216163bb404306a6fcb31c24cf35246450dc2e6379ba8d3d8c1afd1ed707107e44130bfb223c7441a5a39a602e9bd422f0d5b3e8bf412ad56cb3ffc3222199264973d901040e5f961ab61f736e67e837cecac610c04055b866d2ab00341bcb32bb542c0da43fd56f6a99262e31c82449a416a8b2ab3c9a1c0f2518e7d86efacdff9f5e7eb2bfc0a506923f0ea77a56d6eb9e86a9a106b98365b0c25500503fb5e6a3ce153d1959505e76638a54d7d51052655ac936d8fdfcb5fa79824309a4805d2ec7f9981335f09e0ec0a5d09757ae01e4c09f2316fb04c8524d20d6009301be6f18cc8ec9da39bf4781d9caf44ba56c2efd41d5f2a0939df87ec7fb3c3bdba6a0cbe3a6433f73b3e21097ca086d124ff09c199abe323deac84b106957ee114bb4877683da347fc13336b5625ca3e6609fd22c08a13ed385dcb6de3c505ad8212d43933969ab74934ce892715191422b980421777f7d7fec956265925a0e8c90f75b0f19cd57474a028e928a306946fd021b6f0926a7a000eb7d7c8a24f5764d87c9beb31b27fe477f55024aec6cc6bcb47a9be66082be7b27980d3a8849520874bfe2ffa9ce62a84bb6f4646018705b8a4bc5bd859c7b26e53451cd37152fd6ee02de7333dbe10961d24511d61d9b8d901d04808d6fb88bcf901444ed5c0a0e4f8288b6fc9957eb10e00465a96b604e0e1e27a5c4bd9873712ac9ce467390c1ad0b38d054df4fab67b0ce0878d73a20a30df78c60d0c412c2c9c21bd19f4608115517d63947ccbea3c4522e9b06259bf6cf69887e21799926beb7c0378e6ca7d9d1e343acbb083bb465c2972e4bbcbc4f43af5d2a5afee828ce000a6eccb2a39f5344748e167a2308ba21aac6ce5f68bf6ad4c9a70ae362371165a99abead59f90d4dab7d784d539b5b9c086e47e65c017088ffdde084a247327733e402a63a85b57e9a3606ad649aaaf67522c0082cce85702355522535435bfb003fa2c3c47797eff592f507045d136629f180b9367f90be1b0d4feb062259bab40ca41d2adc1ecfc45132764acace378eabb447a894f9339f70800f18ad65f054955f52041c234b410f151c0ed70b8fa1a366c5f62c763211ce41853a24f9f3d7bd092458e8aca60ac2616ec2e3689a59738f912ac8b0882ec14e102f0bc4aa62c19cc494b4c35e3362a7e0b11b0079ac1becea8b951ba7d5e43048f0ba8c50fec2f9e26d7822f9e28cae1ee108c0880877710cb33fa8fdf2a6bc01327e19138988d80a13f035eeaefe26cc2698fc83b24d812f4d2c1515eeda50fe1a0a7997ec533679139f94b9e2ab5283d18ad9a3d8d5263e4e4eb73cee17a5f332c6f03d5073af510f87cdaf4d7aac9c27c3d5d63b79769fc5efd6a1169d4305e271c99d9b2f77de40f03e43c9330b975a5b34a4a710d350c19567f530570fad9dd2c808cfd80dbcbc5887f8dd6de3285adfa1da506d05aadc4fd1e0d0dd8a4c014338d8c6c6c33db3f8fae975edbf5af71c7a0bd9f54896c465fd2d336a7aed2e52f7bd77b57d9de0bd516784c82929210f102a43ce21ead2a2dc7912f0fb2b61ebe4dec01facae9796ddfbfcb523ebb0a18894d9d5fd1a956b6fbf6ab340c0d1aadaec5997bd792e18577f274a637aa506c037be8fbe63f0d359be6cd067bfe2d540ccbb40aa28f91f1f68c299e29cb27fdd00b6281fe2b8673ee1e44d9a3aac9f8ae4129597c9cda1932bbb0481d8fbfcf8aaf41ed318106a5c9746486e0ed339397f70fa26c098d32d821e8eda96914e1dc1fbd315c3dfc1792e21a9c7adde9cd27888b9b71de68713f23b46f4744838d94d2b9fe02a8", 0x2060, &(0x7f0000002040)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) (async) ioctl$PERF_EVENT_IOC_QUERY_BPF(r0, 0xc008240a, &(0x7f0000002000)=ANY=[]) (async) ioctl$KVM_CREATE_IRQCHIP(r2, 0xae60) (async) ioctl$KVM_CREATE_VCPU(0xffffffffffffffff, 0xae41, 0x0) (async) 01:19:31 executing program 3: r0 = syz_clone(0x10000000, 0x0, 0x0, 0x0, 0x0, 0x0) (async) syz_clone(0x20048000, 0x0, 0x0, 0x0, 0x0, 0x0) (async) r1 = syz_clone(0x20048000, 0x0, 0x0, 0x0, 0x0, 0x0) setpgid(r1, 0x0) (async) get_robust_list(r1, &(0x7f00000000c0)=&(0x7f0000000080)={&(0x7f0000000040)}, &(0x7f0000000100)=0x18) (async) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, &(0x7f0000000200)) (async) kcmp$KCMP_EPOLL_TFD(0x0, r0, 0x5, 0xffffffffffffffff, 0x0) ioctl$TIOCGPGRP(0xffffffffffffffff, 0x540f, &(0x7f00000001c0)=0x0) setpgid(r2, r0) (async) r3 = getpgrp(r0) r4 = socket(0x1, 0x803, 0x0) (async) r5 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setfsuid(r6) (async) sendmsg$nl_netfilter(r4, &(0x7f0000000240)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000200)={&(0x7f00000004c0)=ANY=[@ANYBLOB="10f95b225dc7010127bd7000fddbdf250200008d0008007300000000", @ANYRES32=r6, @ANYBLOB="ee000d004081a4f8877b8b272945ad5a9998137ddff9d6309ba4a61e5e08aaf89a35a31d078efdafcfcf0a8425a02f4398485f7e2154f32875452c1a322f9b6b47bb6244beac65da006a1f6ef15cdb42a01dc4b7f4b433041ceeb90905b13b85fd26210b462ab15502388830727bd1b7f93373d72d24341d936e6b3141260253282f47ff490fd9b8e5a2c31e41eff30ea05b2c9e123729150b651550a544b0b884b32330203b4e74076161322f122fd73e2b8bd06a43875c4c2a28c324c0dea530abdc7c92ec0b89b7b6e83ff0f353f88ec33cd5bbeeba1213f3e34467c8a3a91cb08cfd65b0b8be2938d1d9474a0000b51b03acc9a66e7310fda475a2a5e03a2177d3db0ac501971d7ae7fb5eabcc3fc6c721c959a69a6f56ae14cdd34f00836f18d3"], 0x110}, 0x1, 0x0, 0x0, 0x8000}, 0x8040008) (async) ioctl$DRM_IOCTL_GET_CLIENT(0xffffffffffffffff, 0xc0286405, &(0x7f0000000140)={0x3ff8, 0x1, {r3}, {r6}, 0x2, 0x9}) r7 = openat$ttyS3(0xffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$TIOCMBIC(r7, 0x5453, 0x0) 01:19:31 executing program 1: perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={0x0}, 0x2, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1}, 0x0, 0x0, 0xffffffffffffffff, 0x8) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) mmap(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x0, 0x10, 0xffffffffffffffff, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000100), 0x4) r1 = getpgid(0x0) perf_event_open(0x0, r1, 0x0, 0xffffffffffffffff, 0x0) r2 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r2, 0xc1105517, &(0x7f0000000600)={{0x0, 0x0, 0x0, 0x0, 'syz1\x00'}, 0x0, 0x400, 0x1, 0x0, 0x0, 0x0, 'syz0\x00', 0x0, 0x0, '\x00', [0x0, 0x2080, 0x408]}) perf_event_open(&(0x7f0000000080)={0x0, 0x80, 0x81, 0x2, 0xfe, 0x2, 0x0, 0xffffffff7fffffff, 0x80, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x87, 0x0, @perf_bp, 0x10, 0x18c, 0x5, 0x2, 0x5, 0xb500, 0x1d, 0x0, 0x2}, 0x0, 0x8, 0xffffffffffffffff, 0x0) recvmsg(r0, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5801}], 0x16, 0x0, 0xf080, 0x3}, 0x300) fsetxattr$trusted_overlay_upper(0xffffffffffffffff, &(0x7f0000000380), &(0x7f0000000780)={0x0, 0xfb, 0x5d1, 0x0, 0x2, "802fcb2c5eb0e238497b4513fb1959a0", "89728e63e586fb37c72d03b4c0caac1f2734557d0437c03eeb870f27f1c257571ecdab8df24a638684331daa108e5c351119732f81a6d1e42c0ec786860c5739509def9ff296dec2fc5071769be7f2cd681d7701292a1b7a491c8a67920db42b0c5f0565d596e20f0dd09106548c7660017d5307d1a2b6a71d85e8b78b1fb603583c2449905e806acf20a32f411185880240b2dbcf0b5489b63c18903be32f011bde56f1553a994d805a328b0f5f4fdeefcd59820328d0ab4eb2526e5197e6e54f10c1b9c89dcc12f39a918ae1d3d50001352e202b8d99d5dc6cef9e0c507c957c7dde0fb5f6b7d664f19fd4c2bb1cb9b24e15daee4cfbcbc045168ad0a248c930e631971f46c105ce1a7d1b74a4ebb7f8e8e20dc79b83d986522b2d392636f7170b88b514e7f1ce10bf2b69ae9000477150f603ab259779ade4543a5c4c5a9e35d2f17622f2efb4d51f6b93788b875cdb57501dd0455feb9abbeb4102648d73c8971422b33d7648455e792b0bd3e23f1eb31598d56af08e7149645ec0e1c62a93d4d8741d495d18a15e115abad7a80e9653bb08eb240840aa7b4995d881fc78bfdb9525725a09a495e9abaae2d5bd9f73ab1598389826b4c44c4114c24d56f165d427ac97f8e7fdcb6f58ab727a6c3b4ceee1e0763410391e5abbbf7f65764ff8f355c4e79a5eb027d65e2025d9e00618ccc449585ba1458bc14f1618d5a47f50859b74df9ffdb0c0d3fd9cd8c052fe23a44c1fc758232974d18aea63f86f91af24f7d5290dd3c7011268ca720fd188d9ea1220253a06c89dca158acddb68f9f4cdf28611ffe8d0d34766a360dd7b25cb9483d3ae6b6e34c8d138c433338310ce6abb35a3cc7c27189d70ac0bae84b4a71e14185a737c61cf54856bee632b010dca4107e238f174c18ff475ed1d16d7430603591aef2d892769e598661110f8ab85f3ae9ecae604911cf1e57dca4f649636ddbe508dd452c11f503db79601cafe7910ea2e1ba83385555296a139ad576fb9dcf84e4d9f0482b426e3ca297dc5787138723ff69fe05ac189fdd104ed7890aacf25d03c2315ec4067990455dbfce56ebe1a84f1a9219fbe4c5e7667b3944da9089f9db04a4b6212424f33bfa6a20ee45d14bc946b16c4065c6bbe39f870c7de452362c3e2b033f1b1751aeea44e05b7f9c817dd116bb93d9fd745e9951b480aa8e0d30ccba915e9d13745a9a6ab0cfc2ba21970713c4f46ecac691fea7cf8b17882d126a5037a44caa9d242a69bbf2fd328004c418c21fbbd33fbeeaa9c5104cdec2d7ab19f5915c950c147bc4baa347c254b09a403a992fc5d24ee6deb50fca2c3f4fdb580c07d5df44a0a3d17fbaa5990fcc6d519b03b4b5c119ad61f7e1411e5551ea91a7de9b313776763402b472df941ab654163940ee1ba73371418337923964737495ba457617ecd7dac5425d0417fd9e1b9fe98ea496ec2f44fa7fa07f6b3aaa66d6ee1d20eaccd5918687455a09785ad16bbbbbdb5c9a0fbf390f0c5d449cdcd89717fc5dbd13489f0641ca32dbdc1730a869112d64efbf4bd1bca015123b8229c2d0854b7ace969e5a1e37f8780d0bc8b7d1385aaf798a7c94f581cf3fb3d9ae60dd93150a4d8b09aa1f086a28fa4eda716e20e3cb9a4ca7f86d150f9630614df5636858b0f64e79e6a438adeec164a85e6bfb9292d3c6d88df2d082b91b93d6cd4e1573091a8ff3c560b32468f7124ce1e312969a2cebee5350fc2b4037828a56e36a639bf3d9be4e9c01cf41e46936ba9715ea0318e3fa7472fa047e86f358caa492c75f2cb6be3990ce217ee7c4cc9654d89d42ccd3113e331e421cf532ba3d84fd6a2e06f8df3c9b8e535125bde2bc2c17873475a24c8d1446da3ed368a2fcae29f88de47657364c86204cae8ad284bfa7c97e0beac199b3341736ae1d6604aee2b172c2af7d92cd9e58643ccdac25a7967ca1e5f7db78fa9821c37ca1c1f9ec062b9699e3ab6aead6dd98767545eec6945ef899d497779e714e96572542099c757292a5ef3d0377f9967d67472cd1cf50ecb74a57f2fa912245eebb7bf5f6eb8f7fe"}, 0x5d1, 0x7) write$binfmt_elf64(r0, &(0x7f0000000600)=ANY=[], 0xfc30) [ 233.209783] ntfs: (device loop5): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover. 01:19:31 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) getpid() unshare(0x40000400) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f00000001c0)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, @perf_config_ext={0x0, 0xaba}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) open(&(0x7f00000002c0)='./cgroup/cgroup.procs/file0\x00', 0x800, 0x1c2) getsockopt$IPT_SO_GET_INFO(r0, 0x0, 0x40, &(0x7f0000000000)={'nat\x00'}, &(0x7f0000000140)=0x54) setsockopt$EBT_SO_SET_ENTRIES(0xffffffffffffffff, 0x0, 0x80, &(0x7f0000000000)=@filter={'filter\x00', 0xe, 0x2, 0x250, [0x0, 0x20000100, 0x20000130], 0x0, 0x0, &(0x7f0000000100)=ANY=[]}, 0x78) unshare(0x50100) lchown(&(0x7f0000000000)='./cgroup/cgroup.procs\x00', 0xee00, 0xee01) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(0xffffffffffffffff, 0xc018937a, 0x0) setsockopt$inet_udp_encap(0xffffffffffffffff, 0x11, 0x64, &(0x7f0000000240)=0x5, 0x4) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) unshare(0x200) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$sock_SIOCETHTOOL(0xffffffffffffffff, 0x8946, &(0x7f0000000180)={'ip_vti0\x00', &(0x7f0000000080)=@ethtool_gfeatures={0x3a, 0x3, [{}, {}, {}]}}) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) [ 233.265145] ntfs: (device loop5): ntfs_fill_super(): Not an NTFS volume. 01:19:31 executing program 3: perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open$cgroup(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) rt_tgsigqueueinfo(0x0, 0x0, 0x0, &(0x7f00000000c0)={0x3f00}) sendmsg$NL802154_CMD_SET_MAX_CSMA_BACKOFFS(0xffffffffffffffff, 0x0, 0x0) r0 = socket$kcm(0x10, 0x2, 0x10) r1 = socket$inet_udp(0x2, 0x2, 0x0) close(r1) splice(0xffffffffffffffff, 0x0, r1, 0x0, 0x4ffe0, 0x0) perf_event_open$cgroup(&(0x7f0000000580)={0x0, 0x80, 0x82, 0x5, 0x9, 0x20, 0x0, 0x2, 0x2022, 0xd, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x3, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x222e, 0x1, @perf_bp={&(0x7f0000000540), 0xb}, 0x14, 0x3e00, 0x5, 0x1, 0x80000000, 0x5, 0x4, 0x0, 0x6, 0x0, 0x8c}, 0xffffffffffffffff, 0x2, 0xffffffffffffffff, 0x1) sendmsg$kcm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000000000)="2e00000030000519d25a0700000000000100fc601200034014000000022a020037000000000001802e8e3f00d1bd", 0x2e}], 0x1}, 0x0) mkdir(&(0x7f0000000400)='./file0\x00', 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) mkdirat$cgroup(0xffffffffffffffff, &(0x7f0000000080)='syz0\x00', 0x1ff) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000ed05070000000000decc00000000", @ANYRES32=r2, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_qfg={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYBLOB="340000002800310f00"/20, @ANYRES32=r2, @ANYBLOB="000000010008000100627066000800020004000100"], 0x34}}, 0x0) sendmsg$kcm(r0, &(0x7f0000000500)={&(0x7f0000000200)=@ll={0x11, 0x10, r2, 0x1, 0x66, 0x6, @remote}, 0x80, &(0x7f00000004c0)=[{&(0x7f0000000280)="545f6426d6ec9ef536968a48fc6ca73c5c66ef732261034a3f80b6276d6cf1116b63658d6d0a5ebaa05114842929b96a01f43e46b6", 0x35}, {&(0x7f0000000300)="dc0b9a9f67458d976a652df4f22449c2f648d3001c96493942b8ef38e66e7eed3369130bfb35899fd4b45032945c4a74f0e84886966ae012ff5fc7dfec394d87165d990e2d255343197d9776165836da695cc45fdd017576d38d4930de4bd97683ab1d10c5f6b23700085b4640156d7078b267723f5d8242ae7ffb0d398d268f299560376d94ebc0c34853e2fb210ac231b46e5f6b34d3593a723e136400ffc1a7912af06dda779dcdca7d31b87e78cb1ee2b5bafd26628d0adee08e62a43cb0f193fb116281eec9f7f6b10d738e9ad10ae462b3d2ad0f46a57ebf95ad048c7ec3bb5e7bee61ca51f1223606e1a3", 0xee}, {&(0x7f0000000040)="4f8de364a3901b25f9c42c23efb0bf746dc22cfbcbd648d0de25d070ab1fecc0078bca1eb41dfd", 0x27}, {&(0x7f0000000440)="49d444ffbc42b5873cbbe446b4af727b1123e7b4b4e04ecf28c55bfa46dada9599dc3a57c749c4e7b20d255e1cab29a855de69f1b879695ba9918fe49912485d407c07be49b254e9f10d20ccdc32c6e0a120c4b811", 0x55}], 0x4}, 0x40884) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) lchown(&(0x7f0000000680)='./file0\x00', 0x0, 0x0) vmsplice(r0, 0x0, 0x0, 0x0) [ 233.362120] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. [ 233.392068] EXT4-fs (loop4): mount failed [ 233.405968] overlayfs: unrecognized mount option "wV2Íorkdir=./file1" or missing value [ 233.436411] netlink: 6 bytes leftover after parsing attributes in process `syz-executor.3'. 01:19:31 executing program 3: perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) perf_event_open$cgroup(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) rt_tgsigqueueinfo(0x0, 0x0, 0x0, &(0x7f00000000c0)={0x3f00}) (async) sendmsg$NL802154_CMD_SET_MAX_CSMA_BACKOFFS(0xffffffffffffffff, 0x0, 0x0) (async) r0 = socket$kcm(0x10, 0x2, 0x10) r1 = socket$inet_udp(0x2, 0x2, 0x0) close(r1) (async) splice(0xffffffffffffffff, 0x0, r1, 0x0, 0x4ffe0, 0x0) (async) perf_event_open$cgroup(&(0x7f0000000580)={0x0, 0x80, 0x82, 0x5, 0x9, 0x20, 0x0, 0x2, 0x2022, 0xd, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x3, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x222e, 0x1, @perf_bp={&(0x7f0000000540), 0xb}, 0x14, 0x3e00, 0x5, 0x1, 0x80000000, 0x5, 0x4, 0x0, 0x6, 0x0, 0x8c}, 0xffffffffffffffff, 0x2, 0xffffffffffffffff, 0x1) sendmsg$kcm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000000000)="2e00000030000519d25a0700000000000100fc601200034014000000022a020037000000000001802e8e3f00d1bd", 0x2e}], 0x1}, 0x0) (async) mkdir(&(0x7f0000000400)='./file0\x00', 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) mkdirat$cgroup(0xffffffffffffffff, &(0x7f0000000080)='syz0\x00', 0x1ff) (async) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000ed05070000000000decc00000000", @ANYRES32=r2, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_qfg={0x8}]}, 0x2c}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYBLOB="340000002800310f00"/20, @ANYRES32=r2, @ANYBLOB="000000010008000100627066000800020004000100"], 0x34}}, 0x0) (async) sendmsg$kcm(r0, &(0x7f0000000500)={&(0x7f0000000200)=@ll={0x11, 0x10, r2, 0x1, 0x66, 0x6, @remote}, 0x80, &(0x7f00000004c0)=[{&(0x7f0000000280)="545f6426d6ec9ef536968a48fc6ca73c5c66ef732261034a3f80b6276d6cf1116b63658d6d0a5ebaa05114842929b96a01f43e46b6", 0x35}, {&(0x7f0000000300)="dc0b9a9f67458d976a652df4f22449c2f648d3001c96493942b8ef38e66e7eed3369130bfb35899fd4b45032945c4a74f0e84886966ae012ff5fc7dfec394d87165d990e2d255343197d9776165836da695cc45fdd017576d38d4930de4bd97683ab1d10c5f6b23700085b4640156d7078b267723f5d8242ae7ffb0d398d268f299560376d94ebc0c34853e2fb210ac231b46e5f6b34d3593a723e136400ffc1a7912af06dda779dcdca7d31b87e78cb1ee2b5bafd26628d0adee08e62a43cb0f193fb116281eec9f7f6b10d738e9ad10ae462b3d2ad0f46a57ebf95ad048c7ec3bb5e7bee61ca51f1223606e1a3", 0xee}, {&(0x7f0000000040)="4f8de364a3901b25f9c42c23efb0bf746dc22cfbcbd648d0de25d070ab1fecc0078bca1eb41dfd", 0x27}, {&(0x7f0000000440)="49d444ffbc42b5873cbbe446b4af727b1123e7b4b4e04ecf28c55bfa46dada9599dc3a57c749c4e7b20d255e1cab29a855de69f1b879695ba9918fe49912485d407c07be49b254e9f10d20ccdc32c6e0a120c4b811", 0x55}], 0x4}, 0x40884) (async) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) lchown(&(0x7f0000000680)='./file0\x00', 0x0, 0x0) (async) vmsplice(r0, 0x0, 0x0, 0x0) 01:19:31 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r1 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r1, &(0x7f0000000040), 0x10) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r3, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r2, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r4 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, r5, 0x0) bind$llc(r2, &(0x7f0000000180)={0x1a, 0x335, 0x3, 0x1, 0x0, 0x3, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x3a}}, 0x10) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r2}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r5}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) getsockname(0xffffffffffffffff, 0x0, 0x0) [ 233.632984] IPVS: ftp: loaded support on port[0] = 21 01:19:31 executing program 0: sendmsg$IPVS_CMD_FLUSH(0xffffffffffffffff, 0x0, 0x0) (async) sendmsg$IPVS_CMD_GET_CONFIG(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000040)={&(0x7f0000000340)=ANY=[@ANYBLOB="00022cbd7000fcdbdf250d000000040003800800050005000000040002800800060005000000080005000300000024000180090006006c626c63000000000c000700020000000e00000008000500"], 0x60}, 0x1, 0x0, 0x0, 0x80}, 0x4000080) (async) r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000080)='/proc/sys/net/ipv4/vs/sync_qlen_max\x00', 0x2, 0x0) (async) syz_genetlink_get_family_id$ipvs(0x0, 0xffffffffffffffff) sendmsg$IPVS_CMD_SET_DEST(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000002c0)={&(0x7f0000000240)=ANY=[@ANYBLOB="0000dcd2", @ANYRES16=0x0, @ANYBLOB="000428bd7000fbdbdf250600000008000500000000005000028008000700080000000800060009000000080009000000000006000e004e20000008000800000000001400010064010100000000000000000000000000080006000700000006000e004e21000008000600bc000000"], 0x74}, 0x1, 0x0, 0x0, 0x48004}, 0x41) (async) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$alg(0x26, 0x5, 0x0) bind$alg(r1, &(0x7f0000000180)={0x26, 'hash\x00', 0x0, 0x0, 'ghash\x00'}, 0x58) (async) r2 = accept4(r1, 0x0, 0x0, 0x0) setsockopt$ALG_SET_KEY(r1, 0x117, 0x1, &(0x7f0000000100)="0a0775b0d5e383e5b3c066ff000000e2", 0x10) (async, rerun: 32) sendmmsg$alg(r2, &(0x7f0000002700)=[{0x1000000000000000, 0x0, &(0x7f00000003c0)=[{0x0}, {&(0x7f0000000140)="0272f8e661d82e2f7a19243ccd5cef7165de1e59931f71baa88f", 0x1a}, {0x0}, {&(0x7f0000002900)="c9", 0x7fffefe6}], 0x2}], 0x7fffefe6, 0x0) (async, rerun: 32) write$snapshot(r0, &(0x7f0000000540)='9', 0x1) 01:19:31 executing program 1: perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={0x0}, 0x2, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1}, 0x0, 0x0, 0xffffffffffffffff, 0x8) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) mmap(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x0, 0x10, 0xffffffffffffffff, 0x0) (async) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) (async) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000100), 0x4) (async) r1 = getpgid(0x0) perf_event_open(0x0, r1, 0x0, 0xffffffffffffffff, 0x0) r2 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r2, 0xc1105517, &(0x7f0000000600)={{0x0, 0x0, 0x0, 0x0, 'syz1\x00'}, 0x0, 0x400, 0x1, 0x0, 0x0, 0x0, 'syz0\x00', 0x0, 0x0, '\x00', [0x0, 0x2080, 0x408]}) perf_event_open(&(0x7f0000000080)={0x0, 0x80, 0x81, 0x2, 0xfe, 0x2, 0x0, 0xffffffff7fffffff, 0x80, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x87, 0x0, @perf_bp, 0x10, 0x18c, 0x5, 0x2, 0x5, 0xb500, 0x1d, 0x0, 0x2}, 0x0, 0x8, 0xffffffffffffffff, 0x0) recvmsg(r0, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5801}], 0x16, 0x0, 0xf080, 0x3}, 0x300) (async) fsetxattr$trusted_overlay_upper(0xffffffffffffffff, &(0x7f0000000380), &(0x7f0000000780)={0x0, 0xfb, 0x5d1, 0x0, 0x2, "802fcb2c5eb0e238497b4513fb1959a0", "89728e63e586fb37c72d03b4c0caac1f2734557d0437c03eeb870f27f1c257571ecdab8df24a638684331daa108e5c351119732f81a6d1e42c0ec786860c5739509def9ff296dec2fc5071769be7f2cd681d7701292a1b7a491c8a67920db42b0c5f0565d596e20f0dd09106548c7660017d5307d1a2b6a71d85e8b78b1fb603583c2449905e806acf20a32f411185880240b2dbcf0b5489b63c18903be32f011bde56f1553a994d805a328b0f5f4fdeefcd59820328d0ab4eb2526e5197e6e54f10c1b9c89dcc12f39a918ae1d3d50001352e202b8d99d5dc6cef9e0c507c957c7dde0fb5f6b7d664f19fd4c2bb1cb9b24e15daee4cfbcbc045168ad0a248c930e631971f46c105ce1a7d1b74a4ebb7f8e8e20dc79b83d986522b2d392636f7170b88b514e7f1ce10bf2b69ae9000477150f603ab259779ade4543a5c4c5a9e35d2f17622f2efb4d51f6b93788b875cdb57501dd0455feb9abbeb4102648d73c8971422b33d7648455e792b0bd3e23f1eb31598d56af08e7149645ec0e1c62a93d4d8741d495d18a15e115abad7a80e9653bb08eb240840aa7b4995d881fc78bfdb9525725a09a495e9abaae2d5bd9f73ab1598389826b4c44c4114c24d56f165d427ac97f8e7fdcb6f58ab727a6c3b4ceee1e0763410391e5abbbf7f65764ff8f355c4e79a5eb027d65e2025d9e00618ccc449585ba1458bc14f1618d5a47f50859b74df9ffdb0c0d3fd9cd8c052fe23a44c1fc758232974d18aea63f86f91af24f7d5290dd3c7011268ca720fd188d9ea1220253a06c89dca158acddb68f9f4cdf28611ffe8d0d34766a360dd7b25cb9483d3ae6b6e34c8d138c433338310ce6abb35a3cc7c27189d70ac0bae84b4a71e14185a737c61cf54856bee632b010dca4107e238f174c18ff475ed1d16d7430603591aef2d892769e598661110f8ab85f3ae9ecae604911cf1e57dca4f649636ddbe508dd452c11f503db79601cafe7910ea2e1ba83385555296a139ad576fb9dcf84e4d9f0482b426e3ca297dc5787138723ff69fe05ac189fdd104ed7890aacf25d03c2315ec4067990455dbfce56ebe1a84f1a9219fbe4c5e7667b3944da9089f9db04a4b6212424f33bfa6a20ee45d14bc946b16c4065c6bbe39f870c7de452362c3e2b033f1b1751aeea44e05b7f9c817dd116bb93d9fd745e9951b480aa8e0d30ccba915e9d13745a9a6ab0cfc2ba21970713c4f46ecac691fea7cf8b17882d126a5037a44caa9d242a69bbf2fd328004c418c21fbbd33fbeeaa9c5104cdec2d7ab19f5915c950c147bc4baa347c254b09a403a992fc5d24ee6deb50fca2c3f4fdb580c07d5df44a0a3d17fbaa5990fcc6d519b03b4b5c119ad61f7e1411e5551ea91a7de9b313776763402b472df941ab654163940ee1ba73371418337923964737495ba457617ecd7dac5425d0417fd9e1b9fe98ea496ec2f44fa7fa07f6b3aaa66d6ee1d20eaccd5918687455a09785ad16bbbbbdb5c9a0fbf390f0c5d449cdcd89717fc5dbd13489f0641ca32dbdc1730a869112d64efbf4bd1bca015123b8229c2d0854b7ace969e5a1e37f8780d0bc8b7d1385aaf798a7c94f581cf3fb3d9ae60dd93150a4d8b09aa1f086a28fa4eda716e20e3cb9a4ca7f86d150f9630614df5636858b0f64e79e6a438adeec164a85e6bfb9292d3c6d88df2d082b91b93d6cd4e1573091a8ff3c560b32468f7124ce1e312969a2cebee5350fc2b4037828a56e36a639bf3d9be4e9c01cf41e46936ba9715ea0318e3fa7472fa047e86f358caa492c75f2cb6be3990ce217ee7c4cc9654d89d42ccd3113e331e421cf532ba3d84fd6a2e06f8df3c9b8e535125bde2bc2c17873475a24c8d1446da3ed368a2fcae29f88de47657364c86204cae8ad284bfa7c97e0beac199b3341736ae1d6604aee2b172c2af7d92cd9e58643ccdac25a7967ca1e5f7db78fa9821c37ca1c1f9ec062b9699e3ab6aead6dd98767545eec6945ef899d497779e714e96572542099c757292a5ef3d0377f9967d67472cd1cf50ecb74a57f2fa912245eebb7bf5f6eb8f7fe"}, 0x5d1, 0x7) (async) write$binfmt_elf64(r0, &(0x7f0000000600)=ANY=[], 0xfc30) 01:19:31 executing program 2: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r1 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r1, &(0x7f0000000040), 0x10) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r3, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r2, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r4 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, r5, 0x0) bind$llc(r2, &(0x7f0000000180)={0x1a, 0x335, 0x3, 0x1, 0x0, 0x3, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x3a}}, 0x10) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r2}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r5}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:31 executing program 3: perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) perf_event_open$cgroup(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) (async) rt_tgsigqueueinfo(0x0, 0x0, 0x0, &(0x7f00000000c0)={0x3f00}) sendmsg$NL802154_CMD_SET_MAX_CSMA_BACKOFFS(0xffffffffffffffff, 0x0, 0x0) (async) r0 = socket$kcm(0x10, 0x2, 0x10) (async) r1 = socket$inet_udp(0x2, 0x2, 0x0) close(r1) splice(0xffffffffffffffff, 0x0, r1, 0x0, 0x4ffe0, 0x0) (async) perf_event_open$cgroup(&(0x7f0000000580)={0x0, 0x80, 0x82, 0x5, 0x9, 0x20, 0x0, 0x2, 0x2022, 0xd, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x3, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x222e, 0x1, @perf_bp={&(0x7f0000000540), 0xb}, 0x14, 0x3e00, 0x5, 0x1, 0x80000000, 0x5, 0x4, 0x0, 0x6, 0x0, 0x8c}, 0xffffffffffffffff, 0x2, 0xffffffffffffffff, 0x1) sendmsg$kcm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000000000)="2e00000030000519d25a0700000000000100fc601200034014000000022a020037000000000001802e8e3f00d1bd", 0x2e}], 0x1}, 0x0) mkdir(&(0x7f0000000400)='./file0\x00', 0x0) (async) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) mkdirat$cgroup(0xffffffffffffffff, &(0x7f0000000080)='syz0\x00', 0x1ff) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000ed05070000000000decc00000000", @ANYRES32=r2, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_qfg={0x8}]}, 0x2c}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYBLOB="340000002800310f00"/20, @ANYRES32=r2, @ANYBLOB="000000010008000100627066000800020004000100"], 0x34}}, 0x0) (async) sendmsg$kcm(r0, &(0x7f0000000500)={&(0x7f0000000200)=@ll={0x11, 0x10, r2, 0x1, 0x66, 0x6, @remote}, 0x80, &(0x7f00000004c0)=[{&(0x7f0000000280)="545f6426d6ec9ef536968a48fc6ca73c5c66ef732261034a3f80b6276d6cf1116b63658d6d0a5ebaa05114842929b96a01f43e46b6", 0x35}, {&(0x7f0000000300)="dc0b9a9f67458d976a652df4f22449c2f648d3001c96493942b8ef38e66e7eed3369130bfb35899fd4b45032945c4a74f0e84886966ae012ff5fc7dfec394d87165d990e2d255343197d9776165836da695cc45fdd017576d38d4930de4bd97683ab1d10c5f6b23700085b4640156d7078b267723f5d8242ae7ffb0d398d268f299560376d94ebc0c34853e2fb210ac231b46e5f6b34d3593a723e136400ffc1a7912af06dda779dcdca7d31b87e78cb1ee2b5bafd26628d0adee08e62a43cb0f193fb116281eec9f7f6b10d738e9ad10ae462b3d2ad0f46a57ebf95ad048c7ec3bb5e7bee61ca51f1223606e1a3", 0xee}, {&(0x7f0000000040)="4f8de364a3901b25f9c42c23efb0bf746dc22cfbcbd648d0de25d070ab1fecc0078bca1eb41dfd", 0x27}, {&(0x7f0000000440)="49d444ffbc42b5873cbbe446b4af727b1123e7b4b4e04ecf28c55bfa46dada9599dc3a57c749c4e7b20d255e1cab29a855de69f1b879695ba9918fe49912485d407c07be49b254e9f10d20ccdc32c6e0a120c4b811", 0x55}], 0x4}, 0x40884) (async) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) (async) lchown(&(0x7f0000000680)='./file0\x00', 0x0, 0x0) (async) vmsplice(r0, 0x0, 0x0, 0x0) [ 233.907263] netlink: 6 bytes leftover after parsing attributes in process `syz-executor.3'. [ 233.931853] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. 01:19:31 executing program 1: perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, @perf_bp={0x0}, 0x2, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1}, 0x0, 0x0, 0xffffffffffffffff, 0x8) (async) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) mmap(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x0, 0x10, 0xffffffffffffffff, 0x0) (async) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) (async) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) (async) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000100), 0x4) (async) r1 = getpgid(0x0) perf_event_open(0x0, r1, 0x0, 0xffffffffffffffff, 0x0) r2 = syz_open_dev$sndctrl(&(0x7f0000000040), 0x0, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_ADD(r2, 0xc1105517, &(0x7f0000000600)={{0x0, 0x0, 0x0, 0x0, 'syz1\x00'}, 0x0, 0x400, 0x1, 0x0, 0x0, 0x0, 'syz0\x00', 0x0, 0x0, '\x00', [0x0, 0x2080, 0x408]}) (async) perf_event_open(&(0x7f0000000080)={0x0, 0x80, 0x81, 0x2, 0xfe, 0x2, 0x0, 0xffffffff7fffffff, 0x80, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x87, 0x0, @perf_bp, 0x10, 0x18c, 0x5, 0x2, 0x5, 0xb500, 0x1d, 0x0, 0x2}, 0x0, 0x8, 0xffffffffffffffff, 0x0) (async) recvmsg(r0, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5801}], 0x16, 0x0, 0xf080, 0x3}, 0x300) (async) fsetxattr$trusted_overlay_upper(0xffffffffffffffff, &(0x7f0000000380), &(0x7f0000000780)={0x0, 0xfb, 0x5d1, 0x0, 0x2, "802fcb2c5eb0e238497b4513fb1959a0", "89728e63e586fb37c72d03b4c0caac1f2734557d0437c03eeb870f27f1c257571ecdab8df24a638684331daa108e5c351119732f81a6d1e42c0ec786860c5739509def9ff296dec2fc5071769be7f2cd681d7701292a1b7a491c8a67920db42b0c5f0565d596e20f0dd09106548c7660017d5307d1a2b6a71d85e8b78b1fb603583c2449905e806acf20a32f411185880240b2dbcf0b5489b63c18903be32f011bde56f1553a994d805a328b0f5f4fdeefcd59820328d0ab4eb2526e5197e6e54f10c1b9c89dcc12f39a918ae1d3d50001352e202b8d99d5dc6cef9e0c507c957c7dde0fb5f6b7d664f19fd4c2bb1cb9b24e15daee4cfbcbc045168ad0a248c930e631971f46c105ce1a7d1b74a4ebb7f8e8e20dc79b83d986522b2d392636f7170b88b514e7f1ce10bf2b69ae9000477150f603ab259779ade4543a5c4c5a9e35d2f17622f2efb4d51f6b93788b875cdb57501dd0455feb9abbeb4102648d73c8971422b33d7648455e792b0bd3e23f1eb31598d56af08e7149645ec0e1c62a93d4d8741d495d18a15e115abad7a80e9653bb08eb240840aa7b4995d881fc78bfdb9525725a09a495e9abaae2d5bd9f73ab1598389826b4c44c4114c24d56f165d427ac97f8e7fdcb6f58ab727a6c3b4ceee1e0763410391e5abbbf7f65764ff8f355c4e79a5eb027d65e2025d9e00618ccc449585ba1458bc14f1618d5a47f50859b74df9ffdb0c0d3fd9cd8c052fe23a44c1fc758232974d18aea63f86f91af24f7d5290dd3c7011268ca720fd188d9ea1220253a06c89dca158acddb68f9f4cdf28611ffe8d0d34766a360dd7b25cb9483d3ae6b6e34c8d138c433338310ce6abb35a3cc7c27189d70ac0bae84b4a71e14185a737c61cf54856bee632b010dca4107e238f174c18ff475ed1d16d7430603591aef2d892769e598661110f8ab85f3ae9ecae604911cf1e57dca4f649636ddbe508dd452c11f503db79601cafe7910ea2e1ba83385555296a139ad576fb9dcf84e4d9f0482b426e3ca297dc5787138723ff69fe05ac189fdd104ed7890aacf25d03c2315ec4067990455dbfce56ebe1a84f1a9219fbe4c5e7667b3944da9089f9db04a4b6212424f33bfa6a20ee45d14bc946b16c4065c6bbe39f870c7de452362c3e2b033f1b1751aeea44e05b7f9c817dd116bb93d9fd745e9951b480aa8e0d30ccba915e9d13745a9a6ab0cfc2ba21970713c4f46ecac691fea7cf8b17882d126a5037a44caa9d242a69bbf2fd328004c418c21fbbd33fbeeaa9c5104cdec2d7ab19f5915c950c147bc4baa347c254b09a403a992fc5d24ee6deb50fca2c3f4fdb580c07d5df44a0a3d17fbaa5990fcc6d519b03b4b5c119ad61f7e1411e5551ea91a7de9b313776763402b472df941ab654163940ee1ba73371418337923964737495ba457617ecd7dac5425d0417fd9e1b9fe98ea496ec2f44fa7fa07f6b3aaa66d6ee1d20eaccd5918687455a09785ad16bbbbbdb5c9a0fbf390f0c5d449cdcd89717fc5dbd13489f0641ca32dbdc1730a869112d64efbf4bd1bca015123b8229c2d0854b7ace969e5a1e37f8780d0bc8b7d1385aaf798a7c94f581cf3fb3d9ae60dd93150a4d8b09aa1f086a28fa4eda716e20e3cb9a4ca7f86d150f9630614df5636858b0f64e79e6a438adeec164a85e6bfb9292d3c6d88df2d082b91b93d6cd4e1573091a8ff3c560b32468f7124ce1e312969a2cebee5350fc2b4037828a56e36a639bf3d9be4e9c01cf41e46936ba9715ea0318e3fa7472fa047e86f358caa492c75f2cb6be3990ce217ee7c4cc9654d89d42ccd3113e331e421cf532ba3d84fd6a2e06f8df3c9b8e535125bde2bc2c17873475a24c8d1446da3ed368a2fcae29f88de47657364c86204cae8ad284bfa7c97e0beac199b3341736ae1d6604aee2b172c2af7d92cd9e58643ccdac25a7967ca1e5f7db78fa9821c37ca1c1f9ec062b9699e3ab6aead6dd98767545eec6945ef899d497779e714e96572542099c757292a5ef3d0377f9967d67472cd1cf50ecb74a57f2fa912245eebb7bf5f6eb8f7fe"}, 0x5d1, 0x7) (async) write$binfmt_elf64(r0, &(0x7f0000000600)=ANY=[], 0xfc30) [ 234.039768] EXT4-fs (loop4): mount failed 01:19:32 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r1 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r1, &(0x7f0000000040), 0x10) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r3, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r2, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r4 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, r5, 0x0) bind$llc(r2, &(0x7f0000000180)={0x1a, 0x335, 0x3, 0x1, 0x0, 0x3, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x3a}}, 0x10) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r2}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r5}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) getsockname(0xffffffffffffffff, 0x0, 0x0) [ 234.397251] EXT4-fs warning (device loop2): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. 01:19:32 executing program 1: perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open$cgroup(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) rt_tgsigqueueinfo(0x0, 0x0, 0x0, &(0x7f00000000c0)={0x3f00}) sendmsg$NL802154_CMD_SET_MAX_CSMA_BACKOFFS(0xffffffffffffffff, 0x0, 0x0) r0 = socket$kcm(0x10, 0x2, 0x10) r1 = socket$inet_udp(0x2, 0x2, 0x0) close(r1) splice(0xffffffffffffffff, 0x0, r1, 0x0, 0x4ffe0, 0x0) perf_event_open$cgroup(&(0x7f0000000580)={0x0, 0x80, 0x82, 0x5, 0x9, 0x20, 0x0, 0x2, 0x2022, 0xd, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x3, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x222e, 0x1, @perf_bp={&(0x7f0000000540), 0xb}, 0x14, 0x3e00, 0x5, 0x1, 0x80000000, 0x5, 0x4, 0x0, 0x6, 0x0, 0x8c}, 0xffffffffffffffff, 0x2, 0xffffffffffffffff, 0x1) sendmsg$kcm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000000000)="2e00000030000519d25a0700000000000100fc601200034014000000022a020037000000000001802e8e3f00d1bd", 0x2e}], 0x1}, 0x0) mkdir(&(0x7f0000000400)='./file0\x00', 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000000c0)=0x14) mkdirat$cgroup(0xffffffffffffffff, &(0x7f0000000080)='syz0\x00', 0x1ff) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000ed05070000000000decc00000000", @ANYRES32=r2, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_qfg={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYBLOB="340000002800310f00"/20, @ANYRES32=r2, @ANYBLOB="000000010008000100627066000800020004000100"], 0x34}}, 0x0) sendmsg$kcm(r0, &(0x7f0000000500)={&(0x7f0000000200)=@ll={0x11, 0x10, r2, 0x1, 0x66, 0x6, @remote}, 0x80, &(0x7f00000004c0)=[{&(0x7f0000000280)="545f6426d6ec9ef536968a48fc6ca73c5c66ef732261034a3f80b6276d6cf1116b63658d6d0a5ebaa05114842929b96a01f43e46b6", 0x35}, {&(0x7f0000000300)="dc0b9a9f67458d976a652df4f22449c2f648d3001c96493942b8ef38e66e7eed3369130bfb35899fd4b45032945c4a74f0e84886966ae012ff5fc7dfec394d87165d990e2d255343197d9776165836da695cc45fdd017576d38d4930de4bd97683ab1d10c5f6b23700085b4640156d7078b267723f5d8242ae7ffb0d398d268f299560376d94ebc0c34853e2fb210ac231b46e5f6b34d3593a723e136400ffc1a7912af06dda779dcdca7d31b87e78cb1ee2b5bafd26628d0adee08e62a43cb0f193fb116281eec9f7f6b10d738e9ad10ae462b3d2ad0f46a57ebf95ad048c7ec3bb5e7bee61ca51f1223606e1a3", 0xee}, {&(0x7f0000000040)="4f8de364a3901b25f9c42c23efb0bf746dc22cfbcbd648d0de25d070ab1fecc0078bca1eb41dfd", 0x27}, {&(0x7f0000000440)="49d444ffbc42b5873cbbe446b4af727b1123e7b4b4e04ecf28c55bfa46dada9599dc3a57c749c4e7b20d255e1cab29a855de69f1b879695ba9918fe49912485d407c07be49b254e9f10d20ccdc32c6e0a120c4b811", 0x55}], 0x4}, 0x40884) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='configfs\x00', 0x0, 0x0) lchown(&(0x7f0000000680)='./file0\x00', 0x0, 0x0) vmsplice(r0, 0x0, 0x0, 0x0) [ 234.519491] EXT4-fs (loop2): mount failed 01:19:32 executing program 3: mkdir(&(0x7f0000000000)='./file1\x00', 0x0) syz_mount_image$hfs(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='gid=', @ANYRESHEX=0x0, @ANYBLOB='\x00\x00']) mount$overlay(0x0, &(0x7f00000000c0)='./file1\x00', &(0x7f0000000100), 0x1000000, &(0x7f0000000140)=ANY=[@ANYBLOB='lowerdir=./file1,metacopy=on,fowner=', @ANYRESDEC=0xee00, @ANYBLOB=',rootcontext=user_u,context=un#onfined_u,fscontext=staff_u,\x00']) umount2(&(0x7f0000000080)='./file1\x00', 0xa) mount(0x0, &(0x7f0000000380)='./file1\x00', &(0x7f0000000040)='autofs\x00', 0x0, &(0x7f0000000400)) [ 234.654200] validate_nla: 2 callbacks suppressed [ 234.654228] netlink: 'syz-executor.1': attribute type 3 has an invalid length. [ 234.707390] overlayfs: unrecognized mount option "fowner=00000000000000060928" or missing value [ 234.711571] netlink: 6 bytes leftover after parsing attributes in process `syz-executor.1'. [ 234.772562] autofs4:pid:14320:autofs_fill_super: called with bogus options [ 234.788772] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. 01:19:32 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) getpid() (async) unshare(0x40000400) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) (async) perf_event_open(&(0x7f00000001c0)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, @perf_config_ext={0x0, 0xaba}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) (async) r0 = socket$inet_udp(0x2, 0x2, 0x0) perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) open(&(0x7f00000002c0)='./cgroup/cgroup.procs/file0\x00', 0x800, 0x1c2) (async, rerun: 32) getsockopt$IPT_SO_GET_INFO(r0, 0x0, 0x40, &(0x7f0000000000)={'nat\x00'}, &(0x7f0000000140)=0x54) (async, rerun: 32) setsockopt$EBT_SO_SET_ENTRIES(0xffffffffffffffff, 0x0, 0x80, &(0x7f0000000000)=@filter={'filter\x00', 0xe, 0x2, 0x250, [0x0, 0x20000100, 0x20000130], 0x0, 0x0, &(0x7f0000000100)=ANY=[]}, 0x78) (async) unshare(0x50100) (async, rerun: 64) lchown(&(0x7f0000000000)='./cgroup/cgroup.procs\x00', 0xee00, 0xee01) (rerun: 64) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(0xffffffffffffffff, 0xc018937a, 0x0) setsockopt$inet_udp_encap(0xffffffffffffffff, 0x11, 0x64, &(0x7f0000000240)=0x5, 0x4) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) unshare(0x200) (async) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) (async) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$sock_SIOCETHTOOL(0xffffffffffffffff, 0x8946, &(0x7f0000000180)={'ip_vti0\x00', &(0x7f0000000080)=@ethtool_gfeatures={0x3a, 0x3, [{}, {}, {}]}}) (async) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) 01:19:32 executing program 0: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000080)=0x474c, 0x4) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) connect$inet(r0, &(0x7f0000005a80)={0x2, 0x0, @multicast2}, 0x10) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) recvmmsg(r0, &(0x7f0000000040), 0x291962b, 0x45833af92e4b39ff, 0x0) bind(r1, &(0x7f0000000000)=@nfc_llcp={0x27, 0x0, 0x1, 0x8, 0x3, 0x6, "fff570f4255039b5aa909ec4d16147f1429c55d02534789eed4880dbaff7e436d53965e5ac316badd8b572ce379af98f7b1108796823b3ec57fbeff504bd99", 0x2a}, 0x80) 01:19:32 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) getpid() unshare(0x40000400) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f00000001c0)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, @perf_config_ext={0x0, 0xaba}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) open(&(0x7f00000002c0)='./cgroup/cgroup.procs/file0\x00', 0x800, 0x1c2) getsockopt$IPT_SO_GET_INFO(r0, 0x0, 0x40, &(0x7f0000000000)={'nat\x00'}, &(0x7f0000000140)=0x54) setsockopt$EBT_SO_SET_ENTRIES(0xffffffffffffffff, 0x0, 0x80, &(0x7f0000000000)=@filter={'filter\x00', 0xe, 0x2, 0x250, [0x0, 0x20000100, 0x20000130], 0x0, 0x0, &(0x7f0000000100)=ANY=[]}, 0x78) unshare(0x50100) lchown(&(0x7f0000000000)='./cgroup/cgroup.procs\x00', 0xee00, 0xee01) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(0xffffffffffffffff, 0xc018937a, 0x0) setsockopt$inet_udp_encap(0xffffffffffffffff, 0x11, 0x64, &(0x7f0000000240)=0x5, 0x4) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) unshare(0x200) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$sock_SIOCETHTOOL(0xffffffffffffffff, 0x8946, &(0x7f0000000180)={'ip_vti0\x00', &(0x7f0000000080)=@ethtool_gfeatures={0x3a, 0x3, [{}, {}, {}]}}) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) 01:19:32 executing program 3: mkdir(&(0x7f0000000000)='./file1\x00', 0x0) syz_mount_image$hfs(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='gid=', @ANYRESHEX=0x0, @ANYBLOB='\x00\x00']) mount$overlay(0x0, &(0x7f00000000c0)='./file1\x00', &(0x7f0000000100), 0x1000000, &(0x7f0000000140)=ANY=[@ANYBLOB='lowerdir=./file1,metacopy=on,fowner=', @ANYRESDEC=0xee00, @ANYBLOB=',rootcontext=user_u,context=un#onfined_u,fscontext=staff_u,\x00']) (async) umount2(&(0x7f0000000080)='./file1\x00', 0xa) mount(0x0, &(0x7f0000000380)='./file1\x00', &(0x7f0000000040)='autofs\x00', 0x0, &(0x7f0000000400)) [ 234.831721] EXT4-fs (loop4): mount failed 01:19:32 executing program 2: syz_clone(0x5000809d, 0x0, 0x0, 0x0, 0x0, 0x0) openat$apparmor_task_current(0xffffffffffffff9c, 0x0, 0x2, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_WRITE(0xffffffffffffffff, 0xc4c85513, &(0x7f0000000000)={{0x7, 0x6, 0x6, 0x1f}, 0x1, [0xf0d30, 0x8, 0xffffffff, 0xffffffffffffffff, 0x0, 0x3760, 0x9, 0x246f, 0x3, 0x3, 0x7, 0x8, 0x0, 0xffffffff, 0x7f1, 0x1aa, 0x9, 0x0, 0x8b, 0x0, 0x8, 0x4, 0x2, 0x2, 0x6, 0x3, 0x0, 0x1, 0x80, 0x4, 0x7, 0x20, 0xffffffffffffffff, 0xa150, 0x5, 0xd5, 0x80000000, 0x7, 0xffff, 0x1, 0xa0, 0x10000, 0x3, 0x8, 0x2, 0x0, 0x3, 0xfffffffffffffffe, 0x6283, 0x9, 0x0, 0x101, 0x3, 0x7fffffff, 0x2, 0x2, 0x2, 0x4, 0xff, 0x9242, 0xfffffffffffeffff, 0x7, 0x1, 0x4, 0x0, 0x100, 0x5, 0x100000001, 0x3, 0x1, 0xc8, 0x5, 0x81, 0x8000000000000000, 0x5, 0x81, 0x7, 0x1, 0x0, 0x76, 0x6, 0x0, 0x3, 0xffffffffffff7fff, 0xfae, 0x20e, 0xffffffffffffffff, 0xb3, 0x0, 0xfffffffffffffffa, 0x8020000000000, 0x6, 0x80000001, 0x4b31, 0x3, 0x6fd9, 0xffffffffffffffff, 0x67b9, 0x1, 0xabdd, 0x8a, 0x2aa, 0x5, 0x1ff, 0x100000000, 0x7, 0xff, 0xfffffffffffffff9, 0x8000, 0x8000, 0x9, 0x8, 0x20, 0x5, 0x2, 0x3, 0x2, 0x2, 0x7, 0x800, 0x6, 0x7, 0x67, 0x0, 0x2, 0xffff, 0x7b7c2174, 0x1d72]}) 01:19:32 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, r6, 0x0) bind$llc(r3, &(0x7f0000000180)={0x1a, 0x335, 0x3, 0x1, 0x0, 0x3, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x3a}}, 0x10) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) [ 234.936153] IPVS: ftp: loaded support on port[0] = 21 [ 234.939849] overlayfs: unrecognized mount option "fowner=00000000000000060928" or missing value [ 234.956179] autofs4:pid:14347:autofs_fill_super: called with bogus options [ 235.027253] IPVS: ftp: loaded support on port[0] = 21 01:19:32 executing program 3: mkdir(&(0x7f0000000000)='./file1\x00', 0x0) (async) syz_mount_image$hfs(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='gid=', @ANYRESHEX=0x0, @ANYBLOB='\x00\x00']) (async) mount$overlay(0x0, &(0x7f00000000c0)='./file1\x00', &(0x7f0000000100), 0x1000000, &(0x7f0000000140)=ANY=[@ANYBLOB='lowerdir=./file1,metacopy=on,fowner=', @ANYRESDEC=0xee00, @ANYBLOB=',rootcontext=user_u,context=un#onfined_u,fscontext=staff_u,\x00']) (async) umount2(&(0x7f0000000080)='./file1\x00', 0xa) (async) mount(0x0, &(0x7f0000000380)='./file1\x00', &(0x7f0000000040)='autofs\x00', 0x0, &(0x7f0000000400)) [ 235.126716] IPVS: ftp: loaded support on port[0] = 21 01:19:33 executing program 3: perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) readv(0xffffffffffffffff, &(0x7f00000003c0)=[{0x0}], 0x1) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, &(0x7f0000000240)=0x7, 0x52, 0x0) perf_event_open(&(0x7f0000000340)={0x1, 0x80, 0x7, 0x7, 0x8, 0x20, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x1f, 0x8001}, 0x40, 0x0, 0xffffffff, 0x9, 0x10001, 0x7, 0x0, 0x0, 0x1}, 0x0, 0x5, 0xffffffffffffffff, 0x9) r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x6000074, &(0x7f0000000300)={&(0x7f0000000000)=ANY=[@ANYBLOB="4c00000010001fff000000000000001100000000", @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100626f6e64000000001c00028005000d0000000000080003000900000008000400ff010000"], 0x4c}}, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000004340)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(0xffffffffffffffff, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x24, 0x0, 0x4004}}, 0x50) r2 = accept4$netrom(0xffffffffffffffff, 0x0, &(0x7f0000000580), 0x0) pipe(&(0x7f0000000080)) r3 = dup3(0xffffffffffffffff, r2, 0x0) r4 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000200), 0x200080, 0x0) fstat(r4, &(0x7f0000000cc0)) syz_fuse_handle_req(r3, &(0x7f00000020c0)="0f66aeb3d273cd3a0f21c9f68c47f945315a29bded21479688211c69f03bcbb59a470f8789866962a7e113dba0151b7439d7ef835adde76fc538dfcd86bdb005703aaa2746ec40361f9b0df1efcbd9806136940d818193c0a3202f19d69ac5d7042aa774ac35be09e99694d75a798fdf8664551b1fcf63a029c68a6c7db999523e27d4de1a4ef07fe0cd50d680d0f5fc390f890843585e22183eab2af03bb1537d1c20feb899d866e50b890f4c9cd35da580e3ea5726201580e8e468be7212a528bdee90398cddd3b351aa105a14e8d489abeab6560f637b28bda027d118b52e0f6d5140e008c0939736709de482f9667fe626cf9b3ae239c42caa2f0573e01efe4ec4026bd359cb1ac37190b9dc8ce85efe938d3e921b540486aecd0164042c1ef25bcdb6280deb6a1fa770c421cc959884c28948e47c83cc22f94c12d97a7b42bdc3038502c21c80021639af4aac17fa939299c41b77ba8d64970ece8a75e766ac2b814561b513e9e50dfeb7af6fa5778e255ce2320013c7db1bb803002c7c6862cd4cd841ef8f81810f3b1acb986e09f4f8017cc057ba1248191a05343836a575aa4caf187c28cc6fa9b6d6917b00aeef6e823a45a32193d6738a8ce489a212b2449dfe83a79aba91ab739064b75ee03297589a1339e9a43ba7a058dffc390798b0b7d619429e2a4601b528fbd8e65d60585218432e5937dca5bd7d848f2a5fd55c00a484ebb680561a1396818ed6ed2eb693cabed5cc7fc46f77763671d8a496aa79995318673fb3bb68a34727aaf227c801e4223296e381a468dffcad61aa8c2c981a37fcdf2ac9c357c8d9a82441e1f88a5ed3e4805551a3c2e95eb0bb7da847640c925686db565a2355c8d0a741906918a38cf73d35054efd3982650aec8615aee24c95a8f5dbb7bcce1f74665358e52729bfb0b4c7604e96f9cad108a9b31b3eedbcf777561f3908e6deb5996d3a822bcd42d81f49fb887f519b68802b56631ab8f84e8db728aece041bc4100768cd636c6123d16145fe282d2ab7f585b411b1a68b921ab6f41228714ddc354991a1f30f353c5bddd571f2f0da4e56027e5f10ebf1aa1464c1ecf25a50e234ab43bfb326c59a6c9e64bfd886a926b693dcbfef20a892891e2ad4c98c5e0afb838f4c0189fdcf4124e0db8d81597536184368a809a4b6c9cc541f88ead9622d48d05bc7d2fd70c10cd5f9c8caa9f8a77305e4635eb89eff43c7e25c9e76460fb9113686f728e75a0d8a245c875af5ee999c5d2041b078625cdc76121f0518fe8faf105e935fd061caef28ca96499ab724175c6b2aecdc31b7de9afde0a5e1cb9c3b4ce05a657684dbed2d08935bc51b4698bbc88c8256c20456f9402fc140df0e50b3464db80c1668d3e0b2ce31982c72d5b4a5a55cf0a552718118f4c599c0ea7db68d72fe45a563d00f175ca98482abf3dd500b8b5d08ca868c47836cdbfd45710199558f123debd84c78d6e3f3f5e7efe0be36cd5f55fd4ad8503d3d0707e92b345a025a9136c4c5ca2da9889712933446221acc9bf988269604885a40d397709680ec38feeda672119c0c7903c203a4d0ff4cbeb3f01826e88f4a597fe5d52999ae2233851ec3b23e5892104feba5648bd0da108f260ec9f2c8a3af04e716629e424273475be30144560fcd67c28abb472b95903efa2b8e46f0a33f6ddc991ca1ba3e0e6d32835aa0845c91605f74e4a05873b0eb51db361083d0640206abafb15f5583c08bc8535433c295cb2d6623fe9692e26001f22090afd14398eb8558fcde655611b806a1077ae2c5ce427306bca44969759cc49cd9f5f61243f2bc2d1eab92e4aba7035306dee2ecec0653a98bb991a41cc96599a650949af3fb5db5534c1f5a9ec19afc73057bf5338dbbfadcdae59574482bd6ee3c7a86bee0a434275658572779cff91886ded6b04352f6818172964d63af93646bedefaeaf05c358f7c4e62a5255d7ff6e39701013c29518b957b4bda348987ccbb69c0bd37af26515cda951b407ea56732119e61d2b7e0ba8e7f93d13af02892e2f71faaf92e5821a2906514acf245611999ce6e1e17d80ff73dd0eb0f966b63ffaa3a01a70ab6a98815a0bf9dc009298ddc5529ca309d0f20fcde51d683e667339db935bdc778291f563432bf11aea26f86cfbbc02e1c326ca4287c896a19fe820c4916b7ec0e71609c0ee5189f1a56d50bb2d898a78f6aa2de9a7b0fefd93369f23ccfa5607f0d9729ebb859d464b75812cc766d0125bf8a91000f1321c1468cb14b61d0b72884fd82b3ad7193aee4be5ff0869d4818533e2b55ff2005c409cf3b9d4f6b4538fd61184d3393cfb0c3a4fe1e4959fe5818fc5243c289c2d283dac4078fa3ef6ef1b14e8eb816813c526544eaf9f07c11580e169a3d9da9deedecd61ec7d8ec1fff7e1e6e6e486c19f96a83333fd5463e5cfd9dcf76970b8b4a16a1981bb0a7b2ca233f8fbd26338be494f498e467efc7b45a811811ac2cec83548e1ad69fe424c12665629c91eac957541a09e1e1624a21821335d6eb9370b8d65664895d9a49c023538740b223725fb79812406501e185ac6f512c9879a7576d152c2d9393cd74b2eed746f03533156cb6b51321e559d83bbd39faea52df51db919184cbecdf0c04ebac907923a96f72e9a562a24c716d2b94ec7ff74f22fe45d29f2c497f22c17188d5d6345063a2388dfbf289f400d217b2d4e38d2e24ba0d443dc414af232a0ea64e6d6251033a332dfcd33f51ad1d5b188311658574f40ac122f53d42e186dd709e373d2f324cdb57ea43f730f43718d2e499577ea2d8d8556e339c1ad5baab5042f4c406f27ed127b2c435123358357f09b446ae00375e65b1c0939e41149eefac588041942e94e2effd8e809ea340ca36ad9cca7dbc5e73b503103983fcb1e737e2d931048a5294b472a135aa40fe044e86e71d9771f9e1a9b94b1bbb79ab4d2efeeca1a32523c24ef65e3092fe719140bddae6ac76a315ec62eaaa1e792e6feff90c88f53ee89b5d61a2e82f4bb03d6835fa83122b7bcbf05d4ea0bdd2092a7a051f11a5f809f8ab37d3d8e9d5a00bf3d5b61d93dda4655da162f8f1980bf37b2eb7e1e58cdcd9ca9ac53a5ebdbb1eb5518f23a78ffb7e9fdd9a67d6aaa00ec604a5047a23540b57c03d55962fa2337fce3cf138f17878974599203e654f66167859183257c6e69ec821e423c20cff12ccc7968add42e8a756a3a403f496c42720457300657c495fa24cb4f64f2b391d4a026f3f8104b3bac8d9ae701cb1af387f19a6c3d84f81b39a594e96718a815dcefe648b1b3beab0752a53ffdd708dc164ca63022c6692d6019902d005fab35ecb1bd924f7a34e98deea72f1c953e43de298944df080bcf7ddd524cb909c6446db9c8d31cb955d14ab0bfca8429f378e2a697cd2d9b38e0c656f30365a416a47128eb669030d36264edb914d9cb48752e41ae922f08469887f96ccc12d4545fe55719743b11e6e5e9677a436639967af2e8528931a6990e1321a0bc4f23f8c8ebd53d802bff5f327a14f601717a88819b41ea0a3617f647b21499a024618144993a68dc24fac04baa377450e32784b5c851dcad0cdfb4fcbe6a850b16f0d29e59cb5ba771b36af3e8cf52e3bd3cfc9604a6934ac0ad8ff07a209cdd598ffa6488ffdbc8f9c3dbdb54fa52ef941d1cd7621c5f0e35c42feaef5875dbc354c8a320802ca9a5082286369afda277ee5970bef1caff7c9ea933c275f892642838a91caad16509c7445c0080759218d87c457101ca117846049dfb5d0a63da646ddbe6537f0eedcbb6d3757811aa9d1a7605933b421eb8cc55c2c747f6e8fbf3e05352ddac75fd61670dc6329a535ff9d353f0ade66c62c5c7bd0017e96eff691019da9a1a7540ee669fe2fd2d7edde2cb981addef9c00cb8a12afb7a2935c7239c6dcfc1b27e57c6cd15de1a4b221e39834301858c0aaf19669f8fddc602c9412d9cdbb8c54acc3c8b1d564e8efb516dd33e9a912fddcb168e6f7bd28b5dee073f879d4ba2261473703490d23823150f062e91a830045682cc75d723d8f10630f49a3db850ce2644ea4552a99b42430963ba878b13201699d1daa02e962952a802d11e4e4c310c7da56c05c5df95e7e1bc09ab7160fea01e27e01956addaac1ee583458497bc537f20cefa19d073be24084288c83a2d557f816ed06a5110a484f63b650ce9299ecb5e2b06f77137e3936be7ddc218c7e0931e4ea197e545c263d400cb8810326b896116dbfe26e98f2e2f2bf7168471079ce2cf5d6009223f3863cc1054380cdd32deeff69cb7b5fa5e868088b8f4b2f2b14f4cac9adb78775437e8b498d94d291d77fd17241439ac20f05c22045bdfb45d1dcd376203713aedfc908262a3dfd3be4e2faedbf992f66610f3a63def03a588fe917e3ae48e4b3958a9d52f6a7fa05b3d6ffd2c320b69418d89b808992ec96600c0fda35afa5f7cff006031f22e66b5d86ecfde5a69e91c184d4a42fa5709fb855765d39b78858e2a4c0757f10d2c5dd36795485fefbc798507593667f40f421e164657c605c04866105543629abf7de2fb1eba81d0063b90e5481504a3043207757a801db3cb7e353694f422a53c265326560ab972dd96bae42d6cafa4a2a55926f7723bdd206cec8463f7f5612c74c44a406819ead9af81a780324fc4c2296f536f652c76f3ff83a46b4018dac9739db26651d0db05ac8332c72b6f059994ed797bae040adaadce99fdc9586ac61e4b4d901f4fe19de47f9a6f8c32b08874e949a9c811b0c692c3e0b558bc46da62aeccbbb96cf2c7de8c5a3f613a199916eacd4dc33f0b5c96ee59427d43555b5483570f7caeac6822ab89a1801fbd44e51544314b3c487128a3a588ec690eda8a302639ae06b0779bbccbe4376c479fe8d3ba9b6e395610b113c2cfba048e38e98760bfd19a191f33f2ed9b6873793491489319a4d3d488091caf2394460120b99e1d4b5a15f5a57777d0a805f2c2c354067c8d03e56581b31a0078c528f313c3645340c7f5fa0138af655cae255ad0bde394a4a178ce6fcfdae6a4695bde902054665ae0ad001a6fd761767407f96de7c23f4a5b97933ed9bd5ebae76dca8f0abbb97792979338f9d9c5a0823a6ff7b8dd98bda9318f1a01a08ffea7891ff36764efd6518e0c0f4d234ca9ba1bbf0829bf4b678731d446ffb740f308ae53270103f1f161fcdb3c4ce3006d9e5cf7a27911cab912fdd99a54b32dfc456fe37b8314b4202aee22ae921c59e377f00e97c92bae511e2c41f9c03581eb5ea71c92dd58c0e6dd69a2a7ae3acbcb58d8cde439aa85141adbe9860e34532f8d96da2f0cf00871641eccf0904666e21dfb5ffca600f3e0d6c2ab83dfc37f2899032f1096cb9bc4dce391ef16ca7346d0b9283531e9baab06ddb6427748f4a8cf38d4c8b3a8f25f26717f0a00b5230ba91c600097a5def668a4687e4f967c65a929341fc10e1849f3de6539f9cddabb5a8c007fe821a33bb37fc7f0258e3dbda5e366d4cbf32e00d7840b2e9ba930b23e6c4b4952bad44502d8720b92f18e9cb284d52295dc25ad38623780da228e6c620e47f8047a7fa0057cd778fad6e0d9b6091315fdb6a1da08f49bbe09ff22ba2ef5f85864ccbe8c31eba4c57282d1b29fceca714695d767be00e410762a74f3256830238d9aa68415d8c63986077d491ebe34127790b9f1b2c7341c2197d5e33f4adbcf44512153adbc9fe59445df435b2cc5ea2cdc3aa1e7973a47409bb7a694e09317e45156f9fe330452f2d99a3d4b5ef211cca2a99c451fecea3554d46d2c387d661156b2a7230b097816bfd8b751ba3d199eb4e1291c6e59eff6103e72586bec98164d8b1c2f59502843fa369fe45dafc3e43b726b31bd70f09f8aeadbe2f0c414b86097cf8995f3daf9825d9a1e0d0c7b9dc905c4f202e2e1e304780294bbe2cce4d5168134dba1013e28ed65ca2c9d42b3cdf2123798a5c152c08763141600cbe396744b1b880e9d5e89edca333ee95fcd44a3100a4deaf1e8cf2c8bce4ec6e430920d6e998257d3d7b71d7da1789f41277f8c0870e105031c96651b961650ad243259ccff8c5198df5f841b4312c66ed408714c41c05b2201ee39573359c49f15db2d58ce3990fa7cd287165da1736060b538246390daa28dcea4f30619433bbc41b6b4683ea5fb1e987461f3f6677a5629c826b5effb99ce7d91f6a2b1b6e32a9295c7ebb7f229a36548d775878c8353b202680fc14866f2c73117590c82e1ad9ee67938e7ffe8499433aa14b7c987bdaabfbe40f89ff4801c9e06a67e1d94116cbf7e695a8132785f7a112bd8cbb3cb0d1f1a5faa059acf18d437f1daac75745709a5820f88cb5f808e3d567afaccbf01974bcf26a6aa469f3c2c368e884c1a9199b5e88c498de3675bdf1093716cc0663f35d0d10321f656237f8be97093bba72f8175486a0fd9fd601b14b92c5e63d60c62c18b3a5b87f209a3113b7b2b2b9284b327e685cda4e390d9160ddb0b24ed42db69b24a1724f1c5ac8e9dc4f10b07395dfd29da60aa0b07b3a13a2bbacc7643697b9c4ac782e48bb3bccfc5abdb777d65d345d58fefadc0fd23789be3bf65348d6f25ff32b55b1bddb8189f70e4aaac00ab14143b409cf48c764b1e5f84473b2b9925d2354d2df15fd2821deade6051e2b94a70b6a468d3efb0e397ac48f295cbecb33a7752b6c1d28d1870e1f156294e73bfd2599505b8b885919e80b0f6c23b53030028563a6c613e1a9fa33d56d110e1b2f1a02ca4295a3932fa160520668bb8db7e2c925b69e09af3606631d6e7741171d2414ad3bbfdac193c2461bdb9671a2b19bcc06160743115851fe4d81117ead02898d575cc3ce20a9b386fdea29ef112d87e8cc17f5f27ecf20b9d225bec6db18611de326f67251ddeec70871fba3f022ce6f71f16adda01e75ffd163332e5dd251a17170fdec6732e99a45cc3bf362e77e76e18f50446e807a1beecce02b6f0207c054c61798f2b8900261cdf1fa175b691f9e5800a95b976da913b0b935a3f20f0ddc19fe5564a0c7404969707d2a4e44f24466f869177d6c24eeeba8183deecddecab8e475a19abc49403be290fbc16d520c61d01c518734c2f976ffb2352eb49bc99d47118f7925d5ded15121971b781cccaaadfc846d70b82b49ecfd63a1de67c0c7c95c956b72b7350f1471e270ca15a2f1badc8589eb07b6b533b66a2f6794d4e9eb6ff3be244218c23e03e917a6f28119202bb6a46a5d9f9849b2b3aa0cbd5d8a08ff29949b261dc682cbd70d38c77f1b1fb50a5a18a83a01894f2a91206d4672a3b66f6504b25f98904be1028bd1c10ba110a41ae5a3c390ffba5bbfc1cdb0ee21b0221f33c9f01b827b50107457dcae8f007442c84175f6adc397be660ad01a93144c1744340e494873f9506b3d559754cb51bf5d7fb81fc6a5da834c3ecf533830f3d5b9637837c19a773119238f879365fe98a807f4004593d13e767621552835ce367f7936ab3092105883877adf9b70336e270cdafdfce5c9a385bfaa0aa6bc36ff3200e18708b8300b1609d3ddef9be3a48a8819c9f64f6f080a1a712e7a14f66e94fa73da6b64e66db5ca3b9afccc19edf1f9af29d05a33041a713516bdb45b5805bc630854d76995743274fc93b83530f7b99594089ae9fc22e6023ff6e049cca13484d0732b01c65d27844eb6b40ec064523470163d4d6b90e22e85dac2b957a0e38eed8011e8e2a88ee4a6e09f7f43d905efafe25e93b22d587ed321e0dd630ad1b2709a9ee6662ed7fb3af73332c21616984178a5464bf2dcae5283bcfd3b5aa34cf412298c59fa2ece1f98a6b06ef1a72f5863319d7ff16eeaa720861d8e9b0ad4e5fa5def3b5e15cf21fe84cd3ce0932af0e1d4851f655fa079340010faaf70754b7a27340d96ca25a274be39a32421ec899f45a6fee9e0c2b75290359fedcac4fc59f111dd5a177c424acc9b2b318e71738da0929b087e6883ac8c463ec3d0ca014b6876ac20e61ce2134122cb1030065005b87847fc34f93d592923a8e72dc8a906ea0bb312c4d8bc1b7b6a34d457e9b887de5b695a32106fbea97333027c1473740055f45d12fc4eb1916624b5407cd79f33bcf5a00619eca50a331a69f6cc727aba6ccc79ad739d882b3bf60c44d33bc0c52f07d4744a9ef16799377476ae298d5aa8d11db3e8506327d6e3de1d344baf6ee84e26aa1cf0cfbac6e337e1c3b2d3b34211d7ce1d79a794c9e6d0110081a9921b55452e2f62364b9c1271efdd7263db24f05dbbf6f54486bf6e7968903bf155ab804c651d5dd36793f2069c58ae241777c0227968551d5129dda7e2cb0a902b3088537c6ca47819031ba56739a2069df91622835d04f3dffb6e4a9ecdc7e7140bfc6bcaf1c39f4a4154cbf2b80e0936c38f51d012e8d83ccdad3000f6bff976f215ce83f252d012eafe2f4832551c6d4b103495cd0d3cd797642cb2a6e4cea8046f659229b9020ce96ce01948d0af08c930271503aca4db3a2bd3ff8ad50c64b68eb27bec6a7ed2f8dc2a90154667c28b8d2e58c30053ff27fe89a9e7c566dbc539b44b39c2121d7f77c66c0ab45d985191dd0a51fd8f4ffd9fe92790a51067656f6955a23e5984f8d4b882829b1f90f84a2d41692795680db32809315518aa2717cc0b0e7ab142c21911c55da3647eaea5ae1b84b50483d5849935f4bbdfc197682f0c2088dc3be0c4e77bc7c6677f678f9d229e6b294555e4aecf571b768bbd5f75c2fc920404d9aadebfea47ef1b22a1c6916d6581d8ed6576b77c5853b035ad70138764790edcbb78f4fc50b00b534d2c4bc53d1f6c3d1b8ca1bcc0f6ae09538f9c18799983155b34f7b3f14d4454255681753dfb25d8fa9ce6694e882850c66420525cd6c78421599ca991c01717c8538b3808e6e806cd3414489c25c32ce6bf3fc781aac6322a7a9d1d5cc6bccf234cb19aeb54794135b84244aae8198df297f6f7f707c3696796b6990b5f7c34de1cddf22b6a957a04188bbe43604f97ccbe77e05b8e2f9f8229d633beafc07c44cab45c71a28825a03646110c114dcdd550cb0c5470cb670d655ce8c86f21d36e374c86c71da621b0d5e8fd715883d5adbecd84d4b6c557c6d38b41bbf69b7c1b1a6cb84119c37353126ffbdc9c9a9b6f06e3ef40cd14cbf302cf66a06fca715726d869a4b6a2ec839d43fe8d7ce193a6c998ef3d562288e283c643c35eefc52bd7eda00c5995f160f902be9a065841c0f0484514873d79a4ed54f473844cb8a29676092b98a475b4224f5ba207b32de64c45de091ad0e736166669640a70d4607c8d4c0359422b5fdd2182ec04cb2c35b6756b9df73ee5224e0013f4b3b14ab4079aa39bd242ef3d66218ba56f160be75a094770fd6371a5952ed22605ecdcc6248278335ab62d282c119c9a9975fa309004776e8f22ffec0d41fa6fa563deaae0a1c89ca36e6a5134f602f830d4913dc3d98be04c157ada3357841d0151cd03ee28f41a3cc37880d004e15a661db2492728e66983dbdc85196f125f5a4b404a8b8b99f4c4a3986429f68b45610733a063476146df9666d4ff6509660de37030c967041983ac0637b2dbe1ba4f1b4e3aeed47fa410333fd01fe449adb528f907525eadc6ed74a3f05c69ac4823b9f928b61ddb823a755feda91fa00cad5a0059311183fd7558ec73d7d2265f1313c463fd9507e6866f9d5f569013cf3158f082b72bb267c2cf388109b84f9c1d0378afd55af77963576448d90fb24bbd87de5e7292112e590330a5b9ddcaf7ea32d29c05ec0422fa8de0a7c6496d6256689846e22aefcbe7d057b72e52ebe289325576a0d799d05f0cd50107cd01627564b3ae1ab604f575c71a9365f29ae56d991e8c7ace838249dc45a25603c2901ae2627dfe839a89f1a97c13cb2b7c23ad2720901597df0abf2bb0fec111bffa6735766becea0f7fec01473cbdfdd762eae2902ffd4e3cbadedb73dac3f497d856cb3669a6a61599688486523f1bc0e648519700eb419f7bdab867a5bfc2091c13941120011fc2922526f9fd30a8ac1ced4000caf2214fd91ffd3b6f3a1b96844fd83e9b519ea1607b78cf9761152b19287219e1cbfc403aa43c7426d6fe2bd3e8d5a60e26de85901dd80b869835b2b9feea6e2aa4509b2cfe403a460c2242d467be924e2952ef5d6425edbec94836712d829e4ebc4dc7e709cdf3a6b842479e94d3e75c1143736b134f4a3c2293737078804b0db762270158e66cafc13818a0d1495f420ff202dd39760471b3f29d5c051513f28275f129abf1958a55c59a21878bd10032de3382782a7ce5f4c309efcef872394577ca5b9466db7a94411bd8b3b8e57e57f268787e575b43dea44efdf608145e928d1099744409a0c2517a1b31889c238b8435631e731d919b4a076b24473475686265a2298bfaf8623a0fb9ff5e71ca31f63bd3862634ed4a1cd5e5a09d132d70d143b293bb48ef7babc2e14122796b3f79c22dae472cd08f83474f8de2fd5c2c0261bf057dc5b5a638415f13ff439f3c274d1184eab41219338256e82c228fe3313976cc0185434edc1867ca1d05557a6fb58ab7424ffc5e07de64a20c82bdb608bcd6c27798234cd4df30f857dfbe9fc9908005898c258d8b3002d2a4e5652f1315fd6b1a1ecbbb2054f4c59e5bf51c7141d9fa02a9c4dc41a82354dc0271d8cbaf938e4e2b84b2f5267f5482a68df04a6d3f22affa416d2e268871d145604dda75b255c3f9b147a13468df588612e12d160242f158d4cb3e7527425119b1ba6a8ff48fce71dea25b446ea09ab3205f77e252a370c8b7f63a9cf99c8f8e6f186eb019aef900f8e1e1f42bb0d707bad3866aab361a0d870a3c910b32d92264acdef49de616eceb9299a05ae39e03fe7cee9486e6fe7af65e52542fa014c936c18c016d0fbf5aee2dafb7d12f27c8732d8591b4ef9c99e7587af540d9e3fed051bba959c62b6925fb8adbc739491ba99c3c98daafcefe3058ff8edd1a6681840e3bf58fc140cf9848d06097c165f20fb71f70792258d8e814f191827663ec1843e4594ba6eea8620623df3df73c3813b54b37c3e2d98b4d1726669e009f8f5ef0174cc6268e5ebb7985cff8d1d114545250b8ae285935aca4e5fd3a7ef24a0988d256c1f3d77bad9a6560fcb314524c90eded071e0cb365a2ac4a136713d3f89829d277b87feb5cf9111250b2820ee56180e62e71093ddf9c2fdeea34c5359947e31fdff040bacfd98557c294cefcaee9e241131003a888369a04c4a218146b61e191bd12e1f7dd316d0c548e12defb2cfc5f889443ada50a0394586f4254384570372470378c14921b5b3762534e3e4914e858a1f3fbf8a942d969a936a547abfdfc9e577484a4699a5ea2dd5e06beac5c4c7a7a7552e8cbca2648c4e4f4d640f1963d7ba89c27c42c585ba07bb86787f86f108ef5ea076ae48782497af9ef1b7222fa3b7bfdd722f6565ff5e05d2f278198524fb2b3ec47a988a19cb7364367684d24c84725f1cdf9d9c2d8d9e7677ac9ac51c49d9b57ee4289b5d8b5", 0x2000, 0x0) r5 = socket$netlink(0x10, 0x3, 0x0) io_submit(0x0, 0x8, &(0x7f0000000880)=[&(0x7f0000000380)={0x0, 0x0, 0x0, 0x0, 0x7, 0xffffffffffffffff, &(0x7f0000000340)="5fff56d78375467b2c375f06c0299775c468d5afd0", 0x15}, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x7, 0x1, 0xffffffffffffffff, &(0x7f00000003c0)="2837c4b66dab08bf9f827a9fd3c982d90e6676ef43d4d4e69bcfc3910c81f2310d1978dbac9887ed5990eef883dcff02883667b5a1f9ea", 0x37, 0xffffffff}, 0x0, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x94701e37c45aa1ef, 0x101, 0xffffffffffffffff, &(0x7f0000000580)="dcf878229ac330dec67725b6d5687061f21c6d044674283f99a5e462c0e403d8a74f781ba665a8324d3f0132ed466fb176a0d650823b292e78ba9df7f90064", 0x3f, 0x4, 0x0, 0x1}, &(0x7f0000000640)={0x0, 0x0, 0x0, 0x6, 0x9, 0xffffffffffffffff, &(0x7f0000000600)="6a339735a93ee94cfaa42fc008db7ab796888f66cf0c614da49f22bdb1a4a07aab9aa008429b875024852cb92cfdaac052119d4a0efe7acb9812fd1909", 0x3d, 0xe0000000000000, 0x0, 0x3}, &(0x7f00000006c0)={0x0, 0x0, 0x0, 0x7, 0x7, r5, &(0x7f0000000680)="55d843c6978e49e92416", 0xa, 0x1ff, 0x0, 0x1}, &(0x7f0000000740)={0x0, 0x0, 0x0, 0xb1b6347e75d54a6c, 0x0, 0xffffffffffffffff, &(0x7f0000000700), 0x0, 0x1, 0x0, 0x2}, &(0x7f0000000840)={0x0, 0x0, 0x0, 0x2, 0x0, 0xffffffffffffffff, &(0x7f0000000780)="b762a3403fa275233405699e42e4591329d674fd61d709a6ef53dc90b38185368666924ff80e44d5cc6d74ef23fc4ba25526c82a8f665c9873eed50f7c6c51328bf13ef08a60fc907e3703a0aa8ca42ca4bd6505acce8b9f6ddde4bb789c6a819ced7c5e8f20b85ffd626ae282668e3f53ac30b8eb4d2e1c56fe2476d8dfc0adf02b7ff2610107c335d57ae53a481104a69c9edb36539a34a3a086af6f7d582cd9ba1d0590446de848f5d3e8345a7aa796f5dbd7f934278f0a61a27b60", 0xbd, 0x4, 0x0, 0x2}]) mount$tmpfs(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000001340), 0x8, &(0x7f0000000440)={[{@huge_within_size}, {@huge_advise}, {@mpol={'mpol', 0x3d, {'interleave', '=relative', @void}}}, {@gid={'gid', 0x3d, 0xee01}}], [{@euid_gt}]}) r6 = bpf$ITER_CREATE(0x21, &(0x7f0000000100)={r4}, 0x8) io_submit(0x0, 0x2, &(0x7f00000009c0)=[&(0x7f00000004c0)={0x0, 0x0, 0x0, 0x2, 0x7, 0xffffffffffffffff, &(0x7f00000008c0)="f24df21868e39b841a6a06be1230d267d7b288528fbeee9d1de30d2eeed414646dfcdfdbf328f2229066baef0e1d70d7ea13092426784a7fbf449a6b0d7a8f4adb2b05c76a6757f8af98c6ab649e6512170ffcc022207cdc1603d63e704a045d45c6d88ec1804ddac8dbdaf8c6aa56dc08c48aec6a5282a3eb65b33d469b0d42f6fd2325c48044fc1e05846a716af9138e74d86399f12260e79d5333e1751c4e97d2ba87ddbb2a6a987d62587e1850646fd5e45534ac25a6a13e82ab08be0164e255c3924368757d73b02d4c8da29f987e7b52041985f81ef1f04d3b", 0xdc, 0x6, 0x0, 0x1}, &(0x7f0000000700)={0x0, 0x0, 0x0, 0x1, 0x6, 0xffffffffffffffff, &(0x7f0000000500)="ec286dadababa7a4d5f2b0485ce1d7085f0a53907998ae2865f7a3a7cde594813ab0b7d5c0112652939f7a94f67c0a3f8900aa09a76355388aaf3d67430d6a53677e33342c234611a67d17ad2dbac0e8ac8e8d55c0a08b31acef652d487f37c500a4ea1ae335ac3d3c5b962b", 0x6c, 0x72, 0x0, 0x2}]) setsockopt$netlink_NETLINK_RX_RING(r6, 0x10e, 0x6, &(0x7f0000000140)={0x4, 0xfff, 0xdc, 0x6}, 0x10) [ 235.227526] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. [ 235.343487] EXT4-fs (loop4): mount failed [ 235.376319] (unnamed net_device) (uninitialized): up delay (511) is not a multiple of miimon (9), updelay rounded to 504 ms 01:19:33 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, r6, 0x0) bind$llc(r3, &(0x7f0000000180)={0x1a, 0x335, 0x3, 0x1, 0x0, 0x3, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x3a}}, 0x10) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:33 executing program 0: r0 = socket$inet_udp(0x2, 0x2, 0x0) (async) r1 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000080)=0x474c, 0x4) (async) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) (async, rerun: 32) connect$inet(r0, &(0x7f0000005a80)={0x2, 0x0, @multicast2}, 0x10) (rerun: 32) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) recvmmsg(r0, &(0x7f0000000040), 0x291962b, 0x45833af92e4b39ff, 0x0) bind(r1, &(0x7f0000000000)=@nfc_llcp={0x27, 0x0, 0x1, 0x8, 0x3, 0x6, "fff570f4255039b5aa909ec4d16147f1429c55d02534789eed4880dbaff7e436d53965e5ac316badd8b572ce379af98f7b1108796823b3ec57fbeff504bd99", 0x2a}, 0x80) 01:19:33 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) getpid() unshare(0x40000400) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f00000001c0)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, @perf_config_ext={0x0, 0xaba}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) open(&(0x7f00000002c0)='./cgroup/cgroup.procs/file0\x00', 0x800, 0x1c2) getsockopt$IPT_SO_GET_INFO(r0, 0x0, 0x40, &(0x7f0000000000)={'nat\x00'}, &(0x7f0000000140)=0x54) setsockopt$EBT_SO_SET_ENTRIES(0xffffffffffffffff, 0x0, 0x80, &(0x7f0000000000)=@filter={'filter\x00', 0xe, 0x2, 0x250, [0x0, 0x20000100, 0x20000130], 0x0, 0x0, &(0x7f0000000100)=ANY=[]}, 0x78) unshare(0x50100) lchown(&(0x7f0000000000)='./cgroup/cgroup.procs\x00', 0xee00, 0xee01) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(0xffffffffffffffff, 0xc018937a, 0x0) setsockopt$inet_udp_encap(0xffffffffffffffff, 0x11, 0x64, &(0x7f0000000240)=0x5, 0x4) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) unshare(0x200) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$sock_SIOCETHTOOL(0xffffffffffffffff, 0x8946, &(0x7f0000000180)={'ip_vti0\x00', &(0x7f0000000080)=@ethtool_gfeatures={0x3a, 0x3, [{}, {}, {}]}}) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) getpid() (async) unshare(0x40000400) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) (async) perf_event_open(&(0x7f00000001c0)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, @perf_config_ext={0x0, 0xaba}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) (async) socket$inet_udp(0x2, 0x2, 0x0) (async) perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) open(&(0x7f00000002c0)='./cgroup/cgroup.procs/file0\x00', 0x800, 0x1c2) (async) getsockopt$IPT_SO_GET_INFO(r0, 0x0, 0x40, &(0x7f0000000000)={'nat\x00'}, &(0x7f0000000140)=0x54) (async) setsockopt$EBT_SO_SET_ENTRIES(0xffffffffffffffff, 0x0, 0x80, &(0x7f0000000000)=@filter={'filter\x00', 0xe, 0x2, 0x250, [0x0, 0x20000100, 0x20000130], 0x0, 0x0, &(0x7f0000000100)=ANY=[]}, 0x78) (async) unshare(0x50100) (async) lchown(&(0x7f0000000000)='./cgroup/cgroup.procs\x00', 0xee00, 0xee01) (async) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(0xffffffffffffffff, 0xc018937a, 0x0) (async) setsockopt$inet_udp_encap(0xffffffffffffffff, 0x11, 0x64, &(0x7f0000000240)=0x5, 0x4) (async) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) (async) unshare(0x200) (async) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) (async) openat$kvm(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) (async) ioctl$sock_SIOCETHTOOL(0xffffffffffffffff, 0x8946, &(0x7f0000000180)={'ip_vti0\x00', &(0x7f0000000080)=@ethtool_gfeatures={0x3a, 0x3, [{}, {}, {}]}}) (async) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) (async) 01:19:33 executing program 0: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = socket$inet_udp(0x2, 0x2, 0x0) (async) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000080)=0x474c, 0x4) (async) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) connect$inet(r0, &(0x7f0000005a80)={0x2, 0x0, @multicast2}, 0x10) (async) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x0) (async) perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) recvmmsg(r0, &(0x7f0000000040), 0x291962b, 0x45833af92e4b39ff, 0x0) (async) bind(r1, &(0x7f0000000000)=@nfc_llcp={0x27, 0x0, 0x1, 0x8, 0x3, 0x6, "fff570f4255039b5aa909ec4d16147f1429c55d02534789eed4880dbaff7e436d53965e5ac316badd8b572ce379af98f7b1108796823b3ec57fbeff504bd99", 0x2a}, 0x80) [ 235.937787] IPVS: ftp: loaded support on port[0] = 21 01:19:33 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, r6, 0x0) bind$llc(r3, &(0x7f0000000180)={0x1a, 0x335, 0x3, 0x1, 0x0, 0x3, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x3a}}, 0x10) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:34 executing program 3: perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async, rerun: 64) readv(0xffffffffffffffff, &(0x7f00000003c0)=[{0x0}], 0x1) (async, rerun: 64) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, &(0x7f0000000240)=0x7, 0x52, 0x0) (async) perf_event_open(&(0x7f0000000340)={0x1, 0x80, 0x7, 0x7, 0x8, 0x20, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x1f, 0x8001}, 0x40, 0x0, 0xffffffff, 0x9, 0x10001, 0x7, 0x0, 0x0, 0x1}, 0x0, 0x5, 0xffffffffffffffff, 0x9) (async) r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x6000074, &(0x7f0000000300)={&(0x7f0000000000)=ANY=[@ANYBLOB="4c00000010001fff000000000000001100000000", @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100626f6e64000000001c00028005000d0000000000080003000900000008000400ff010000"], 0x4c}}, 0x0) (async) read$FUSE(0xffffffffffffffff, &(0x7f0000004340)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(0xffffffffffffffff, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x24, 0x0, 0x4004}}, 0x50) (async) r2 = accept4$netrom(0xffffffffffffffff, 0x0, &(0x7f0000000580), 0x0) (async) pipe(&(0x7f0000000080)) r3 = dup3(0xffffffffffffffff, r2, 0x0) (async) r4 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000200), 0x200080, 0x0) fstat(r4, &(0x7f0000000cc0)) (async, rerun: 64) syz_fuse_handle_req(r3, &(0x7f00000020c0)="0f66aeb3d273cd3a0f21c9f68c47f945315a29bded21479688211c69f03bcbb59a470f8789866962a7e113dba0151b7439d7ef835adde76fc538dfcd86bdb005703aaa2746ec40361f9b0df1efcbd9806136940d818193c0a3202f19d69ac5d7042aa774ac35be09e99694d75a798fdf8664551b1fcf63a029c68a6c7db999523e27d4de1a4ef07fe0cd50d680d0f5fc390f890843585e22183eab2af03bb1537d1c20feb899d866e50b890f4c9cd35da580e3ea5726201580e8e468be7212a528bdee90398cddd3b351aa105a14e8d489abeab6560f637b28bda027d118b52e0f6d5140e008c0939736709de482f9667fe626cf9b3ae239c42caa2f0573e01efe4ec4026bd359cb1ac37190b9dc8ce85efe938d3e921b540486aecd0164042c1ef25bcdb6280deb6a1fa770c421cc959884c28948e47c83cc22f94c12d97a7b42bdc3038502c21c80021639af4aac17fa939299c41b77ba8d64970ece8a75e766ac2b814561b513e9e50dfeb7af6fa5778e255ce2320013c7db1bb803002c7c6862cd4cd841ef8f81810f3b1acb986e09f4f8017cc057ba1248191a05343836a575aa4caf187c28cc6fa9b6d6917b00aeef6e823a45a32193d6738a8ce489a212b2449dfe83a79aba91ab739064b75ee03297589a1339e9a43ba7a058dffc390798b0b7d619429e2a4601b528fbd8e65d60585218432e5937dca5bd7d848f2a5fd55c00a484ebb680561a1396818ed6ed2eb693cabed5cc7fc46f77763671d8a496aa79995318673fb3bb68a34727aaf227c801e4223296e381a468dffcad61aa8c2c981a37fcdf2ac9c357c8d9a82441e1f88a5ed3e4805551a3c2e95eb0bb7da847640c925686db565a2355c8d0a741906918a38cf73d35054efd3982650aec8615aee24c95a8f5dbb7bcce1f74665358e52729bfb0b4c7604e96f9cad108a9b31b3eedbcf777561f3908e6deb5996d3a822bcd42d81f49fb887f519b68802b56631ab8f84e8db728aece041bc4100768cd636c6123d16145fe282d2ab7f585b411b1a68b921ab6f41228714ddc354991a1f30f353c5bddd571f2f0da4e56027e5f10ebf1aa1464c1ecf25a50e234ab43bfb326c59a6c9e64bfd886a926b693dcbfef20a892891e2ad4c98c5e0afb838f4c0189fdcf4124e0db8d81597536184368a809a4b6c9cc541f88ead9622d48d05bc7d2fd70c10cd5f9c8caa9f8a77305e4635eb89eff43c7e25c9e76460fb9113686f728e75a0d8a245c875af5ee999c5d2041b078625cdc76121f0518fe8faf105e935fd061caef28ca96499ab724175c6b2aecdc31b7de9afde0a5e1cb9c3b4ce05a657684dbed2d08935bc51b4698bbc88c8256c20456f9402fc140df0e50b3464db80c1668d3e0b2ce31982c72d5b4a5a55cf0a552718118f4c599c0ea7db68d72fe45a563d00f175ca98482abf3dd500b8b5d08ca868c47836cdbfd45710199558f123debd84c78d6e3f3f5e7efe0be36cd5f55fd4ad8503d3d0707e92b345a025a9136c4c5ca2da9889712933446221acc9bf988269604885a40d397709680ec38feeda672119c0c7903c203a4d0ff4cbeb3f01826e88f4a597fe5d52999ae2233851ec3b23e5892104feba5648bd0da108f260ec9f2c8a3af04e716629e424273475be30144560fcd67c28abb472b95903efa2b8e46f0a33f6ddc991ca1ba3e0e6d32835aa0845c91605f74e4a05873b0eb51db361083d0640206abafb15f5583c08bc8535433c295cb2d6623fe9692e26001f22090afd14398eb8558fcde655611b806a1077ae2c5ce427306bca44969759cc49cd9f5f61243f2bc2d1eab92e4aba7035306dee2ecec0653a98bb991a41cc96599a650949af3fb5db5534c1f5a9ec19afc73057bf5338dbbfadcdae59574482bd6ee3c7a86bee0a434275658572779cff91886ded6b04352f6818172964d63af93646bedefaeaf05c358f7c4e62a5255d7ff6e39701013c29518b957b4bda348987ccbb69c0bd37af26515cda951b407ea56732119e61d2b7e0ba8e7f93d13af02892e2f71faaf92e5821a2906514acf245611999ce6e1e17d80ff73dd0eb0f966b63ffaa3a01a70ab6a98815a0bf9dc009298ddc5529ca309d0f20fcde51d683e667339db935bdc778291f563432bf11aea26f86cfbbc02e1c326ca4287c896a19fe820c4916b7ec0e71609c0ee5189f1a56d50bb2d898a78f6aa2de9a7b0fefd93369f23ccfa5607f0d9729ebb859d464b75812cc766d0125bf8a91000f1321c1468cb14b61d0b72884fd82b3ad7193aee4be5ff0869d4818533e2b55ff2005c409cf3b9d4f6b4538fd61184d3393cfb0c3a4fe1e4959fe5818fc5243c289c2d283dac4078fa3ef6ef1b14e8eb816813c526544eaf9f07c11580e169a3d9da9deedecd61ec7d8ec1fff7e1e6e6e486c19f96a83333fd5463e5cfd9dcf76970b8b4a16a1981bb0a7b2ca233f8fbd26338be494f498e467efc7b45a811811ac2cec83548e1ad69fe424c12665629c91eac957541a09e1e1624a21821335d6eb9370b8d65664895d9a49c023538740b223725fb79812406501e185ac6f512c9879a7576d152c2d9393cd74b2eed746f03533156cb6b51321e559d83bbd39faea52df51db919184cbecdf0c04ebac907923a96f72e9a562a24c716d2b94ec7ff74f22fe45d29f2c497f22c17188d5d6345063a2388dfbf289f400d217b2d4e38d2e24ba0d443dc414af232a0ea64e6d6251033a332dfcd33f51ad1d5b188311658574f40ac122f53d42e186dd709e373d2f324cdb57ea43f730f43718d2e499577ea2d8d8556e339c1ad5baab5042f4c406f27ed127b2c435123358357f09b446ae00375e65b1c0939e41149eefac588041942e94e2effd8e809ea340ca36ad9cca7dbc5e73b503103983fcb1e737e2d931048a5294b472a135aa40fe044e86e71d9771f9e1a9b94b1bbb79ab4d2efeeca1a32523c24ef65e3092fe719140bddae6ac76a315ec62eaaa1e792e6feff90c88f53ee89b5d61a2e82f4bb03d6835fa83122b7bcbf05d4ea0bdd2092a7a051f11a5f809f8ab37d3d8e9d5a00bf3d5b61d93dda4655da162f8f1980bf37b2eb7e1e58cdcd9ca9ac53a5ebdbb1eb5518f23a78ffb7e9fdd9a67d6aaa00ec604a5047a23540b57c03d55962fa2337fce3cf138f17878974599203e654f66167859183257c6e69ec821e423c20cff12ccc7968add42e8a756a3a403f496c42720457300657c495fa24cb4f64f2b391d4a026f3f8104b3bac8d9ae701cb1af387f19a6c3d84f81b39a594e96718a815dcefe648b1b3beab0752a53ffdd708dc164ca63022c6692d6019902d005fab35ecb1bd924f7a34e98deea72f1c953e43de298944df080bcf7ddd524cb909c6446db9c8d31cb955d14ab0bfca8429f378e2a697cd2d9b38e0c656f30365a416a47128eb669030d36264edb914d9cb48752e41ae922f08469887f96ccc12d4545fe55719743b11e6e5e9677a436639967af2e8528931a6990e1321a0bc4f23f8c8ebd53d802bff5f327a14f601717a88819b41ea0a3617f647b21499a024618144993a68dc24fac04baa377450e32784b5c851dcad0cdfb4fcbe6a850b16f0d29e59cb5ba771b36af3e8cf52e3bd3cfc9604a6934ac0ad8ff07a209cdd598ffa6488ffdbc8f9c3dbdb54fa52ef941d1cd7621c5f0e35c42feaef5875dbc354c8a320802ca9a5082286369afda277ee5970bef1caff7c9ea933c275f892642838a91caad16509c7445c0080759218d87c457101ca117846049dfb5d0a63da646ddbe6537f0eedcbb6d3757811aa9d1a7605933b421eb8cc55c2c747f6e8fbf3e05352ddac75fd61670dc6329a535ff9d353f0ade66c62c5c7bd0017e96eff691019da9a1a7540ee669fe2fd2d7edde2cb981addef9c00cb8a12afb7a2935c7239c6dcfc1b27e57c6cd15de1a4b221e39834301858c0aaf19669f8fddc602c9412d9cdbb8c54acc3c8b1d564e8efb516dd33e9a912fddcb168e6f7bd28b5dee073f879d4ba2261473703490d23823150f062e91a830045682cc75d723d8f10630f49a3db850ce2644ea4552a99b42430963ba878b13201699d1daa02e962952a802d11e4e4c310c7da56c05c5df95e7e1bc09ab7160fea01e27e01956addaac1ee583458497bc537f20cefa19d073be24084288c83a2d557f816ed06a5110a484f63b650ce9299ecb5e2b06f77137e3936be7ddc218c7e0931e4ea197e545c263d400cb8810326b896116dbfe26e98f2e2f2bf7168471079ce2cf5d6009223f3863cc1054380cdd32deeff69cb7b5fa5e868088b8f4b2f2b14f4cac9adb78775437e8b498d94d291d77fd17241439ac20f05c22045bdfb45d1dcd376203713aedfc908262a3dfd3be4e2faedbf992f66610f3a63def03a588fe917e3ae48e4b3958a9d52f6a7fa05b3d6ffd2c320b69418d89b808992ec96600c0fda35afa5f7cff006031f22e66b5d86ecfde5a69e91c184d4a42fa5709fb855765d39b78858e2a4c0757f10d2c5dd36795485fefbc798507593667f40f421e164657c605c04866105543629abf7de2fb1eba81d0063b90e5481504a3043207757a801db3cb7e353694f422a53c265326560ab972dd96bae42d6cafa4a2a55926f7723bdd206cec8463f7f5612c74c44a406819ead9af81a780324fc4c2296f536f652c76f3ff83a46b4018dac9739db26651d0db05ac8332c72b6f059994ed797bae040adaadce99fdc9586ac61e4b4d901f4fe19de47f9a6f8c32b08874e949a9c811b0c692c3e0b558bc46da62aeccbbb96cf2c7de8c5a3f613a199916eacd4dc33f0b5c96ee59427d43555b5483570f7caeac6822ab89a1801fbd44e51544314b3c487128a3a588ec690eda8a302639ae06b0779bbccbe4376c479fe8d3ba9b6e395610b113c2cfba048e38e98760bfd19a191f33f2ed9b6873793491489319a4d3d488091caf2394460120b99e1d4b5a15f5a57777d0a805f2c2c354067c8d03e56581b31a0078c528f313c3645340c7f5fa0138af655cae255ad0bde394a4a178ce6fcfdae6a4695bde902054665ae0ad001a6fd761767407f96de7c23f4a5b97933ed9bd5ebae76dca8f0abbb97792979338f9d9c5a0823a6ff7b8dd98bda9318f1a01a08ffea7891ff36764efd6518e0c0f4d234ca9ba1bbf0829bf4b678731d446ffb740f308ae53270103f1f161fcdb3c4ce3006d9e5cf7a27911cab912fdd99a54b32dfc456fe37b8314b4202aee22ae921c59e377f00e97c92bae511e2c41f9c03581eb5ea71c92dd58c0e6dd69a2a7ae3acbcb58d8cde439aa85141adbe9860e34532f8d96da2f0cf00871641eccf0904666e21dfb5ffca600f3e0d6c2ab83dfc37f2899032f1096cb9bc4dce391ef16ca7346d0b9283531e9baab06ddb6427748f4a8cf38d4c8b3a8f25f26717f0a00b5230ba91c600097a5def668a4687e4f967c65a929341fc10e1849f3de6539f9cddabb5a8c007fe821a33bb37fc7f0258e3dbda5e366d4cbf32e00d7840b2e9ba930b23e6c4b4952bad44502d8720b92f18e9cb284d52295dc25ad38623780da228e6c620e47f8047a7fa0057cd778fad6e0d9b6091315fdb6a1da08f49bbe09ff22ba2ef5f85864ccbe8c31eba4c57282d1b29fceca714695d767be00e410762a74f3256830238d9aa68415d8c63986077d491ebe34127790b9f1b2c7341c2197d5e33f4adbcf44512153adbc9fe59445df435b2cc5ea2cdc3aa1e7973a47409bb7a694e09317e45156f9fe330452f2d99a3d4b5ef211cca2a99c451fecea3554d46d2c387d661156b2a7230b097816bfd8b751ba3d199eb4e1291c6e59eff6103e72586bec98164d8b1c2f59502843fa369fe45dafc3e43b726b31bd70f09f8aeadbe2f0c414b86097cf8995f3daf9825d9a1e0d0c7b9dc905c4f202e2e1e304780294bbe2cce4d5168134dba1013e28ed65ca2c9d42b3cdf2123798a5c152c08763141600cbe396744b1b880e9d5e89edca333ee95fcd44a3100a4deaf1e8cf2c8bce4ec6e430920d6e998257d3d7b71d7da1789f41277f8c0870e105031c96651b961650ad243259ccff8c5198df5f841b4312c66ed408714c41c05b2201ee39573359c49f15db2d58ce3990fa7cd287165da1736060b538246390daa28dcea4f30619433bbc41b6b4683ea5fb1e987461f3f6677a5629c826b5effb99ce7d91f6a2b1b6e32a9295c7ebb7f229a36548d775878c8353b202680fc14866f2c73117590c82e1ad9ee67938e7ffe8499433aa14b7c987bdaabfbe40f89ff4801c9e06a67e1d94116cbf7e695a8132785f7a112bd8cbb3cb0d1f1a5faa059acf18d437f1daac75745709a5820f88cb5f808e3d567afaccbf01974bcf26a6aa469f3c2c368e884c1a9199b5e88c498de3675bdf1093716cc0663f35d0d10321f656237f8be97093bba72f8175486a0fd9fd601b14b92c5e63d60c62c18b3a5b87f209a3113b7b2b2b9284b327e685cda4e390d9160ddb0b24ed42db69b24a1724f1c5ac8e9dc4f10b07395dfd29da60aa0b07b3a13a2bbacc7643697b9c4ac782e48bb3bccfc5abdb777d65d345d58fefadc0fd23789be3bf65348d6f25ff32b55b1bddb8189f70e4aaac00ab14143b409cf48c764b1e5f84473b2b9925d2354d2df15fd2821deade6051e2b94a70b6a468d3efb0e397ac48f295cbecb33a7752b6c1d28d1870e1f156294e73bfd2599505b8b885919e80b0f6c23b53030028563a6c613e1a9fa33d56d110e1b2f1a02ca4295a3932fa160520668bb8db7e2c925b69e09af3606631d6e7741171d2414ad3bbfdac193c2461bdb9671a2b19bcc06160743115851fe4d81117ead02898d575cc3ce20a9b386fdea29ef112d87e8cc17f5f27ecf20b9d225bec6db18611de326f67251ddeec70871fba3f022ce6f71f16adda01e75ffd163332e5dd251a17170fdec6732e99a45cc3bf362e77e76e18f50446e807a1beecce02b6f0207c054c61798f2b8900261cdf1fa175b691f9e5800a95b976da913b0b935a3f20f0ddc19fe5564a0c7404969707d2a4e44f24466f869177d6c24eeeba8183deecddecab8e475a19abc49403be290fbc16d520c61d01c518734c2f976ffb2352eb49bc99d47118f7925d5ded15121971b781cccaaadfc846d70b82b49ecfd63a1de67c0c7c95c956b72b7350f1471e270ca15a2f1badc8589eb07b6b533b66a2f6794d4e9eb6ff3be244218c23e03e917a6f28119202bb6a46a5d9f9849b2b3aa0cbd5d8a08ff29949b261dc682cbd70d38c77f1b1fb50a5a18a83a01894f2a91206d4672a3b66f6504b25f98904be1028bd1c10ba110a41ae5a3c390ffba5bbfc1cdb0ee21b0221f33c9f01b827b50107457dcae8f007442c84175f6adc397be660ad01a93144c1744340e494873f9506b3d559754cb51bf5d7fb81fc6a5da834c3ecf533830f3d5b9637837c19a773119238f879365fe98a807f4004593d13e767621552835ce367f7936ab3092105883877adf9b70336e270cdafdfce5c9a385bfaa0aa6bc36ff3200e18708b8300b1609d3ddef9be3a48a8819c9f64f6f080a1a712e7a14f66e94fa73da6b64e66db5ca3b9afccc19edf1f9af29d05a33041a713516bdb45b5805bc630854d76995743274fc93b83530f7b99594089ae9fc22e6023ff6e049cca13484d0732b01c65d27844eb6b40ec064523470163d4d6b90e22e85dac2b957a0e38eed8011e8e2a88ee4a6e09f7f43d905efafe25e93b22d587ed321e0dd630ad1b2709a9ee6662ed7fb3af73332c21616984178a5464bf2dcae5283bcfd3b5aa34cf412298c59fa2ece1f98a6b06ef1a72f5863319d7ff16eeaa720861d8e9b0ad4e5fa5def3b5e15cf21fe84cd3ce0932af0e1d4851f655fa079340010faaf70754b7a27340d96ca25a274be39a32421ec899f45a6fee9e0c2b75290359fedcac4fc59f111dd5a177c424acc9b2b318e71738da0929b087e6883ac8c463ec3d0ca014b6876ac20e61ce2134122cb1030065005b87847fc34f93d592923a8e72dc8a906ea0bb312c4d8bc1b7b6a34d457e9b887de5b695a32106fbea97333027c1473740055f45d12fc4eb1916624b5407cd79f33bcf5a00619eca50a331a69f6cc727aba6ccc79ad739d882b3bf60c44d33bc0c52f07d4744a9ef16799377476ae298d5aa8d11db3e8506327d6e3de1d344baf6ee84e26aa1cf0cfbac6e337e1c3b2d3b34211d7ce1d79a794c9e6d0110081a9921b55452e2f62364b9c1271efdd7263db24f05dbbf6f54486bf6e7968903bf155ab804c651d5dd36793f2069c58ae241777c0227968551d5129dda7e2cb0a902b3088537c6ca47819031ba56739a2069df91622835d04f3dffb6e4a9ecdc7e7140bfc6bcaf1c39f4a4154cbf2b80e0936c38f51d012e8d83ccdad3000f6bff976f215ce83f252d012eafe2f4832551c6d4b103495cd0d3cd797642cb2a6e4cea8046f659229b9020ce96ce01948d0af08c930271503aca4db3a2bd3ff8ad50c64b68eb27bec6a7ed2f8dc2a90154667c28b8d2e58c30053ff27fe89a9e7c566dbc539b44b39c2121d7f77c66c0ab45d985191dd0a51fd8f4ffd9fe92790a51067656f6955a23e5984f8d4b882829b1f90f84a2d41692795680db32809315518aa2717cc0b0e7ab142c21911c55da3647eaea5ae1b84b50483d5849935f4bbdfc197682f0c2088dc3be0c4e77bc7c6677f678f9d229e6b294555e4aecf571b768bbd5f75c2fc920404d9aadebfea47ef1b22a1c6916d6581d8ed6576b77c5853b035ad70138764790edcbb78f4fc50b00b534d2c4bc53d1f6c3d1b8ca1bcc0f6ae09538f9c18799983155b34f7b3f14d4454255681753dfb25d8fa9ce6694e882850c66420525cd6c78421599ca991c01717c8538b3808e6e806cd3414489c25c32ce6bf3fc781aac6322a7a9d1d5cc6bccf234cb19aeb54794135b84244aae8198df297f6f7f707c3696796b6990b5f7c34de1cddf22b6a957a04188bbe43604f97ccbe77e05b8e2f9f8229d633beafc07c44cab45c71a28825a03646110c114dcdd550cb0c5470cb670d655ce8c86f21d36e374c86c71da621b0d5e8fd715883d5adbecd84d4b6c557c6d38b41bbf69b7c1b1a6cb84119c37353126ffbdc9c9a9b6f06e3ef40cd14cbf302cf66a06fca715726d869a4b6a2ec839d43fe8d7ce193a6c998ef3d562288e283c643c35eefc52bd7eda00c5995f160f902be9a065841c0f0484514873d79a4ed54f473844cb8a29676092b98a475b4224f5ba207b32de64c45de091ad0e736166669640a70d4607c8d4c0359422b5fdd2182ec04cb2c35b6756b9df73ee5224e0013f4b3b14ab4079aa39bd242ef3d66218ba56f160be75a094770fd6371a5952ed22605ecdcc6248278335ab62d282c119c9a9975fa309004776e8f22ffec0d41fa6fa563deaae0a1c89ca36e6a5134f602f830d4913dc3d98be04c157ada3357841d0151cd03ee28f41a3cc37880d004e15a661db2492728e66983dbdc85196f125f5a4b404a8b8b99f4c4a3986429f68b45610733a063476146df9666d4ff6509660de37030c967041983ac0637b2dbe1ba4f1b4e3aeed47fa410333fd01fe449adb528f907525eadc6ed74a3f05c69ac4823b9f928b61ddb823a755feda91fa00cad5a0059311183fd7558ec73d7d2265f1313c463fd9507e6866f9d5f569013cf3158f082b72bb267c2cf388109b84f9c1d0378afd55af77963576448d90fb24bbd87de5e7292112e590330a5b9ddcaf7ea32d29c05ec0422fa8de0a7c6496d6256689846e22aefcbe7d057b72e52ebe289325576a0d799d05f0cd50107cd01627564b3ae1ab604f575c71a9365f29ae56d991e8c7ace838249dc45a25603c2901ae2627dfe839a89f1a97c13cb2b7c23ad2720901597df0abf2bb0fec111bffa6735766becea0f7fec01473cbdfdd762eae2902ffd4e3cbadedb73dac3f497d856cb3669a6a61599688486523f1bc0e648519700eb419f7bdab867a5bfc2091c13941120011fc2922526f9fd30a8ac1ced4000caf2214fd91ffd3b6f3a1b96844fd83e9b519ea1607b78cf9761152b19287219e1cbfc403aa43c7426d6fe2bd3e8d5a60e26de85901dd80b869835b2b9feea6e2aa4509b2cfe403a460c2242d467be924e2952ef5d6425edbec94836712d829e4ebc4dc7e709cdf3a6b842479e94d3e75c1143736b134f4a3c2293737078804b0db762270158e66cafc13818a0d1495f420ff202dd39760471b3f29d5c051513f28275f129abf1958a55c59a21878bd10032de3382782a7ce5f4c309efcef872394577ca5b9466db7a94411bd8b3b8e57e57f268787e575b43dea44efdf608145e928d1099744409a0c2517a1b31889c238b8435631e731d919b4a076b24473475686265a2298bfaf8623a0fb9ff5e71ca31f63bd3862634ed4a1cd5e5a09d132d70d143b293bb48ef7babc2e14122796b3f79c22dae472cd08f83474f8de2fd5c2c0261bf057dc5b5a638415f13ff439f3c274d1184eab41219338256e82c228fe3313976cc0185434edc1867ca1d05557a6fb58ab7424ffc5e07de64a20c82bdb608bcd6c27798234cd4df30f857dfbe9fc9908005898c258d8b3002d2a4e5652f1315fd6b1a1ecbbb2054f4c59e5bf51c7141d9fa02a9c4dc41a82354dc0271d8cbaf938e4e2b84b2f5267f5482a68df04a6d3f22affa416d2e268871d145604dda75b255c3f9b147a13468df588612e12d160242f158d4cb3e7527425119b1ba6a8ff48fce71dea25b446ea09ab3205f77e252a370c8b7f63a9cf99c8f8e6f186eb019aef900f8e1e1f42bb0d707bad3866aab361a0d870a3c910b32d92264acdef49de616eceb9299a05ae39e03fe7cee9486e6fe7af65e52542fa014c936c18c016d0fbf5aee2dafb7d12f27c8732d8591b4ef9c99e7587af540d9e3fed051bba959c62b6925fb8adbc739491ba99c3c98daafcefe3058ff8edd1a6681840e3bf58fc140cf9848d06097c165f20fb71f70792258d8e814f191827663ec1843e4594ba6eea8620623df3df73c3813b54b37c3e2d98b4d1726669e009f8f5ef0174cc6268e5ebb7985cff8d1d114545250b8ae285935aca4e5fd3a7ef24a0988d256c1f3d77bad9a6560fcb314524c90eded071e0cb365a2ac4a136713d3f89829d277b87feb5cf9111250b2820ee56180e62e71093ddf9c2fdeea34c5359947e31fdff040bacfd98557c294cefcaee9e241131003a888369a04c4a218146b61e191bd12e1f7dd316d0c548e12defb2cfc5f889443ada50a0394586f4254384570372470378c14921b5b3762534e3e4914e858a1f3fbf8a942d969a936a547abfdfc9e577484a4699a5ea2dd5e06beac5c4c7a7a7552e8cbca2648c4e4f4d640f1963d7ba89c27c42c585ba07bb86787f86f108ef5ea076ae48782497af9ef1b7222fa3b7bfdd722f6565ff5e05d2f278198524fb2b3ec47a988a19cb7364367684d24c84725f1cdf9d9c2d8d9e7677ac9ac51c49d9b57ee4289b5d8b5", 0x2000, 0x0) (async, rerun: 64) r5 = socket$netlink(0x10, 0x3, 0x0) io_submit(0x0, 0x8, &(0x7f0000000880)=[&(0x7f0000000380)={0x0, 0x0, 0x0, 0x0, 0x7, 0xffffffffffffffff, &(0x7f0000000340)="5fff56d78375467b2c375f06c0299775c468d5afd0", 0x15}, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x7, 0x1, 0xffffffffffffffff, &(0x7f00000003c0)="2837c4b66dab08bf9f827a9fd3c982d90e6676ef43d4d4e69bcfc3910c81f2310d1978dbac9887ed5990eef883dcff02883667b5a1f9ea", 0x37, 0xffffffff}, 0x0, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x94701e37c45aa1ef, 0x101, 0xffffffffffffffff, &(0x7f0000000580)="dcf878229ac330dec67725b6d5687061f21c6d044674283f99a5e462c0e403d8a74f781ba665a8324d3f0132ed466fb176a0d650823b292e78ba9df7f90064", 0x3f, 0x4, 0x0, 0x1}, &(0x7f0000000640)={0x0, 0x0, 0x0, 0x6, 0x9, 0xffffffffffffffff, &(0x7f0000000600)="6a339735a93ee94cfaa42fc008db7ab796888f66cf0c614da49f22bdb1a4a07aab9aa008429b875024852cb92cfdaac052119d4a0efe7acb9812fd1909", 0x3d, 0xe0000000000000, 0x0, 0x3}, &(0x7f00000006c0)={0x0, 0x0, 0x0, 0x7, 0x7, r5, &(0x7f0000000680)="55d843c6978e49e92416", 0xa, 0x1ff, 0x0, 0x1}, &(0x7f0000000740)={0x0, 0x0, 0x0, 0xb1b6347e75d54a6c, 0x0, 0xffffffffffffffff, &(0x7f0000000700), 0x0, 0x1, 0x0, 0x2}, &(0x7f0000000840)={0x0, 0x0, 0x0, 0x2, 0x0, 0xffffffffffffffff, &(0x7f0000000780)="b762a3403fa275233405699e42e4591329d674fd61d709a6ef53dc90b38185368666924ff80e44d5cc6d74ef23fc4ba25526c82a8f665c9873eed50f7c6c51328bf13ef08a60fc907e3703a0aa8ca42ca4bd6505acce8b9f6ddde4bb789c6a819ced7c5e8f20b85ffd626ae282668e3f53ac30b8eb4d2e1c56fe2476d8dfc0adf02b7ff2610107c335d57ae53a481104a69c9edb36539a34a3a086af6f7d582cd9ba1d0590446de848f5d3e8345a7aa796f5dbd7f934278f0a61a27b60", 0xbd, 0x4, 0x0, 0x2}]) mount$tmpfs(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000001340), 0x8, &(0x7f0000000440)={[{@huge_within_size}, {@huge_advise}, {@mpol={'mpol', 0x3d, {'interleave', '=relative', @void}}}, {@gid={'gid', 0x3d, 0xee01}}], [{@euid_gt}]}) (async) r6 = bpf$ITER_CREATE(0x21, &(0x7f0000000100)={r4}, 0x8) io_submit(0x0, 0x2, &(0x7f00000009c0)=[&(0x7f00000004c0)={0x0, 0x0, 0x0, 0x2, 0x7, 0xffffffffffffffff, &(0x7f00000008c0)="f24df21868e39b841a6a06be1230d267d7b288528fbeee9d1de30d2eeed414646dfcdfdbf328f2229066baef0e1d70d7ea13092426784a7fbf449a6b0d7a8f4adb2b05c76a6757f8af98c6ab649e6512170ffcc022207cdc1603d63e704a045d45c6d88ec1804ddac8dbdaf8c6aa56dc08c48aec6a5282a3eb65b33d469b0d42f6fd2325c48044fc1e05846a716af9138e74d86399f12260e79d5333e1751c4e97d2ba87ddbb2a6a987d62587e1850646fd5e45534ac25a6a13e82ab08be0164e255c3924368757d73b02d4c8da29f987e7b52041985f81ef1f04d3b", 0xdc, 0x6, 0x0, 0x1}, &(0x7f0000000700)={0x0, 0x0, 0x0, 0x1, 0x6, 0xffffffffffffffff, &(0x7f0000000500)="ec286dadababa7a4d5f2b0485ce1d7085f0a53907998ae2865f7a3a7cde594813ab0b7d5c0112652939f7a94f67c0a3f8900aa09a76355388aaf3d67430d6a53677e33342c234611a67d17ad2dbac0e8ac8e8d55c0a08b31acef652d487f37c500a4ea1ae335ac3d3c5b962b", 0x6c, 0x72, 0x0, 0x2}]) setsockopt$netlink_NETLINK_RX_RING(r6, 0x10e, 0x6, &(0x7f0000000140)={0x4, 0xfff, 0xdc, 0x6}, 0x10) [ 236.289948] (unnamed net_device) (uninitialized): up delay (511) is not a multiple of miimon (9), updelay rounded to 504 ms [ 236.323921] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. [ 236.410496] EXT4-fs (loop4): mount failed [ 236.747863] IPVS: ftp: loaded support on port[0] = 21 01:19:37 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) getpid() unshare(0x40000400) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f00000001c0)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, @perf_config_ext={0x0, 0xaba}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) open(&(0x7f00000002c0)='./cgroup/cgroup.procs/file0\x00', 0x800, 0x1c2) getsockopt$IPT_SO_GET_INFO(r0, 0x0, 0x40, &(0x7f0000000000)={'nat\x00'}, &(0x7f0000000140)=0x54) setsockopt$EBT_SO_SET_ENTRIES(0xffffffffffffffff, 0x0, 0x80, &(0x7f0000000000)=@filter={'filter\x00', 0xe, 0x2, 0x250, [0x0, 0x20000100, 0x20000130], 0x0, 0x0, &(0x7f0000000100)=ANY=[]}, 0x78) unshare(0x50100) lchown(&(0x7f0000000000)='./cgroup/cgroup.procs\x00', 0xee00, 0xee01) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(0xffffffffffffffff, 0xc018937a, 0x0) setsockopt$inet_udp_encap(0xffffffffffffffff, 0x11, 0x64, &(0x7f0000000240)=0x5, 0x4) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) unshare(0x200) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$sock_SIOCETHTOOL(0xffffffffffffffff, 0x8946, &(0x7f0000000180)={'ip_vti0\x00', &(0x7f0000000080)=@ethtool_gfeatures={0x3a, 0x3, [{}, {}, {}]}}) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) 01:19:37 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, r6, 0x0) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r6}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:37 executing program 3: perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) readv(0xffffffffffffffff, &(0x7f00000003c0)=[{0x0}], 0x1) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, &(0x7f0000000240)=0x7, 0x52, 0x0) (async, rerun: 64) perf_event_open(&(0x7f0000000340)={0x1, 0x80, 0x7, 0x7, 0x8, 0x20, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x1f, 0x8001}, 0x40, 0x0, 0xffffffff, 0x9, 0x10001, 0x7, 0x0, 0x0, 0x1}, 0x0, 0x5, 0xffffffffffffffff, 0x9) (async, rerun: 64) r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x6000074, &(0x7f0000000300)={&(0x7f0000000000)=ANY=[@ANYBLOB="4c00000010001fff000000000000001100000000", @ANYRES32=0x0, @ANYBLOB="00000000000000002c00128009000100626f6e64000000001c00028005000d0000000000080003000900000008000400ff010000"], 0x4c}}, 0x0) (async) read$FUSE(0xffffffffffffffff, &(0x7f0000004340)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(0xffffffffffffffff, &(0x7f0000004200)={0x50, 0x0, r1, {0x7, 0x24, 0x0, 0x4004}}, 0x50) (async) r2 = accept4$netrom(0xffffffffffffffff, 0x0, &(0x7f0000000580), 0x0) pipe(&(0x7f0000000080)) (async) r3 = dup3(0xffffffffffffffff, r2, 0x0) (async) r4 = openat$btrfs_control(0xffffffffffffff9c, &(0x7f0000000200), 0x200080, 0x0) fstat(r4, &(0x7f0000000cc0)) syz_fuse_handle_req(r3, &(0x7f00000020c0)="0f66aeb3d273cd3a0f21c9f68c47f945315a29bded21479688211c69f03bcbb59a470f8789866962a7e113dba0151b7439d7ef835adde76fc538dfcd86bdb005703aaa2746ec40361f9b0df1efcbd9806136940d818193c0a3202f19d69ac5d7042aa774ac35be09e99694d75a798fdf8664551b1fcf63a029c68a6c7db999523e27d4de1a4ef07fe0cd50d680d0f5fc390f890843585e22183eab2af03bb1537d1c20feb899d866e50b890f4c9cd35da580e3ea5726201580e8e468be7212a528bdee90398cddd3b351aa105a14e8d489abeab6560f637b28bda027d118b52e0f6d5140e008c0939736709de482f9667fe626cf9b3ae239c42caa2f0573e01efe4ec4026bd359cb1ac37190b9dc8ce85efe938d3e921b540486aecd0164042c1ef25bcdb6280deb6a1fa770c421cc959884c28948e47c83cc22f94c12d97a7b42bdc3038502c21c80021639af4aac17fa939299c41b77ba8d64970ece8a75e766ac2b814561b513e9e50dfeb7af6fa5778e255ce2320013c7db1bb803002c7c6862cd4cd841ef8f81810f3b1acb986e09f4f8017cc057ba1248191a05343836a575aa4caf187c28cc6fa9b6d6917b00aeef6e823a45a32193d6738a8ce489a212b2449dfe83a79aba91ab739064b75ee03297589a1339e9a43ba7a058dffc390798b0b7d619429e2a4601b528fbd8e65d60585218432e5937dca5bd7d848f2a5fd55c00a484ebb680561a1396818ed6ed2eb693cabed5cc7fc46f77763671d8a496aa79995318673fb3bb68a34727aaf227c801e4223296e381a468dffcad61aa8c2c981a37fcdf2ac9c357c8d9a82441e1f88a5ed3e4805551a3c2e95eb0bb7da847640c925686db565a2355c8d0a741906918a38cf73d35054efd3982650aec8615aee24c95a8f5dbb7bcce1f74665358e52729bfb0b4c7604e96f9cad108a9b31b3eedbcf777561f3908e6deb5996d3a822bcd42d81f49fb887f519b68802b56631ab8f84e8db728aece041bc4100768cd636c6123d16145fe282d2ab7f585b411b1a68b921ab6f41228714ddc354991a1f30f353c5bddd571f2f0da4e56027e5f10ebf1aa1464c1ecf25a50e234ab43bfb326c59a6c9e64bfd886a926b693dcbfef20a892891e2ad4c98c5e0afb838f4c0189fdcf4124e0db8d81597536184368a809a4b6c9cc541f88ead9622d48d05bc7d2fd70c10cd5f9c8caa9f8a77305e4635eb89eff43c7e25c9e76460fb9113686f728e75a0d8a245c875af5ee999c5d2041b078625cdc76121f0518fe8faf105e935fd061caef28ca96499ab724175c6b2aecdc31b7de9afde0a5e1cb9c3b4ce05a657684dbed2d08935bc51b4698bbc88c8256c20456f9402fc140df0e50b3464db80c1668d3e0b2ce31982c72d5b4a5a55cf0a552718118f4c599c0ea7db68d72fe45a563d00f175ca98482abf3dd500b8b5d08ca868c47836cdbfd45710199558f123debd84c78d6e3f3f5e7efe0be36cd5f55fd4ad8503d3d0707e92b345a025a9136c4c5ca2da9889712933446221acc9bf988269604885a40d397709680ec38feeda672119c0c7903c203a4d0ff4cbeb3f01826e88f4a597fe5d52999ae2233851ec3b23e5892104feba5648bd0da108f260ec9f2c8a3af04e716629e424273475be30144560fcd67c28abb472b95903efa2b8e46f0a33f6ddc991ca1ba3e0e6d32835aa0845c91605f74e4a05873b0eb51db361083d0640206abafb15f5583c08bc8535433c295cb2d6623fe9692e26001f22090afd14398eb8558fcde655611b806a1077ae2c5ce427306bca44969759cc49cd9f5f61243f2bc2d1eab92e4aba7035306dee2ecec0653a98bb991a41cc96599a650949af3fb5db5534c1f5a9ec19afc73057bf5338dbbfadcdae59574482bd6ee3c7a86bee0a434275658572779cff91886ded6b04352f6818172964d63af93646bedefaeaf05c358f7c4e62a5255d7ff6e39701013c29518b957b4bda348987ccbb69c0bd37af26515cda951b407ea56732119e61d2b7e0ba8e7f93d13af02892e2f71faaf92e5821a2906514acf245611999ce6e1e17d80ff73dd0eb0f966b63ffaa3a01a70ab6a98815a0bf9dc009298ddc5529ca309d0f20fcde51d683e667339db935bdc778291f563432bf11aea26f86cfbbc02e1c326ca4287c896a19fe820c4916b7ec0e71609c0ee5189f1a56d50bb2d898a78f6aa2de9a7b0fefd93369f23ccfa5607f0d9729ebb859d464b75812cc766d0125bf8a91000f1321c1468cb14b61d0b72884fd82b3ad7193aee4be5ff0869d4818533e2b55ff2005c409cf3b9d4f6b4538fd61184d3393cfb0c3a4fe1e4959fe5818fc5243c289c2d283dac4078fa3ef6ef1b14e8eb816813c526544eaf9f07c11580e169a3d9da9deedecd61ec7d8ec1fff7e1e6e6e486c19f96a83333fd5463e5cfd9dcf76970b8b4a16a1981bb0a7b2ca233f8fbd26338be494f498e467efc7b45a811811ac2cec83548e1ad69fe424c12665629c91eac957541a09e1e1624a21821335d6eb9370b8d65664895d9a49c023538740b223725fb79812406501e185ac6f512c9879a7576d152c2d9393cd74b2eed746f03533156cb6b51321e559d83bbd39faea52df51db919184cbecdf0c04ebac907923a96f72e9a562a24c716d2b94ec7ff74f22fe45d29f2c497f22c17188d5d6345063a2388dfbf289f400d217b2d4e38d2e24ba0d443dc414af232a0ea64e6d6251033a332dfcd33f51ad1d5b188311658574f40ac122f53d42e186dd709e373d2f324cdb57ea43f730f43718d2e499577ea2d8d8556e339c1ad5baab5042f4c406f27ed127b2c435123358357f09b446ae00375e65b1c0939e41149eefac588041942e94e2effd8e809ea340ca36ad9cca7dbc5e73b503103983fcb1e737e2d931048a5294b472a135aa40fe044e86e71d9771f9e1a9b94b1bbb79ab4d2efeeca1a32523c24ef65e3092fe719140bddae6ac76a315ec62eaaa1e792e6feff90c88f53ee89b5d61a2e82f4bb03d6835fa83122b7bcbf05d4ea0bdd2092a7a051f11a5f809f8ab37d3d8e9d5a00bf3d5b61d93dda4655da162f8f1980bf37b2eb7e1e58cdcd9ca9ac53a5ebdbb1eb5518f23a78ffb7e9fdd9a67d6aaa00ec604a5047a23540b57c03d55962fa2337fce3cf138f17878974599203e654f66167859183257c6e69ec821e423c20cff12ccc7968add42e8a756a3a403f496c42720457300657c495fa24cb4f64f2b391d4a026f3f8104b3bac8d9ae701cb1af387f19a6c3d84f81b39a594e96718a815dcefe648b1b3beab0752a53ffdd708dc164ca63022c6692d6019902d005fab35ecb1bd924f7a34e98deea72f1c953e43de298944df080bcf7ddd524cb909c6446db9c8d31cb955d14ab0bfca8429f378e2a697cd2d9b38e0c656f30365a416a47128eb669030d36264edb914d9cb48752e41ae922f08469887f96ccc12d4545fe55719743b11e6e5e9677a436639967af2e8528931a6990e1321a0bc4f23f8c8ebd53d802bff5f327a14f601717a88819b41ea0a3617f647b21499a024618144993a68dc24fac04baa377450e32784b5c851dcad0cdfb4fcbe6a850b16f0d29e59cb5ba771b36af3e8cf52e3bd3cfc9604a6934ac0ad8ff07a209cdd598ffa6488ffdbc8f9c3dbdb54fa52ef941d1cd7621c5f0e35c42feaef5875dbc354c8a320802ca9a5082286369afda277ee5970bef1caff7c9ea933c275f892642838a91caad16509c7445c0080759218d87c457101ca117846049dfb5d0a63da646ddbe6537f0eedcbb6d3757811aa9d1a7605933b421eb8cc55c2c747f6e8fbf3e05352ddac75fd61670dc6329a535ff9d353f0ade66c62c5c7bd0017e96eff691019da9a1a7540ee669fe2fd2d7edde2cb981addef9c00cb8a12afb7a2935c7239c6dcfc1b27e57c6cd15de1a4b221e39834301858c0aaf19669f8fddc602c9412d9cdbb8c54acc3c8b1d564e8efb516dd33e9a912fddcb168e6f7bd28b5dee073f879d4ba2261473703490d23823150f062e91a830045682cc75d723d8f10630f49a3db850ce2644ea4552a99b42430963ba878b13201699d1daa02e962952a802d11e4e4c310c7da56c05c5df95e7e1bc09ab7160fea01e27e01956addaac1ee583458497bc537f20cefa19d073be24084288c83a2d557f816ed06a5110a484f63b650ce9299ecb5e2b06f77137e3936be7ddc218c7e0931e4ea197e545c263d400cb8810326b896116dbfe26e98f2e2f2bf7168471079ce2cf5d6009223f3863cc1054380cdd32deeff69cb7b5fa5e868088b8f4b2f2b14f4cac9adb78775437e8b498d94d291d77fd17241439ac20f05c22045bdfb45d1dcd376203713aedfc908262a3dfd3be4e2faedbf992f66610f3a63def03a588fe917e3ae48e4b3958a9d52f6a7fa05b3d6ffd2c320b69418d89b808992ec96600c0fda35afa5f7cff006031f22e66b5d86ecfde5a69e91c184d4a42fa5709fb855765d39b78858e2a4c0757f10d2c5dd36795485fefbc798507593667f40f421e164657c605c04866105543629abf7de2fb1eba81d0063b90e5481504a3043207757a801db3cb7e353694f422a53c265326560ab972dd96bae42d6cafa4a2a55926f7723bdd206cec8463f7f5612c74c44a406819ead9af81a780324fc4c2296f536f652c76f3ff83a46b4018dac9739db26651d0db05ac8332c72b6f059994ed797bae040adaadce99fdc9586ac61e4b4d901f4fe19de47f9a6f8c32b08874e949a9c811b0c692c3e0b558bc46da62aeccbbb96cf2c7de8c5a3f613a199916eacd4dc33f0b5c96ee59427d43555b5483570f7caeac6822ab89a1801fbd44e51544314b3c487128a3a588ec690eda8a302639ae06b0779bbccbe4376c479fe8d3ba9b6e395610b113c2cfba048e38e98760bfd19a191f33f2ed9b6873793491489319a4d3d488091caf2394460120b99e1d4b5a15f5a57777d0a805f2c2c354067c8d03e56581b31a0078c528f313c3645340c7f5fa0138af655cae255ad0bde394a4a178ce6fcfdae6a4695bde902054665ae0ad001a6fd761767407f96de7c23f4a5b97933ed9bd5ebae76dca8f0abbb97792979338f9d9c5a0823a6ff7b8dd98bda9318f1a01a08ffea7891ff36764efd6518e0c0f4d234ca9ba1bbf0829bf4b678731d446ffb740f308ae53270103f1f161fcdb3c4ce3006d9e5cf7a27911cab912fdd99a54b32dfc456fe37b8314b4202aee22ae921c59e377f00e97c92bae511e2c41f9c03581eb5ea71c92dd58c0e6dd69a2a7ae3acbcb58d8cde439aa85141adbe9860e34532f8d96da2f0cf00871641eccf0904666e21dfb5ffca600f3e0d6c2ab83dfc37f2899032f1096cb9bc4dce391ef16ca7346d0b9283531e9baab06ddb6427748f4a8cf38d4c8b3a8f25f26717f0a00b5230ba91c600097a5def668a4687e4f967c65a929341fc10e1849f3de6539f9cddabb5a8c007fe821a33bb37fc7f0258e3dbda5e366d4cbf32e00d7840b2e9ba930b23e6c4b4952bad44502d8720b92f18e9cb284d52295dc25ad38623780da228e6c620e47f8047a7fa0057cd778fad6e0d9b6091315fdb6a1da08f49bbe09ff22ba2ef5f85864ccbe8c31eba4c57282d1b29fceca714695d767be00e410762a74f3256830238d9aa68415d8c63986077d491ebe34127790b9f1b2c7341c2197d5e33f4adbcf44512153adbc9fe59445df435b2cc5ea2cdc3aa1e7973a47409bb7a694e09317e45156f9fe330452f2d99a3d4b5ef211cca2a99c451fecea3554d46d2c387d661156b2a7230b097816bfd8b751ba3d199eb4e1291c6e59eff6103e72586bec98164d8b1c2f59502843fa369fe45dafc3e43b726b31bd70f09f8aeadbe2f0c414b86097cf8995f3daf9825d9a1e0d0c7b9dc905c4f202e2e1e304780294bbe2cce4d5168134dba1013e28ed65ca2c9d42b3cdf2123798a5c152c08763141600cbe396744b1b880e9d5e89edca333ee95fcd44a3100a4deaf1e8cf2c8bce4ec6e430920d6e998257d3d7b71d7da1789f41277f8c0870e105031c96651b961650ad243259ccff8c5198df5f841b4312c66ed408714c41c05b2201ee39573359c49f15db2d58ce3990fa7cd287165da1736060b538246390daa28dcea4f30619433bbc41b6b4683ea5fb1e987461f3f6677a5629c826b5effb99ce7d91f6a2b1b6e32a9295c7ebb7f229a36548d775878c8353b202680fc14866f2c73117590c82e1ad9ee67938e7ffe8499433aa14b7c987bdaabfbe40f89ff4801c9e06a67e1d94116cbf7e695a8132785f7a112bd8cbb3cb0d1f1a5faa059acf18d437f1daac75745709a5820f88cb5f808e3d567afaccbf01974bcf26a6aa469f3c2c368e884c1a9199b5e88c498de3675bdf1093716cc0663f35d0d10321f656237f8be97093bba72f8175486a0fd9fd601b14b92c5e63d60c62c18b3a5b87f209a3113b7b2b2b9284b327e685cda4e390d9160ddb0b24ed42db69b24a1724f1c5ac8e9dc4f10b07395dfd29da60aa0b07b3a13a2bbacc7643697b9c4ac782e48bb3bccfc5abdb777d65d345d58fefadc0fd23789be3bf65348d6f25ff32b55b1bddb8189f70e4aaac00ab14143b409cf48c764b1e5f84473b2b9925d2354d2df15fd2821deade6051e2b94a70b6a468d3efb0e397ac48f295cbecb33a7752b6c1d28d1870e1f156294e73bfd2599505b8b885919e80b0f6c23b53030028563a6c613e1a9fa33d56d110e1b2f1a02ca4295a3932fa160520668bb8db7e2c925b69e09af3606631d6e7741171d2414ad3bbfdac193c2461bdb9671a2b19bcc06160743115851fe4d81117ead02898d575cc3ce20a9b386fdea29ef112d87e8cc17f5f27ecf20b9d225bec6db18611de326f67251ddeec70871fba3f022ce6f71f16adda01e75ffd163332e5dd251a17170fdec6732e99a45cc3bf362e77e76e18f50446e807a1beecce02b6f0207c054c61798f2b8900261cdf1fa175b691f9e5800a95b976da913b0b935a3f20f0ddc19fe5564a0c7404969707d2a4e44f24466f869177d6c24eeeba8183deecddecab8e475a19abc49403be290fbc16d520c61d01c518734c2f976ffb2352eb49bc99d47118f7925d5ded15121971b781cccaaadfc846d70b82b49ecfd63a1de67c0c7c95c956b72b7350f1471e270ca15a2f1badc8589eb07b6b533b66a2f6794d4e9eb6ff3be244218c23e03e917a6f28119202bb6a46a5d9f9849b2b3aa0cbd5d8a08ff29949b261dc682cbd70d38c77f1b1fb50a5a18a83a01894f2a91206d4672a3b66f6504b25f98904be1028bd1c10ba110a41ae5a3c390ffba5bbfc1cdb0ee21b0221f33c9f01b827b50107457dcae8f007442c84175f6adc397be660ad01a93144c1744340e494873f9506b3d559754cb51bf5d7fb81fc6a5da834c3ecf533830f3d5b9637837c19a773119238f879365fe98a807f4004593d13e767621552835ce367f7936ab3092105883877adf9b70336e270cdafdfce5c9a385bfaa0aa6bc36ff3200e18708b8300b1609d3ddef9be3a48a8819c9f64f6f080a1a712e7a14f66e94fa73da6b64e66db5ca3b9afccc19edf1f9af29d05a33041a713516bdb45b5805bc630854d76995743274fc93b83530f7b99594089ae9fc22e6023ff6e049cca13484d0732b01c65d27844eb6b40ec064523470163d4d6b90e22e85dac2b957a0e38eed8011e8e2a88ee4a6e09f7f43d905efafe25e93b22d587ed321e0dd630ad1b2709a9ee6662ed7fb3af73332c21616984178a5464bf2dcae5283bcfd3b5aa34cf412298c59fa2ece1f98a6b06ef1a72f5863319d7ff16eeaa720861d8e9b0ad4e5fa5def3b5e15cf21fe84cd3ce0932af0e1d4851f655fa079340010faaf70754b7a27340d96ca25a274be39a32421ec899f45a6fee9e0c2b75290359fedcac4fc59f111dd5a177c424acc9b2b318e71738da0929b087e6883ac8c463ec3d0ca014b6876ac20e61ce2134122cb1030065005b87847fc34f93d592923a8e72dc8a906ea0bb312c4d8bc1b7b6a34d457e9b887de5b695a32106fbea97333027c1473740055f45d12fc4eb1916624b5407cd79f33bcf5a00619eca50a331a69f6cc727aba6ccc79ad739d882b3bf60c44d33bc0c52f07d4744a9ef16799377476ae298d5aa8d11db3e8506327d6e3de1d344baf6ee84e26aa1cf0cfbac6e337e1c3b2d3b34211d7ce1d79a794c9e6d0110081a9921b55452e2f62364b9c1271efdd7263db24f05dbbf6f54486bf6e7968903bf155ab804c651d5dd36793f2069c58ae241777c0227968551d5129dda7e2cb0a902b3088537c6ca47819031ba56739a2069df91622835d04f3dffb6e4a9ecdc7e7140bfc6bcaf1c39f4a4154cbf2b80e0936c38f51d012e8d83ccdad3000f6bff976f215ce83f252d012eafe2f4832551c6d4b103495cd0d3cd797642cb2a6e4cea8046f659229b9020ce96ce01948d0af08c930271503aca4db3a2bd3ff8ad50c64b68eb27bec6a7ed2f8dc2a90154667c28b8d2e58c30053ff27fe89a9e7c566dbc539b44b39c2121d7f77c66c0ab45d985191dd0a51fd8f4ffd9fe92790a51067656f6955a23e5984f8d4b882829b1f90f84a2d41692795680db32809315518aa2717cc0b0e7ab142c21911c55da3647eaea5ae1b84b50483d5849935f4bbdfc197682f0c2088dc3be0c4e77bc7c6677f678f9d229e6b294555e4aecf571b768bbd5f75c2fc920404d9aadebfea47ef1b22a1c6916d6581d8ed6576b77c5853b035ad70138764790edcbb78f4fc50b00b534d2c4bc53d1f6c3d1b8ca1bcc0f6ae09538f9c18799983155b34f7b3f14d4454255681753dfb25d8fa9ce6694e882850c66420525cd6c78421599ca991c01717c8538b3808e6e806cd3414489c25c32ce6bf3fc781aac6322a7a9d1d5cc6bccf234cb19aeb54794135b84244aae8198df297f6f7f707c3696796b6990b5f7c34de1cddf22b6a957a04188bbe43604f97ccbe77e05b8e2f9f8229d633beafc07c44cab45c71a28825a03646110c114dcdd550cb0c5470cb670d655ce8c86f21d36e374c86c71da621b0d5e8fd715883d5adbecd84d4b6c557c6d38b41bbf69b7c1b1a6cb84119c37353126ffbdc9c9a9b6f06e3ef40cd14cbf302cf66a06fca715726d869a4b6a2ec839d43fe8d7ce193a6c998ef3d562288e283c643c35eefc52bd7eda00c5995f160f902be9a065841c0f0484514873d79a4ed54f473844cb8a29676092b98a475b4224f5ba207b32de64c45de091ad0e736166669640a70d4607c8d4c0359422b5fdd2182ec04cb2c35b6756b9df73ee5224e0013f4b3b14ab4079aa39bd242ef3d66218ba56f160be75a094770fd6371a5952ed22605ecdcc6248278335ab62d282c119c9a9975fa309004776e8f22ffec0d41fa6fa563deaae0a1c89ca36e6a5134f602f830d4913dc3d98be04c157ada3357841d0151cd03ee28f41a3cc37880d004e15a661db2492728e66983dbdc85196f125f5a4b404a8b8b99f4c4a3986429f68b45610733a063476146df9666d4ff6509660de37030c967041983ac0637b2dbe1ba4f1b4e3aeed47fa410333fd01fe449adb528f907525eadc6ed74a3f05c69ac4823b9f928b61ddb823a755feda91fa00cad5a0059311183fd7558ec73d7d2265f1313c463fd9507e6866f9d5f569013cf3158f082b72bb267c2cf388109b84f9c1d0378afd55af77963576448d90fb24bbd87de5e7292112e590330a5b9ddcaf7ea32d29c05ec0422fa8de0a7c6496d6256689846e22aefcbe7d057b72e52ebe289325576a0d799d05f0cd50107cd01627564b3ae1ab604f575c71a9365f29ae56d991e8c7ace838249dc45a25603c2901ae2627dfe839a89f1a97c13cb2b7c23ad2720901597df0abf2bb0fec111bffa6735766becea0f7fec01473cbdfdd762eae2902ffd4e3cbadedb73dac3f497d856cb3669a6a61599688486523f1bc0e648519700eb419f7bdab867a5bfc2091c13941120011fc2922526f9fd30a8ac1ced4000caf2214fd91ffd3b6f3a1b96844fd83e9b519ea1607b78cf9761152b19287219e1cbfc403aa43c7426d6fe2bd3e8d5a60e26de85901dd80b869835b2b9feea6e2aa4509b2cfe403a460c2242d467be924e2952ef5d6425edbec94836712d829e4ebc4dc7e709cdf3a6b842479e94d3e75c1143736b134f4a3c2293737078804b0db762270158e66cafc13818a0d1495f420ff202dd39760471b3f29d5c051513f28275f129abf1958a55c59a21878bd10032de3382782a7ce5f4c309efcef872394577ca5b9466db7a94411bd8b3b8e57e57f268787e575b43dea44efdf608145e928d1099744409a0c2517a1b31889c238b8435631e731d919b4a076b24473475686265a2298bfaf8623a0fb9ff5e71ca31f63bd3862634ed4a1cd5e5a09d132d70d143b293bb48ef7babc2e14122796b3f79c22dae472cd08f83474f8de2fd5c2c0261bf057dc5b5a638415f13ff439f3c274d1184eab41219338256e82c228fe3313976cc0185434edc1867ca1d05557a6fb58ab7424ffc5e07de64a20c82bdb608bcd6c27798234cd4df30f857dfbe9fc9908005898c258d8b3002d2a4e5652f1315fd6b1a1ecbbb2054f4c59e5bf51c7141d9fa02a9c4dc41a82354dc0271d8cbaf938e4e2b84b2f5267f5482a68df04a6d3f22affa416d2e268871d145604dda75b255c3f9b147a13468df588612e12d160242f158d4cb3e7527425119b1ba6a8ff48fce71dea25b446ea09ab3205f77e252a370c8b7f63a9cf99c8f8e6f186eb019aef900f8e1e1f42bb0d707bad3866aab361a0d870a3c910b32d92264acdef49de616eceb9299a05ae39e03fe7cee9486e6fe7af65e52542fa014c936c18c016d0fbf5aee2dafb7d12f27c8732d8591b4ef9c99e7587af540d9e3fed051bba959c62b6925fb8adbc739491ba99c3c98daafcefe3058ff8edd1a6681840e3bf58fc140cf9848d06097c165f20fb71f70792258d8e814f191827663ec1843e4594ba6eea8620623df3df73c3813b54b37c3e2d98b4d1726669e009f8f5ef0174cc6268e5ebb7985cff8d1d114545250b8ae285935aca4e5fd3a7ef24a0988d256c1f3d77bad9a6560fcb314524c90eded071e0cb365a2ac4a136713d3f89829d277b87feb5cf9111250b2820ee56180e62e71093ddf9c2fdeea34c5359947e31fdff040bacfd98557c294cefcaee9e241131003a888369a04c4a218146b61e191bd12e1f7dd316d0c548e12defb2cfc5f889443ada50a0394586f4254384570372470378c14921b5b3762534e3e4914e858a1f3fbf8a942d969a936a547abfdfc9e577484a4699a5ea2dd5e06beac5c4c7a7a7552e8cbca2648c4e4f4d640f1963d7ba89c27c42c585ba07bb86787f86f108ef5ea076ae48782497af9ef1b7222fa3b7bfdd722f6565ff5e05d2f278198524fb2b3ec47a988a19cb7364367684d24c84725f1cdf9d9c2d8d9e7677ac9ac51c49d9b57ee4289b5d8b5", 0x2000, 0x0) (async) r5 = socket$netlink(0x10, 0x3, 0x0) io_submit(0x0, 0x8, &(0x7f0000000880)=[&(0x7f0000000380)={0x0, 0x0, 0x0, 0x0, 0x7, 0xffffffffffffffff, &(0x7f0000000340)="5fff56d78375467b2c375f06c0299775c468d5afd0", 0x15}, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x7, 0x1, 0xffffffffffffffff, &(0x7f00000003c0)="2837c4b66dab08bf9f827a9fd3c982d90e6676ef43d4d4e69bcfc3910c81f2310d1978dbac9887ed5990eef883dcff02883667b5a1f9ea", 0x37, 0xffffffff}, 0x0, &(0x7f00000005c0)={0x0, 0x0, 0x0, 0x94701e37c45aa1ef, 0x101, 0xffffffffffffffff, &(0x7f0000000580)="dcf878229ac330dec67725b6d5687061f21c6d044674283f99a5e462c0e403d8a74f781ba665a8324d3f0132ed466fb176a0d650823b292e78ba9df7f90064", 0x3f, 0x4, 0x0, 0x1}, &(0x7f0000000640)={0x0, 0x0, 0x0, 0x6, 0x9, 0xffffffffffffffff, &(0x7f0000000600)="6a339735a93ee94cfaa42fc008db7ab796888f66cf0c614da49f22bdb1a4a07aab9aa008429b875024852cb92cfdaac052119d4a0efe7acb9812fd1909", 0x3d, 0xe0000000000000, 0x0, 0x3}, &(0x7f00000006c0)={0x0, 0x0, 0x0, 0x7, 0x7, r5, &(0x7f0000000680)="55d843c6978e49e92416", 0xa, 0x1ff, 0x0, 0x1}, &(0x7f0000000740)={0x0, 0x0, 0x0, 0xb1b6347e75d54a6c, 0x0, 0xffffffffffffffff, &(0x7f0000000700), 0x0, 0x1, 0x0, 0x2}, &(0x7f0000000840)={0x0, 0x0, 0x0, 0x2, 0x0, 0xffffffffffffffff, &(0x7f0000000780)="b762a3403fa275233405699e42e4591329d674fd61d709a6ef53dc90b38185368666924ff80e44d5cc6d74ef23fc4ba25526c82a8f665c9873eed50f7c6c51328bf13ef08a60fc907e3703a0aa8ca42ca4bd6505acce8b9f6ddde4bb789c6a819ced7c5e8f20b85ffd626ae282668e3f53ac30b8eb4d2e1c56fe2476d8dfc0adf02b7ff2610107c335d57ae53a481104a69c9edb36539a34a3a086af6f7d582cd9ba1d0590446de848f5d3e8345a7aa796f5dbd7f934278f0a61a27b60", 0xbd, 0x4, 0x0, 0x2}]) mount$tmpfs(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000001340), 0x8, &(0x7f0000000440)={[{@huge_within_size}, {@huge_advise}, {@mpol={'mpol', 0x3d, {'interleave', '=relative', @void}}}, {@gid={'gid', 0x3d, 0xee01}}], [{@euid_gt}]}) (async) r6 = bpf$ITER_CREATE(0x21, &(0x7f0000000100)={r4}, 0x8) io_submit(0x0, 0x2, &(0x7f00000009c0)=[&(0x7f00000004c0)={0x0, 0x0, 0x0, 0x2, 0x7, 0xffffffffffffffff, &(0x7f00000008c0)="f24df21868e39b841a6a06be1230d267d7b288528fbeee9d1de30d2eeed414646dfcdfdbf328f2229066baef0e1d70d7ea13092426784a7fbf449a6b0d7a8f4adb2b05c76a6757f8af98c6ab649e6512170ffcc022207cdc1603d63e704a045d45c6d88ec1804ddac8dbdaf8c6aa56dc08c48aec6a5282a3eb65b33d469b0d42f6fd2325c48044fc1e05846a716af9138e74d86399f12260e79d5333e1751c4e97d2ba87ddbb2a6a987d62587e1850646fd5e45534ac25a6a13e82ab08be0164e255c3924368757d73b02d4c8da29f987e7b52041985f81ef1f04d3b", 0xdc, 0x6, 0x0, 0x1}, &(0x7f0000000700)={0x0, 0x0, 0x0, 0x1, 0x6, 0xffffffffffffffff, &(0x7f0000000500)="ec286dadababa7a4d5f2b0485ce1d7085f0a53907998ae2865f7a3a7cde594813ab0b7d5c0112652939f7a94f67c0a3f8900aa09a76355388aaf3d67430d6a53677e33342c234611a67d17ad2dbac0e8ac8e8d55c0a08b31acef652d487f37c500a4ea1ae335ac3d3c5b962b", 0x6c, 0x72, 0x0, 0x2}]) (async) setsockopt$netlink_NETLINK_RX_RING(r6, 0x10e, 0x6, &(0x7f0000000140)={0x4, 0xfff, 0xdc, 0x6}, 0x10) 01:19:37 executing program 0: r0 = socket(0x1000000010, 0x80002, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r1, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="4800000010000507000020000000000000000000", @ANYRES32=r2, @ANYBLOB="0101000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000140)=@newqdisc={0x58, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_sfb={{0x8}, {0x2c, 0x2, @TCA_SFB_PARMS={0x28}}}]}, 0x58}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000340)={&(0x7f0000000300)=@getqdisc={0x28, 0x26, 0x29b23256afe3ec9f, 0x70bd2c, 0x25dfdbff, {0x0, 0x0, 0x0, r2, {0xa, 0x3}, {0xffef, 0x8}, {0xc, 0x7}}, [{0x4}]}, 0x28}, 0x1, 0x0, 0x0, 0x8000}, 0x80) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) open$dir(0x0, 0x80, 0x1) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x43}}, 0x0) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r6, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400ffffff7f000000003c0005000000", @ANYRES32=r6, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) setreuid(0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000600)=ANY=[@ANYBLOB="3c2000070000000db41001041e321ce1ecdbff00b9042e43b0634b9d80b27b16bebc5c99e54001ab0bd2facb", @ANYRES32=r6, @ANYBLOB="00000000000400000e0000000c927ea29be55870ffff000000000000696e6495e5e24b7fb23bf9aeab7ead2f619721169ec7140df4cad11f871b4bee06ca9f18d23407639b95671fb76b70a7efe3078c9de03d1fa0d6fe3e5e9fe66dcb566c7c379e314cdf8e346f592a971667892ae0e14c4c25d05bc98e22670d05a3627cde44c329934c06dc3926ce4e6d1d8e6045a6a438f0958ac33d886217da4a1ee92b22900a8a95264d88fd0f2b6b5b506a1a90da7f86"], 0x3c}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec15, 0x0) 01:19:37 executing program 5: r0 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) r1 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000900), 0x2, 0x0) ioctl$vim2m_VIDIOC_PREPARE_BUF(r1, 0xc058565d, &(0x7f00000009c0)=@multiplanar_overlay={0xfffffdc5, 0x2, 0x4, 0x8, 0x7, {}, {0x5, 0x1, 0x8, 0x2, 0x1, 0x5, "0d8e2960"}, 0x8, 0x3, {&(0x7f0000000940)=[{0xd9, 0x4, {0x3}, 0x80000001}, {0x7, 0xff, {0x2}, 0x2}]}}) r2 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x3}, r2, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r3 = socket$inet_sctp(0x2, 0x5, 0x84) sendto$inet(r3, &(0x7f0000000140)='^', 0x34000, 0x0, &(0x7f0000004ff0)={0x2, 0x0, @rand_addr=0xfffffffffffffffe}, 0x10) bind$inet(r3, &(0x7f0000000780)={0x2, 0x4e24, @rand_addr=0x64010102}, 0x10) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r3, 0x8982, &(0x7f0000000040)={0x0, 'vcan0\x00'}) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r4, 0x29, 0x40, &(0x7f00000001c0)=@raw={'raw\x00', 0x3c1, 0x3, 0x4c8, 0x2e0, 0x9403, 0x0, 0x0, 0x2c0, 0x3f8, 0x3d8, 0x3d8, 0x3f8, 0x3d8, 0x3, 0x0, {[{{@uncond, 0x0, 0x298, 0x2e0, 0x0, {}, [@common=@inet=@recent0={{0xf8}, {0x0, 0x0, 0x1, 0x0, 'syz0\x00'}}, @common=@inet=@recent0={{0xf8}, {0x0, 0x2, 0x1, 0x0, 'syz0\x00'}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@loopback, 'virt_wifi0\x00'}}}, {{@uncond, 0x0, 0xd0, 0x118, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x528) r5 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r5, 0x29, 0x40, &(0x7f00000001c0)=@raw={'raw\x00', 0x3c1, 0x3, 0x4c8, 0x2e0, 0x9403, 0x0, 0x0, 0x2c0, 0x3f8, 0x3d8, 0x3d8, 0x3f8, 0x3d8, 0x3, 0x0, {[{{@uncond, 0x0, 0x298, 0x2e0, 0x0, {}, [@common=@inet=@recent0={{0xf8}, {0x0, 0x0, 0x1, 0x0, 'syz0\x00'}}, @common=@inet=@recent0={{0xf8}, {0x0, 0x2, 0x1, 0x0, 'syz0\x00'}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@loopback, 'virt_wifi0\x00'}}}, {{@uncond, 0x0, 0xd0, 0x118, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x528) r6 = accept4(r5, 0x0, 0x0, 0x0) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f00000000c0)={0xffffffe0, 0x2, 0x2}) r7 = accept$nfc_llcp(r6, &(0x7f00000007c0), &(0x7f0000000840)=0x60) getsockopt$SO_COOKIE(r7, 0x1, 0x39, &(0x7f0000000880), &(0x7f00000008c0)=0x8) setsockopt$inet6_tcp_TLS_TX(r4, 0x6, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, "52690af8495a6aac", "dc60f01fd2e69a93cce9847b4860d262", "876a05fd", "d76f465fe32f0639"}, 0x28) ioctl$vim2m_VIDIOC_QBUF(r0, 0xc058560f, &(0x7f0000000300)=@multiplanar_userptr={0x0, 0x2, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "001000"}, 0xfffffffe, 0x2, {&(0x7f0000000000)=[{0x0, 0x0, {0x0}}, {0x0, 0x0, {0x0}}]}, 0x96000}) 01:19:37 executing program 2: syz_clone(0x5000809d, 0x0, 0x0, 0x0, 0x0, 0x0) openat$apparmor_task_current(0xffffffffffffff9c, 0x0, 0x2, 0x0) ioctl$SNDRV_CTL_IOCTL_ELEM_WRITE(0xffffffffffffffff, 0xc4c85513, &(0x7f0000000000)={{0x7, 0x6, 0x6, 0x1f}, 0x1, [0xf0d30, 0x8, 0xffffffff, 0xffffffffffffffff, 0x0, 0x3760, 0x9, 0x246f, 0x3, 0x3, 0x7, 0x8, 0x0, 0xffffffff, 0x7f1, 0x1aa, 0x9, 0x0, 0x8b, 0x0, 0x8, 0x4, 0x2, 0x2, 0x6, 0x3, 0x0, 0x1, 0x80, 0x4, 0x7, 0x20, 0xffffffffffffffff, 0xa150, 0x5, 0xd5, 0x80000000, 0x7, 0xffff, 0x1, 0xa0, 0x10000, 0x3, 0x8, 0x2, 0x0, 0x3, 0xfffffffffffffffe, 0x6283, 0x9, 0x0, 0x101, 0x3, 0x7fffffff, 0x2, 0x2, 0x2, 0x4, 0xff, 0x9242, 0xfffffffffffeffff, 0x7, 0x1, 0x4, 0x0, 0x100, 0x5, 0x100000001, 0x3, 0x1, 0xc8, 0x5, 0x81, 0x8000000000000000, 0x5, 0x81, 0x7, 0x1, 0x0, 0x76, 0x6, 0x0, 0x3, 0xffffffffffff7fff, 0xfae, 0x20e, 0xffffffffffffffff, 0xb3, 0x0, 0xfffffffffffffffa, 0x8020000000000, 0x6, 0x80000001, 0x4b31, 0x3, 0x6fd9, 0xffffffffffffffff, 0x67b9, 0x1, 0xabdd, 0x8a, 0x2aa, 0x5, 0x1ff, 0x100000000, 0x7, 0xff, 0xfffffffffffffff9, 0x8000, 0x8000, 0x9, 0x8, 0x20, 0x5, 0x2, 0x3, 0x2, 0x2, 0x7, 0x800, 0x6, 0x7, 0x67, 0x0, 0x2, 0xffff, 0x7b7c2174, 0x1d72]}) syz_clone(0x5000809d, 0x0, 0x0, 0x0, 0x0, 0x0) (async) openat$apparmor_task_current(0xffffffffffffff9c, 0x0, 0x2, 0x0) (async) ioctl$SNDRV_CTL_IOCTL_ELEM_WRITE(0xffffffffffffffff, 0xc4c85513, &(0x7f0000000000)={{0x7, 0x6, 0x6, 0x1f}, 0x1, [0xf0d30, 0x8, 0xffffffff, 0xffffffffffffffff, 0x0, 0x3760, 0x9, 0x246f, 0x3, 0x3, 0x7, 0x8, 0x0, 0xffffffff, 0x7f1, 0x1aa, 0x9, 0x0, 0x8b, 0x0, 0x8, 0x4, 0x2, 0x2, 0x6, 0x3, 0x0, 0x1, 0x80, 0x4, 0x7, 0x20, 0xffffffffffffffff, 0xa150, 0x5, 0xd5, 0x80000000, 0x7, 0xffff, 0x1, 0xa0, 0x10000, 0x3, 0x8, 0x2, 0x0, 0x3, 0xfffffffffffffffe, 0x6283, 0x9, 0x0, 0x101, 0x3, 0x7fffffff, 0x2, 0x2, 0x2, 0x4, 0xff, 0x9242, 0xfffffffffffeffff, 0x7, 0x1, 0x4, 0x0, 0x100, 0x5, 0x100000001, 0x3, 0x1, 0xc8, 0x5, 0x81, 0x8000000000000000, 0x5, 0x81, 0x7, 0x1, 0x0, 0x76, 0x6, 0x0, 0x3, 0xffffffffffff7fff, 0xfae, 0x20e, 0xffffffffffffffff, 0xb3, 0x0, 0xfffffffffffffffa, 0x8020000000000, 0x6, 0x80000001, 0x4b31, 0x3, 0x6fd9, 0xffffffffffffffff, 0x67b9, 0x1, 0xabdd, 0x8a, 0x2aa, 0x5, 0x1ff, 0x100000000, 0x7, 0xff, 0xfffffffffffffff9, 0x8000, 0x8000, 0x9, 0x8, 0x20, 0x5, 0x2, 0x3, 0x2, 0x2, 0x7, 0x800, 0x6, 0x7, 0x67, 0x0, 0x2, 0xffff, 0x7b7c2174, 0x1d72]}) (async) [ 239.748725] (unnamed net_device) (uninitialized): up delay (511) is not a multiple of miimon (9), updelay rounded to 504 ms [ 239.808084] IPVS: ftp: loaded support on port[0] = 21 [ 239.828163] IPVS: ftp: loaded support on port[0] = 21 [ 239.880212] IPVS: ftp: loaded support on port[0] = 21 [ 239.996492] xt_CT: You must specify a L4 protocol and not use inversions on it 01:19:38 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r6}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) [ 240.548234] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. 01:19:38 executing program 0: r0 = socket(0x1000000010, 0x80002, 0x0) (async) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r1, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0}}, 0x0) (async) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="4800000010000507000020000000000000000000", @ANYRES32=r2, @ANYBLOB="0101000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000140)=@newqdisc={0x58, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_sfb={{0x8}, {0x2c, 0x2, @TCA_SFB_PARMS={0x28}}}]}, 0x58}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000340)={&(0x7f0000000300)=@getqdisc={0x28, 0x26, 0x29b23256afe3ec9f, 0x70bd2c, 0x25dfdbff, {0x0, 0x0, 0x0, r2, {0xa, 0x3}, {0xffef, 0x8}, {0xc, 0x7}}, [{0x4}]}, 0x28}, 0x1, 0x0, 0x0, 0x8000}, 0x80) (async) r3 = socket$nl_route(0x10, 0x3, 0x0) (async) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) (async) open$dir(0x0, 0x80, 0x1) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x43}}, 0x0) (async) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r6, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400ffffff7f000000003c0005000000", @ANYRES32=r6, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) setreuid(0x0, 0x0) (async) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000600)=ANY=[@ANYBLOB="3c2000070000000db41001041e321ce1ecdbff00b9042e43b0634b9d80b27b16bebc5c99e54001ab0bd2facb", @ANYRES32=r6, @ANYBLOB="00000000000400000e0000000c927ea29be55870ffff000000000000696e6495e5e24b7fb23bf9aeab7ead2f619721169ec7140df4cad11f871b4bee06ca9f18d23407639b95671fb76b70a7efe3078c9de03d1fa0d6fe3e5e9fe66dcb566c7c379e314cdf8e346f592a971667892ae0e14c4c25d05bc98e22670d05a3627cde44c329934c06dc3926ce4e6d1d8e6045a6a438f0958ac33d886217da4a1ee92b22900a8a95264d88fd0f2b6b5b506a1a90da7f86"], 0x3c}}, 0x0) (async) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec15, 0x0) 01:19:38 executing program 3: r0 = perf_event_open(&(0x7f00000005c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x4, 0x100}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) accept4$netrom(0xffffffffffffffff, 0x0, 0x0, 0x0) fsetxattr$trusted_overlay_opaque(r0, &(0x7f0000000080), &(0x7f0000000180), 0x2, 0x0) bind$bt_hci(0xffffffffffffffff, &(0x7f00000000c0)={0x1f, 0x2, 0x1}, 0x6) r1 = syz_open_dev$vbi(&(0x7f0000000100), 0x1, 0x2) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000000), 0x1c) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000002cc0)={0x0, 0x0, 0x0, 0x0, &(0x7f00000075c0)=ANY=[@ANYBLOB="10100000000000000100000080ffffffbbbf6864d5a6abe87210a52c2acde084caca2598556be534daf7101965cd9b0aa79533abc31a4ca902dfe07a7332ea32e008a16afe8ad138f0214c559ca37ca42907488cbde09932de8161e041e06dc5e2739b6a3148b0c3544d96b68c83edec1ad6c9fd820e915b4fca81e3627e536a48e3c52142660c8ac5e100db287cf896236907bd14fc6e0d0b54bf906402cf4d99183e90bf2e7d5cdea90cdf4529a5a2d696985049b3476a40a5d4218bf63e859ad7072fd61178028a167da63d6da27d2509e0dc56139eb510e60ff203e149fa236c186aa88712f1f5283f8067ca0a51605b882cacc12a946f6ebdc34f2bdd2e9993c53fc62567d67303fa8118bbe16e7ad2ee604942878e3851032152375ccb0357e7392e5dd3a39116d97de125dbbfef751ab4bb925c071d53ef65386752c9997e2713ce94d312fd2f5a0a23f969e6494fe59b785d252644174d6166c0fb55818ddec9da9bb796d391810cdcc08aeb73cec480425239afb7aca6325a23646098afc5ee1c8dfe2451a9be0a2b9163ae6407cfad028493068b21473a6b2ee8c478bd81b7c40bc88f10fdf66a28f1b8bd867802ca9a1c01dd8ad0b61bafe66a132f135a6b8b87b78ae256ebb73b6c487569686bc5f71872ce6b7ec009cb8f64ef91808996ed11af8a00a4a3e76638b9acf3891a3d2187407c495ca1002d19b897099cfda69a083985dbf2eb6af669d6702b2735ab28d4cf997feb1890c7a7890defce7917399d5a65caaf1b7afc79ec9603c966422007802a57ae2b1b5aa73e0030f55281e5d24ec6b9b9740f7291c1ed067dada3ab62eeda70ae4707357e6c3c0a3b28ba6ba06ec0ea041b55ddbc87b715eaf1b370868329a678beacd9bc4454b598671aec278713a6c7c50c00f62e0cf6cb5b8908693600033223323c16c444b60672ce37d3bc8427d877e4dee8d211cbc0493f985d3ea61071dd374b95b79b3121e233134ae0552a2187439e9dd385eaf911dd7a1ce2065564394e358ed791592f8aae2b04a337b06b59e986c4258859983e9e925b1ebbdfc03408ea368553c4311ada6c9ee41e25553ce62ad2bc8f2da2ec4659e2727a2baf14776134ee714832570cbca1d65aaffc9155fd6a24af17d0aacf2bd8536b4cdaa21f5b457310021c340fc933f87553972f92e665f99e5bb922ff430f66bd34777dc43a4fbf5a81ccbc73c9123962dd6a2f60c216ece60ff99b71fcf32fa711ed266d8c3a888a0ffc2320104329153f80f59fd2b57c33c9cf4d23ac492ea467962dfd7453c0c78b1ede291ddb7b34305e3d462ba5fc0e939ca2ea2c5df9009b7539dda4d93e549eaa8a23db4ff31138927db9f7d5802a6af6a225864cf99802d153e26703fe6b34afe82e6b784134af136e65df993c3c9829dc8c32bf0a2f59f8a6c5176e899d45db5002a95beb2fb9d52b5cfaa2f40ccbc6fcb4f66d7c6eefdc70ebcc95e6eca3880d78ce106d54d116664fe4a9aa58dab4f84e252f7041d870065de4625ab62fa16697e0da62530fefc2085815f166991d5955960aaf42d2f4985cac9efc023b595fbd077d9541b020e1742d11c0eb81b778e54898acb84df5fbf6074b24dcb58811d40f5759fa562d6722e778d08c54763f4427906e81c46b9c504710b5ac291c5133f5fb0fe85edca59f8e3541c74438c18a8c0cb6ece2786572c597e20749bc560d8b9a1de305b7ca179a2b91533e905dfaaa5f799a89f63f57763c2a36c2d2108f4c0d5f9f5fc7de54d89510f5379039f097a2794466d345aa7ba4ddf3420bf7145fee443207d0dc84aee980555e8e1be95fe801fca0970c76f2b13e252eaefa0ffed7c2a68f761f0f89a01ad0e6b4658795b117c2b80a649cdebc3a048764622452c86720ad32598c2109eab34f6d3ff9f3ff96411443f8ac3fde68b598b3f7c5f47b28d5970edac22f692e2aa4289fb89f79f8c0f1c49842a91b83091dd8c434861ef25cb5de4af8612cfb3cac5f583cac62c2a5d5f94dc3675a89d2a8888509772006c118f3fe82b541af11654b1c95435bb9435fdca0e0ef4e8fc29301ac8a9dc56e935611d82889b17ef201e52e5301bb422fd02b25575122b6a05062b16e3dd374b91a7f96110df370f40610f5bdd87bb2c7368dc552a7985d9b1316b956cc13d6aaa3a319715078b3718fe4f6247159eee0a740ad815eec3d1fffe8b2f63952f9398f1e50044c73dca91bd1d3805cf76fc578e3588713880b4f80cee2d000d6e5c7d5277044351bf8d32d64f194e45cf7c01954f770fbaba72f8f9f70e954df2e50163fa0f24f33ea337c9567ee3270ea18b108faa7581555d1b2b2a06ec90ccec9d658147cec54745dbd1627e964f760caccbb3b2f5abbe22add12f639170fb6d1949702a6d858c122f001dd1b1b2662d8b5b050ab21b143ea6ac5082412d89d69634150cdf1af39117a0be6f423497ebb895208df74ae8d337a12ba3daa5ab5985c384d0cd021af0a168fa6d9ffac543825b6cfdd21c29f99115743ebb8e76310a3db2d5487e860a2d4d5a0456382ffb9220816df083380fd2de5f281bf8f3cf497715848adf0407cb05de25c56b2ec832fce76c74077a99f7c2c601f8ebc97ce8d5637311c237d43dfb9bf79727a1b4c9a1bd1ece8130e3adf25785183288fff90f6d9a55a7c0005beaa89cfd156dbcfe723b692a48e5819e277a466c5f517798ed118834772e53b85183a351fe0cf87d43bf4f2382758fbc2203b7ab2cb170dfc26485d39456f31981d0cea39ae51ca158d434184410e5ad5e8c7d2973bfbfae790737f144fdbe8130a7da89e0a988e2dfb84fae975b857ea3e406c1315a53499d44a690b6fea3a93d34e67a06dff8b92aafbb46759f457929b981df9056d6d2c2338841ed1d305e42dec8647712ac3ec43bb1ca317abf4a380603d0bd11656cafb31a090872581e25c39f33d01be0d1fbdc8a96b639091de61cc2030ca6c0703c6df83bab06bafaf72e9389b4183ce5c53a8dfca79bf905999108b8c4924beefb48c22649c849d1fd549eaaa720836403e773792989b00ed70a1c222ca8f6aed38270305803774eab5f8015e34ba8f5de7582b0b53c1660a67e93b0b05a7a4ae447f2a0d30fa8660b3b51fd7a98b3161f4974408e074fed1090661c968fe670ab57f93746f758bef3dd6f9438154ad03e138cb946a208e9bb37846b56cd36fe64178704e5dd2766d1227a56373e072efd503a525ee9ac84d8a0c6676563e94229450d40d297be45970b7ab435cde231d7dcf5a3662bb3dcaec51ff5fe4da8e043d11adcbdc282500897583878a8c9fa8d3dba54f1ebb9f939c99e44ef29a1a466cca99ca1a6da721853bcbcd850391bdd2a301465a497d07f25da21ffe5126a989a730c82a1b9366fade730e8c0247c706939555e499b28312570979e766a0a798862427d3154c5dd0cdf7750f4ebf3963ff677aae1fb3a14bd586bdf50347e59518754f8897a11fc9e05cb5275141bf8030683d1c6bdaabd804384866a91c273a9af1c009e532a95ad8d7b7a537e58bc0482321cd88570394a39cef5afbe37e1b647f3d7aa6a5a7d5e9982784f4a7aadb34b097a6599496a98cd9707b80dd9938333cea941f33e559744614c721542166d5d4151c8450cd20424ee73f57c5b490fce3a9124bce484894ef09f87308898837fa238433136440f688982dbe2673f33ce71439584e73e20339514d7d2cc4412131f2bf710042b9a235d13af230b5f657c2d219602eaaf479a4134ac23e6a65a64b47731ebf14c638ea4425e2cd43f8a7231c7a657b0ebc05940a37f4855d7041f187b864f3ae29f1fec2e116518519e7ba18e65ecf258a8371c740c3609a8e74e2ee0e19f13a30556da5dae541f54ba29504c2b98baff5c2aeab519ce95a9e722c8a5c09d3a34a1cfba24610241db2c44da45841730dfb9501d1a9ea58cad74670d3ffe0b00d9010f59dce28a2ec2a0542e1922db9484cc96383fcade2d1307c3c1c5f93f13cebba3eae122f2b09a1f949448aa8748ea31a85cf3ced5aa6ec5c914ec9a0e782c08f495cdc67594a01f98558f5fba1258be55afc799faefc769961d5af02a5d880487a9090e1a0c015162f5b6da4ca70fa65e691b05e0fad84508e258e572b1afcf3d889eed8c67b7b13712770991e488a49bf74d1c48aa01e9df642d81af918a8a05387a4523af227090c0bf55f8579e9f4be83c673d424291a2d14626365c2832da37019676de942bf3c0d0aa17feb19a464faa822ac4788e1f7799d743d9d07fe3b9611f14481e0c39a009fa966a47141910af10649881d1ae691ef54e2bee38253f7d4f1cfede34c95f96aa0007aeeecc61cee10e8231d92435e4d6cd8924c8511c92c18d41d6c223d4502923c4b15c371e3e5f7baec51c51a16cce1ab08314009e0ca1f6b760b6c990cf56f47bc6b59b6cd508412357fb2902cb28a914ab16556d67d5639e62fb383f6f5e2e8ff4dc65c41b2e4030795e92b4bdfbe5363f171ebb2484d26e97612a0aa68faa0705d9f73afecfcd0fcf7624fb27636f65a84fd5f3e13e2ec33f7377edd05b22f9b278ddb1be2f2a105d1177c1359fccb7cf5a23f1b1ec6f975f728cb7cebed4675900e5a3b2841ed3257d1d38f8d06b02bcab6452303e889dc7565a5eeacfe72df1983faa29b08738a974eb4c3d14b5264935790956f047321438b636fd732265b93326d42544a93ba358c5e62c63ba4125bdb31cf5b92a1012f0634c5b2960518d81bcd54fb3062661573738f99ac9a4fd53586681065b8f30a156cb19f69735840efa69e3211b2ca23e942bd7b3f99eda57cd8cd61f685f6f3713c3bc19422596bd2de1415e853835f2769626bcfe389e61ed3b98b746e71deeea500df2db5f4534c150538178913441dfefc3cb7c44157df6002f949d9385641644838ce2cf1fca98945990f5b8ce1f3ae173fda623241ff0e2396728283a6912c9243b46970478c1e4e7b8741659ca402b0765785a5ad1c0a107b9ea0aa0b4d14b12fc6f9d24ce701b577494912408fe378ba4d67168343e4efd68cd8312b9bf623adc5c58976becfdd40b2e90c408554f2cae6f667b57e9dec948ac055b69ae5c463fb281ece1d9fd346469247f4d533553bc3ae778e15bd2c347a567522cc90914254aa9753372a994c43b679a7c8f91b57be3d923286f09c2d803bffd229f229e6a49a10cc8f5275aa3aee1f6ac5947de495de168ece7e20e28f32fd1f6325df156b577c938ba0b1d275c53234972b6f5a662bcb3f6a1bf5fa979f5c7d550e18e2a87fba286a9649ac3489144bb9b9c6995e4a8bc116d96480b683475bee9b6f8cb1c5c723619b35d0441a404dd480d7246686ad2716be8e9428e13218e4f2289aec69254f1617ab81d83e135af84ae5ad27284885c21df810fb46a8515371d0abb185e5f489f5148afd1ab34d0d8d97287edc429dcfba9b5a365429285f4b4d68c20fc2e4a06be46124981a91dedbd3f7bbccfcae5c244ffe10fcd86bf8bdbc32b12853663b13300b4dfd5018bed4031cd9a35f5a25827dfddf9a460f16cc6d3d9a49a0020ab916f7c1b3a841277385e41b30f87392caf78705151fefc657357f149b12dc40658439baaaff521b9388452bdfcb0c2d383a00a8ab4c9a44fde363647b987cdfd48f4e3b8746fbb066c1e30592c277a4aa2f3652b061e2acb03ebd8ccf87c782abfbbeec89615b71d7eef2ebd92f2a8e317ebfb763eefad849ee4802552cad06437483e875f73851fc7c3cde0967228ccddbecd9b89e165341241e04688c91bd914aea0ca5d010100000000000000701000004000000635747cbfd28d7e380101bce1009d5e084240ca29bf1ce2a0fc2a4ed67bddeeeb1e78202cfa468a6900b99f08e19e3b0119c9948223c684e71780a99c7ac964b2ae9bde47e28eb0fe182c9e263191d2a03c32fe7ecdbcc630997543301ff1f9ff64ea0b817694326ecd7810d3aff161265103d1a4c0af4221c92f82d8c2a27996c99fe8f30cdcbe3add5dcf0c2320237c6857db7225214936054a1a0f7ad1f6c7b020f893a5a6fedda4d657d165f51ca19546a25721b26762a95d49ba35d5646a38d8bf0eaa9c58050ec5a4a686dbbca4004f384e997852647a35574ce9596c9fc3e0b2245f24c4769df25bb9932d2b8d5790f75ed0458d01adb82698f2aa36a2212016d5301be8959ee7e2354c8959869349c610c4afd57baa576a27b371f936f184ceed5b4d5c053a9af0d12b6d3f69933c0c115299cb28b3e32c23914dc01a82198e0f0748fda1f1d298f7fbc358c60b5e7d797cc3679a70a00a52501e9d8c65df98410143a18b0715964f6e5a08a84587239d2a8471ffae3924d09e95b3b62642139f2b703b2df4f442181f2663bc978e7fbdf488ca0e6caaf7f4f1d5885b4c36417fd3168e1019deeeb41fab7d88373c3c2327b81e373be68967689f21cc2a15a804461e27eacaaa970ae7f9ebbcadc4835f03cc5590996173916759af40541ac9ed083db8209ab08d00c4a746a584a7a936941a3b3084de4b77d11d77de80ccbc0d7d0b1080fd76751f057ad4e66e1fe8bcfae7295784cda58537f57c61629ebff4f0623464603a8ccce293d6308f201c1e50d05d23c8f88b8753543a0d1860c785f2c7cded7a9429b4fcad26d4b932e3eb0df5ff2a77caacfc27cf099e4a781e5006fafb789c2d810aefae16dfcd2ff9575de3f49da555ec021d5d45271065a42de3b4fd82a94d32166ec996dd7fbac44765a06742ae9e90b57173e9124875c6624cb586d23afad12996d485b48e4ab51f3ca95717955d1f0ea609aae26232bda2c75a26dbaf4cca2958d9c582cffbba78a3883fe11a5d7369ad6180b55c86b7803bc1f732fe686da6c18ac607982f8cef0e5173cd6ab4bff7e2cb7f06c68d4b4edd92e7d006ecafb17cedcf0d252323ddbfe46db9de3730baf469d50dcf1d2e834952fc381d39743c50e4998ca09add496d52c6bea9b78766164f33aa1141546b432546fb1624b21eb48ed191ae0fcfa7cb8fd96b95912d2c5f234f47f4c00813f6e68b9e126a0fe9758145acd80088d2ffdc66a5c00645448ce8e518649c0d4494b9f93f389627177f4cb6e8531c7706b7aeeda165d570c3542ed428f70db9db806342591547868c804a49e460c5ef4325b44ff772355d21382460fb94168bb652de246e2d3b9c7d58beb1e07995dfe8374949c504d42d58bf1c8febc4e39ae5e8deb634d55c659290011e2833cc44bc18f5d063ede66d6f8c59d6124de9af60059c618d9c5978dfa36043a63302b062f6ebca23c690541840aea9e912cd3769ebd7df2854753228a4d02672d2427c225faee395a990cadb860024fd977a87e5772573616f26c85c0d5cf4b841ba77e8758e55dbc961ac833c2c6d526e6a0d3ca2dc00c6d21ab032972419bd67ed7d030b203e105bc7def1e2b83b980589453440c6e04cc327e85319644870ba6e24e1edc237b42d8a6bb959cf492aa279de859c58458f8a6d607b039d5bdae8b7c17f8dca23b233be5b89d8845c7f15f63e212cdc1503404cdf5f042e2b9d6de9aa577bc9b4194db9caadd5d2562db3b39d24cbf31246ea9c2255ea0f96992af096502154c3661957167923669e0a3e91619fd80b6ebf1ff444121e645cf2f8dc095ca406eabb582ee94e42b5e8f0b577bd2dc7797080c9ace2162179e4dd35daf22bc8e975d7deef8a3585730989d2a7f456e1d1fe17479c665c17cd1d24599636eae2ee262f2ebb177c63cb458d09458b6d5e6cc879131970fb2982858237cd211095eefe12c5a49c6c31d8ca8660c655f7685b49cff4402c787e934308d172dc1be2ea8e67b2d9772bfd2aa59cebfd836becf3e6e9d2d2094d5af7df08c27e09a7f121e972abe980bfc3085d63feef9e5d1d902433abb93f9126b094e55215c294c6ece25a57cd25b47768ca38e202a39386a46feb30cd06718628eedd247b628ad621c8830a4ecb068ee10d4064ab53d8b936ac59f29991505d843c8d4d5445b1875a40cbe05828a50da27ae8b95baa2dbad1328728a0ddab2ecc5bb8d8ecb106f2dc4dadd978b961f1f65d7fb32eb9b850ae45eb6a6ef0a86dc94f5e45ebadc4cacfb85b76c3e64c6e55a6cc845f22a8788f379f0ec21b6b1296cdf5e00031459114fd1c8163c82ae44c4fbcfc23a4f048fa54303b6a84b2ef042b36b8c075398d01ec14ab8a405166160ddafe58985f7d421156c3b0366be44ee51d85618be937b665837d1efe66afb951ec45655a1a6ed33ca9b5331daa6d2ae5da76fa0fdc6d6958137b7abb224952489a7e974a136ba739a58240203f28bfe9749706e48155ce688d659c765040cf43915702f0fed32ba142e07ab9ce93dacbe5f8262ad1a2ece8e0084e1369d4ba0352738b85729dac6d8108bfa72cd3294fe8c263a325f76efa8030f35ea37d84ea1f6c76117cfa05133839fbdea361988f7860597edb1d24145f3280d8141efbc37defa78b85c0298ec85fcad5f4a0bb58afa88dabc6af533a8fcde8006e20fb87736dad2df8bf1195c6b97379e9a4c9298597fe5f6de9bec2331fc5901a35f89dfdeebd17571b8b1933a101d6581e833a676125338b3da3613001db3c9a2729dbee6310deda56002f88acee0a27f9254b99b97685eff96ce6024e41af4f7337b156a0dcf17827a7395c5397f329b59c6b2a0d4aa32cfdfa1eec8ef96c2d69ce5cd5722a72d1854ca83b6f7ee9d1581fd8160f50aaf210ccae5d3c713a8cd6f14ebac596733871c71094a937ef4a2a799f556846204c5f7ff6c55e3e642e959d5221eb760739ca574a2b4d3774d4cc6c520e8acef0f7aeb2982d76f5025d847ed8f423b4322811b97e06f8d3d135a84b8910d2256912d000e56f10786fe3a71ba411fb52bb66a7e1da63309b933f2a7cb460602ea410c50cbf7f3f72d57be00238eca451a6b00c2faa3ca2106dfdd37546d3e99c71d226c3e69ff7874e44bdc55fbeb683ddbc1a75426ff21d365f30f51fcbfe94567fff531cb0fc6518fe7448e237cd5e66ceda5dad116cd3049e43ae7e7a2716168e7a13bbd4d6a3e9694fc3775972a5aa207f0f40d2acb565407c5eebe246fe03ba87eac0154a6de5898aba0c2d7b596b19c55d6653804a1ba7b7bcdbb5b4d572e0a1d9da8c0f546a38ac63040dfcb2599bf3992589158e6d8cee7f01f938dff76cf822e4bfc7c397b5a41ffda9118bbdc413400578a830c396384054d12a5e85d5150a9976551c4db5efabae0c9c57a7f6bf4d91fe1ec7a5330ce7047675ae78a2d592621b568f3f00b4048c10d6819bae25e834e97b1e2647047f8aa936232cb3d4108eecbd7a247cf9a6f3367b6512420ba59c366add8bef000664f84c625a7d0f55050058027b574ac8788d691c9d15819519d624765ebdc7adce8a262cbc408dac90ccd70ced4a86d19c5d273e7d220993476cd6bd0c07ec7a2ad88ea630e7c3d03f52bdd95f9c7a483d4ef315d859baa7737d035485debed653b59401396476ab5fb4a53f899edf79137c92a64d9a87eb263e24028e2fd5078d0158afef57861285a48271bbd75b3b548413bba17ca9a06e442ea194ffd58c25fcf9bc7dde90b19d31e9d2cd9a97870b2a779d97079c259f42be3456682f8f010652bca40766b602f02c82f63ac06f18efec7ce8330a1fcdaf52db640b6d061306efc7794a50be15bbee7d7bbac5ed73ae5d685b3e6d522777b09ebfccc882c7c56be477f252e104bcbecab1230aa428504af7d9026ee9b8359beb4195d40f28e8ac1d3d52123104595909e23ec0008a72dbccdcc87027e932dd450ac0bfddb575f9a91093e5e0334ee414f1b9cd3c28e16c5c524b5d1630316ff42880919a042be35995c7bcd7686fd22c530a17910e21040ac013c213cccc87b9cddd3d4de33a92a924c7be43c00cd20d6bcde34c60ffb6f2c05e56d6f52259e7c22826472d9b722766396779c5b8a2042b2fb9d1a9a14664d6333bf7052d7c058a7557634cb00fea8e38d176b1ae97287cf2cb238cfdc8ac4897909c3f188e9a1fd4b9d26851bfd3d9d065eedf8572fa81082b5abf24929d9b9c8a6636bdeca213a40b1abe9e0ce34d604906d87c83fe449f78668f541d03db273fe4ef2384640dce1a0f1aae0ec3aaaea4c0f51ec4dafbf5aa50100f6a47bb634a472a8f677f50f6be4aa9c0a5f880b0e8ff14a6bd01c20477a30430db1beb2c498226ae1c7003f1c022347553c6d961a062169843eb4b73590a177d48706f175cc6ad8cd630ea1aa7e61b344dc05b4dc052d093d974f454bec9ab1a790fcb3e6b05a0a6b9de0548381e14efa5e7da942e9629a2fbb9844c60638620b15a8120d0dae6d91d37e2e9f60d974da28fc95cee8bbbaa6d059459ee7aefdf665d85062407a4d5a12548420a5834e59da803deaa1630b19a3a616b000e668c0d61408380c422fe3707ea66944157a8e1107c2c4e27982090aa4cab2b0645363b93ead995d84986b0ea56741e797cd210b10b41dd42e50ba67a9ece3d32eef71ae6f6a4ce627047ea38e6590bbd66ffc6e3821c216ff308fcd32a16d421f8f728f136ee130076c5356cde8a873f786015531e4e1d5e4ed568dd930ea5f8828f6d2cc9384b6897a27385811f7281e2c38a85d27158611ff696c86faa1b2268e7012a88cb65a985bdd8d435b432643fa4b399a3b11eae5494cbbb97c284610f814c083337aa6ed79997243a15d6748f697a47123df8493ac8f560320a7b043e9b4862938b60ab5843543ad2c197d1a572788b154359e40486e30cf33b8e6b57fbd86e065aa5af489aa96c5287a23da9e8a3739ab7fd468cc5026227a4384df29e0db753a823535514261b2fa41e67c64510b9cccc504776e0bf3ddd21a7ab77458e69589bde1c6b6395b64f58a09584aedaf4b76c939df7e3327b4101b3cae1f99d52701c72581defbb1087253192bff5da66617ff4eb8cfac389fc46f116939573e08a5e32fc71c33966abbd0db096814317cb6df940776c8d7f8b2b7f92815d1b45e91cc872e08775e7cf2de4b4f30eef81db71ca8a4032bfaad8ad5746951ab0aeb5fd33354c7114cfad67f4c8d653481579d399c0f71b74e297932ffde1d7d9d96e7ef495c610f9df7ad9e0963eabfb0af7939544ae25d87c5b93b053de414f21b8588f919b42ec2e8233c980490a8abe64f8552b49a35b0dd3b30234f0df4244443da8c2eb385e5b3324947b82d41f9a0ce54c2db1cf8ba52dd7043233df0c1229ba751e1efe472c9295cff0c3f52d1815f77fd789ec8114fd924802b20eddf59e07215f57072192002b783830b68c2efb2cd1d5530b63c31a098ebe441a78be9a07bbb23b76d8eb89c54ff7484e724dd52a0e1ac07df8b4567f22579117f8284dd834d8effcb7a16849cc89d07998619563d896e8d68248309d520a7ccb8bed6a9ffe934fddbc1c00167fee82315f859f8e356fdcdfb6aa7dceecc34b821ab54ea7ce435077484370014dc53c31637aa0f6021a1502b16c5dac5abed0149c5ce96989960c5a0d4996e46f260d63ff27f5ee0cc1f5dae7afb825e4d83ead9f4679fcbae99c4934971606eabc93d868d9688e438f377aa1c89245528cb4cd9d04fa3eefc721e38000000000000000e010000020000001ecfc8c1cffc460bfb7b7e919d4d87c001509230e42e1d86982f3ecfda1fa998761f08ed39d000002800000000000000190100001f0000002c11a1355a9718a6db1a211a93eaed9c9abd00000000000000010000000000000c01000003000000f2f217bb25ba5b637b3871daf1af073fc8b9dde9d20e57e749b82a61fa65017c85cdadcd6758c51cad02faaa0b9c4629aab36fde1c530360fc38682619664da0f3c131f9bc5367670652a9af81d1fbfcd55542bea64dc03e6f88b6b3b7f4705b39df0ea2c1171ac965fcca246c92339b0ac0244a8876e5aff586ccb725629a05d96bec2de9b54089ae5985e7e13281d7b1ea4061764bfa262ac7cac8fea747d9ae3edcbf011637d19528ba1f0b457228aee96e47518d05d6a5cc667c82530c61cbddaba7c8e175fdbe2e2f46f96d0f87a347cb19dffac1c8528edcce43eedb51ab37a0beb5c12f9a00000000180000000000000084000000000000002e99efad7589e900f800000000000000130100006c080000e8f654755956bd73518fb99e582475cb11965b1cd0f41f229950ffc87ec9016abbe2e57d706a3f747f7bebbddb227dc3cacdc4897c59dea39296efdeedb59454eb9a3f0a70efb5d5bd268eea34c5d114d1da695a47f24bb99cd5fbe37b7e5932c50c344c8bb9850c527c54fb0ae153364c2b2fa583ede806a044145eeb59e06a2434bd74c071b68834b60e86affd3363cf83e7833bf4563673b416eaa38306d5bd46ab526fab61c8dfa4516a5e11584d3ce0a26763e85a0380cb7947bbed7c7f06e1b2529dab3f3aac6ee2294c534a3c8b73e83e2478bab18d85976dfb3a600ddb353c0c5e63505b2f741ccb000000f00000000000000001010000050000003fe684c26cb23e6a331c763a4725344630298ab037d7193814854e56bc79f2920c616687f2c3e117bfc4e3c09dcc75aa0dfa5065353c7a8d9541a23d38988dc651c4681a3d6849232886ac8c8cf2e41371847eadb70971d7a230eea83cdf262f890a3ed72a7add26dd8d398b36cdd67f6425aa4bdc3aab345c4305d3641c9644e4e707b77dd180d78f219ea4f04c5385e892123d8a3d089fc9bf8777371d71f9dadda29a03ae79712f2c2022eb4e898d9d05b845b012bff8c5c57c0b06eac2f7611580d315ada43e20fb0f54fb6bcd5fb37f6f12fe14517c12c600000000000020000000001250cefb0100000400000008e703b740782541b371"], 0x23a0}, 0x48000) sendto$inet6(r2, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) shutdown(r2, 0x0) splice(r2, 0x0, 0xffffffffffffffff, 0x0, 0x406f408, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000400)=[@text16={0x10, &(0x7f0000000380)="baf80c66b8f4acc98e66efbafc0cb80900efb840000f00d00f221f3e260f01cb66b80500000066b991f300000f01d9baf80c66b89c6b4f8766efbafc0c66b88000c0fe66efba4200b000eeb830010f00d00f23c60f01ca", 0x57}], 0x1, 0x24, &(0x7f0000000440)=[@efer={0x2, 0x100}], 0x1) socket$tipc(0x1e, 0x2, 0x0) dup(0xffffffffffffffff) r3 = memfd_create(&(0x7f0000000140)='\\vnet0?\'`/{,vi.et1eb0u_er\x00', 0x5) ftruncate(r3, 0x1000000) sendfile(r1, r3, &(0x7f0000000040)=0xf18001, 0xeefffdef) socket(0x0, 0x80002, 0x0) fcntl$getown(0xffffffffffffffff, 0x9) 01:19:38 executing program 5: r0 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) (async) r1 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000900), 0x2, 0x0) ioctl$vim2m_VIDIOC_PREPARE_BUF(r1, 0xc058565d, &(0x7f00000009c0)=@multiplanar_overlay={0xfffffdc5, 0x2, 0x4, 0x8, 0x7, {}, {0x5, 0x1, 0x8, 0x2, 0x1, 0x5, "0d8e2960"}, 0x8, 0x3, {&(0x7f0000000940)=[{0xd9, 0x4, {0x3}, 0x80000001}, {0x7, 0xff, {0x2}, 0x2}]}}) r2 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x3}, r2, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) r3 = socket$inet_sctp(0x2, 0x5, 0x84) sendto$inet(r3, &(0x7f0000000140)='^', 0x34000, 0x0, &(0x7f0000004ff0)={0x2, 0x0, @rand_addr=0xfffffffffffffffe}, 0x10) (async) bind$inet(r3, &(0x7f0000000780)={0x2, 0x4e24, @rand_addr=0x64010102}, 0x10) (async) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r3, 0x8982, &(0x7f0000000040)={0x0, 'vcan0\x00'}) (async) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r4, 0x29, 0x40, &(0x7f00000001c0)=@raw={'raw\x00', 0x3c1, 0x3, 0x4c8, 0x2e0, 0x9403, 0x0, 0x0, 0x2c0, 0x3f8, 0x3d8, 0x3d8, 0x3f8, 0x3d8, 0x3, 0x0, {[{{@uncond, 0x0, 0x298, 0x2e0, 0x0, {}, [@common=@inet=@recent0={{0xf8}, {0x0, 0x0, 0x1, 0x0, 'syz0\x00'}}, @common=@inet=@recent0={{0xf8}, {0x0, 0x2, 0x1, 0x0, 'syz0\x00'}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@loopback, 'virt_wifi0\x00'}}}, {{@uncond, 0x0, 0xd0, 0x118, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x528) (async) r5 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r5, 0x29, 0x40, &(0x7f00000001c0)=@raw={'raw\x00', 0x3c1, 0x3, 0x4c8, 0x2e0, 0x9403, 0x0, 0x0, 0x2c0, 0x3f8, 0x3d8, 0x3d8, 0x3f8, 0x3d8, 0x3, 0x0, {[{{@uncond, 0x0, 0x298, 0x2e0, 0x0, {}, [@common=@inet=@recent0={{0xf8}, {0x0, 0x0, 0x1, 0x0, 'syz0\x00'}}, @common=@inet=@recent0={{0xf8}, {0x0, 0x2, 0x1, 0x0, 'syz0\x00'}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@loopback, 'virt_wifi0\x00'}}}, {{@uncond, 0x0, 0xd0, 0x118, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x528) (async) r6 = accept4(r5, 0x0, 0x0, 0x0) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f00000000c0)={0xffffffe0, 0x2, 0x2}) r7 = accept$nfc_llcp(r6, &(0x7f00000007c0), &(0x7f0000000840)=0x60) getsockopt$SO_COOKIE(r7, 0x1, 0x39, &(0x7f0000000880), &(0x7f00000008c0)=0x8) setsockopt$inet6_tcp_TLS_TX(r4, 0x6, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, "52690af8495a6aac", "dc60f01fd2e69a93cce9847b4860d262", "876a05fd", "d76f465fe32f0639"}, 0x28) (async) ioctl$vim2m_VIDIOC_QBUF(r0, 0xc058560f, &(0x7f0000000300)=@multiplanar_userptr={0x0, 0x2, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "001000"}, 0xfffffffe, 0x2, {&(0x7f0000000000)=[{0x0, 0x0, {0x0}}, {0x0, 0x0, {0x0}}]}, 0x96000}) [ 240.746139] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. [ 240.780378] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. 01:19:38 executing program 0: r0 = socket(0x1000000010, 0x80002, 0x0) (async) r1 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r1, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={0x0}}, 0x0) (async) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="4800000010000507000020000000000000000000", @ANYRES32=r2, @ANYBLOB="0101000000000000280012000c00010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000140)=@newqdisc={0x58, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_sfb={{0x8}, {0x2c, 0x2, @TCA_SFB_PARMS={0x28}}}]}, 0x58}}, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000340)={&(0x7f0000000300)=@getqdisc={0x28, 0x26, 0x29b23256afe3ec9f, 0x70bd2c, 0x25dfdbff, {0x0, 0x0, 0x0, r2, {0xa, 0x3}, {0xffef, 0x8}, {0xc, 0x7}}, [{0x4}]}, 0x28}, 0x1, 0x0, 0x0, 0x8000}, 0x80) r3 = socket$nl_route(0x10, 0x3, 0x0) (async) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) (async) open$dir(0x0, 0x80, 0x1) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000180)={0x0, 0x43}}, 0x0) (async) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r6, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="380000002400ffffff7f000000003c0005000000", @ANYRES32=r6, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) setreuid(0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000600)=ANY=[@ANYBLOB="3c2000070000000db41001041e321ce1ecdbff00b9042e43b0634b9d80b27b16bebc5c99e54001ab0bd2facb", @ANYRES32=r6, @ANYBLOB="00000000000400000e0000000c927ea29be55870ffff000000000000696e6495e5e24b7fb23bf9aeab7ead2f619721169ec7140df4cad11f871b4bee06ca9f18d23407639b95671fb76b70a7efe3078c9de03d1fa0d6fe3e5e9fe66dcb566c7c379e314cdf8e346f592a971667892ae0e14c4c25d05bc98e22670d05a3627cde44c329934c06dc3926ce4e6d1d8e6045a6a438f0958ac33d886217da4a1ee92b22900a8a95264d88fd0f2b6b5b506a1a90da7f86"], 0x3c}}, 0x0) (async) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec15, 0x0) [ 240.830430] xt_CT: You must specify a L4 protocol and not use inversions on it [ 240.852186] EXT4-fs (loop4): mount failed [ 240.858327] xt_CT: You must specify a L4 protocol and not use inversions on it 01:19:38 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r6}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) [ 240.956574] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. 01:19:39 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) getpid() unshare(0x40000400) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f00000001c0)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, @perf_config_ext={0x0, 0xaba}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xad, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) open(&(0x7f00000002c0)='./cgroup/cgroup.procs/file0\x00', 0x800, 0x1c2) getsockopt$IPT_SO_GET_INFO(r0, 0x0, 0x40, &(0x7f0000000000)={'nat\x00'}, &(0x7f0000000140)=0x54) setsockopt$EBT_SO_SET_ENTRIES(0xffffffffffffffff, 0x0, 0x80, &(0x7f0000000000)=@filter={'filter\x00', 0xe, 0x2, 0x250, [0x0, 0x20000100, 0x20000130], 0x0, 0x0, &(0x7f0000000100)=ANY=[]}, 0x78) unshare(0x50100) lchown(&(0x7f0000000000)='./cgroup/cgroup.procs\x00', 0xee00, 0xee01) ioctl$AUTOFS_DEV_IOCTL_TIMEOUT(0xffffffffffffffff, 0xc018937a, 0x0) setsockopt$inet_udp_encap(0xffffffffffffffff, 0x11, 0x64, &(0x7f0000000240)=0x5, 0x4) ioctl$sock_SIOCGIFINDEX(0xffffffffffffffff, 0x8933, 0x0) unshare(0x200) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$sock_SIOCETHTOOL(0xffffffffffffffff, 0x8946, &(0x7f0000000180)={'ip_vti0\x00', &(0x7f0000000080)=@ethtool_gfeatures={0x3a, 0x3, [{}, {}, {}]}}) ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) 01:19:39 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = openat$full(0xffffffffffffff9c, 0x0, 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, 0xffffffffffffffff, 0x0) r2 = syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000000140)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000200)="88001c0000000000c7d1ec9b000000040800780914092a1af9b795000100000101698c8755dfb6d52274036a22976f0053500701be5824026d413f2d5309854d285cff8a1f4c164da70f4f7343e536119ffc134b1289b3289e25125d95a1a93065ff724d49e57a5cb9625685477d6143b857cc272abb12ec58957331be20611001f180cc2af1dc0696", 0x89, 0xe000}], 0x0, &(0x7f00000003c0)=ANY=[]) r3 = getpid() ioctl$DRM_IOCTL_SYNCOBJ_TRANSFER(0xffffffffffffffff, 0xc02064cc, &(0x7f0000000580)) ioctl$DRM_IOCTL_SYNCOBJ_QUERY(r1, 0xc01864cb, 0x0) perf_event_open(&(0x7f0000000500)={0x0, 0x80, 0x3f, 0xca, 0x9, 0x2, 0x0, 0x1000, 0x20018, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x2, @perf_config_ext={0x5, 0x4000000000}, 0x9000, 0x38d, 0x9, 0x3, 0xfffffffffffffffb, 0x100, 0x8, 0x0, 0x8, 0x0, 0x2}, r3, 0x3, r0, 0x9) sched_setscheduler(r3, 0x5, &(0x7f0000000380)) time(0x0) ioctl$FS_IOC_FSGETXATTR(r2, 0x801c581f, &(0x7f0000000040)={0xba76, 0x8, 0x8, 0x662, 0x7}) r4 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r4, &(0x7f0000005100), 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x4, &(0x7f0000000480)=[{&(0x7f00000002c0)="efb98158c996a13790030354931144ddff6e65e5cb1bd0f5e3445726f90bdacde13e3287de4b258e", 0x28, 0x80}, {&(0x7f00000000c0)="9b23012d15fbb2be5b5d2208de10e4b0deb503d3c76d278e108c147b40686f53c3a120ce8592ab26bd4ad2543dc2ef562dd2cf7cea77", 0x36, 0xc000000000}, {&(0x7f0000001580)="a5761ae2d96325b4a3a3a03b4e3a1038a396e81daf5881549398ee5522a6b0579c52346a658b3d674c16e3eb203ff34d26a2acae1a2d48a892373c34920aad30f177cd8c142ae841a8ba49321fde3c350c11db9ec734cfc81e0752d97905d21cc966e1f9c0958875fde4aff1cffbbd656148d71a4fe0a49bd59f07440737c72e9a5486bb3c0c5b6929af184afa2fe887ff6d8e523b5d1988650fac5ea4228961209381248c83252d1f3bce3d09182b4ece67799db022909e6a7b061884c40766c9a0e7706d165ebe3efe2be74b542ed6e8552e67d4789d7f26494554dbeb7de4b2145bc112466f7e9c5dfa4c6c3e89285f08434818fe2a085d64ddd8d70747a7d6ea7f6dff1a5962d09ae9b46437ce4dace277eb3bc0cd7c6a33dc46299eb1533634b48b51653b48a05091d85c0fa8cba0c91778616a57d0ec7276d8a10e3f2af1d586f125ac907ef22df7bccca4954fd92124a4bd50ef36a4224a264941bf66ecb61e3a6e65a4e22bfe82f6a44033af737a487e4c5f1075b6fd2d6dcfd231325df1b966bf96c3eefd63edef6a617cc15a77f8a5d0f7c77151e0545ae7c66183f20ce72496f8efa8045839177cbb4405ddc680f956eb7f41f5d42458c35ecad2442168132dd0ffd5c9dff52fc7732b57456dc61e3e6291db092c4c2a4f3a358c5d8260fa351838e4f270102d8002c544419cc2c46dbef2181378405c76d1d6f1c28885438985f8407c67f26cdcf6de938c81061fb3be89011e341da77c866f6a70ae0f8de7ed7f28da8c3cba570e4f8f093a087bf978f44bd4b5ccd241cb626c6cc0979c0a0d91141bbec7b39a91656dfdc152716811801a867d34d8563f253bc6f303fe08e30593d9455d99605a7962fdd5d3ce93f0b9387b1954a59d5497cf01a8e5ae0a89c75c8c9ae84dacc32057d509a0d394073e55263a987ffa17926d3828030dd0b9386f2c9b13743924fb6d94cdabae5965c00eaf5631b21d4fd80e6cbebf418ede617d26a4c5f45380c32b1b1b3bb8f4d16bd474d124fd678ea2c6abcc29032b9accba8b2176465a37c135faebd49c574fa09ef39fcfb44f0964e6d8c3c04f4893ec1153e2b54a75a120a5583c263666192463bb83807731e45ca83373f27336127cc7004a1b68fbaa5d57bf9f15e306846da5711fe117a6d5f301a365fb1ac168f690a8ce023811caf4c274af09af9b3416ee78f8979ebae1383b577c2e518cc27351b570319910258cd21d3ede3fbed55f6fc6b58c873811aeaf97b1602533ce385a880cf2b0b4461f389918204718615ab3ce03728a5cecee112c5bfac680248630831df764248f676b8f5dcdc15dc0efdd9276c15db5f88ae723b3081913fd47eb0d324dd5f350fe4c88b43d0ca19e54177a531294c684b2201dd482fb4eb8c0693862c18e5fe34ffd3da471fafaf30c1d9bdf7b5e0dbbbab341e1106a9447f7a4f62db64b70940f41ac58bc173ac7d4e1e5773a78a93f7464c6c14f530666efed42b0b347eb5d3ca216fa9230d6c7ee86f34d756aa23137bad91f994bfb3e686015824c611a6c1a349e662968d9b4800a09e92b7909e7bcb64afaf39335947493566b6573949975c4bc5e9be21015c39285d217ae207f8ffd802ccbc52c3dfe3afc0370e39587a1b7e99f2d599d27190d1055de347c17b28cf930b52a55aa75757295b60c1bc159ebd27fcc63d7013f0dadb7f64da34aca2e5f935cd6a46354c922f00f22b82e5a87bdf7819b0acd36c30561d8eb2a8b2000f46e62479569fbe0b162a1bf57e7dc8829bda817028d0ee6a4d0e2bba6f151882541b242b3336338b9af53b48208284f80ed8f69d05456a7fb27e0d49a48a27b006c9a4af59b44fa86aa6b8ef96d6b8f8001794325723a64bf67ae1ad58e23e86e3ffdbecba28279a76a94cfa2646731a6aebcf19a9cdc5cffe4369b6b7e52f2f75fb572fbc5c5d3ecbe34a01a2a8c15f270305aad59f73016d6e39758f141a838aed2d2f58ddcc4dca13b13597dd74e9c9610d14a9ae3705ade1a17b98889441ce5baeec194b8c2db138defff70d9273c03e0515e6b98ed6e093471ee53fcb16701d058254a52f47ddf500673301ce76c3dd21bab04d21b7fae77473466def1381d1cb4694228bfcff8128c314ac3b91814b67ba9f01ccae324edfeab46f909e42483283b89be91039b34074b0e5de1e6f3021003a310f5af7b0d09ad0df04c028907a367174063da49fdd32498942b303d793ce94ab3be4e983f3213ac8e896303fdc8fce5db73c681f50dfe258b618ce039f8b1d7c01e5923c9a18a5c18a912b61950399141d289b630a7307bbfff4ab376f039d0a7ab4b2737dde08f8e52d642c337c09c473ae1ca1ecef4959357a3cadfa89ae313d011510cdd459038b06e36e10c10b2fbf8f2a63f3483d3bd28ab464d94a3429ec1ac078c97d7bb272421309616e5d3ffef58d47dc90b6318b80f03e3e16ee9dcd8c6958d7185022e9d143803ff59aa3fcf1ef0920dcfd51dc8916577badc834f3814ae2c8ea4e3d6bdeace3f0b251e668f609a3108bf0531cc88b1885a297a966b48f9e8d852163cbc7442c9a773576d32e5be9dc5370794ad44832411709ddb46c5b234275e4598889992850ea5e52b6521f057971aef34b8470c1a00550acb8043a93c9cff50aeb1a23f22ed2b140f79ceadd84ca9b2ac9896a21fe9a58f393dfa6a8acaefd2f7bf6be5fe6c8c7dca2e56b7b5304a4b1e0f545085e9a9fb0007a18fe4f45d177d0197a188aa4a1d5dbb3aa520ae41acc2de5f2b277ba8ec0ffadd2942abb3d5c5b48860b8495a69158b80e0a8a7c164d11994528a4370dd0416c63b6bd6ba4c0c5067e2d6d96e4aaeb87a01a9e6ef5d51cb33240a4d9a3c1a99ad39074b96591a3aad4c54384e95462b4ba19e2bff7d0b13c0ca1f9e77be0cd499950c1f5cbbb698cd590aada57c6e144b99005b096ffea8fa475d75ac4673ece15d06d22b15f9cdcb61388e54985caa3ed73f657122feb19d4f0d2effc2af0f8a0eee03dd13f919dcca345589139bcf1b78b188aa5c3194a5a44f26903c0abff4dbb6855999ffae229d458700e6f31486f83daf6384fd27fde421e8b7403c19c695eac8ddd9d58212521981ce856ec788979ce319e87809e1d0993a810a3bb7df0446aa0b5955d495787b610de9bf99b10ed0722673d41068ff50f219011461b2b8bd883650b7a85b58894ae0b717e5e0e40a5f6b4da3af1b468a70bd811bbf0986dfee77270ebf0214301a0095350c3fed6d8a1e5381c581fae0f87bed56f233d73976e726a12c4457e1047276ae65a8165e17837474c69cb13a7897815535a9d90a865e380c12e0fd46b71feb1591dd736ad6a749de8a33421b1511a4d170596a66e34948e0e97fdc5b334d655110a9bb17ad080edf81ca65255ed0207fe3c90451039ee619a6d76f4cc27dfd6fef7d92a1ee8dee46433246afb624dc2cb8c6ba209cf5fc0c97ba82f3c6cde2a55e0a1e2c04b811911c8e2c526f8b9905b270c5339c33c7991b4904bec54e91840a64b750f05db7f2ec77b56121f04726ba033cd8bf451d3240f5676bdc70e32f6a1868e908d4555f0cf8e1413345e0bfb975c5d96777e84e3a50a3f0d48d1a3d56652a35219b39066dea2a90d9070f90133582982160e30809253a433a619179d7d2db7ffbdab83f367ece9b51e2768d74a114ed18648fc5dca8728aa8c3453ad03752c0f9e3af044037ea4ae0f33a84c3cae4be012fc2848bd6887b6aab58cf1c12f8966560545ca1b49f7bd2f15a39eaa5b6da7369bfa7acdbd413cbdb3f34cb7dc9605b729c8e13ed35e5f808f0ea504c8464cd0486bb11a56bd4034e80876a90052091bff4adaae7c8b1f3897cf1306df8220917b22b6ee7c382dc832768212a214ddef8655c3fc0982a4f01585079e51b3da9895d66148abd3c6208e35badb341ec3c4342453025164f221cadfdf6000231c6e1a9d8725e12630fb9b3a7475111a8f250f0f2300beadd72dfc9d21c5aacd4417bf10e9be5668b9ec3c7a8412105f5bf9435f37008762d5c3b75f22c8f9064b54b92609b8f08197b09fa5b6d59ac745866073fe02233e2472ade05445616413721f16f065568054a752846c4b0386fdd55b0870586b680f658014a03f44c6e7e8b0281a0f895a4ed499fbfe20103ce5ee8dd86435d154daa4c3174dea4874fbe947faf6f1033ec04e31e82c8c4b75a0c16e211ef53c181e6a71ff1e0d5f6e96ada9fdd2d8742fbff58da8d9aeb84a62b18f633f5d30c2253fc030a31257c25ecc4120b33ae0c5aa84c7048ce0b870aca97d0a0985b3973603e349c2268d3dde13850daffb319dd1c04c20b07142c06ead872c6679eb181efa9bf66170c85aedbbaea0b3b35caaf2c0363d336d3aa9c32f96dde855046887be5ea81ab7df9c53addc776e9d774539d406be00b957898390bab9e597cd03c5e5bc8b3d0323214eb41b54290841307706267346b6e8c37dd71275e5a30e5420c5a063b7b47495ad0c15dbaad40c9f1e287d2d91ddf73474937cb39006f94e68663d61461f7ee1b32eeadb92fb6e8be10f08701ab316581336e98bfe65a5b14df3f68e14dad82b989ce9a6de777cf2b2c3e773c04d96c5b4abe364091cc0214ed5992c53251c6f80feabfa30ecae6d8fd9231ce88fb85d898885325f8689304639937c1955270540e5053e246042f3dc2e1c59f2c2888659dd5e6fbc1c7640c6699f6f378ff36361e9c03e0ad2a218d041612e091395a63a7411729cbd35f19b18553dcb9521154268f5f8268438ca9905f419735ec6935097d22f79cff2797704a3e61e00dc63e7ae3e31dfd6ce0e0f512031005e2db2564db33e54e7a6185e73934838f1843cdb2cf7fc244c1bb8405d302475c813c08ee05b4cec2236d262c5779fe68ad442993db9766c808880ff080bf436d0d6b46823a2d8ddc62982fe9eff6cb58c2729ca325dd9e154f5fa58a08852d92851c600e3a56a0f39ef8c5842e897a315047eae74d40d7392671f05d8c1975c6351f24e0ed710301241790242f070f73104b446c1737c235", 0xe00, 0x6}, {&(0x7f00000005c0)="90a2ec6d7cd5192b37e36202ff9c4f36cb3d5c7ef6efc9681372a1a753e8b3cab7dfded75028c7cb67a8f14db76b5172b4996f79de1908c9d7a3be11ba03da2ab77a0dcb49b98bd0520e063e14720802c414bd9d68af22d4005c8e820e7d8224c55ca153da4c9c7aada4d467d81cac732784032304cceb0f91481e128211c251c5fa07e09b17b3be16f04541508a728397061a447ad1351e81b8ff8d1ca0930d8693657afaa94d2a57cd", 0xaa, 0xc57}], 0x1000, &(0x7f0000000080)=ANY=[@ANYRESHEX=r4, @ANYRESDEC=r2]) openat$hwrng(0xffffffffffffff9c, 0x0, 0x0, 0x0) write$tcp_mem(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x20, 0x0, 0x20, 0x0, 0xa}, 0x48) r5 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r5, &(0x7f0000000680)=[{{&(0x7f0000000300)={0xa, 0x4e24, 0x0, @remote}, 0x1c, 0x0}}, {{&(0x7f0000000400)={0xa, 0x4e20, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000001700)=[@dontfrag={{0x14, 0x29, 0x3e, 0x4}}], 0x18}}], 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(0xffffffffffffffff, 0x1, r5, &(0x7f0000000340)={0x10}) getdents(r2, 0x0, 0x0) [ 241.410908] IPVS: ftp: loaded support on port[0] = 21 [ 241.519131] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. 01:19:39 executing program 3: r0 = perf_event_open(&(0x7f00000005c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x4, 0x100}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) accept4$netrom(0xffffffffffffffff, 0x0, 0x0, 0x0) fsetxattr$trusted_overlay_opaque(r0, &(0x7f0000000080), &(0x7f0000000180), 0x2, 0x0) bind$bt_hci(0xffffffffffffffff, &(0x7f00000000c0)={0x1f, 0x2, 0x1}, 0x6) r1 = syz_open_dev$vbi(&(0x7f0000000100), 0x1, 0x2) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000000), 0x1c) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000002cc0)={0x0, 0x0, 0x0, 0x0, &(0x7f00000075c0)=ANY=[@ANYBLOB="10100000000000000100000080ffffffbbbf6864d5a6abe87210a52c2acde084caca2598556be534daf7101965cd9b0aa79533abc31a4ca902dfe07a7332ea32e008a16afe8ad138f0214c559ca37ca42907488cbde09932de8161e041e06dc5e2739b6a3148b0c3544d96b68c83edec1ad6c9fd820e915b4fca81e3627e536a48e3c52142660c8ac5e100db287cf896236907bd14fc6e0d0b54bf906402cf4d99183e90bf2e7d5cdea90cdf4529a5a2d696985049b3476a40a5d4218bf63e859ad7072fd61178028a167da63d6da27d2509e0dc56139eb510e60ff203e149fa236c186aa88712f1f5283f8067ca0a51605b882cacc12a946f6ebdc34f2bdd2e9993c53fc62567d67303fa8118bbe16e7ad2ee604942878e3851032152375ccb0357e7392e5dd3a39116d97de125dbbfef751ab4bb925c071d53ef65386752c9997e2713ce94d312fd2f5a0a23f969e6494fe59b785d252644174d6166c0fb55818ddec9da9bb796d391810cdcc08aeb73cec480425239afb7aca6325a23646098afc5ee1c8dfe2451a9be0a2b9163ae6407cfad028493068b21473a6b2ee8c478bd81b7c40bc88f10fdf66a28f1b8bd867802ca9a1c01dd8ad0b61bafe66a132f135a6b8b87b78ae256ebb73b6c487569686bc5f71872ce6b7ec009cb8f64ef91808996ed11af8a00a4a3e76638b9acf3891a3d2187407c495ca1002d19b897099cfda69a083985dbf2eb6af669d6702b2735ab28d4cf997feb1890c7a7890defce7917399d5a65caaf1b7afc79ec9603c966422007802a57ae2b1b5aa73e0030f55281e5d24ec6b9b9740f7291c1ed067dada3ab62eeda70ae4707357e6c3c0a3b28ba6ba06ec0ea041b55ddbc87b715eaf1b370868329a678beacd9bc4454b598671aec278713a6c7c50c00f62e0cf6cb5b8908693600033223323c16c444b60672ce37d3bc8427d877e4dee8d211cbc0493f985d3ea61071dd374b95b79b3121e233134ae0552a2187439e9dd385eaf911dd7a1ce2065564394e358ed791592f8aae2b04a337b06b59e986c4258859983e9e925b1ebbdfc03408ea368553c4311ada6c9ee41e25553ce62ad2bc8f2da2ec4659e2727a2baf14776134ee714832570cbca1d65aaffc9155fd6a24af17d0aacf2bd8536b4cdaa21f5b457310021c340fc933f87553972f92e665f99e5bb922ff430f66bd34777dc43a4fbf5a81ccbc73c9123962dd6a2f60c216ece60ff99b71fcf32fa711ed266d8c3a888a0ffc2320104329153f80f59fd2b57c33c9cf4d23ac492ea467962dfd7453c0c78b1ede291ddb7b34305e3d462ba5fc0e939ca2ea2c5df9009b7539dda4d93e549eaa8a23db4ff31138927db9f7d5802a6af6a225864cf99802d153e26703fe6b34afe82e6b784134af136e65df993c3c9829dc8c32bf0a2f59f8a6c5176e899d45db5002a95beb2fb9d52b5cfaa2f40ccbc6fcb4f66d7c6eefdc70ebcc95e6eca3880d78ce106d54d116664fe4a9aa58dab4f84e252f7041d870065de4625ab62fa16697e0da62530fefc2085815f166991d5955960aaf42d2f4985cac9efc023b595fbd077d9541b020e1742d11c0eb81b778e54898acb84df5fbf6074b24dcb58811d40f5759fa562d6722e778d08c54763f4427906e81c46b9c504710b5ac291c5133f5fb0fe85edca59f8e3541c74438c18a8c0cb6ece2786572c597e20749bc560d8b9a1de305b7ca179a2b91533e905dfaaa5f799a89f63f57763c2a36c2d2108f4c0d5f9f5fc7de54d89510f5379039f097a2794466d345aa7ba4ddf3420bf7145fee443207d0dc84aee980555e8e1be95fe801fca0970c76f2b13e252eaefa0ffed7c2a68f761f0f89a01ad0e6b4658795b117c2b80a649cdebc3a048764622452c86720ad32598c2109eab34f6d3ff9f3ff96411443f8ac3fde68b598b3f7c5f47b28d5970edac22f692e2aa4289fb89f79f8c0f1c49842a91b83091dd8c434861ef25cb5de4af8612cfb3cac5f583cac62c2a5d5f94dc3675a89d2a8888509772006c118f3fe82b541af11654b1c95435bb9435fdca0e0ef4e8fc29301ac8a9dc56e935611d82889b17ef201e52e5301bb422fd02b25575122b6a05062b16e3dd374b91a7f96110df370f40610f5bdd87bb2c7368dc552a7985d9b1316b956cc13d6aaa3a319715078b3718fe4f6247159eee0a740ad815eec3d1fffe8b2f63952f9398f1e50044c73dca91bd1d3805cf76fc578e3588713880b4f80cee2d000d6e5c7d5277044351bf8d32d64f194e45cf7c01954f770fbaba72f8f9f70e954df2e50163fa0f24f33ea337c9567ee3270ea18b108faa7581555d1b2b2a06ec90ccec9d658147cec54745dbd1627e964f760caccbb3b2f5abbe22add12f639170fb6d1949702a6d858c122f001dd1b1b2662d8b5b050ab21b143ea6ac5082412d89d69634150cdf1af39117a0be6f423497ebb895208df74ae8d337a12ba3daa5ab5985c384d0cd021af0a168fa6d9ffac543825b6cfdd21c29f99115743ebb8e76310a3db2d5487e860a2d4d5a0456382ffb9220816df083380fd2de5f281bf8f3cf497715848adf0407cb05de25c56b2ec832fce76c74077a99f7c2c601f8ebc97ce8d5637311c237d43dfb9bf79727a1b4c9a1bd1ece8130e3adf25785183288fff90f6d9a55a7c0005beaa89cfd156dbcfe723b692a48e5819e277a466c5f517798ed118834772e53b85183a351fe0cf87d43bf4f2382758fbc2203b7ab2cb170dfc26485d39456f31981d0cea39ae51ca158d434184410e5ad5e8c7d2973bfbfae790737f144fdbe8130a7da89e0a988e2dfb84fae975b857ea3e406c1315a53499d44a690b6fea3a93d34e67a06dff8b92aafbb46759f457929b981df9056d6d2c2338841ed1d305e42dec8647712ac3ec43bb1ca317abf4a380603d0bd11656cafb31a090872581e25c39f33d01be0d1fbdc8a96b639091de61cc2030ca6c0703c6df83bab06bafaf72e9389b4183ce5c53a8dfca79bf905999108b8c4924beefb48c22649c849d1fd549eaaa720836403e773792989b00ed70a1c222ca8f6aed38270305803774eab5f8015e34ba8f5de7582b0b53c1660a67e93b0b05a7a4ae447f2a0d30fa8660b3b51fd7a98b3161f4974408e074fed1090661c968fe670ab57f93746f758bef3dd6f9438154ad03e138cb946a208e9bb37846b56cd36fe64178704e5dd2766d1227a56373e072efd503a525ee9ac84d8a0c6676563e94229450d40d297be45970b7ab435cde231d7dcf5a3662bb3dcaec51ff5fe4da8e043d11adcbdc282500897583878a8c9fa8d3dba54f1ebb9f939c99e44ef29a1a466cca99ca1a6da721853bcbcd850391bdd2a301465a497d07f25da21ffe5126a989a730c82a1b9366fade730e8c0247c706939555e499b28312570979e766a0a798862427d3154c5dd0cdf7750f4ebf3963ff677aae1fb3a14bd586bdf50347e59518754f8897a11fc9e05cb5275141bf8030683d1c6bdaabd804384866a91c273a9af1c009e532a95ad8d7b7a537e58bc0482321cd88570394a39cef5afbe37e1b647f3d7aa6a5a7d5e9982784f4a7aadb34b097a6599496a98cd9707b80dd9938333cea941f33e559744614c721542166d5d4151c8450cd20424ee73f57c5b490fce3a9124bce484894ef09f87308898837fa238433136440f688982dbe2673f33ce71439584e73e20339514d7d2cc4412131f2bf710042b9a235d13af230b5f657c2d219602eaaf479a4134ac23e6a65a64b47731ebf14c638ea4425e2cd43f8a7231c7a657b0ebc05940a37f4855d7041f187b864f3ae29f1fec2e116518519e7ba18e65ecf258a8371c740c3609a8e74e2ee0e19f13a30556da5dae541f54ba29504c2b98baff5c2aeab519ce95a9e722c8a5c09d3a34a1cfba24610241db2c44da45841730dfb9501d1a9ea58cad74670d3ffe0b00d9010f59dce28a2ec2a0542e1922db9484cc96383fcade2d1307c3c1c5f93f13cebba3eae122f2b09a1f949448aa8748ea31a85cf3ced5aa6ec5c914ec9a0e782c08f495cdc67594a01f98558f5fba1258be55afc799faefc769961d5af02a5d880487a9090e1a0c015162f5b6da4ca70fa65e691b05e0fad84508e258e572b1afcf3d889eed8c67b7b13712770991e488a49bf74d1c48aa01e9df642d81af918a8a05387a4523af227090c0bf55f8579e9f4be83c673d424291a2d14626365c2832da37019676de942bf3c0d0aa17feb19a464faa822ac4788e1f7799d743d9d07fe3b9611f14481e0c39a009fa966a47141910af10649881d1ae691ef54e2bee38253f7d4f1cfede34c95f96aa0007aeeecc61cee10e8231d92435e4d6cd8924c8511c92c18d41d6c223d4502923c4b15c371e3e5f7baec51c51a16cce1ab08314009e0ca1f6b760b6c990cf56f47bc6b59b6cd508412357fb2902cb28a914ab16556d67d5639e62fb383f6f5e2e8ff4dc65c41b2e4030795e92b4bdfbe5363f171ebb2484d26e97612a0aa68faa0705d9f73afecfcd0fcf7624fb27636f65a84fd5f3e13e2ec33f7377edd05b22f9b278ddb1be2f2a105d1177c1359fccb7cf5a23f1b1ec6f975f728cb7cebed4675900e5a3b2841ed3257d1d38f8d06b02bcab6452303e889dc7565a5eeacfe72df1983faa29b08738a974eb4c3d14b5264935790956f047321438b636fd732265b93326d42544a93ba358c5e62c63ba4125bdb31cf5b92a1012f0634c5b2960518d81bcd54fb3062661573738f99ac9a4fd53586681065b8f30a156cb19f69735840efa69e3211b2ca23e942bd7b3f99eda57cd8cd61f685f6f3713c3bc19422596bd2de1415e853835f2769626bcfe389e61ed3b98b746e71deeea500df2db5f4534c150538178913441dfefc3cb7c44157df6002f949d9385641644838ce2cf1fca98945990f5b8ce1f3ae173fda623241ff0e2396728283a6912c9243b46970478c1e4e7b8741659ca402b0765785a5ad1c0a107b9ea0aa0b4d14b12fc6f9d24ce701b577494912408fe378ba4d67168343e4efd68cd8312b9bf623adc5c58976becfdd40b2e90c408554f2cae6f667b57e9dec948ac055b69ae5c463fb281ece1d9fd346469247f4d533553bc3ae778e15bd2c347a567522cc90914254aa9753372a994c43b679a7c8f91b57be3d923286f09c2d803bffd229f229e6a49a10cc8f5275aa3aee1f6ac5947de495de168ece7e20e28f32fd1f6325df156b577c938ba0b1d275c53234972b6f5a662bcb3f6a1bf5fa979f5c7d550e18e2a87fba286a9649ac3489144bb9b9c6995e4a8bc116d96480b683475bee9b6f8cb1c5c723619b35d0441a404dd480d7246686ad2716be8e9428e13218e4f2289aec69254f1617ab81d83e135af84ae5ad27284885c21df810fb46a8515371d0abb185e5f489f5148afd1ab34d0d8d97287edc429dcfba9b5a365429285f4b4d68c20fc2e4a06be46124981a91dedbd3f7bbccfcae5c244ffe10fcd86bf8bdbc32b12853663b13300b4dfd5018bed4031cd9a35f5a25827dfddf9a460f16cc6d3d9a49a0020ab916f7c1b3a841277385e41b30f87392caf78705151fefc657357f149b12dc40658439baaaff521b9388452bdfcb0c2d383a00a8ab4c9a44fde363647b987cdfd48f4e3b8746fbb066c1e30592c277a4aa2f3652b061e2acb03ebd8ccf87c782abfbbeec89615b71d7eef2ebd92f2a8e317ebfb763eefad849ee4802552cad06437483e875f73851fc7c3cde0967228ccddbecd9b89e165341241e04688c91bd914aea0ca5d010100000000000000701000004000000635747cbfd28d7e380101bce1009d5e084240ca29bf1ce2a0fc2a4ed67bddeeeb1e78202cfa468a6900b99f08e19e3b0119c9948223c684e71780a99c7ac964b2ae9bde47e28eb0fe182c9e263191d2a03c32fe7ecdbcc630997543301ff1f9ff64ea0b817694326ecd7810d3aff161265103d1a4c0af4221c92f82d8c2a27996c99fe8f30cdcbe3add5dcf0c2320237c6857db7225214936054a1a0f7ad1f6c7b020f893a5a6fedda4d657d165f51ca19546a25721b26762a95d49ba35d5646a38d8bf0eaa9c58050ec5a4a686dbbca4004f384e997852647a35574ce9596c9fc3e0b2245f24c4769df25bb9932d2b8d5790f75ed0458d01adb82698f2aa36a2212016d5301be8959ee7e2354c8959869349c610c4afd57baa576a27b371f936f184ceed5b4d5c053a9af0d12b6d3f69933c0c115299cb28b3e32c23914dc01a82198e0f0748fda1f1d298f7fbc358c60b5e7d797cc3679a70a00a52501e9d8c65df98410143a18b0715964f6e5a08a84587239d2a8471ffae3924d09e95b3b62642139f2b703b2df4f442181f2663bc978e7fbdf488ca0e6caaf7f4f1d5885b4c36417fd3168e1019deeeb41fab7d88373c3c2327b81e373be68967689f21cc2a15a804461e27eacaaa970ae7f9ebbcadc4835f03cc5590996173916759af40541ac9ed083db8209ab08d00c4a746a584a7a936941a3b3084de4b77d11d77de80ccbc0d7d0b1080fd76751f057ad4e66e1fe8bcfae7295784cda58537f57c61629ebff4f0623464603a8ccce293d6308f201c1e50d05d23c8f88b8753543a0d1860c785f2c7cded7a9429b4fcad26d4b932e3eb0df5ff2a77caacfc27cf099e4a781e5006fafb789c2d810aefae16dfcd2ff9575de3f49da555ec021d5d45271065a42de3b4fd82a94d32166ec996dd7fbac44765a06742ae9e90b57173e9124875c6624cb586d23afad12996d485b48e4ab51f3ca95717955d1f0ea609aae26232bda2c75a26dbaf4cca2958d9c582cffbba78a3883fe11a5d7369ad6180b55c86b7803bc1f732fe686da6c18ac607982f8cef0e5173cd6ab4bff7e2cb7f06c68d4b4edd92e7d006ecafb17cedcf0d252323ddbfe46db9de3730baf469d50dcf1d2e834952fc381d39743c50e4998ca09add496d52c6bea9b78766164f33aa1141546b432546fb1624b21eb48ed191ae0fcfa7cb8fd96b95912d2c5f234f47f4c00813f6e68b9e126a0fe9758145acd80088d2ffdc66a5c00645448ce8e518649c0d4494b9f93f389627177f4cb6e8531c7706b7aeeda165d570c3542ed428f70db9db806342591547868c804a49e460c5ef4325b44ff772355d21382460fb94168bb652de246e2d3b9c7d58beb1e07995dfe8374949c504d42d58bf1c8febc4e39ae5e8deb634d55c659290011e2833cc44bc18f5d063ede66d6f8c59d6124de9af60059c618d9c5978dfa36043a63302b062f6ebca23c690541840aea9e912cd3769ebd7df2854753228a4d02672d2427c225faee395a990cadb860024fd977a87e5772573616f26c85c0d5cf4b841ba77e8758e55dbc961ac833c2c6d526e6a0d3ca2dc00c6d21ab032972419bd67ed7d030b203e105bc7def1e2b83b980589453440c6e04cc327e85319644870ba6e24e1edc237b42d8a6bb959cf492aa279de859c58458f8a6d607b039d5bdae8b7c17f8dca23b233be5b89d8845c7f15f63e212cdc1503404cdf5f042e2b9d6de9aa577bc9b4194db9caadd5d2562db3b39d24cbf31246ea9c2255ea0f96992af096502154c3661957167923669e0a3e91619fd80b6ebf1ff444121e645cf2f8dc095ca406eabb582ee94e42b5e8f0b577bd2dc7797080c9ace2162179e4dd35daf22bc8e975d7deef8a3585730989d2a7f456e1d1fe17479c665c17cd1d24599636eae2ee262f2ebb177c63cb458d09458b6d5e6cc879131970fb2982858237cd211095eefe12c5a49c6c31d8ca8660c655f7685b49cff4402c787e934308d172dc1be2ea8e67b2d9772bfd2aa59cebfd836becf3e6e9d2d2094d5af7df08c27e09a7f121e972abe980bfc3085d63feef9e5d1d902433abb93f9126b094e55215c294c6ece25a57cd25b47768ca38e202a39386a46feb30cd06718628eedd247b628ad621c8830a4ecb068ee10d4064ab53d8b936ac59f29991505d843c8d4d5445b1875a40cbe05828a50da27ae8b95baa2dbad1328728a0ddab2ecc5bb8d8ecb106f2dc4dadd978b961f1f65d7fb32eb9b850ae45eb6a6ef0a86dc94f5e45ebadc4cacfb85b76c3e64c6e55a6cc845f22a8788f379f0ec21b6b1296cdf5e00031459114fd1c8163c82ae44c4fbcfc23a4f048fa54303b6a84b2ef042b36b8c075398d01ec14ab8a405166160ddafe58985f7d421156c3b0366be44ee51d85618be937b665837d1efe66afb951ec45655a1a6ed33ca9b5331daa6d2ae5da76fa0fdc6d6958137b7abb224952489a7e974a136ba739a58240203f28bfe9749706e48155ce688d659c765040cf43915702f0fed32ba142e07ab9ce93dacbe5f8262ad1a2ece8e0084e1369d4ba0352738b85729dac6d8108bfa72cd3294fe8c263a325f76efa8030f35ea37d84ea1f6c76117cfa05133839fbdea361988f7860597edb1d24145f3280d8141efbc37defa78b85c0298ec85fcad5f4a0bb58afa88dabc6af533a8fcde8006e20fb87736dad2df8bf1195c6b97379e9a4c9298597fe5f6de9bec2331fc5901a35f89dfdeebd17571b8b1933a101d6581e833a676125338b3da3613001db3c9a2729dbee6310deda56002f88acee0a27f9254b99b97685eff96ce6024e41af4f7337b156a0dcf17827a7395c5397f329b59c6b2a0d4aa32cfdfa1eec8ef96c2d69ce5cd5722a72d1854ca83b6f7ee9d1581fd8160f50aaf210ccae5d3c713a8cd6f14ebac596733871c71094a937ef4a2a799f556846204c5f7ff6c55e3e642e959d5221eb760739ca574a2b4d3774d4cc6c520e8acef0f7aeb2982d76f5025d847ed8f423b4322811b97e06f8d3d135a84b8910d2256912d000e56f10786fe3a71ba411fb52bb66a7e1da63309b933f2a7cb460602ea410c50cbf7f3f72d57be00238eca451a6b00c2faa3ca2106dfdd37546d3e99c71d226c3e69ff7874e44bdc55fbeb683ddbc1a75426ff21d365f30f51fcbfe94567fff531cb0fc6518fe7448e237cd5e66ceda5dad116cd3049e43ae7e7a2716168e7a13bbd4d6a3e9694fc3775972a5aa207f0f40d2acb565407c5eebe246fe03ba87eac0154a6de5898aba0c2d7b596b19c55d6653804a1ba7b7bcdbb5b4d572e0a1d9da8c0f546a38ac63040dfcb2599bf3992589158e6d8cee7f01f938dff76cf822e4bfc7c397b5a41ffda9118bbdc413400578a830c396384054d12a5e85d5150a9976551c4db5efabae0c9c57a7f6bf4d91fe1ec7a5330ce7047675ae78a2d592621b568f3f00b4048c10d6819bae25e834e97b1e2647047f8aa936232cb3d4108eecbd7a247cf9a6f3367b6512420ba59c366add8bef000664f84c625a7d0f55050058027b574ac8788d691c9d15819519d624765ebdc7adce8a262cbc408dac90ccd70ced4a86d19c5d273e7d220993476cd6bd0c07ec7a2ad88ea630e7c3d03f52bdd95f9c7a483d4ef315d859baa7737d035485debed653b59401396476ab5fb4a53f899edf79137c92a64d9a87eb263e24028e2fd5078d0158afef57861285a48271bbd75b3b548413bba17ca9a06e442ea194ffd58c25fcf9bc7dde90b19d31e9d2cd9a97870b2a779d97079c259f42be3456682f8f010652bca40766b602f02c82f63ac06f18efec7ce8330a1fcdaf52db640b6d061306efc7794a50be15bbee7d7bbac5ed73ae5d685b3e6d522777b09ebfccc882c7c56be477f252e104bcbecab1230aa428504af7d9026ee9b8359beb4195d40f28e8ac1d3d52123104595909e23ec0008a72dbccdcc87027e932dd450ac0bfddb575f9a91093e5e0334ee414f1b9cd3c28e16c5c524b5d1630316ff42880919a042be35995c7bcd7686fd22c530a17910e21040ac013c213cccc87b9cddd3d4de33a92a924c7be43c00cd20d6bcde34c60ffb6f2c05e56d6f52259e7c22826472d9b722766396779c5b8a2042b2fb9d1a9a14664d6333bf7052d7c058a7557634cb00fea8e38d176b1ae97287cf2cb238cfdc8ac4897909c3f188e9a1fd4b9d26851bfd3d9d065eedf8572fa81082b5abf24929d9b9c8a6636bdeca213a40b1abe9e0ce34d604906d87c83fe449f78668f541d03db273fe4ef2384640dce1a0f1aae0ec3aaaea4c0f51ec4dafbf5aa50100f6a47bb634a472a8f677f50f6be4aa9c0a5f880b0e8ff14a6bd01c20477a30430db1beb2c498226ae1c7003f1c022347553c6d961a062169843eb4b73590a177d48706f175cc6ad8cd630ea1aa7e61b344dc05b4dc052d093d974f454bec9ab1a790fcb3e6b05a0a6b9de0548381e14efa5e7da942e9629a2fbb9844c60638620b15a8120d0dae6d91d37e2e9f60d974da28fc95cee8bbbaa6d059459ee7aefdf665d85062407a4d5a12548420a5834e59da803deaa1630b19a3a616b000e668c0d61408380c422fe3707ea66944157a8e1107c2c4e27982090aa4cab2b0645363b93ead995d84986b0ea56741e797cd210b10b41dd42e50ba67a9ece3d32eef71ae6f6a4ce627047ea38e6590bbd66ffc6e3821c216ff308fcd32a16d421f8f728f136ee130076c5356cde8a873f786015531e4e1d5e4ed568dd930ea5f8828f6d2cc9384b6897a27385811f7281e2c38a85d27158611ff696c86faa1b2268e7012a88cb65a985bdd8d435b432643fa4b399a3b11eae5494cbbb97c284610f814c083337aa6ed79997243a15d6748f697a47123df8493ac8f560320a7b043e9b4862938b60ab5843543ad2c197d1a572788b154359e40486e30cf33b8e6b57fbd86e065aa5af489aa96c5287a23da9e8a3739ab7fd468cc5026227a4384df29e0db753a823535514261b2fa41e67c64510b9cccc504776e0bf3ddd21a7ab77458e69589bde1c6b6395b64f58a09584aedaf4b76c939df7e3327b4101b3cae1f99d52701c72581defbb1087253192bff5da66617ff4eb8cfac389fc46f116939573e08a5e32fc71c33966abbd0db096814317cb6df940776c8d7f8b2b7f92815d1b45e91cc872e08775e7cf2de4b4f30eef81db71ca8a4032bfaad8ad5746951ab0aeb5fd33354c7114cfad67f4c8d653481579d399c0f71b74e297932ffde1d7d9d96e7ef495c610f9df7ad9e0963eabfb0af7939544ae25d87c5b93b053de414f21b8588f919b42ec2e8233c980490a8abe64f8552b49a35b0dd3b30234f0df4244443da8c2eb385e5b3324947b82d41f9a0ce54c2db1cf8ba52dd7043233df0c1229ba751e1efe472c9295cff0c3f52d1815f77fd789ec8114fd924802b20eddf59e07215f57072192002b783830b68c2efb2cd1d5530b63c31a098ebe441a78be9a07bbb23b76d8eb89c54ff7484e724dd52a0e1ac07df8b4567f22579117f8284dd834d8effcb7a16849cc89d07998619563d896e8d68248309d520a7ccb8bed6a9ffe934fddbc1c00167fee82315f859f8e356fdcdfb6aa7dceecc34b821ab54ea7ce435077484370014dc53c31637aa0f6021a1502b16c5dac5abed0149c5ce96989960c5a0d4996e46f260d63ff27f5ee0cc1f5dae7afb825e4d83ead9f4679fcbae99c4934971606eabc93d868d9688e438f377aa1c89245528cb4cd9d04fa3eefc721e38000000000000000e010000020000001ecfc8c1cffc460bfb7b7e919d4d87c001509230e42e1d86982f3ecfda1fa998761f08ed39d000002800000000000000190100001f0000002c11a1355a9718a6db1a211a93eaed9c9abd00000000000000010000000000000c01000003000000f2f217bb25ba5b637b3871daf1af073fc8b9dde9d20e57e749b82a61fa65017c85cdadcd6758c51cad02faaa0b9c4629aab36fde1c530360fc38682619664da0f3c131f9bc5367670652a9af81d1fbfcd55542bea64dc03e6f88b6b3b7f4705b39df0ea2c1171ac965fcca246c92339b0ac0244a8876e5aff586ccb725629a05d96bec2de9b54089ae5985e7e13281d7b1ea4061764bfa262ac7cac8fea747d9ae3edcbf011637d19528ba1f0b457228aee96e47518d05d6a5cc667c82530c61cbddaba7c8e175fdbe2e2f46f96d0f87a347cb19dffac1c8528edcce43eedb51ab37a0beb5c12f9a00000000180000000000000084000000000000002e99efad7589e900f800000000000000130100006c080000e8f654755956bd73518fb99e582475cb11965b1cd0f41f229950ffc87ec9016abbe2e57d706a3f747f7bebbddb227dc3cacdc4897c59dea39296efdeedb59454eb9a3f0a70efb5d5bd268eea34c5d114d1da695a47f24bb99cd5fbe37b7e5932c50c344c8bb9850c527c54fb0ae153364c2b2fa583ede806a044145eeb59e06a2434bd74c071b68834b60e86affd3363cf83e7833bf4563673b416eaa38306d5bd46ab526fab61c8dfa4516a5e11584d3ce0a26763e85a0380cb7947bbed7c7f06e1b2529dab3f3aac6ee2294c534a3c8b73e83e2478bab18d85976dfb3a600ddb353c0c5e63505b2f741ccb000000f00000000000000001010000050000003fe684c26cb23e6a331c763a4725344630298ab037d7193814854e56bc79f2920c616687f2c3e117bfc4e3c09dcc75aa0dfa5065353c7a8d9541a23d38988dc651c4681a3d6849232886ac8c8cf2e41371847eadb70971d7a230eea83cdf262f890a3ed72a7add26dd8d398b36cdd67f6425aa4bdc3aab345c4305d3641c9644e4e707b77dd180d78f219ea4f04c5385e892123d8a3d089fc9bf8777371d71f9dadda29a03ae79712f2c2022eb4e898d9d05b845b012bff8c5c57c0b06eac2f7611580d315ada43e20fb0f54fb6bcd5fb37f6f12fe14517c12c600000000000020000000001250cefb0100000400000008e703b740782541b371"], 0x23a0}, 0x48000) sendto$inet6(r2, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) shutdown(r2, 0x0) splice(r2, 0x0, 0xffffffffffffffff, 0x0, 0x406f408, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000400)=[@text16={0x10, &(0x7f0000000380)="baf80c66b8f4acc98e66efbafc0cb80900efb840000f00d00f221f3e260f01cb66b80500000066b991f300000f01d9baf80c66b89c6b4f8766efbafc0c66b88000c0fe66efba4200b000eeb830010f00d00f23c60f01ca", 0x57}], 0x1, 0x24, &(0x7f0000000440)=[@efer={0x2, 0x100}], 0x1) socket$tipc(0x1e, 0x2, 0x0) dup(0xffffffffffffffff) r3 = memfd_create(&(0x7f0000000140)='\\vnet0?\'`/{,vi.et1eb0u_er\x00', 0x5) ftruncate(r3, 0x1000000) sendfile(r1, r3, &(0x7f0000000040)=0xf18001, 0xeefffdef) socket(0x0, 0x80002, 0x0) fcntl$getown(0xffffffffffffffff, 0x9) perf_event_open(&(0x7f00000005c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x4, 0x100}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) (async) accept4$netrom(0xffffffffffffffff, 0x0, 0x0, 0x0) (async) fsetxattr$trusted_overlay_opaque(r0, &(0x7f0000000080), &(0x7f0000000180), 0x2, 0x0) (async) bind$bt_hci(0xffffffffffffffff, &(0x7f00000000c0)={0x1f, 0x2, 0x1}, 0x6) (async) syz_open_dev$vbi(&(0x7f0000000100), 0x1, 0x2) (async) socket$inet6_tcp(0xa, 0x1, 0x0) (async) bind$inet6(r2, &(0x7f0000000000), 0x1c) (async) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000002cc0)={0x0, 0x0, 0x0, 0x0, &(0x7f00000075c0)=ANY=[@ANYBLOB="10100000000000000100000080ffffffbbbf6864d5a6abe87210a52c2acde084caca2598556be534daf7101965cd9b0aa79533abc31a4ca902dfe07a7332ea32e008a16afe8ad138f0214c559ca37ca42907488cbde09932de8161e041e06dc5e2739b6a3148b0c3544d96b68c83edec1ad6c9fd820e915b4fca81e3627e536a48e3c52142660c8ac5e100db287cf896236907bd14fc6e0d0b54bf906402cf4d99183e90bf2e7d5cdea90cdf4529a5a2d696985049b3476a40a5d4218bf63e859ad7072fd61178028a167da63d6da27d2509e0dc56139eb510e60ff203e149fa236c186aa88712f1f5283f8067ca0a51605b882cacc12a946f6ebdc34f2bdd2e9993c53fc62567d67303fa8118bbe16e7ad2ee604942878e3851032152375ccb0357e7392e5dd3a39116d97de125dbbfef751ab4bb925c071d53ef65386752c9997e2713ce94d312fd2f5a0a23f969e6494fe59b785d252644174d6166c0fb55818ddec9da9bb796d391810cdcc08aeb73cec480425239afb7aca6325a23646098afc5ee1c8dfe2451a9be0a2b9163ae6407cfad028493068b21473a6b2ee8c478bd81b7c40bc88f10fdf66a28f1b8bd867802ca9a1c01dd8ad0b61bafe66a132f135a6b8b87b78ae256ebb73b6c487569686bc5f71872ce6b7ec009cb8f64ef91808996ed11af8a00a4a3e76638b9acf3891a3d2187407c495ca1002d19b897099cfda69a083985dbf2eb6af669d6702b2735ab28d4cf997feb1890c7a7890defce7917399d5a65caaf1b7afc79ec9603c966422007802a57ae2b1b5aa73e0030f55281e5d24ec6b9b9740f7291c1ed067dada3ab62eeda70ae4707357e6c3c0a3b28ba6ba06ec0ea041b55ddbc87b715eaf1b370868329a678beacd9bc4454b598671aec278713a6c7c50c00f62e0cf6cb5b8908693600033223323c16c444b60672ce37d3bc8427d877e4dee8d211cbc0493f985d3ea61071dd374b95b79b3121e233134ae0552a2187439e9dd385eaf911dd7a1ce2065564394e358ed791592f8aae2b04a337b06b59e986c4258859983e9e925b1ebbdfc03408ea368553c4311ada6c9ee41e25553ce62ad2bc8f2da2ec4659e2727a2baf14776134ee714832570cbca1d65aaffc9155fd6a24af17d0aacf2bd8536b4cdaa21f5b457310021c340fc933f87553972f92e665f99e5bb922ff430f66bd34777dc43a4fbf5a81ccbc73c9123962dd6a2f60c216ece60ff99b71fcf32fa711ed266d8c3a888a0ffc2320104329153f80f59fd2b57c33c9cf4d23ac492ea467962dfd7453c0c78b1ede291ddb7b34305e3d462ba5fc0e939ca2ea2c5df9009b7539dda4d93e549eaa8a23db4ff31138927db9f7d5802a6af6a225864cf99802d153e26703fe6b34afe82e6b784134af136e65df993c3c9829dc8c32bf0a2f59f8a6c5176e899d45db5002a95beb2fb9d52b5cfaa2f40ccbc6fcb4f66d7c6eefdc70ebcc95e6eca3880d78ce106d54d116664fe4a9aa58dab4f84e252f7041d870065de4625ab62fa16697e0da62530fefc2085815f166991d5955960aaf42d2f4985cac9efc023b595fbd077d9541b020e1742d11c0eb81b778e54898acb84df5fbf6074b24dcb58811d40f5759fa562d6722e778d08c54763f4427906e81c46b9c504710b5ac291c5133f5fb0fe85edca59f8e3541c74438c18a8c0cb6ece2786572c597e20749bc560d8b9a1de305b7ca179a2b91533e905dfaaa5f799a89f63f57763c2a36c2d2108f4c0d5f9f5fc7de54d89510f5379039f097a2794466d345aa7ba4ddf3420bf7145fee443207d0dc84aee980555e8e1be95fe801fca0970c76f2b13e252eaefa0ffed7c2a68f761f0f89a01ad0e6b4658795b117c2b80a649cdebc3a048764622452c86720ad32598c2109eab34f6d3ff9f3ff96411443f8ac3fde68b598b3f7c5f47b28d5970edac22f692e2aa4289fb89f79f8c0f1c49842a91b83091dd8c434861ef25cb5de4af8612cfb3cac5f583cac62c2a5d5f94dc3675a89d2a8888509772006c118f3fe82b541af11654b1c95435bb9435fdca0e0ef4e8fc29301ac8a9dc56e935611d82889b17ef201e52e5301bb422fd02b25575122b6a05062b16e3dd374b91a7f96110df370f40610f5bdd87bb2c7368dc552a7985d9b1316b956cc13d6aaa3a319715078b3718fe4f6247159eee0a740ad815eec3d1fffe8b2f63952f9398f1e50044c73dca91bd1d3805cf76fc578e3588713880b4f80cee2d000d6e5c7d5277044351bf8d32d64f194e45cf7c01954f770fbaba72f8f9f70e954df2e50163fa0f24f33ea337c9567ee3270ea18b108faa7581555d1b2b2a06ec90ccec9d658147cec54745dbd1627e964f760caccbb3b2f5abbe22add12f639170fb6d1949702a6d858c122f001dd1b1b2662d8b5b050ab21b143ea6ac5082412d89d69634150cdf1af39117a0be6f423497ebb895208df74ae8d337a12ba3daa5ab5985c384d0cd021af0a168fa6d9ffac543825b6cfdd21c29f99115743ebb8e76310a3db2d5487e860a2d4d5a0456382ffb9220816df083380fd2de5f281bf8f3cf497715848adf0407cb05de25c56b2ec832fce76c74077a99f7c2c601f8ebc97ce8d5637311c237d43dfb9bf79727a1b4c9a1bd1ece8130e3adf25785183288fff90f6d9a55a7c0005beaa89cfd156dbcfe723b692a48e5819e277a466c5f517798ed118834772e53b85183a351fe0cf87d43bf4f2382758fbc2203b7ab2cb170dfc26485d39456f31981d0cea39ae51ca158d434184410e5ad5e8c7d2973bfbfae790737f144fdbe8130a7da89e0a988e2dfb84fae975b857ea3e406c1315a53499d44a690b6fea3a93d34e67a06dff8b92aafbb46759f457929b981df9056d6d2c2338841ed1d305e42dec8647712ac3ec43bb1ca317abf4a380603d0bd11656cafb31a090872581e25c39f33d01be0d1fbdc8a96b639091de61cc2030ca6c0703c6df83bab06bafaf72e9389b4183ce5c53a8dfca79bf905999108b8c4924beefb48c22649c849d1fd549eaaa720836403e773792989b00ed70a1c222ca8f6aed38270305803774eab5f8015e34ba8f5de7582b0b53c1660a67e93b0b05a7a4ae447f2a0d30fa8660b3b51fd7a98b3161f4974408e074fed1090661c968fe670ab57f93746f758bef3dd6f9438154ad03e138cb946a208e9bb37846b56cd36fe64178704e5dd2766d1227a56373e072efd503a525ee9ac84d8a0c6676563e94229450d40d297be45970b7ab435cde231d7dcf5a3662bb3dcaec51ff5fe4da8e043d11adcbdc282500897583878a8c9fa8d3dba54f1ebb9f939c99e44ef29a1a466cca99ca1a6da721853bcbcd850391bdd2a301465a497d07f25da21ffe5126a989a730c82a1b9366fade730e8c0247c706939555e499b28312570979e766a0a798862427d3154c5dd0cdf7750f4ebf3963ff677aae1fb3a14bd586bdf50347e59518754f8897a11fc9e05cb5275141bf8030683d1c6bdaabd804384866a91c273a9af1c009e532a95ad8d7b7a537e58bc0482321cd88570394a39cef5afbe37e1b647f3d7aa6a5a7d5e9982784f4a7aadb34b097a6599496a98cd9707b80dd9938333cea941f33e559744614c721542166d5d4151c8450cd20424ee73f57c5b490fce3a9124bce484894ef09f87308898837fa238433136440f688982dbe2673f33ce71439584e73e20339514d7d2cc4412131f2bf710042b9a235d13af230b5f657c2d219602eaaf479a4134ac23e6a65a64b47731ebf14c638ea4425e2cd43f8a7231c7a657b0ebc05940a37f4855d7041f187b864f3ae29f1fec2e116518519e7ba18e65ecf258a8371c740c3609a8e74e2ee0e19f13a30556da5dae541f54ba29504c2b98baff5c2aeab519ce95a9e722c8a5c09d3a34a1cfba24610241db2c44da45841730dfb9501d1a9ea58cad74670d3ffe0b00d9010f59dce28a2ec2a0542e1922db9484cc96383fcade2d1307c3c1c5f93f13cebba3eae122f2b09a1f949448aa8748ea31a85cf3ced5aa6ec5c914ec9a0e782c08f495cdc67594a01f98558f5fba1258be55afc799faefc769961d5af02a5d880487a9090e1a0c015162f5b6da4ca70fa65e691b05e0fad84508e258e572b1afcf3d889eed8c67b7b13712770991e488a49bf74d1c48aa01e9df642d81af918a8a05387a4523af227090c0bf55f8579e9f4be83c673d424291a2d14626365c2832da37019676de942bf3c0d0aa17feb19a464faa822ac4788e1f7799d743d9d07fe3b9611f14481e0c39a009fa966a47141910af10649881d1ae691ef54e2bee38253f7d4f1cfede34c95f96aa0007aeeecc61cee10e8231d92435e4d6cd8924c8511c92c18d41d6c223d4502923c4b15c371e3e5f7baec51c51a16cce1ab08314009e0ca1f6b760b6c990cf56f47bc6b59b6cd508412357fb2902cb28a914ab16556d67d5639e62fb383f6f5e2e8ff4dc65c41b2e4030795e92b4bdfbe5363f171ebb2484d26e97612a0aa68faa0705d9f73afecfcd0fcf7624fb27636f65a84fd5f3e13e2ec33f7377edd05b22f9b278ddb1be2f2a105d1177c1359fccb7cf5a23f1b1ec6f975f728cb7cebed4675900e5a3b2841ed3257d1d38f8d06b02bcab6452303e889dc7565a5eeacfe72df1983faa29b08738a974eb4c3d14b5264935790956f047321438b636fd732265b93326d42544a93ba358c5e62c63ba4125bdb31cf5b92a1012f0634c5b2960518d81bcd54fb3062661573738f99ac9a4fd53586681065b8f30a156cb19f69735840efa69e3211b2ca23e942bd7b3f99eda57cd8cd61f685f6f3713c3bc19422596bd2de1415e853835f2769626bcfe389e61ed3b98b746e71deeea500df2db5f4534c150538178913441dfefc3cb7c44157df6002f949d9385641644838ce2cf1fca98945990f5b8ce1f3ae173fda623241ff0e2396728283a6912c9243b46970478c1e4e7b8741659ca402b0765785a5ad1c0a107b9ea0aa0b4d14b12fc6f9d24ce701b577494912408fe378ba4d67168343e4efd68cd8312b9bf623adc5c58976becfdd40b2e90c408554f2cae6f667b57e9dec948ac055b69ae5c463fb281ece1d9fd346469247f4d533553bc3ae778e15bd2c347a567522cc90914254aa9753372a994c43b679a7c8f91b57be3d923286f09c2d803bffd229f229e6a49a10cc8f5275aa3aee1f6ac5947de495de168ece7e20e28f32fd1f6325df156b577c938ba0b1d275c53234972b6f5a662bcb3f6a1bf5fa979f5c7d550e18e2a87fba286a9649ac3489144bb9b9c6995e4a8bc116d96480b683475bee9b6f8cb1c5c723619b35d0441a404dd480d7246686ad2716be8e9428e13218e4f2289aec69254f1617ab81d83e135af84ae5ad27284885c21df810fb46a8515371d0abb185e5f489f5148afd1ab34d0d8d97287edc429dcfba9b5a365429285f4b4d68c20fc2e4a06be46124981a91dedbd3f7bbccfcae5c244ffe10fcd86bf8bdbc32b12853663b13300b4dfd5018bed4031cd9a35f5a25827dfddf9a460f16cc6d3d9a49a0020ab916f7c1b3a841277385e41b30f87392caf78705151fefc657357f149b12dc40658439baaaff521b9388452bdfcb0c2d383a00a8ab4c9a44fde363647b987cdfd48f4e3b8746fbb066c1e30592c277a4aa2f3652b061e2acb03ebd8ccf87c782abfbbeec89615b71d7eef2ebd92f2a8e317ebfb763eefad849ee4802552cad06437483e875f73851fc7c3cde0967228ccddbecd9b89e165341241e04688c91bd914aea0ca5d010100000000000000701000004000000635747cbfd28d7e380101bce1009d5e084240ca29bf1ce2a0fc2a4ed67bddeeeb1e78202cfa468a6900b99f08e19e3b0119c9948223c684e71780a99c7ac964b2ae9bde47e28eb0fe182c9e263191d2a03c32fe7ecdbcc630997543301ff1f9ff64ea0b817694326ecd7810d3aff161265103d1a4c0af4221c92f82d8c2a27996c99fe8f30cdcbe3add5dcf0c2320237c6857db7225214936054a1a0f7ad1f6c7b020f893a5a6fedda4d657d165f51ca19546a25721b26762a95d49ba35d5646a38d8bf0eaa9c58050ec5a4a686dbbca4004f384e997852647a35574ce9596c9fc3e0b2245f24c4769df25bb9932d2b8d5790f75ed0458d01adb82698f2aa36a2212016d5301be8959ee7e2354c8959869349c610c4afd57baa576a27b371f936f184ceed5b4d5c053a9af0d12b6d3f69933c0c115299cb28b3e32c23914dc01a82198e0f0748fda1f1d298f7fbc358c60b5e7d797cc3679a70a00a52501e9d8c65df98410143a18b0715964f6e5a08a84587239d2a8471ffae3924d09e95b3b62642139f2b703b2df4f442181f2663bc978e7fbdf488ca0e6caaf7f4f1d5885b4c36417fd3168e1019deeeb41fab7d88373c3c2327b81e373be68967689f21cc2a15a804461e27eacaaa970ae7f9ebbcadc4835f03cc5590996173916759af40541ac9ed083db8209ab08d00c4a746a584a7a936941a3b3084de4b77d11d77de80ccbc0d7d0b1080fd76751f057ad4e66e1fe8bcfae7295784cda58537f57c61629ebff4f0623464603a8ccce293d6308f201c1e50d05d23c8f88b8753543a0d1860c785f2c7cded7a9429b4fcad26d4b932e3eb0df5ff2a77caacfc27cf099e4a781e5006fafb789c2d810aefae16dfcd2ff9575de3f49da555ec021d5d45271065a42de3b4fd82a94d32166ec996dd7fbac44765a06742ae9e90b57173e9124875c6624cb586d23afad12996d485b48e4ab51f3ca95717955d1f0ea609aae26232bda2c75a26dbaf4cca2958d9c582cffbba78a3883fe11a5d7369ad6180b55c86b7803bc1f732fe686da6c18ac607982f8cef0e5173cd6ab4bff7e2cb7f06c68d4b4edd92e7d006ecafb17cedcf0d252323ddbfe46db9de3730baf469d50dcf1d2e834952fc381d39743c50e4998ca09add496d52c6bea9b78766164f33aa1141546b432546fb1624b21eb48ed191ae0fcfa7cb8fd96b95912d2c5f234f47f4c00813f6e68b9e126a0fe9758145acd80088d2ffdc66a5c00645448ce8e518649c0d4494b9f93f389627177f4cb6e8531c7706b7aeeda165d570c3542ed428f70db9db806342591547868c804a49e460c5ef4325b44ff772355d21382460fb94168bb652de246e2d3b9c7d58beb1e07995dfe8374949c504d42d58bf1c8febc4e39ae5e8deb634d55c659290011e2833cc44bc18f5d063ede66d6f8c59d6124de9af60059c618d9c5978dfa36043a63302b062f6ebca23c690541840aea9e912cd3769ebd7df2854753228a4d02672d2427c225faee395a990cadb860024fd977a87e5772573616f26c85c0d5cf4b841ba77e8758e55dbc961ac833c2c6d526e6a0d3ca2dc00c6d21ab032972419bd67ed7d030b203e105bc7def1e2b83b980589453440c6e04cc327e85319644870ba6e24e1edc237b42d8a6bb959cf492aa279de859c58458f8a6d607b039d5bdae8b7c17f8dca23b233be5b89d8845c7f15f63e212cdc1503404cdf5f042e2b9d6de9aa577bc9b4194db9caadd5d2562db3b39d24cbf31246ea9c2255ea0f96992af096502154c3661957167923669e0a3e91619fd80b6ebf1ff444121e645cf2f8dc095ca406eabb582ee94e42b5e8f0b577bd2dc7797080c9ace2162179e4dd35daf22bc8e975d7deef8a3585730989d2a7f456e1d1fe17479c665c17cd1d24599636eae2ee262f2ebb177c63cb458d09458b6d5e6cc879131970fb2982858237cd211095eefe12c5a49c6c31d8ca8660c655f7685b49cff4402c787e934308d172dc1be2ea8e67b2d9772bfd2aa59cebfd836becf3e6e9d2d2094d5af7df08c27e09a7f121e972abe980bfc3085d63feef9e5d1d902433abb93f9126b094e55215c294c6ece25a57cd25b47768ca38e202a39386a46feb30cd06718628eedd247b628ad621c8830a4ecb068ee10d4064ab53d8b936ac59f29991505d843c8d4d5445b1875a40cbe05828a50da27ae8b95baa2dbad1328728a0ddab2ecc5bb8d8ecb106f2dc4dadd978b961f1f65d7fb32eb9b850ae45eb6a6ef0a86dc94f5e45ebadc4cacfb85b76c3e64c6e55a6cc845f22a8788f379f0ec21b6b1296cdf5e00031459114fd1c8163c82ae44c4fbcfc23a4f048fa54303b6a84b2ef042b36b8c075398d01ec14ab8a405166160ddafe58985f7d421156c3b0366be44ee51d85618be937b665837d1efe66afb951ec45655a1a6ed33ca9b5331daa6d2ae5da76fa0fdc6d6958137b7abb224952489a7e974a136ba739a58240203f28bfe9749706e48155ce688d659c765040cf43915702f0fed32ba142e07ab9ce93dacbe5f8262ad1a2ece8e0084e1369d4ba0352738b85729dac6d8108bfa72cd3294fe8c263a325f76efa8030f35ea37d84ea1f6c76117cfa05133839fbdea361988f7860597edb1d24145f3280d8141efbc37defa78b85c0298ec85fcad5f4a0bb58afa88dabc6af533a8fcde8006e20fb87736dad2df8bf1195c6b97379e9a4c9298597fe5f6de9bec2331fc5901a35f89dfdeebd17571b8b1933a101d6581e833a676125338b3da3613001db3c9a2729dbee6310deda56002f88acee0a27f9254b99b97685eff96ce6024e41af4f7337b156a0dcf17827a7395c5397f329b59c6b2a0d4aa32cfdfa1eec8ef96c2d69ce5cd5722a72d1854ca83b6f7ee9d1581fd8160f50aaf210ccae5d3c713a8cd6f14ebac596733871c71094a937ef4a2a799f556846204c5f7ff6c55e3e642e959d5221eb760739ca574a2b4d3774d4cc6c520e8acef0f7aeb2982d76f5025d847ed8f423b4322811b97e06f8d3d135a84b8910d2256912d000e56f10786fe3a71ba411fb52bb66a7e1da63309b933f2a7cb460602ea410c50cbf7f3f72d57be00238eca451a6b00c2faa3ca2106dfdd37546d3e99c71d226c3e69ff7874e44bdc55fbeb683ddbc1a75426ff21d365f30f51fcbfe94567fff531cb0fc6518fe7448e237cd5e66ceda5dad116cd3049e43ae7e7a2716168e7a13bbd4d6a3e9694fc3775972a5aa207f0f40d2acb565407c5eebe246fe03ba87eac0154a6de5898aba0c2d7b596b19c55d6653804a1ba7b7bcdbb5b4d572e0a1d9da8c0f546a38ac63040dfcb2599bf3992589158e6d8cee7f01f938dff76cf822e4bfc7c397b5a41ffda9118bbdc413400578a830c396384054d12a5e85d5150a9976551c4db5efabae0c9c57a7f6bf4d91fe1ec7a5330ce7047675ae78a2d592621b568f3f00b4048c10d6819bae25e834e97b1e2647047f8aa936232cb3d4108eecbd7a247cf9a6f3367b6512420ba59c366add8bef000664f84c625a7d0f55050058027b574ac8788d691c9d15819519d624765ebdc7adce8a262cbc408dac90ccd70ced4a86d19c5d273e7d220993476cd6bd0c07ec7a2ad88ea630e7c3d03f52bdd95f9c7a483d4ef315d859baa7737d035485debed653b59401396476ab5fb4a53f899edf79137c92a64d9a87eb263e24028e2fd5078d0158afef57861285a48271bbd75b3b548413bba17ca9a06e442ea194ffd58c25fcf9bc7dde90b19d31e9d2cd9a97870b2a779d97079c259f42be3456682f8f010652bca40766b602f02c82f63ac06f18efec7ce8330a1fcdaf52db640b6d061306efc7794a50be15bbee7d7bbac5ed73ae5d685b3e6d522777b09ebfccc882c7c56be477f252e104bcbecab1230aa428504af7d9026ee9b8359beb4195d40f28e8ac1d3d52123104595909e23ec0008a72dbccdcc87027e932dd450ac0bfddb575f9a91093e5e0334ee414f1b9cd3c28e16c5c524b5d1630316ff42880919a042be35995c7bcd7686fd22c530a17910e21040ac013c213cccc87b9cddd3d4de33a92a924c7be43c00cd20d6bcde34c60ffb6f2c05e56d6f52259e7c22826472d9b722766396779c5b8a2042b2fb9d1a9a14664d6333bf7052d7c058a7557634cb00fea8e38d176b1ae97287cf2cb238cfdc8ac4897909c3f188e9a1fd4b9d26851bfd3d9d065eedf8572fa81082b5abf24929d9b9c8a6636bdeca213a40b1abe9e0ce34d604906d87c83fe449f78668f541d03db273fe4ef2384640dce1a0f1aae0ec3aaaea4c0f51ec4dafbf5aa50100f6a47bb634a472a8f677f50f6be4aa9c0a5f880b0e8ff14a6bd01c20477a30430db1beb2c498226ae1c7003f1c022347553c6d961a062169843eb4b73590a177d48706f175cc6ad8cd630ea1aa7e61b344dc05b4dc052d093d974f454bec9ab1a790fcb3e6b05a0a6b9de0548381e14efa5e7da942e9629a2fbb9844c60638620b15a8120d0dae6d91d37e2e9f60d974da28fc95cee8bbbaa6d059459ee7aefdf665d85062407a4d5a12548420a5834e59da803deaa1630b19a3a616b000e668c0d61408380c422fe3707ea66944157a8e1107c2c4e27982090aa4cab2b0645363b93ead995d84986b0ea56741e797cd210b10b41dd42e50ba67a9ece3d32eef71ae6f6a4ce627047ea38e6590bbd66ffc6e3821c216ff308fcd32a16d421f8f728f136ee130076c5356cde8a873f786015531e4e1d5e4ed568dd930ea5f8828f6d2cc9384b6897a27385811f7281e2c38a85d27158611ff696c86faa1b2268e7012a88cb65a985bdd8d435b432643fa4b399a3b11eae5494cbbb97c284610f814c083337aa6ed79997243a15d6748f697a47123df8493ac8f560320a7b043e9b4862938b60ab5843543ad2c197d1a572788b154359e40486e30cf33b8e6b57fbd86e065aa5af489aa96c5287a23da9e8a3739ab7fd468cc5026227a4384df29e0db753a823535514261b2fa41e67c64510b9cccc504776e0bf3ddd21a7ab77458e69589bde1c6b6395b64f58a09584aedaf4b76c939df7e3327b4101b3cae1f99d52701c72581defbb1087253192bff5da66617ff4eb8cfac389fc46f116939573e08a5e32fc71c33966abbd0db096814317cb6df940776c8d7f8b2b7f92815d1b45e91cc872e08775e7cf2de4b4f30eef81db71ca8a4032bfaad8ad5746951ab0aeb5fd33354c7114cfad67f4c8d653481579d399c0f71b74e297932ffde1d7d9d96e7ef495c610f9df7ad9e0963eabfb0af7939544ae25d87c5b93b053de414f21b8588f919b42ec2e8233c980490a8abe64f8552b49a35b0dd3b30234f0df4244443da8c2eb385e5b3324947b82d41f9a0ce54c2db1cf8ba52dd7043233df0c1229ba751e1efe472c9295cff0c3f52d1815f77fd789ec8114fd924802b20eddf59e07215f57072192002b783830b68c2efb2cd1d5530b63c31a098ebe441a78be9a07bbb23b76d8eb89c54ff7484e724dd52a0e1ac07df8b4567f22579117f8284dd834d8effcb7a16849cc89d07998619563d896e8d68248309d520a7ccb8bed6a9ffe934fddbc1c00167fee82315f859f8e356fdcdfb6aa7dceecc34b821ab54ea7ce435077484370014dc53c31637aa0f6021a1502b16c5dac5abed0149c5ce96989960c5a0d4996e46f260d63ff27f5ee0cc1f5dae7afb825e4d83ead9f4679fcbae99c4934971606eabc93d868d9688e438f377aa1c89245528cb4cd9d04fa3eefc721e38000000000000000e010000020000001ecfc8c1cffc460bfb7b7e919d4d87c001509230e42e1d86982f3ecfda1fa998761f08ed39d000002800000000000000190100001f0000002c11a1355a9718a6db1a211a93eaed9c9abd00000000000000010000000000000c01000003000000f2f217bb25ba5b637b3871daf1af073fc8b9dde9d20e57e749b82a61fa65017c85cdadcd6758c51cad02faaa0b9c4629aab36fde1c530360fc38682619664da0f3c131f9bc5367670652a9af81d1fbfcd55542bea64dc03e6f88b6b3b7f4705b39df0ea2c1171ac965fcca246c92339b0ac0244a8876e5aff586ccb725629a05d96bec2de9b54089ae5985e7e13281d7b1ea4061764bfa262ac7cac8fea747d9ae3edcbf011637d19528ba1f0b457228aee96e47518d05d6a5cc667c82530c61cbddaba7c8e175fdbe2e2f46f96d0f87a347cb19dffac1c8528edcce43eedb51ab37a0beb5c12f9a00000000180000000000000084000000000000002e99efad7589e900f800000000000000130100006c080000e8f654755956bd73518fb99e582475cb11965b1cd0f41f229950ffc87ec9016abbe2e57d706a3f747f7bebbddb227dc3cacdc4897c59dea39296efdeedb59454eb9a3f0a70efb5d5bd268eea34c5d114d1da695a47f24bb99cd5fbe37b7e5932c50c344c8bb9850c527c54fb0ae153364c2b2fa583ede806a044145eeb59e06a2434bd74c071b68834b60e86affd3363cf83e7833bf4563673b416eaa38306d5bd46ab526fab61c8dfa4516a5e11584d3ce0a26763e85a0380cb7947bbed7c7f06e1b2529dab3f3aac6ee2294c534a3c8b73e83e2478bab18d85976dfb3a600ddb353c0c5e63505b2f741ccb000000f00000000000000001010000050000003fe684c26cb23e6a331c763a4725344630298ab037d7193814854e56bc79f2920c616687f2c3e117bfc4e3c09dcc75aa0dfa5065353c7a8d9541a23d38988dc651c4681a3d6849232886ac8c8cf2e41371847eadb70971d7a230eea83cdf262f890a3ed72a7add26dd8d398b36cdd67f6425aa4bdc3aab345c4305d3641c9644e4e707b77dd180d78f219ea4f04c5385e892123d8a3d089fc9bf8777371d71f9dadda29a03ae79712f2c2022eb4e898d9d05b845b012bff8c5c57c0b06eac2f7611580d315ada43e20fb0f54fb6bcd5fb37f6f12fe14517c12c600000000000020000000001250cefb0100000400000008e703b740782541b371"], 0x23a0}, 0x48000) (async) sendto$inet6(r2, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) (async) shutdown(r2, 0x0) (async) splice(r2, 0x0, 0xffffffffffffffff, 0x0, 0x406f408, 0x0) (async) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000400)=[@text16={0x10, &(0x7f0000000380)="baf80c66b8f4acc98e66efbafc0cb80900efb840000f00d00f221f3e260f01cb66b80500000066b991f300000f01d9baf80c66b89c6b4f8766efbafc0c66b88000c0fe66efba4200b000eeb830010f00d00f23c60f01ca", 0x57}], 0x1, 0x24, &(0x7f0000000440)=[@efer={0x2, 0x100}], 0x1) (async) socket$tipc(0x1e, 0x2, 0x0) (async) dup(0xffffffffffffffff) (async) memfd_create(&(0x7f0000000140)='\\vnet0?\'`/{,vi.et1eb0u_er\x00', 0x5) (async) ftruncate(r3, 0x1000000) (async) sendfile(r1, r3, &(0x7f0000000040)=0xf18001, 0xeefffdef) (async) socket(0x0, 0x80002, 0x0) (async) fcntl$getown(0xffffffffffffffff, 0x9) (async) 01:19:39 executing program 5: r0 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000140), 0x2, 0x0) (async) r1 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000900), 0x2, 0x0) ioctl$vim2m_VIDIOC_PREPARE_BUF(r1, 0xc058565d, &(0x7f00000009c0)=@multiplanar_overlay={0xfffffdc5, 0x2, 0x4, 0x8, 0x7, {}, {0x5, 0x1, 0x8, 0x2, 0x1, 0x5, "0d8e2960"}, 0x8, 0x3, {&(0x7f0000000940)=[{0xd9, 0x4, {0x3}, 0x80000001}, {0x7, 0xff, {0x2}, 0x2}]}}) r2 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x3}, r2, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) r3 = socket$inet_sctp(0x2, 0x5, 0x84) sendto$inet(r3, &(0x7f0000000140)='^', 0x34000, 0x0, &(0x7f0000004ff0)={0x2, 0x0, @rand_addr=0xfffffffffffffffe}, 0x10) bind$inet(r3, &(0x7f0000000780)={0x2, 0x4e24, @rand_addr=0x64010102}, 0x10) (async) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r3, 0x8982, &(0x7f0000000040)={0x0, 'vcan0\x00'}) (async) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r4, 0x29, 0x40, &(0x7f00000001c0)=@raw={'raw\x00', 0x3c1, 0x3, 0x4c8, 0x2e0, 0x9403, 0x0, 0x0, 0x2c0, 0x3f8, 0x3d8, 0x3d8, 0x3f8, 0x3d8, 0x3, 0x0, {[{{@uncond, 0x0, 0x298, 0x2e0, 0x0, {}, [@common=@inet=@recent0={{0xf8}, {0x0, 0x0, 0x1, 0x0, 'syz0\x00'}}, @common=@inet=@recent0={{0xf8}, {0x0, 0x2, 0x1, 0x0, 'syz0\x00'}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@loopback, 'virt_wifi0\x00'}}}, {{@uncond, 0x0, 0xd0, 0x118, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x528) (async) r5 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r5, 0x29, 0x40, &(0x7f00000001c0)=@raw={'raw\x00', 0x3c1, 0x3, 0x4c8, 0x2e0, 0x9403, 0x0, 0x0, 0x2c0, 0x3f8, 0x3d8, 0x3d8, 0x3f8, 0x3d8, 0x3, 0x0, {[{{@uncond, 0x0, 0x298, 0x2e0, 0x0, {}, [@common=@inet=@recent0={{0xf8}, {0x0, 0x0, 0x1, 0x0, 'syz0\x00'}}, @common=@inet=@recent0={{0xf8}, {0x0, 0x2, 0x1, 0x0, 'syz0\x00'}}]}, @common=@inet=@TEE={0x48, 'TEE\x00', 0x1, {@ipv4=@loopback, 'virt_wifi0\x00'}}}, {{@uncond, 0x0, 0xd0, 0x118, 0x0, {}, [@inet=@rpfilter={{0x28}}]}, @unspec=@CT0={0x48, 'CT\x00', 0x0, {0x0, 0x0, 0x0, 0x0, 'syz1\x00'}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x528) (async) r6 = accept4(r5, 0x0, 0x0, 0x0) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f00000000c0)={0xffffffe0, 0x2, 0x2}) (async) r7 = accept$nfc_llcp(r6, &(0x7f00000007c0), &(0x7f0000000840)=0x60) getsockopt$SO_COOKIE(r7, 0x1, 0x39, &(0x7f0000000880), &(0x7f00000008c0)=0x8) setsockopt$inet6_tcp_TLS_TX(r4, 0x6, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, "52690af8495a6aac", "dc60f01fd2e69a93cce9847b4860d262", "876a05fd", "d76f465fe32f0639"}, 0x28) (async) ioctl$vim2m_VIDIOC_QBUF(r0, 0xc058560f, &(0x7f0000000300)=@multiplanar_userptr={0x0, 0x2, 0x4, 0x0, 0x0, {0x77359400}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "001000"}, 0xfffffffe, 0x2, {&(0x7f0000000000)=[{0x0, 0x0, {0x0}}, {0x0, 0x0, {0x0}}]}, 0x96000}) [ 241.781786] EXT4-fs (loop4): mount failed [ 241.801791] xt_CT: You must specify a L4 protocol and not use inversions on it [ 241.810064] xt_CT: You must specify a L4 protocol and not use inversions on it 01:19:39 executing program 3: r0 = perf_event_open(&(0x7f00000005c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x4, 0x100}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) accept4$netrom(0xffffffffffffffff, 0x0, 0x0, 0x0) (async) fsetxattr$trusted_overlay_opaque(r0, &(0x7f0000000080), &(0x7f0000000180), 0x2, 0x0) (async) bind$bt_hci(0xffffffffffffffff, &(0x7f00000000c0)={0x1f, 0x2, 0x1}, 0x6) (async) r1 = syz_open_dev$vbi(&(0x7f0000000100), 0x1, 0x2) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000000), 0x1c) (async) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000002cc0)={0x0, 0x0, 0x0, 0x0, &(0x7f00000075c0)=ANY=[@ANYBLOB="10100000000000000100000080ffffffbbbf6864d5a6abe87210a52c2acde084caca2598556be534daf7101965cd9b0aa79533abc31a4ca902dfe07a7332ea32e008a16afe8ad138f0214c559ca37ca42907488cbde09932de8161e041e06dc5e2739b6a3148b0c3544d96b68c83edec1ad6c9fd820e915b4fca81e3627e536a48e3c52142660c8ac5e100db287cf896236907bd14fc6e0d0b54bf906402cf4d99183e90bf2e7d5cdea90cdf4529a5a2d696985049b3476a40a5d4218bf63e859ad7072fd61178028a167da63d6da27d2509e0dc56139eb510e60ff203e149fa236c186aa88712f1f5283f8067ca0a51605b882cacc12a946f6ebdc34f2bdd2e9993c53fc62567d67303fa8118bbe16e7ad2ee604942878e3851032152375ccb0357e7392e5dd3a39116d97de125dbbfef751ab4bb925c071d53ef65386752c9997e2713ce94d312fd2f5a0a23f969e6494fe59b785d252644174d6166c0fb55818ddec9da9bb796d391810cdcc08aeb73cec480425239afb7aca6325a23646098afc5ee1c8dfe2451a9be0a2b9163ae6407cfad028493068b21473a6b2ee8c478bd81b7c40bc88f10fdf66a28f1b8bd867802ca9a1c01dd8ad0b61bafe66a132f135a6b8b87b78ae256ebb73b6c487569686bc5f71872ce6b7ec009cb8f64ef91808996ed11af8a00a4a3e76638b9acf3891a3d2187407c495ca1002d19b897099cfda69a083985dbf2eb6af669d6702b2735ab28d4cf997feb1890c7a7890defce7917399d5a65caaf1b7afc79ec9603c966422007802a57ae2b1b5aa73e0030f55281e5d24ec6b9b9740f7291c1ed067dada3ab62eeda70ae4707357e6c3c0a3b28ba6ba06ec0ea041b55ddbc87b715eaf1b370868329a678beacd9bc4454b598671aec278713a6c7c50c00f62e0cf6cb5b8908693600033223323c16c444b60672ce37d3bc8427d877e4dee8d211cbc0493f985d3ea61071dd374b95b79b3121e233134ae0552a2187439e9dd385eaf911dd7a1ce2065564394e358ed791592f8aae2b04a337b06b59e986c4258859983e9e925b1ebbdfc03408ea368553c4311ada6c9ee41e25553ce62ad2bc8f2da2ec4659e2727a2baf14776134ee714832570cbca1d65aaffc9155fd6a24af17d0aacf2bd8536b4cdaa21f5b457310021c340fc933f87553972f92e665f99e5bb922ff430f66bd34777dc43a4fbf5a81ccbc73c9123962dd6a2f60c216ece60ff99b71fcf32fa711ed266d8c3a888a0ffc2320104329153f80f59fd2b57c33c9cf4d23ac492ea467962dfd7453c0c78b1ede291ddb7b34305e3d462ba5fc0e939ca2ea2c5df9009b7539dda4d93e549eaa8a23db4ff31138927db9f7d5802a6af6a225864cf99802d153e26703fe6b34afe82e6b784134af136e65df993c3c9829dc8c32bf0a2f59f8a6c5176e899d45db5002a95beb2fb9d52b5cfaa2f40ccbc6fcb4f66d7c6eefdc70ebcc95e6eca3880d78ce106d54d116664fe4a9aa58dab4f84e252f7041d870065de4625ab62fa16697e0da62530fefc2085815f166991d5955960aaf42d2f4985cac9efc023b595fbd077d9541b020e1742d11c0eb81b778e54898acb84df5fbf6074b24dcb58811d40f5759fa562d6722e778d08c54763f4427906e81c46b9c504710b5ac291c5133f5fb0fe85edca59f8e3541c74438c18a8c0cb6ece2786572c597e20749bc560d8b9a1de305b7ca179a2b91533e905dfaaa5f799a89f63f57763c2a36c2d2108f4c0d5f9f5fc7de54d89510f5379039f097a2794466d345aa7ba4ddf3420bf7145fee443207d0dc84aee980555e8e1be95fe801fca0970c76f2b13e252eaefa0ffed7c2a68f761f0f89a01ad0e6b4658795b117c2b80a649cdebc3a048764622452c86720ad32598c2109eab34f6d3ff9f3ff96411443f8ac3fde68b598b3f7c5f47b28d5970edac22f692e2aa4289fb89f79f8c0f1c49842a91b83091dd8c434861ef25cb5de4af8612cfb3cac5f583cac62c2a5d5f94dc3675a89d2a8888509772006c118f3fe82b541af11654b1c95435bb9435fdca0e0ef4e8fc29301ac8a9dc56e935611d82889b17ef201e52e5301bb422fd02b25575122b6a05062b16e3dd374b91a7f96110df370f40610f5bdd87bb2c7368dc552a7985d9b1316b956cc13d6aaa3a319715078b3718fe4f6247159eee0a740ad815eec3d1fffe8b2f63952f9398f1e50044c73dca91bd1d3805cf76fc578e3588713880b4f80cee2d000d6e5c7d5277044351bf8d32d64f194e45cf7c01954f770fbaba72f8f9f70e954df2e50163fa0f24f33ea337c9567ee3270ea18b108faa7581555d1b2b2a06ec90ccec9d658147cec54745dbd1627e964f760caccbb3b2f5abbe22add12f639170fb6d1949702a6d858c122f001dd1b1b2662d8b5b050ab21b143ea6ac5082412d89d69634150cdf1af39117a0be6f423497ebb895208df74ae8d337a12ba3daa5ab5985c384d0cd021af0a168fa6d9ffac543825b6cfdd21c29f99115743ebb8e76310a3db2d5487e860a2d4d5a0456382ffb9220816df083380fd2de5f281bf8f3cf497715848adf0407cb05de25c56b2ec832fce76c74077a99f7c2c601f8ebc97ce8d5637311c237d43dfb9bf79727a1b4c9a1bd1ece8130e3adf25785183288fff90f6d9a55a7c0005beaa89cfd156dbcfe723b692a48e5819e277a466c5f517798ed118834772e53b85183a351fe0cf87d43bf4f2382758fbc2203b7ab2cb170dfc26485d39456f31981d0cea39ae51ca158d434184410e5ad5e8c7d2973bfbfae790737f144fdbe8130a7da89e0a988e2dfb84fae975b857ea3e406c1315a53499d44a690b6fea3a93d34e67a06dff8b92aafbb46759f457929b981df9056d6d2c2338841ed1d305e42dec8647712ac3ec43bb1ca317abf4a380603d0bd11656cafb31a090872581e25c39f33d01be0d1fbdc8a96b639091de61cc2030ca6c0703c6df83bab06bafaf72e9389b4183ce5c53a8dfca79bf905999108b8c4924beefb48c22649c849d1fd549eaaa720836403e773792989b00ed70a1c222ca8f6aed38270305803774eab5f8015e34ba8f5de7582b0b53c1660a67e93b0b05a7a4ae447f2a0d30fa8660b3b51fd7a98b3161f4974408e074fed1090661c968fe670ab57f93746f758bef3dd6f9438154ad03e138cb946a208e9bb37846b56cd36fe64178704e5dd2766d1227a56373e072efd503a525ee9ac84d8a0c6676563e94229450d40d297be45970b7ab435cde231d7dcf5a3662bb3dcaec51ff5fe4da8e043d11adcbdc282500897583878a8c9fa8d3dba54f1ebb9f939c99e44ef29a1a466cca99ca1a6da721853bcbcd850391bdd2a301465a497d07f25da21ffe5126a989a730c82a1b9366fade730e8c0247c706939555e499b28312570979e766a0a798862427d3154c5dd0cdf7750f4ebf3963ff677aae1fb3a14bd586bdf50347e59518754f8897a11fc9e05cb5275141bf8030683d1c6bdaabd804384866a91c273a9af1c009e532a95ad8d7b7a537e58bc0482321cd88570394a39cef5afbe37e1b647f3d7aa6a5a7d5e9982784f4a7aadb34b097a6599496a98cd9707b80dd9938333cea941f33e559744614c721542166d5d4151c8450cd20424ee73f57c5b490fce3a9124bce484894ef09f87308898837fa238433136440f688982dbe2673f33ce71439584e73e20339514d7d2cc4412131f2bf710042b9a235d13af230b5f657c2d219602eaaf479a4134ac23e6a65a64b47731ebf14c638ea4425e2cd43f8a7231c7a657b0ebc05940a37f4855d7041f187b864f3ae29f1fec2e116518519e7ba18e65ecf258a8371c740c3609a8e74e2ee0e19f13a30556da5dae541f54ba29504c2b98baff5c2aeab519ce95a9e722c8a5c09d3a34a1cfba24610241db2c44da45841730dfb9501d1a9ea58cad74670d3ffe0b00d9010f59dce28a2ec2a0542e1922db9484cc96383fcade2d1307c3c1c5f93f13cebba3eae122f2b09a1f949448aa8748ea31a85cf3ced5aa6ec5c914ec9a0e782c08f495cdc67594a01f98558f5fba1258be55afc799faefc769961d5af02a5d880487a9090e1a0c015162f5b6da4ca70fa65e691b05e0fad84508e258e572b1afcf3d889eed8c67b7b13712770991e488a49bf74d1c48aa01e9df642d81af918a8a05387a4523af227090c0bf55f8579e9f4be83c673d424291a2d14626365c2832da37019676de942bf3c0d0aa17feb19a464faa822ac4788e1f7799d743d9d07fe3b9611f14481e0c39a009fa966a47141910af10649881d1ae691ef54e2bee38253f7d4f1cfede34c95f96aa0007aeeecc61cee10e8231d92435e4d6cd8924c8511c92c18d41d6c223d4502923c4b15c371e3e5f7baec51c51a16cce1ab08314009e0ca1f6b760b6c990cf56f47bc6b59b6cd508412357fb2902cb28a914ab16556d67d5639e62fb383f6f5e2e8ff4dc65c41b2e4030795e92b4bdfbe5363f171ebb2484d26e97612a0aa68faa0705d9f73afecfcd0fcf7624fb27636f65a84fd5f3e13e2ec33f7377edd05b22f9b278ddb1be2f2a105d1177c1359fccb7cf5a23f1b1ec6f975f728cb7cebed4675900e5a3b2841ed3257d1d38f8d06b02bcab6452303e889dc7565a5eeacfe72df1983faa29b08738a974eb4c3d14b5264935790956f047321438b636fd732265b93326d42544a93ba358c5e62c63ba4125bdb31cf5b92a1012f0634c5b2960518d81bcd54fb3062661573738f99ac9a4fd53586681065b8f30a156cb19f69735840efa69e3211b2ca23e942bd7b3f99eda57cd8cd61f685f6f3713c3bc19422596bd2de1415e853835f2769626bcfe389e61ed3b98b746e71deeea500df2db5f4534c150538178913441dfefc3cb7c44157df6002f949d9385641644838ce2cf1fca98945990f5b8ce1f3ae173fda623241ff0e2396728283a6912c9243b46970478c1e4e7b8741659ca402b0765785a5ad1c0a107b9ea0aa0b4d14b12fc6f9d24ce701b577494912408fe378ba4d67168343e4efd68cd8312b9bf623adc5c58976becfdd40b2e90c408554f2cae6f667b57e9dec948ac055b69ae5c463fb281ece1d9fd346469247f4d533553bc3ae778e15bd2c347a567522cc90914254aa9753372a994c43b679a7c8f91b57be3d923286f09c2d803bffd229f229e6a49a10cc8f5275aa3aee1f6ac5947de495de168ece7e20e28f32fd1f6325df156b577c938ba0b1d275c53234972b6f5a662bcb3f6a1bf5fa979f5c7d550e18e2a87fba286a9649ac3489144bb9b9c6995e4a8bc116d96480b683475bee9b6f8cb1c5c723619b35d0441a404dd480d7246686ad2716be8e9428e13218e4f2289aec69254f1617ab81d83e135af84ae5ad27284885c21df810fb46a8515371d0abb185e5f489f5148afd1ab34d0d8d97287edc429dcfba9b5a365429285f4b4d68c20fc2e4a06be46124981a91dedbd3f7bbccfcae5c244ffe10fcd86bf8bdbc32b12853663b13300b4dfd5018bed4031cd9a35f5a25827dfddf9a460f16cc6d3d9a49a0020ab916f7c1b3a841277385e41b30f87392caf78705151fefc657357f149b12dc40658439baaaff521b9388452bdfcb0c2d383a00a8ab4c9a44fde363647b987cdfd48f4e3b8746fbb066c1e30592c277a4aa2f3652b061e2acb03ebd8ccf87c782abfbbeec89615b71d7eef2ebd92f2a8e317ebfb763eefad849ee4802552cad06437483e875f73851fc7c3cde0967228ccddbecd9b89e165341241e04688c91bd914aea0ca5d010100000000000000701000004000000635747cbfd28d7e380101bce1009d5e084240ca29bf1ce2a0fc2a4ed67bddeeeb1e78202cfa468a6900b99f08e19e3b0119c9948223c684e71780a99c7ac964b2ae9bde47e28eb0fe182c9e263191d2a03c32fe7ecdbcc630997543301ff1f9ff64ea0b817694326ecd7810d3aff161265103d1a4c0af4221c92f82d8c2a27996c99fe8f30cdcbe3add5dcf0c2320237c6857db7225214936054a1a0f7ad1f6c7b020f893a5a6fedda4d657d165f51ca19546a25721b26762a95d49ba35d5646a38d8bf0eaa9c58050ec5a4a686dbbca4004f384e997852647a35574ce9596c9fc3e0b2245f24c4769df25bb9932d2b8d5790f75ed0458d01adb82698f2aa36a2212016d5301be8959ee7e2354c8959869349c610c4afd57baa576a27b371f936f184ceed5b4d5c053a9af0d12b6d3f69933c0c115299cb28b3e32c23914dc01a82198e0f0748fda1f1d298f7fbc358c60b5e7d797cc3679a70a00a52501e9d8c65df98410143a18b0715964f6e5a08a84587239d2a8471ffae3924d09e95b3b62642139f2b703b2df4f442181f2663bc978e7fbdf488ca0e6caaf7f4f1d5885b4c36417fd3168e1019deeeb41fab7d88373c3c2327b81e373be68967689f21cc2a15a804461e27eacaaa970ae7f9ebbcadc4835f03cc5590996173916759af40541ac9ed083db8209ab08d00c4a746a584a7a936941a3b3084de4b77d11d77de80ccbc0d7d0b1080fd76751f057ad4e66e1fe8bcfae7295784cda58537f57c61629ebff4f0623464603a8ccce293d6308f201c1e50d05d23c8f88b8753543a0d1860c785f2c7cded7a9429b4fcad26d4b932e3eb0df5ff2a77caacfc27cf099e4a781e5006fafb789c2d810aefae16dfcd2ff9575de3f49da555ec021d5d45271065a42de3b4fd82a94d32166ec996dd7fbac44765a06742ae9e90b57173e9124875c6624cb586d23afad12996d485b48e4ab51f3ca95717955d1f0ea609aae26232bda2c75a26dbaf4cca2958d9c582cffbba78a3883fe11a5d7369ad6180b55c86b7803bc1f732fe686da6c18ac607982f8cef0e5173cd6ab4bff7e2cb7f06c68d4b4edd92e7d006ecafb17cedcf0d252323ddbfe46db9de3730baf469d50dcf1d2e834952fc381d39743c50e4998ca09add496d52c6bea9b78766164f33aa1141546b432546fb1624b21eb48ed191ae0fcfa7cb8fd96b95912d2c5f234f47f4c00813f6e68b9e126a0fe9758145acd80088d2ffdc66a5c00645448ce8e518649c0d4494b9f93f389627177f4cb6e8531c7706b7aeeda165d570c3542ed428f70db9db806342591547868c804a49e460c5ef4325b44ff772355d21382460fb94168bb652de246e2d3b9c7d58beb1e07995dfe8374949c504d42d58bf1c8febc4e39ae5e8deb634d55c659290011e2833cc44bc18f5d063ede66d6f8c59d6124de9af60059c618d9c5978dfa36043a63302b062f6ebca23c690541840aea9e912cd3769ebd7df2854753228a4d02672d2427c225faee395a990cadb860024fd977a87e5772573616f26c85c0d5cf4b841ba77e8758e55dbc961ac833c2c6d526e6a0d3ca2dc00c6d21ab032972419bd67ed7d030b203e105bc7def1e2b83b980589453440c6e04cc327e85319644870ba6e24e1edc237b42d8a6bb959cf492aa279de859c58458f8a6d607b039d5bdae8b7c17f8dca23b233be5b89d8845c7f15f63e212cdc1503404cdf5f042e2b9d6de9aa577bc9b4194db9caadd5d2562db3b39d24cbf31246ea9c2255ea0f96992af096502154c3661957167923669e0a3e91619fd80b6ebf1ff444121e645cf2f8dc095ca406eabb582ee94e42b5e8f0b577bd2dc7797080c9ace2162179e4dd35daf22bc8e975d7deef8a3585730989d2a7f456e1d1fe17479c665c17cd1d24599636eae2ee262f2ebb177c63cb458d09458b6d5e6cc879131970fb2982858237cd211095eefe12c5a49c6c31d8ca8660c655f7685b49cff4402c787e934308d172dc1be2ea8e67b2d9772bfd2aa59cebfd836becf3e6e9d2d2094d5af7df08c27e09a7f121e972abe980bfc3085d63feef9e5d1d902433abb93f9126b094e55215c294c6ece25a57cd25b47768ca38e202a39386a46feb30cd06718628eedd247b628ad621c8830a4ecb068ee10d4064ab53d8b936ac59f29991505d843c8d4d5445b1875a40cbe05828a50da27ae8b95baa2dbad1328728a0ddab2ecc5bb8d8ecb106f2dc4dadd978b961f1f65d7fb32eb9b850ae45eb6a6ef0a86dc94f5e45ebadc4cacfb85b76c3e64c6e55a6cc845f22a8788f379f0ec21b6b1296cdf5e00031459114fd1c8163c82ae44c4fbcfc23a4f048fa54303b6a84b2ef042b36b8c075398d01ec14ab8a405166160ddafe58985f7d421156c3b0366be44ee51d85618be937b665837d1efe66afb951ec45655a1a6ed33ca9b5331daa6d2ae5da76fa0fdc6d6958137b7abb224952489a7e974a136ba739a58240203f28bfe9749706e48155ce688d659c765040cf43915702f0fed32ba142e07ab9ce93dacbe5f8262ad1a2ece8e0084e1369d4ba0352738b85729dac6d8108bfa72cd3294fe8c263a325f76efa8030f35ea37d84ea1f6c76117cfa05133839fbdea361988f7860597edb1d24145f3280d8141efbc37defa78b85c0298ec85fcad5f4a0bb58afa88dabc6af533a8fcde8006e20fb87736dad2df8bf1195c6b97379e9a4c9298597fe5f6de9bec2331fc5901a35f89dfdeebd17571b8b1933a101d6581e833a676125338b3da3613001db3c9a2729dbee6310deda56002f88acee0a27f9254b99b97685eff96ce6024e41af4f7337b156a0dcf17827a7395c5397f329b59c6b2a0d4aa32cfdfa1eec8ef96c2d69ce5cd5722a72d1854ca83b6f7ee9d1581fd8160f50aaf210ccae5d3c713a8cd6f14ebac596733871c71094a937ef4a2a799f556846204c5f7ff6c55e3e642e959d5221eb760739ca574a2b4d3774d4cc6c520e8acef0f7aeb2982d76f5025d847ed8f423b4322811b97e06f8d3d135a84b8910d2256912d000e56f10786fe3a71ba411fb52bb66a7e1da63309b933f2a7cb460602ea410c50cbf7f3f72d57be00238eca451a6b00c2faa3ca2106dfdd37546d3e99c71d226c3e69ff7874e44bdc55fbeb683ddbc1a75426ff21d365f30f51fcbfe94567fff531cb0fc6518fe7448e237cd5e66ceda5dad116cd3049e43ae7e7a2716168e7a13bbd4d6a3e9694fc3775972a5aa207f0f40d2acb565407c5eebe246fe03ba87eac0154a6de5898aba0c2d7b596b19c55d6653804a1ba7b7bcdbb5b4d572e0a1d9da8c0f546a38ac63040dfcb2599bf3992589158e6d8cee7f01f938dff76cf822e4bfc7c397b5a41ffda9118bbdc413400578a830c396384054d12a5e85d5150a9976551c4db5efabae0c9c57a7f6bf4d91fe1ec7a5330ce7047675ae78a2d592621b568f3f00b4048c10d6819bae25e834e97b1e2647047f8aa936232cb3d4108eecbd7a247cf9a6f3367b6512420ba59c366add8bef000664f84c625a7d0f55050058027b574ac8788d691c9d15819519d624765ebdc7adce8a262cbc408dac90ccd70ced4a86d19c5d273e7d220993476cd6bd0c07ec7a2ad88ea630e7c3d03f52bdd95f9c7a483d4ef315d859baa7737d035485debed653b59401396476ab5fb4a53f899edf79137c92a64d9a87eb263e24028e2fd5078d0158afef57861285a48271bbd75b3b548413bba17ca9a06e442ea194ffd58c25fcf9bc7dde90b19d31e9d2cd9a97870b2a779d97079c259f42be3456682f8f010652bca40766b602f02c82f63ac06f18efec7ce8330a1fcdaf52db640b6d061306efc7794a50be15bbee7d7bbac5ed73ae5d685b3e6d522777b09ebfccc882c7c56be477f252e104bcbecab1230aa428504af7d9026ee9b8359beb4195d40f28e8ac1d3d52123104595909e23ec0008a72dbccdcc87027e932dd450ac0bfddb575f9a91093e5e0334ee414f1b9cd3c28e16c5c524b5d1630316ff42880919a042be35995c7bcd7686fd22c530a17910e21040ac013c213cccc87b9cddd3d4de33a92a924c7be43c00cd20d6bcde34c60ffb6f2c05e56d6f52259e7c22826472d9b722766396779c5b8a2042b2fb9d1a9a14664d6333bf7052d7c058a7557634cb00fea8e38d176b1ae97287cf2cb238cfdc8ac4897909c3f188e9a1fd4b9d26851bfd3d9d065eedf8572fa81082b5abf24929d9b9c8a6636bdeca213a40b1abe9e0ce34d604906d87c83fe449f78668f541d03db273fe4ef2384640dce1a0f1aae0ec3aaaea4c0f51ec4dafbf5aa50100f6a47bb634a472a8f677f50f6be4aa9c0a5f880b0e8ff14a6bd01c20477a30430db1beb2c498226ae1c7003f1c022347553c6d961a062169843eb4b73590a177d48706f175cc6ad8cd630ea1aa7e61b344dc05b4dc052d093d974f454bec9ab1a790fcb3e6b05a0a6b9de0548381e14efa5e7da942e9629a2fbb9844c60638620b15a8120d0dae6d91d37e2e9f60d974da28fc95cee8bbbaa6d059459ee7aefdf665d85062407a4d5a12548420a5834e59da803deaa1630b19a3a616b000e668c0d61408380c422fe3707ea66944157a8e1107c2c4e27982090aa4cab2b0645363b93ead995d84986b0ea56741e797cd210b10b41dd42e50ba67a9ece3d32eef71ae6f6a4ce627047ea38e6590bbd66ffc6e3821c216ff308fcd32a16d421f8f728f136ee130076c5356cde8a873f786015531e4e1d5e4ed568dd930ea5f8828f6d2cc9384b6897a27385811f7281e2c38a85d27158611ff696c86faa1b2268e7012a88cb65a985bdd8d435b432643fa4b399a3b11eae5494cbbb97c284610f814c083337aa6ed79997243a15d6748f697a47123df8493ac8f560320a7b043e9b4862938b60ab5843543ad2c197d1a572788b154359e40486e30cf33b8e6b57fbd86e065aa5af489aa96c5287a23da9e8a3739ab7fd468cc5026227a4384df29e0db753a823535514261b2fa41e67c64510b9cccc504776e0bf3ddd21a7ab77458e69589bde1c6b6395b64f58a09584aedaf4b76c939df7e3327b4101b3cae1f99d52701c72581defbb1087253192bff5da66617ff4eb8cfac389fc46f116939573e08a5e32fc71c33966abbd0db096814317cb6df940776c8d7f8b2b7f92815d1b45e91cc872e08775e7cf2de4b4f30eef81db71ca8a4032bfaad8ad5746951ab0aeb5fd33354c7114cfad67f4c8d653481579d399c0f71b74e297932ffde1d7d9d96e7ef495c610f9df7ad9e0963eabfb0af7939544ae25d87c5b93b053de414f21b8588f919b42ec2e8233c980490a8abe64f8552b49a35b0dd3b30234f0df4244443da8c2eb385e5b3324947b82d41f9a0ce54c2db1cf8ba52dd7043233df0c1229ba751e1efe472c9295cff0c3f52d1815f77fd789ec8114fd924802b20eddf59e07215f57072192002b783830b68c2efb2cd1d5530b63c31a098ebe441a78be9a07bbb23b76d8eb89c54ff7484e724dd52a0e1ac07df8b4567f22579117f8284dd834d8effcb7a16849cc89d07998619563d896e8d68248309d520a7ccb8bed6a9ffe934fddbc1c00167fee82315f859f8e356fdcdfb6aa7dceecc34b821ab54ea7ce435077484370014dc53c31637aa0f6021a1502b16c5dac5abed0149c5ce96989960c5a0d4996e46f260d63ff27f5ee0cc1f5dae7afb825e4d83ead9f4679fcbae99c4934971606eabc93d868d9688e438f377aa1c89245528cb4cd9d04fa3eefc721e38000000000000000e010000020000001ecfc8c1cffc460bfb7b7e919d4d87c001509230e42e1d86982f3ecfda1fa998761f08ed39d000002800000000000000190100001f0000002c11a1355a9718a6db1a211a93eaed9c9abd00000000000000010000000000000c01000003000000f2f217bb25ba5b637b3871daf1af073fc8b9dde9d20e57e749b82a61fa65017c85cdadcd6758c51cad02faaa0b9c4629aab36fde1c530360fc38682619664da0f3c131f9bc5367670652a9af81d1fbfcd55542bea64dc03e6f88b6b3b7f4705b39df0ea2c1171ac965fcca246c92339b0ac0244a8876e5aff586ccb725629a05d96bec2de9b54089ae5985e7e13281d7b1ea4061764bfa262ac7cac8fea747d9ae3edcbf011637d19528ba1f0b457228aee96e47518d05d6a5cc667c82530c61cbddaba7c8e175fdbe2e2f46f96d0f87a347cb19dffac1c8528edcce43eedb51ab37a0beb5c12f9a00000000180000000000000084000000000000002e99efad7589e900f800000000000000130100006c080000e8f654755956bd73518fb99e582475cb11965b1cd0f41f229950ffc87ec9016abbe2e57d706a3f747f7bebbddb227dc3cacdc4897c59dea39296efdeedb59454eb9a3f0a70efb5d5bd268eea34c5d114d1da695a47f24bb99cd5fbe37b7e5932c50c344c8bb9850c527c54fb0ae153364c2b2fa583ede806a044145eeb59e06a2434bd74c071b68834b60e86affd3363cf83e7833bf4563673b416eaa38306d5bd46ab526fab61c8dfa4516a5e11584d3ce0a26763e85a0380cb7947bbed7c7f06e1b2529dab3f3aac6ee2294c534a3c8b73e83e2478bab18d85976dfb3a600ddb353c0c5e63505b2f741ccb000000f00000000000000001010000050000003fe684c26cb23e6a331c763a4725344630298ab037d7193814854e56bc79f2920c616687f2c3e117bfc4e3c09dcc75aa0dfa5065353c7a8d9541a23d38988dc651c4681a3d6849232886ac8c8cf2e41371847eadb70971d7a230eea83cdf262f890a3ed72a7add26dd8d398b36cdd67f6425aa4bdc3aab345c4305d3641c9644e4e707b77dd180d78f219ea4f04c5385e892123d8a3d089fc9bf8777371d71f9dadda29a03ae79712f2c2022eb4e898d9d05b845b012bff8c5c57c0b06eac2f7611580d315ada43e20fb0f54fb6bcd5fb37f6f12fe14517c12c600000000000020000000001250cefb0100000400000008e703b740782541b371"], 0x23a0}, 0x48000) (async) sendto$inet6(r2, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) (async) shutdown(r2, 0x0) (async) splice(r2, 0x0, 0xffffffffffffffff, 0x0, 0x406f408, 0x0) (async) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000400)=[@text16={0x10, &(0x7f0000000380)="baf80c66b8f4acc98e66efbafc0cb80900efb840000f00d00f221f3e260f01cb66b80500000066b991f300000f01d9baf80c66b89c6b4f8766efbafc0c66b88000c0fe66efba4200b000eeb830010f00d00f23c60f01ca", 0x57}], 0x1, 0x24, &(0x7f0000000440)=[@efer={0x2, 0x100}], 0x1) (async) socket$tipc(0x1e, 0x2, 0x0) dup(0xffffffffffffffff) (async) r3 = memfd_create(&(0x7f0000000140)='\\vnet0?\'`/{,vi.et1eb0u_er\x00', 0x5) ftruncate(r3, 0x1000000) sendfile(r1, r3, &(0x7f0000000040)=0xf18001, 0xeefffdef) (async) socket(0x0, 0x80002, 0x0) (async) fcntl$getown(0xffffffffffffffff, 0x9) 01:19:41 executing program 2: syz_clone(0x5000809d, 0x0, 0x0, 0x0, 0x0, 0x0) openat$apparmor_task_current(0xffffffffffffff9c, 0x0, 0x2, 0x0) (async, rerun: 64) ioctl$SNDRV_CTL_IOCTL_ELEM_WRITE(0xffffffffffffffff, 0xc4c85513, &(0x7f0000000000)={{0x7, 0x6, 0x6, 0x1f}, 0x1, [0xf0d30, 0x8, 0xffffffff, 0xffffffffffffffff, 0x0, 0x3760, 0x9, 0x246f, 0x3, 0x3, 0x7, 0x8, 0x0, 0xffffffff, 0x7f1, 0x1aa, 0x9, 0x0, 0x8b, 0x0, 0x8, 0x4, 0x2, 0x2, 0x6, 0x3, 0x0, 0x1, 0x80, 0x4, 0x7, 0x20, 0xffffffffffffffff, 0xa150, 0x5, 0xd5, 0x80000000, 0x7, 0xffff, 0x1, 0xa0, 0x10000, 0x3, 0x8, 0x2, 0x0, 0x3, 0xfffffffffffffffe, 0x6283, 0x9, 0x0, 0x101, 0x3, 0x7fffffff, 0x2, 0x2, 0x2, 0x4, 0xff, 0x9242, 0xfffffffffffeffff, 0x7, 0x1, 0x4, 0x0, 0x100, 0x5, 0x100000001, 0x3, 0x1, 0xc8, 0x5, 0x81, 0x8000000000000000, 0x5, 0x81, 0x7, 0x1, 0x0, 0x76, 0x6, 0x0, 0x3, 0xffffffffffff7fff, 0xfae, 0x20e, 0xffffffffffffffff, 0xb3, 0x0, 0xfffffffffffffffa, 0x8020000000000, 0x6, 0x80000001, 0x4b31, 0x3, 0x6fd9, 0xffffffffffffffff, 0x67b9, 0x1, 0xabdd, 0x8a, 0x2aa, 0x5, 0x1ff, 0x100000000, 0x7, 0xff, 0xfffffffffffffff9, 0x8000, 0x8000, 0x9, 0x8, 0x20, 0x5, 0x2, 0x3, 0x2, 0x2, 0x7, 0x800, 0x6, 0x7, 0x67, 0x0, 0x2, 0xffff, 0x7b7c2174, 0x1d72]}) (rerun: 64) 01:19:41 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r6}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:41 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) r5 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {'group_id', 0x3d, r6}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:41 executing program 5: r0 = perf_event_open(&(0x7f00000005c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x4, 0x100}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) accept4$netrom(0xffffffffffffffff, 0x0, 0x0, 0x0) fsetxattr$trusted_overlay_opaque(r0, &(0x7f0000000080), &(0x7f0000000180), 0x2, 0x0) bind$bt_hci(0xffffffffffffffff, &(0x7f00000000c0)={0x1f, 0x2, 0x1}, 0x6) r1 = syz_open_dev$vbi(&(0x7f0000000100), 0x1, 0x2) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000000), 0x1c) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000002cc0)={0x0, 0x0, 0x0, 0x0, &(0x7f00000075c0)=ANY=[@ANYBLOB="10100000000000000100000080ffffffbbbf6864d5a6abe87210a52c2acde084caca2598556be534daf7101965cd9b0aa79533abc31a4ca902dfe07a7332ea32e008a16afe8ad138f0214c559ca37ca42907488cbde09932de8161e041e06dc5e2739b6a3148b0c3544d96b68c83edec1ad6c9fd820e915b4fca81e3627e536a48e3c52142660c8ac5e100db287cf896236907bd14fc6e0d0b54bf906402cf4d99183e90bf2e7d5cdea90cdf4529a5a2d696985049b3476a40a5d4218bf63e859ad7072fd61178028a167da63d6da27d2509e0dc56139eb510e60ff203e149fa236c186aa88712f1f5283f8067ca0a51605b882cacc12a946f6ebdc34f2bdd2e9993c53fc62567d67303fa8118bbe16e7ad2ee604942878e3851032152375ccb0357e7392e5dd3a39116d97de125dbbfef751ab4bb925c071d53ef65386752c9997e2713ce94d312fd2f5a0a23f969e6494fe59b785d252644174d6166c0fb55818ddec9da9bb796d391810cdcc08aeb73cec480425239afb7aca6325a23646098afc5ee1c8dfe2451a9be0a2b9163ae6407cfad028493068b21473a6b2ee8c478bd81b7c40bc88f10fdf66a28f1b8bd867802ca9a1c01dd8ad0b61bafe66a132f135a6b8b87b78ae256ebb73b6c487569686bc5f71872ce6b7ec009cb8f64ef91808996ed11af8a00a4a3e76638b9acf3891a3d2187407c495ca1002d19b897099cfda69a083985dbf2eb6af669d6702b2735ab28d4cf997feb1890c7a7890defce7917399d5a65caaf1b7afc79ec9603c966422007802a57ae2b1b5aa73e0030f55281e5d24ec6b9b9740f7291c1ed067dada3ab62eeda70ae4707357e6c3c0a3b28ba6ba06ec0ea041b55ddbc87b715eaf1b370868329a678beacd9bc4454b598671aec278713a6c7c50c00f62e0cf6cb5b8908693600033223323c16c444b60672ce37d3bc8427d877e4dee8d211cbc0493f985d3ea61071dd374b95b79b3121e233134ae0552a2187439e9dd385eaf911dd7a1ce2065564394e358ed791592f8aae2b04a337b06b59e986c4258859983e9e925b1ebbdfc03408ea368553c4311ada6c9ee41e25553ce62ad2bc8f2da2ec4659e2727a2baf14776134ee714832570cbca1d65aaffc9155fd6a24af17d0aacf2bd8536b4cdaa21f5b457310021c340fc933f87553972f92e665f99e5bb922ff430f66bd34777dc43a4fbf5a81ccbc73c9123962dd6a2f60c216ece60ff99b71fcf32fa711ed266d8c3a888a0ffc2320104329153f80f59fd2b57c33c9cf4d23ac492ea467962dfd7453c0c78b1ede291ddb7b34305e3d462ba5fc0e939ca2ea2c5df9009b7539dda4d93e549eaa8a23db4ff31138927db9f7d5802a6af6a225864cf99802d153e26703fe6b34afe82e6b784134af136e65df993c3c9829dc8c32bf0a2f59f8a6c5176e899d45db5002a95beb2fb9d52b5cfaa2f40ccbc6fcb4f66d7c6eefdc70ebcc95e6eca3880d78ce106d54d116664fe4a9aa58dab4f84e252f7041d870065de4625ab62fa16697e0da62530fefc2085815f166991d5955960aaf42d2f4985cac9efc023b595fbd077d9541b020e1742d11c0eb81b778e54898acb84df5fbf6074b24dcb58811d40f5759fa562d6722e778d08c54763f4427906e81c46b9c504710b5ac291c5133f5fb0fe85edca59f8e3541c74438c18a8c0cb6ece2786572c597e20749bc560d8b9a1de305b7ca179a2b91533e905dfaaa5f799a89f63f57763c2a36c2d2108f4c0d5f9f5fc7de54d89510f5379039f097a2794466d345aa7ba4ddf3420bf7145fee443207d0dc84aee980555e8e1be95fe801fca0970c76f2b13e252eaefa0ffed7c2a68f761f0f89a01ad0e6b4658795b117c2b80a649cdebc3a048764622452c86720ad32598c2109eab34f6d3ff9f3ff96411443f8ac3fde68b598b3f7c5f47b28d5970edac22f692e2aa4289fb89f79f8c0f1c49842a91b83091dd8c434861ef25cb5de4af8612cfb3cac5f583cac62c2a5d5f94dc3675a89d2a8888509772006c118f3fe82b541af11654b1c95435bb9435fdca0e0ef4e8fc29301ac8a9dc56e935611d82889b17ef201e52e5301bb422fd02b25575122b6a05062b16e3dd374b91a7f96110df370f40610f5bdd87bb2c7368dc552a7985d9b1316b956cc13d6aaa3a319715078b3718fe4f6247159eee0a740ad815eec3d1fffe8b2f63952f9398f1e50044c73dca91bd1d3805cf76fc578e3588713880b4f80cee2d000d6e5c7d5277044351bf8d32d64f194e45cf7c01954f770fbaba72f8f9f70e954df2e50163fa0f24f33ea337c9567ee3270ea18b108faa7581555d1b2b2a06ec90ccec9d658147cec54745dbd1627e964f760caccbb3b2f5abbe22add12f639170fb6d1949702a6d858c122f001dd1b1b2662d8b5b050ab21b143ea6ac5082412d89d69634150cdf1af39117a0be6f423497ebb895208df74ae8d337a12ba3daa5ab5985c384d0cd021af0a168fa6d9ffac543825b6cfdd21c29f99115743ebb8e76310a3db2d5487e860a2d4d5a0456382ffb9220816df083380fd2de5f281bf8f3cf497715848adf0407cb05de25c56b2ec832fce76c74077a99f7c2c601f8ebc97ce8d5637311c237d43dfb9bf79727a1b4c9a1bd1ece8130e3adf25785183288fff90f6d9a55a7c0005beaa89cfd156dbcfe723b692a48e5819e277a466c5f517798ed118834772e53b85183a351fe0cf87d43bf4f2382758fbc2203b7ab2cb170dfc26485d39456f31981d0cea39ae51ca158d434184410e5ad5e8c7d2973bfbfae790737f144fdbe8130a7da89e0a988e2dfb84fae975b857ea3e406c1315a53499d44a690b6fea3a93d34e67a06dff8b92aafbb46759f457929b981df9056d6d2c2338841ed1d305e42dec8647712ac3ec43bb1ca317abf4a380603d0bd11656cafb31a090872581e25c39f33d01be0d1fbdc8a96b639091de61cc2030ca6c0703c6df83bab06bafaf72e9389b4183ce5c53a8dfca79bf905999108b8c4924beefb48c22649c849d1fd549eaaa720836403e773792989b00ed70a1c222ca8f6aed38270305803774eab5f8015e34ba8f5de7582b0b53c1660a67e93b0b05a7a4ae447f2a0d30fa8660b3b51fd7a98b3161f4974408e074fed1090661c968fe670ab57f93746f758bef3dd6f9438154ad03e138cb946a208e9bb37846b56cd36fe64178704e5dd2766d1227a56373e072efd503a525ee9ac84d8a0c6676563e94229450d40d297be45970b7ab435cde231d7dcf5a3662bb3dcaec51ff5fe4da8e043d11adcbdc282500897583878a8c9fa8d3dba54f1ebb9f939c99e44ef29a1a466cca99ca1a6da721853bcbcd850391bdd2a301465a497d07f25da21ffe5126a989a730c82a1b9366fade730e8c0247c706939555e499b28312570979e766a0a798862427d3154c5dd0cdf7750f4ebf3963ff677aae1fb3a14bd586bdf50347e59518754f8897a11fc9e05cb5275141bf8030683d1c6bdaabd804384866a91c273a9af1c009e532a95ad8d7b7a537e58bc0482321cd88570394a39cef5afbe37e1b647f3d7aa6a5a7d5e9982784f4a7aadb34b097a6599496a98cd9707b80dd9938333cea941f33e559744614c721542166d5d4151c8450cd20424ee73f57c5b490fce3a9124bce484894ef09f87308898837fa238433136440f688982dbe2673f33ce71439584e73e20339514d7d2cc4412131f2bf710042b9a235d13af230b5f657c2d219602eaaf479a4134ac23e6a65a64b47731ebf14c638ea4425e2cd43f8a7231c7a657b0ebc05940a37f4855d7041f187b864f3ae29f1fec2e116518519e7ba18e65ecf258a8371c740c3609a8e74e2ee0e19f13a30556da5dae541f54ba29504c2b98baff5c2aeab519ce95a9e722c8a5c09d3a34a1cfba24610241db2c44da45841730dfb9501d1a9ea58cad74670d3ffe0b00d9010f59dce28a2ec2a0542e1922db9484cc96383fcade2d1307c3c1c5f93f13cebba3eae122f2b09a1f949448aa8748ea31a85cf3ced5aa6ec5c914ec9a0e782c08f495cdc67594a01f98558f5fba1258be55afc799faefc769961d5af02a5d880487a9090e1a0c015162f5b6da4ca70fa65e691b05e0fad84508e258e572b1afcf3d889eed8c67b7b13712770991e488a49bf74d1c48aa01e9df642d81af918a8a05387a4523af227090c0bf55f8579e9f4be83c673d424291a2d14626365c2832da37019676de942bf3c0d0aa17feb19a464faa822ac4788e1f7799d743d9d07fe3b9611f14481e0c39a009fa966a47141910af10649881d1ae691ef54e2bee38253f7d4f1cfede34c95f96aa0007aeeecc61cee10e8231d92435e4d6cd8924c8511c92c18d41d6c223d4502923c4b15c371e3e5f7baec51c51a16cce1ab08314009e0ca1f6b760b6c990cf56f47bc6b59b6cd508412357fb2902cb28a914ab16556d67d5639e62fb383f6f5e2e8ff4dc65c41b2e4030795e92b4bdfbe5363f171ebb2484d26e97612a0aa68faa0705d9f73afecfcd0fcf7624fb27636f65a84fd5f3e13e2ec33f7377edd05b22f9b278ddb1be2f2a105d1177c1359fccb7cf5a23f1b1ec6f975f728cb7cebed4675900e5a3b2841ed3257d1d38f8d06b02bcab6452303e889dc7565a5eeacfe72df1983faa29b08738a974eb4c3d14b5264935790956f047321438b636fd732265b93326d42544a93ba358c5e62c63ba4125bdb31cf5b92a1012f0634c5b2960518d81bcd54fb3062661573738f99ac9a4fd53586681065b8f30a156cb19f69735840efa69e3211b2ca23e942bd7b3f99eda57cd8cd61f685f6f3713c3bc19422596bd2de1415e853835f2769626bcfe389e61ed3b98b746e71deeea500df2db5f4534c150538178913441dfefc3cb7c44157df6002f949d9385641644838ce2cf1fca98945990f5b8ce1f3ae173fda623241ff0e2396728283a6912c9243b46970478c1e4e7b8741659ca402b0765785a5ad1c0a107b9ea0aa0b4d14b12fc6f9d24ce701b577494912408fe378ba4d67168343e4efd68cd8312b9bf623adc5c58976becfdd40b2e90c408554f2cae6f667b57e9dec948ac055b69ae5c463fb281ece1d9fd346469247f4d533553bc3ae778e15bd2c347a567522cc90914254aa9753372a994c43b679a7c8f91b57be3d923286f09c2d803bffd229f229e6a49a10cc8f5275aa3aee1f6ac5947de495de168ece7e20e28f32fd1f6325df156b577c938ba0b1d275c53234972b6f5a662bcb3f6a1bf5fa979f5c7d550e18e2a87fba286a9649ac3489144bb9b9c6995e4a8bc116d96480b683475bee9b6f8cb1c5c723619b35d0441a404dd480d7246686ad2716be8e9428e13218e4f2289aec69254f1617ab81d83e135af84ae5ad27284885c21df810fb46a8515371d0abb185e5f489f5148afd1ab34d0d8d97287edc429dcfba9b5a365429285f4b4d68c20fc2e4a06be46124981a91dedbd3f7bbccfcae5c244ffe10fcd86bf8bdbc32b12853663b13300b4dfd5018bed4031cd9a35f5a25827dfddf9a460f16cc6d3d9a49a0020ab916f7c1b3a841277385e41b30f87392caf78705151fefc657357f149b12dc40658439baaaff521b9388452bdfcb0c2d383a00a8ab4c9a44fde363647b987cdfd48f4e3b8746fbb066c1e30592c277a4aa2f3652b061e2acb03ebd8ccf87c782abfbbeec89615b71d7eef2ebd92f2a8e317ebfb763eefad849ee4802552cad06437483e875f73851fc7c3cde0967228ccddbecd9b89e165341241e04688c91bd914aea0ca5d010100000000000000701000004000000635747cbfd28d7e380101bce1009d5e084240ca29bf1ce2a0fc2a4ed67bddeeeb1e78202cfa468a6900b99f08e19e3b0119c9948223c684e71780a99c7ac964b2ae9bde47e28eb0fe182c9e263191d2a03c32fe7ecdbcc630997543301ff1f9ff64ea0b817694326ecd7810d3aff161265103d1a4c0af4221c92f82d8c2a27996c99fe8f30cdcbe3add5dcf0c2320237c6857db7225214936054a1a0f7ad1f6c7b020f893a5a6fedda4d657d165f51ca19546a25721b26762a95d49ba35d5646a38d8bf0eaa9c58050ec5a4a686dbbca4004f384e997852647a35574ce9596c9fc3e0b2245f24c4769df25bb9932d2b8d5790f75ed0458d01adb82698f2aa36a2212016d5301be8959ee7e2354c8959869349c610c4afd57baa576a27b371f936f184ceed5b4d5c053a9af0d12b6d3f69933c0c115299cb28b3e32c23914dc01a82198e0f0748fda1f1d298f7fbc358c60b5e7d797cc3679a70a00a52501e9d8c65df98410143a18b0715964f6e5a08a84587239d2a8471ffae3924d09e95b3b62642139f2b703b2df4f442181f2663bc978e7fbdf488ca0e6caaf7f4f1d5885b4c36417fd3168e1019deeeb41fab7d88373c3c2327b81e373be68967689f21cc2a15a804461e27eacaaa970ae7f9ebbcadc4835f03cc5590996173916759af40541ac9ed083db8209ab08d00c4a746a584a7a936941a3b3084de4b77d11d77de80ccbc0d7d0b1080fd76751f057ad4e66e1fe8bcfae7295784cda58537f57c61629ebff4f0623464603a8ccce293d6308f201c1e50d05d23c8f88b8753543a0d1860c785f2c7cded7a9429b4fcad26d4b932e3eb0df5ff2a77caacfc27cf099e4a781e5006fafb789c2d810aefae16dfcd2ff9575de3f49da555ec021d5d45271065a42de3b4fd82a94d32166ec996dd7fbac44765a06742ae9e90b57173e9124875c6624cb586d23afad12996d485b48e4ab51f3ca95717955d1f0ea609aae26232bda2c75a26dbaf4cca2958d9c582cffbba78a3883fe11a5d7369ad6180b55c86b7803bc1f732fe686da6c18ac607982f8cef0e5173cd6ab4bff7e2cb7f06c68d4b4edd92e7d006ecafb17cedcf0d252323ddbfe46db9de3730baf469d50dcf1d2e834952fc381d39743c50e4998ca09add496d52c6bea9b78766164f33aa1141546b432546fb1624b21eb48ed191ae0fcfa7cb8fd96b95912d2c5f234f47f4c00813f6e68b9e126a0fe9758145acd80088d2ffdc66a5c00645448ce8e518649c0d4494b9f93f389627177f4cb6e8531c7706b7aeeda165d570c3542ed428f70db9db806342591547868c804a49e460c5ef4325b44ff772355d21382460fb94168bb652de246e2d3b9c7d58beb1e07995dfe8374949c504d42d58bf1c8febc4e39ae5e8deb634d55c659290011e2833cc44bc18f5d063ede66d6f8c59d6124de9af60059c618d9c5978dfa36043a63302b062f6ebca23c690541840aea9e912cd3769ebd7df2854753228a4d02672d2427c225faee395a990cadb860024fd977a87e5772573616f26c85c0d5cf4b841ba77e8758e55dbc961ac833c2c6d526e6a0d3ca2dc00c6d21ab032972419bd67ed7d030b203e105bc7def1e2b83b980589453440c6e04cc327e85319644870ba6e24e1edc237b42d8a6bb959cf492aa279de859c58458f8a6d607b039d5bdae8b7c17f8dca23b233be5b89d8845c7f15f63e212cdc1503404cdf5f042e2b9d6de9aa577bc9b4194db9caadd5d2562db3b39d24cbf31246ea9c2255ea0f96992af096502154c3661957167923669e0a3e91619fd80b6ebf1ff444121e645cf2f8dc095ca406eabb582ee94e42b5e8f0b577bd2dc7797080c9ace2162179e4dd35daf22bc8e975d7deef8a3585730989d2a7f456e1d1fe17479c665c17cd1d24599636eae2ee262f2ebb177c63cb458d09458b6d5e6cc879131970fb2982858237cd211095eefe12c5a49c6c31d8ca8660c655f7685b49cff4402c787e934308d172dc1be2ea8e67b2d9772bfd2aa59cebfd836becf3e6e9d2d2094d5af7df08c27e09a7f121e972abe980bfc3085d63feef9e5d1d902433abb93f9126b094e55215c294c6ece25a57cd25b47768ca38e202a39386a46feb30cd06718628eedd247b628ad621c8830a4ecb068ee10d4064ab53d8b936ac59f29991505d843c8d4d5445b1875a40cbe05828a50da27ae8b95baa2dbad1328728a0ddab2ecc5bb8d8ecb106f2dc4dadd978b961f1f65d7fb32eb9b850ae45eb6a6ef0a86dc94f5e45ebadc4cacfb85b76c3e64c6e55a6cc845f22a8788f379f0ec21b6b1296cdf5e00031459114fd1c8163c82ae44c4fbcfc23a4f048fa54303b6a84b2ef042b36b8c075398d01ec14ab8a405166160ddafe58985f7d421156c3b0366be44ee51d85618be937b665837d1efe66afb951ec45655a1a6ed33ca9b5331daa6d2ae5da76fa0fdc6d6958137b7abb224952489a7e974a136ba739a58240203f28bfe9749706e48155ce688d659c765040cf43915702f0fed32ba142e07ab9ce93dacbe5f8262ad1a2ece8e0084e1369d4ba0352738b85729dac6d8108bfa72cd3294fe8c263a325f76efa8030f35ea37d84ea1f6c76117cfa05133839fbdea361988f7860597edb1d24145f3280d8141efbc37defa78b85c0298ec85fcad5f4a0bb58afa88dabc6af533a8fcde8006e20fb87736dad2df8bf1195c6b97379e9a4c9298597fe5f6de9bec2331fc5901a35f89dfdeebd17571b8b1933a101d6581e833a676125338b3da3613001db3c9a2729dbee6310deda56002f88acee0a27f9254b99b97685eff96ce6024e41af4f7337b156a0dcf17827a7395c5397f329b59c6b2a0d4aa32cfdfa1eec8ef96c2d69ce5cd5722a72d1854ca83b6f7ee9d1581fd8160f50aaf210ccae5d3c713a8cd6f14ebac596733871c71094a937ef4a2a799f556846204c5f7ff6c55e3e642e959d5221eb760739ca574a2b4d3774d4cc6c520e8acef0f7aeb2982d76f5025d847ed8f423b4322811b97e06f8d3d135a84b8910d2256912d000e56f10786fe3a71ba411fb52bb66a7e1da63309b933f2a7cb460602ea410c50cbf7f3f72d57be00238eca451a6b00c2faa3ca2106dfdd37546d3e99c71d226c3e69ff7874e44bdc55fbeb683ddbc1a75426ff21d365f30f51fcbfe94567fff531cb0fc6518fe7448e237cd5e66ceda5dad116cd3049e43ae7e7a2716168e7a13bbd4d6a3e9694fc3775972a5aa207f0f40d2acb565407c5eebe246fe03ba87eac0154a6de5898aba0c2d7b596b19c55d6653804a1ba7b7bcdbb5b4d572e0a1d9da8c0f546a38ac63040dfcb2599bf3992589158e6d8cee7f01f938dff76cf822e4bfc7c397b5a41ffda9118bbdc413400578a830c396384054d12a5e85d5150a9976551c4db5efabae0c9c57a7f6bf4d91fe1ec7a5330ce7047675ae78a2d592621b568f3f00b4048c10d6819bae25e834e97b1e2647047f8aa936232cb3d4108eecbd7a247cf9a6f3367b6512420ba59c366add8bef000664f84c625a7d0f55050058027b574ac8788d691c9d15819519d624765ebdc7adce8a262cbc408dac90ccd70ced4a86d19c5d273e7d220993476cd6bd0c07ec7a2ad88ea630e7c3d03f52bdd95f9c7a483d4ef315d859baa7737d035485debed653b59401396476ab5fb4a53f899edf79137c92a64d9a87eb263e24028e2fd5078d0158afef57861285a48271bbd75b3b548413bba17ca9a06e442ea194ffd58c25fcf9bc7dde90b19d31e9d2cd9a97870b2a779d97079c259f42be3456682f8f010652bca40766b602f02c82f63ac06f18efec7ce8330a1fcdaf52db640b6d061306efc7794a50be15bbee7d7bbac5ed73ae5d685b3e6d522777b09ebfccc882c7c56be477f252e104bcbecab1230aa428504af7d9026ee9b8359beb4195d40f28e8ac1d3d52123104595909e23ec0008a72dbccdcc87027e932dd450ac0bfddb575f9a91093e5e0334ee414f1b9cd3c28e16c5c524b5d1630316ff42880919a042be35995c7bcd7686fd22c530a17910e21040ac013c213cccc87b9cddd3d4de33a92a924c7be43c00cd20d6bcde34c60ffb6f2c05e56d6f52259e7c22826472d9b722766396779c5b8a2042b2fb9d1a9a14664d6333bf7052d7c058a7557634cb00fea8e38d176b1ae97287cf2cb238cfdc8ac4897909c3f188e9a1fd4b9d26851bfd3d9d065eedf8572fa81082b5abf24929d9b9c8a6636bdeca213a40b1abe9e0ce34d604906d87c83fe449f78668f541d03db273fe4ef2384640dce1a0f1aae0ec3aaaea4c0f51ec4dafbf5aa50100f6a47bb634a472a8f677f50f6be4aa9c0a5f880b0e8ff14a6bd01c20477a30430db1beb2c498226ae1c7003f1c022347553c6d961a062169843eb4b73590a177d48706f175cc6ad8cd630ea1aa7e61b344dc05b4dc052d093d974f454bec9ab1a790fcb3e6b05a0a6b9de0548381e14efa5e7da942e9629a2fbb9844c60638620b15a8120d0dae6d91d37e2e9f60d974da28fc95cee8bbbaa6d059459ee7aefdf665d85062407a4d5a12548420a5834e59da803deaa1630b19a3a616b000e668c0d61408380c422fe3707ea66944157a8e1107c2c4e27982090aa4cab2b0645363b93ead995d84986b0ea56741e797cd210b10b41dd42e50ba67a9ece3d32eef71ae6f6a4ce627047ea38e6590bbd66ffc6e3821c216ff308fcd32a16d421f8f728f136ee130076c5356cde8a873f786015531e4e1d5e4ed568dd930ea5f8828f6d2cc9384b6897a27385811f7281e2c38a85d27158611ff696c86faa1b2268e7012a88cb65a985bdd8d435b432643fa4b399a3b11eae5494cbbb97c284610f814c083337aa6ed79997243a15d6748f697a47123df8493ac8f560320a7b043e9b4862938b60ab5843543ad2c197d1a572788b154359e40486e30cf33b8e6b57fbd86e065aa5af489aa96c5287a23da9e8a3739ab7fd468cc5026227a4384df29e0db753a823535514261b2fa41e67c64510b9cccc504776e0bf3ddd21a7ab77458e69589bde1c6b6395b64f58a09584aedaf4b76c939df7e3327b4101b3cae1f99d52701c72581defbb1087253192bff5da66617ff4eb8cfac389fc46f116939573e08a5e32fc71c33966abbd0db096814317cb6df940776c8d7f8b2b7f92815d1b45e91cc872e08775e7cf2de4b4f30eef81db71ca8a4032bfaad8ad5746951ab0aeb5fd33354c7114cfad67f4c8d653481579d399c0f71b74e297932ffde1d7d9d96e7ef495c610f9df7ad9e0963eabfb0af7939544ae25d87c5b93b053de414f21b8588f919b42ec2e8233c980490a8abe64f8552b49a35b0dd3b30234f0df4244443da8c2eb385e5b3324947b82d41f9a0ce54c2db1cf8ba52dd7043233df0c1229ba751e1efe472c9295cff0c3f52d1815f77fd789ec8114fd924802b20eddf59e07215f57072192002b783830b68c2efb2cd1d5530b63c31a098ebe441a78be9a07bbb23b76d8eb89c54ff7484e724dd52a0e1ac07df8b4567f22579117f8284dd834d8effcb7a16849cc89d07998619563d896e8d68248309d520a7ccb8bed6a9ffe934fddbc1c00167fee82315f859f8e356fdcdfb6aa7dceecc34b821ab54ea7ce435077484370014dc53c31637aa0f6021a1502b16c5dac5abed0149c5ce96989960c5a0d4996e46f260d63ff27f5ee0cc1f5dae7afb825e4d83ead9f4679fcbae99c4934971606eabc93d868d9688e438f377aa1c89245528cb4cd9d04fa3eefc721e38000000000000000e010000020000001ecfc8c1cffc460bfb7b7e919d4d87c001509230e42e1d86982f3ecfda1fa998761f08ed39d000002800000000000000190100001f0000002c11a1355a9718a6db1a211a93eaed9c9abd00000000000000010000000000000c01000003000000f2f217bb25ba5b637b3871daf1af073fc8b9dde9d20e57e749b82a61fa65017c85cdadcd6758c51cad02faaa0b9c4629aab36fde1c530360fc38682619664da0f3c131f9bc5367670652a9af81d1fbfcd55542bea64dc03e6f88b6b3b7f4705b39df0ea2c1171ac965fcca246c92339b0ac0244a8876e5aff586ccb725629a05d96bec2de9b54089ae5985e7e13281d7b1ea4061764bfa262ac7cac8fea747d9ae3edcbf011637d19528ba1f0b457228aee96e47518d05d6a5cc667c82530c61cbddaba7c8e175fdbe2e2f46f96d0f87a347cb19dffac1c8528edcce43eedb51ab37a0beb5c12f9a00000000180000000000000084000000000000002e99efad7589e900f800000000000000130100006c080000e8f654755956bd73518fb99e582475cb11965b1cd0f41f229950ffc87ec9016abbe2e57d706a3f747f7bebbddb227dc3cacdc4897c59dea39296efdeedb59454eb9a3f0a70efb5d5bd268eea34c5d114d1da695a47f24bb99cd5fbe37b7e5932c50c344c8bb9850c527c54fb0ae153364c2b2fa583ede806a044145eeb59e06a2434bd74c071b68834b60e86affd3363cf83e7833bf4563673b416eaa38306d5bd46ab526fab61c8dfa4516a5e11584d3ce0a26763e85a0380cb7947bbed7c7f06e1b2529dab3f3aac6ee2294c534a3c8b73e83e2478bab18d85976dfb3a600ddb353c0c5e63505b2f741ccb000000f00000000000000001010000050000003fe684c26cb23e6a331c763a4725344630298ab037d7193814854e56bc79f2920c616687f2c3e117bfc4e3c09dcc75aa0dfa5065353c7a8d9541a23d38988dc651c4681a3d6849232886ac8c8cf2e41371847eadb70971d7a230eea83cdf262f890a3ed72a7add26dd8d398b36cdd67f6425aa4bdc3aab345c4305d3641c9644e4e707b77dd180d78f219ea4f04c5385e892123d8a3d089fc9bf8777371d71f9dadda29a03ae79712f2c2022eb4e898d9d05b845b012bff8c5c57c0b06eac2f7611580d315ada43e20fb0f54fb6bcd5fb37f6f12fe14517c12c600000000000020000000001250cefb0100000400000008e703b740782541b371"], 0x23a0}, 0x48000) sendto$inet6(r2, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) shutdown(r2, 0x0) splice(r2, 0x0, 0xffffffffffffffff, 0x0, 0x406f408, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000400)=[@text16={0x10, &(0x7f0000000380)="baf80c66b8f4acc98e66efbafc0cb80900efb840000f00d00f221f3e260f01cb66b80500000066b991f300000f01d9baf80c66b89c6b4f8766efbafc0c66b88000c0fe66efba4200b000eeb830010f00d00f23c60f01ca", 0x57}], 0x1, 0x24, &(0x7f0000000440)=[@efer={0x2, 0x100}], 0x1) socket$tipc(0x1e, 0x2, 0x0) dup(0xffffffffffffffff) r3 = memfd_create(&(0x7f0000000140)='\\vnet0?\'`/{,vi.et1eb0u_er\x00', 0x5) ftruncate(r3, 0x1000000) sendfile(r1, r3, &(0x7f0000000040)=0xf18001, 0xeefffdef) socket(0x0, 0x80002, 0x0) fcntl$getown(0xffffffffffffffff, 0x9) 01:19:41 executing program 3: r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000400)='./cgroup.cpu/syz0\x00', 0x200002, 0x0) openat$cgroup_ro(r0, &(0x7f0000000180)='blkio.bfq.sectors_recursive\x00', 0x0, 0x0) bpf$BPF_BTF_LOAD(0x12, 0x0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) write$cgroup_type(0xffffffffffffffff, 0x0, 0x0) write$cgroup_subtree(r1, &(0x7f0000000940)=ANY=[], 0xda00) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x7, 0xffffffff}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000080)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x30) r2 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000540)={0x61271c7e3dbc2908, 0x80, 0x27, 0x3, 0x0, 0x3, 0x0, 0x4e, 0x88401, 0x8, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, @perf_config_ext={0x9}, 0x2030, 0x100, 0x0, 0x7, 0xffffffff, 0x3a30, 0x0, 0x0, 0x7, 0x0, 0xaf8c}, 0x0, 0x6, 0xffffffffffffffff, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) perf_event_open(&(0x7f0000000240)={0x3, 0x80, 0x92, 0x2, 0x7f, 0x20, 0x0, 0x150a8911, 0x80200, 0x4, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x603e3a42, 0x2, @perf_config_ext={0x80, 0x4}, 0x40a02, 0x5, 0x3, 0x2, 0x2, 0x7, 0x7, 0x0, 0x4, 0x0, 0x8}, 0x0, 0x1, r3, 0x8) bpf$MAP_CREATE(0x0, 0x0, 0x0) r4 = openat$cgroup_int(r2, &(0x7f00000000c0)='memory.max\x00', 0x2, 0x0) write$cgroup_int(r4, 0x0, 0x0) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000380)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_int(r5, &(0x7f0000000200)=0x4d00000000000000, 0x23000) write$cgroup_pid(0xffffffffffffffff, &(0x7f0000000040), 0x12) 01:19:41 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) r1 = openat$full(0xffffffffffffff9c, 0x0, 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, 0xffffffffffffffff, 0x0) (async) r2 = syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000000140)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000200)="88001c0000000000c7d1ec9b000000040800780914092a1af9b795000100000101698c8755dfb6d52274036a22976f0053500701be5824026d413f2d5309854d285cff8a1f4c164da70f4f7343e536119ffc134b1289b3289e25125d95a1a93065ff724d49e57a5cb9625685477d6143b857cc272abb12ec58957331be20611001f180cc2af1dc0696", 0x89, 0xe000}], 0x0, &(0x7f00000003c0)=ANY=[]) (async) r3 = getpid() (async) ioctl$DRM_IOCTL_SYNCOBJ_TRANSFER(0xffffffffffffffff, 0xc02064cc, &(0x7f0000000580)) (async) ioctl$DRM_IOCTL_SYNCOBJ_QUERY(r1, 0xc01864cb, 0x0) perf_event_open(&(0x7f0000000500)={0x0, 0x80, 0x3f, 0xca, 0x9, 0x2, 0x0, 0x1000, 0x20018, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x2, @perf_config_ext={0x5, 0x4000000000}, 0x9000, 0x38d, 0x9, 0x3, 0xfffffffffffffffb, 0x100, 0x8, 0x0, 0x8, 0x0, 0x2}, r3, 0x3, r0, 0x9) (async) sched_setscheduler(r3, 0x5, &(0x7f0000000380)) time(0x0) ioctl$FS_IOC_FSGETXATTR(r2, 0x801c581f, &(0x7f0000000040)={0xba76, 0x8, 0x8, 0x662, 0x7}) r4 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r4, &(0x7f0000005100), 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x4, &(0x7f0000000480)=[{&(0x7f00000002c0)="efb98158c996a13790030354931144ddff6e65e5cb1bd0f5e3445726f90bdacde13e3287de4b258e", 0x28, 0x80}, {&(0x7f00000000c0)="9b23012d15fbb2be5b5d2208de10e4b0deb503d3c76d278e108c147b40686f53c3a120ce8592ab26bd4ad2543dc2ef562dd2cf7cea77", 0x36, 0xc000000000}, {&(0x7f0000001580)="a5761ae2d96325b4a3a3a03b4e3a1038a396e81daf5881549398ee5522a6b0579c52346a658b3d674c16e3eb203ff34d26a2acae1a2d48a892373c34920aad30f177cd8c142ae841a8ba49321fde3c350c11db9ec734cfc81e0752d97905d21cc966e1f9c0958875fde4aff1cffbbd656148d71a4fe0a49bd59f07440737c72e9a5486bb3c0c5b6929af184afa2fe887ff6d8e523b5d1988650fac5ea4228961209381248c83252d1f3bce3d09182b4ece67799db022909e6a7b061884c40766c9a0e7706d165ebe3efe2be74b542ed6e8552e67d4789d7f26494554dbeb7de4b2145bc112466f7e9c5dfa4c6c3e89285f08434818fe2a085d64ddd8d70747a7d6ea7f6dff1a5962d09ae9b46437ce4dace277eb3bc0cd7c6a33dc46299eb1533634b48b51653b48a05091d85c0fa8cba0c91778616a57d0ec7276d8a10e3f2af1d586f125ac907ef22df7bccca4954fd92124a4bd50ef36a4224a264941bf66ecb61e3a6e65a4e22bfe82f6a44033af737a487e4c5f1075b6fd2d6dcfd231325df1b966bf96c3eefd63edef6a617cc15a77f8a5d0f7c77151e0545ae7c66183f20ce72496f8efa8045839177cbb4405ddc680f956eb7f41f5d42458c35ecad2442168132dd0ffd5c9dff52fc7732b57456dc61e3e6291db092c4c2a4f3a358c5d8260fa351838e4f270102d8002c544419cc2c46dbef2181378405c76d1d6f1c28885438985f8407c67f26cdcf6de938c81061fb3be89011e341da77c866f6a70ae0f8de7ed7f28da8c3cba570e4f8f093a087bf978f44bd4b5ccd241cb626c6cc0979c0a0d91141bbec7b39a91656dfdc152716811801a867d34d8563f253bc6f303fe08e30593d9455d99605a7962fdd5d3ce93f0b9387b1954a59d5497cf01a8e5ae0a89c75c8c9ae84dacc32057d509a0d394073e55263a987ffa17926d3828030dd0b9386f2c9b13743924fb6d94cdabae5965c00eaf5631b21d4fd80e6cbebf418ede617d26a4c5f45380c32b1b1b3bb8f4d16bd474d124fd678ea2c6abcc29032b9accba8b2176465a37c135faebd49c574fa09ef39fcfb44f0964e6d8c3c04f4893ec1153e2b54a75a120a5583c263666192463bb83807731e45ca83373f27336127cc7004a1b68fbaa5d57bf9f15e306846da5711fe117a6d5f301a365fb1ac168f690a8ce023811caf4c274af09af9b3416ee78f8979ebae1383b577c2e518cc27351b570319910258cd21d3ede3fbed55f6fc6b58c873811aeaf97b1602533ce385a880cf2b0b4461f389918204718615ab3ce03728a5cecee112c5bfac680248630831df764248f676b8f5dcdc15dc0efdd9276c15db5f88ae723b3081913fd47eb0d324dd5f350fe4c88b43d0ca19e54177a531294c684b2201dd482fb4eb8c0693862c18e5fe34ffd3da471fafaf30c1d9bdf7b5e0dbbbab341e1106a9447f7a4f62db64b70940f41ac58bc173ac7d4e1e5773a78a93f7464c6c14f530666efed42b0b347eb5d3ca216fa9230d6c7ee86f34d756aa23137bad91f994bfb3e686015824c611a6c1a349e662968d9b4800a09e92b7909e7bcb64afaf39335947493566b6573949975c4bc5e9be21015c39285d217ae207f8ffd802ccbc52c3dfe3afc0370e39587a1b7e99f2d599d27190d1055de347c17b28cf930b52a55aa75757295b60c1bc159ebd27fcc63d7013f0dadb7f64da34aca2e5f935cd6a46354c922f00f22b82e5a87bdf7819b0acd36c30561d8eb2a8b2000f46e62479569fbe0b162a1bf57e7dc8829bda817028d0ee6a4d0e2bba6f151882541b242b3336338b9af53b48208284f80ed8f69d05456a7fb27e0d49a48a27b006c9a4af59b44fa86aa6b8ef96d6b8f8001794325723a64bf67ae1ad58e23e86e3ffdbecba28279a76a94cfa2646731a6aebcf19a9cdc5cffe4369b6b7e52f2f75fb572fbc5c5d3ecbe34a01a2a8c15f270305aad59f73016d6e39758f141a838aed2d2f58ddcc4dca13b13597dd74e9c9610d14a9ae3705ade1a17b98889441ce5baeec194b8c2db138defff70d9273c03e0515e6b98ed6e093471ee53fcb16701d058254a52f47ddf500673301ce76c3dd21bab04d21b7fae77473466def1381d1cb4694228bfcff8128c314ac3b91814b67ba9f01ccae324edfeab46f909e42483283b89be91039b34074b0e5de1e6f3021003a310f5af7b0d09ad0df04c028907a367174063da49fdd32498942b303d793ce94ab3be4e983f3213ac8e896303fdc8fce5db73c681f50dfe258b618ce039f8b1d7c01e5923c9a18a5c18a912b61950399141d289b630a7307bbfff4ab376f039d0a7ab4b2737dde08f8e52d642c337c09c473ae1ca1ecef4959357a3cadfa89ae313d011510cdd459038b06e36e10c10b2fbf8f2a63f3483d3bd28ab464d94a3429ec1ac078c97d7bb272421309616e5d3ffef58d47dc90b6318b80f03e3e16ee9dcd8c6958d7185022e9d143803ff59aa3fcf1ef0920dcfd51dc8916577badc834f3814ae2c8ea4e3d6bdeace3f0b251e668f609a3108bf0531cc88b1885a297a966b48f9e8d852163cbc7442c9a773576d32e5be9dc5370794ad44832411709ddb46c5b234275e4598889992850ea5e52b6521f057971aef34b8470c1a00550acb8043a93c9cff50aeb1a23f22ed2b140f79ceadd84ca9b2ac9896a21fe9a58f393dfa6a8acaefd2f7bf6be5fe6c8c7dca2e56b7b5304a4b1e0f545085e9a9fb0007a18fe4f45d177d0197a188aa4a1d5dbb3aa520ae41acc2de5f2b277ba8ec0ffadd2942abb3d5c5b48860b8495a69158b80e0a8a7c164d11994528a4370dd0416c63b6bd6ba4c0c5067e2d6d96e4aaeb87a01a9e6ef5d51cb33240a4d9a3c1a99ad39074b96591a3aad4c54384e95462b4ba19e2bff7d0b13c0ca1f9e77be0cd499950c1f5cbbb698cd590aada57c6e144b99005b096ffea8fa475d75ac4673ece15d06d22b15f9cdcb61388e54985caa3ed73f657122feb19d4f0d2effc2af0f8a0eee03dd13f919dcca345589139bcf1b78b188aa5c3194a5a44f26903c0abff4dbb6855999ffae229d458700e6f31486f83daf6384fd27fde421e8b7403c19c695eac8ddd9d58212521981ce856ec788979ce319e87809e1d0993a810a3bb7df0446aa0b5955d495787b610de9bf99b10ed0722673d41068ff50f219011461b2b8bd883650b7a85b58894ae0b717e5e0e40a5f6b4da3af1b468a70bd811bbf0986dfee77270ebf0214301a0095350c3fed6d8a1e5381c581fae0f87bed56f233d73976e726a12c4457e1047276ae65a8165e17837474c69cb13a7897815535a9d90a865e380c12e0fd46b71feb1591dd736ad6a749de8a33421b1511a4d170596a66e34948e0e97fdc5b334d655110a9bb17ad080edf81ca65255ed0207fe3c90451039ee619a6d76f4cc27dfd6fef7d92a1ee8dee46433246afb624dc2cb8c6ba209cf5fc0c97ba82f3c6cde2a55e0a1e2c04b811911c8e2c526f8b9905b270c5339c33c7991b4904bec54e91840a64b750f05db7f2ec77b56121f04726ba033cd8bf451d3240f5676bdc70e32f6a1868e908d4555f0cf8e1413345e0bfb975c5d96777e84e3a50a3f0d48d1a3d56652a35219b39066dea2a90d9070f90133582982160e30809253a433a619179d7d2db7ffbdab83f367ece9b51e2768d74a114ed18648fc5dca8728aa8c3453ad03752c0f9e3af044037ea4ae0f33a84c3cae4be012fc2848bd6887b6aab58cf1c12f8966560545ca1b49f7bd2f15a39eaa5b6da7369bfa7acdbd413cbdb3f34cb7dc9605b729c8e13ed35e5f808f0ea504c8464cd0486bb11a56bd4034e80876a90052091bff4adaae7c8b1f3897cf1306df8220917b22b6ee7c382dc832768212a214ddef8655c3fc0982a4f01585079e51b3da9895d66148abd3c6208e35badb341ec3c4342453025164f221cadfdf6000231c6e1a9d8725e12630fb9b3a7475111a8f250f0f2300beadd72dfc9d21c5aacd4417bf10e9be5668b9ec3c7a8412105f5bf9435f37008762d5c3b75f22c8f9064b54b92609b8f08197b09fa5b6d59ac745866073fe02233e2472ade05445616413721f16f065568054a752846c4b0386fdd55b0870586b680f658014a03f44c6e7e8b0281a0f895a4ed499fbfe20103ce5ee8dd86435d154daa4c3174dea4874fbe947faf6f1033ec04e31e82c8c4b75a0c16e211ef53c181e6a71ff1e0d5f6e96ada9fdd2d8742fbff58da8d9aeb84a62b18f633f5d30c2253fc030a31257c25ecc4120b33ae0c5aa84c7048ce0b870aca97d0a0985b3973603e349c2268d3dde13850daffb319dd1c04c20b07142c06ead872c6679eb181efa9bf66170c85aedbbaea0b3b35caaf2c0363d336d3aa9c32f96dde855046887be5ea81ab7df9c53addc776e9d774539d406be00b957898390bab9e597cd03c5e5bc8b3d0323214eb41b54290841307706267346b6e8c37dd71275e5a30e5420c5a063b7b47495ad0c15dbaad40c9f1e287d2d91ddf73474937cb39006f94e68663d61461f7ee1b32eeadb92fb6e8be10f08701ab316581336e98bfe65a5b14df3f68e14dad82b989ce9a6de777cf2b2c3e773c04d96c5b4abe364091cc0214ed5992c53251c6f80feabfa30ecae6d8fd9231ce88fb85d898885325f8689304639937c1955270540e5053e246042f3dc2e1c59f2c2888659dd5e6fbc1c7640c6699f6f378ff36361e9c03e0ad2a218d041612e091395a63a7411729cbd35f19b18553dcb9521154268f5f8268438ca9905f419735ec6935097d22f79cff2797704a3e61e00dc63e7ae3e31dfd6ce0e0f512031005e2db2564db33e54e7a6185e73934838f1843cdb2cf7fc244c1bb8405d302475c813c08ee05b4cec2236d262c5779fe68ad442993db9766c808880ff080bf436d0d6b46823a2d8ddc62982fe9eff6cb58c2729ca325dd9e154f5fa58a08852d92851c600e3a56a0f39ef8c5842e897a315047eae74d40d7392671f05d8c1975c6351f24e0ed710301241790242f070f73104b446c1737c235", 0xe00, 0x6}, {&(0x7f00000005c0)="90a2ec6d7cd5192b37e36202ff9c4f36cb3d5c7ef6efc9681372a1a753e8b3cab7dfded75028c7cb67a8f14db76b5172b4996f79de1908c9d7a3be11ba03da2ab77a0dcb49b98bd0520e063e14720802c414bd9d68af22d4005c8e820e7d8224c55ca153da4c9c7aada4d467d81cac732784032304cceb0f91481e128211c251c5fa07e09b17b3be16f04541508a728397061a447ad1351e81b8ff8d1ca0930d8693657afaa94d2a57cd", 0xaa, 0xc57}], 0x1000, &(0x7f0000000080)=ANY=[@ANYRESHEX=r4, @ANYRESDEC=r2]) openat$hwrng(0xffffffffffffff9c, 0x0, 0x0, 0x0) (async) write$tcp_mem(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x20, 0x0, 0x20, 0x0, 0xa}, 0x48) r5 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r5, &(0x7f0000000680)=[{{&(0x7f0000000300)={0xa, 0x4e24, 0x0, @remote}, 0x1c, 0x0}}, {{&(0x7f0000000400)={0xa, 0x4e20, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000001700)=[@dontfrag={{0x14, 0x29, 0x3e, 0x4}}], 0x18}}], 0x2, 0x0) (async) epoll_ctl$EPOLL_CTL_ADD(0xffffffffffffffff, 0x1, r5, &(0x7f0000000340)={0x10}) (async, rerun: 64) getdents(r2, 0x0, 0x0) (rerun: 64) [ 243.685389] IPVS: ftp: loaded support on port[0] = 21 [ 243.844638] EXT4-fs warning (device loop1): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. [ 243.852679] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. [ 243.872184] EXT4-fs (loop4): mount failed [ 243.878313] EXT4-fs (loop1): mount failed 01:19:41 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) socket(0x10, 0x2, 0x0) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, 0x0, 0x0) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:41 executing program 3: r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000400)='./cgroup.cpu/syz0\x00', 0x200002, 0x0) openat$cgroup_ro(r0, &(0x7f0000000180)='blkio.bfq.sectors_recursive\x00', 0x0, 0x0) bpf$BPF_BTF_LOAD(0x12, 0x0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) write$cgroup_type(0xffffffffffffffff, 0x0, 0x0) write$cgroup_subtree(r1, &(0x7f0000000940)=ANY=[], 0xda00) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x7, 0xffffffff}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000080)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x30) r2 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000540)={0x61271c7e3dbc2908, 0x80, 0x27, 0x3, 0x0, 0x3, 0x0, 0x4e, 0x88401, 0x8, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, @perf_config_ext={0x9}, 0x2030, 0x100, 0x0, 0x7, 0xffffffff, 0x3a30, 0x0, 0x0, 0x7, 0x0, 0xaf8c}, 0x0, 0x6, 0xffffffffffffffff, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) perf_event_open(&(0x7f0000000240)={0x3, 0x80, 0x92, 0x2, 0x7f, 0x20, 0x0, 0x150a8911, 0x80200, 0x4, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x603e3a42, 0x2, @perf_config_ext={0x80, 0x4}, 0x40a02, 0x5, 0x3, 0x2, 0x2, 0x7, 0x7, 0x0, 0x4, 0x0, 0x8}, 0x0, 0x1, r3, 0x8) bpf$MAP_CREATE(0x0, 0x0, 0x0) r4 = openat$cgroup_int(r2, &(0x7f00000000c0)='memory.max\x00', 0x2, 0x0) write$cgroup_int(r4, 0x0, 0x0) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000380)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_int(r5, &(0x7f0000000200)=0x4d00000000000000, 0x23000) write$cgroup_pid(0xffffffffffffffff, &(0x7f0000000040), 0x12) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000400)='./cgroup.cpu/syz0\x00', 0x200002, 0x0) (async) openat$cgroup_ro(r0, &(0x7f0000000180)='blkio.bfq.sectors_recursive\x00', 0x0, 0x0) (async) bpf$BPF_BTF_LOAD(0x12, 0x0, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) (async) write$cgroup_type(0xffffffffffffffff, 0x0, 0x0) (async) write$cgroup_subtree(r1, &(0x7f0000000940)=ANY=[], 0xda00) (async) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x7, 0xffffffff}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000080)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x30) (async) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) (async) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) (async) perf_event_open(&(0x7f0000000540)={0x61271c7e3dbc2908, 0x80, 0x27, 0x3, 0x0, 0x3, 0x0, 0x4e, 0x88401, 0x8, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, @perf_config_ext={0x9}, 0x2030, 0x100, 0x0, 0x7, 0xffffffff, 0x3a30, 0x0, 0x0, 0x7, 0x0, 0xaf8c}, 0x0, 0x6, 0xffffffffffffffff, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) (async) perf_event_open(&(0x7f0000000240)={0x3, 0x80, 0x92, 0x2, 0x7f, 0x20, 0x0, 0x150a8911, 0x80200, 0x4, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x603e3a42, 0x2, @perf_config_ext={0x80, 0x4}, 0x40a02, 0x5, 0x3, 0x2, 0x2, 0x7, 0x7, 0x0, 0x4, 0x0, 0x8}, 0x0, 0x1, r3, 0x8) (async) bpf$MAP_CREATE(0x0, 0x0, 0x0) (async) openat$cgroup_int(r2, &(0x7f00000000c0)='memory.max\x00', 0x2, 0x0) (async) write$cgroup_int(r4, 0x0, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000380)='memory.events\x00', 0x7a05, 0x1700) (async) write$cgroup_int(r5, &(0x7f0000000200)=0x4d00000000000000, 0x23000) (async) write$cgroup_pid(0xffffffffffffffff, &(0x7f0000000040), 0x12) (async) 01:19:42 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = openat$full(0xffffffffffffff9c, 0x0, 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, 0xffffffffffffffff, 0x0) r2 = syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000000140)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000200)="88001c0000000000c7d1ec9b000000040800780914092a1af9b795000100000101698c8755dfb6d52274036a22976f0053500701be5824026d413f2d5309854d285cff8a1f4c164da70f4f7343e536119ffc134b1289b3289e25125d95a1a93065ff724d49e57a5cb9625685477d6143b857cc272abb12ec58957331be20611001f180cc2af1dc0696", 0x89, 0xe000}], 0x0, &(0x7f00000003c0)=ANY=[]) r3 = getpid() ioctl$DRM_IOCTL_SYNCOBJ_TRANSFER(0xffffffffffffffff, 0xc02064cc, &(0x7f0000000580)) ioctl$DRM_IOCTL_SYNCOBJ_QUERY(r1, 0xc01864cb, 0x0) perf_event_open(&(0x7f0000000500)={0x0, 0x80, 0x3f, 0xca, 0x9, 0x2, 0x0, 0x1000, 0x20018, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x2, @perf_config_ext={0x5, 0x4000000000}, 0x9000, 0x38d, 0x9, 0x3, 0xfffffffffffffffb, 0x100, 0x8, 0x0, 0x8, 0x0, 0x2}, r3, 0x3, r0, 0x9) sched_setscheduler(r3, 0x5, &(0x7f0000000380)) time(0x0) ioctl$FS_IOC_FSGETXATTR(r2, 0x801c581f, &(0x7f0000000040)={0xba76, 0x8, 0x8, 0x662, 0x7}) r4 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r4, &(0x7f0000005100), 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x4, &(0x7f0000000480)=[{&(0x7f00000002c0)="efb98158c996a13790030354931144ddff6e65e5cb1bd0f5e3445726f90bdacde13e3287de4b258e", 0x28, 0x80}, {&(0x7f00000000c0)="9b23012d15fbb2be5b5d2208de10e4b0deb503d3c76d278e108c147b40686f53c3a120ce8592ab26bd4ad2543dc2ef562dd2cf7cea77", 0x36, 0xc000000000}, {&(0x7f0000001580)="a5761ae2d96325b4a3a3a03b4e3a1038a396e81daf5881549398ee5522a6b0579c52346a658b3d674c16e3eb203ff34d26a2acae1a2d48a892373c34920aad30f177cd8c142ae841a8ba49321fde3c350c11db9ec734cfc81e0752d97905d21cc966e1f9c0958875fde4aff1cffbbd656148d71a4fe0a49bd59f07440737c72e9a5486bb3c0c5b6929af184afa2fe887ff6d8e523b5d1988650fac5ea4228961209381248c83252d1f3bce3d09182b4ece67799db022909e6a7b061884c40766c9a0e7706d165ebe3efe2be74b542ed6e8552e67d4789d7f26494554dbeb7de4b2145bc112466f7e9c5dfa4c6c3e89285f08434818fe2a085d64ddd8d70747a7d6ea7f6dff1a5962d09ae9b46437ce4dace277eb3bc0cd7c6a33dc46299eb1533634b48b51653b48a05091d85c0fa8cba0c91778616a57d0ec7276d8a10e3f2af1d586f125ac907ef22df7bccca4954fd92124a4bd50ef36a4224a264941bf66ecb61e3a6e65a4e22bfe82f6a44033af737a487e4c5f1075b6fd2d6dcfd231325df1b966bf96c3eefd63edef6a617cc15a77f8a5d0f7c77151e0545ae7c66183f20ce72496f8efa8045839177cbb4405ddc680f956eb7f41f5d42458c35ecad2442168132dd0ffd5c9dff52fc7732b57456dc61e3e6291db092c4c2a4f3a358c5d8260fa351838e4f270102d8002c544419cc2c46dbef2181378405c76d1d6f1c28885438985f8407c67f26cdcf6de938c81061fb3be89011e341da77c866f6a70ae0f8de7ed7f28da8c3cba570e4f8f093a087bf978f44bd4b5ccd241cb626c6cc0979c0a0d91141bbec7b39a91656dfdc152716811801a867d34d8563f253bc6f303fe08e30593d9455d99605a7962fdd5d3ce93f0b9387b1954a59d5497cf01a8e5ae0a89c75c8c9ae84dacc32057d509a0d394073e55263a987ffa17926d3828030dd0b9386f2c9b13743924fb6d94cdabae5965c00eaf5631b21d4fd80e6cbebf418ede617d26a4c5f45380c32b1b1b3bb8f4d16bd474d124fd678ea2c6abcc29032b9accba8b2176465a37c135faebd49c574fa09ef39fcfb44f0964e6d8c3c04f4893ec1153e2b54a75a120a5583c263666192463bb83807731e45ca83373f27336127cc7004a1b68fbaa5d57bf9f15e306846da5711fe117a6d5f301a365fb1ac168f690a8ce023811caf4c274af09af9b3416ee78f8979ebae1383b577c2e518cc27351b570319910258cd21d3ede3fbed55f6fc6b58c873811aeaf97b1602533ce385a880cf2b0b4461f389918204718615ab3ce03728a5cecee112c5bfac680248630831df764248f676b8f5dcdc15dc0efdd9276c15db5f88ae723b3081913fd47eb0d324dd5f350fe4c88b43d0ca19e54177a531294c684b2201dd482fb4eb8c0693862c18e5fe34ffd3da471fafaf30c1d9bdf7b5e0dbbbab341e1106a9447f7a4f62db64b70940f41ac58bc173ac7d4e1e5773a78a93f7464c6c14f530666efed42b0b347eb5d3ca216fa9230d6c7ee86f34d756aa23137bad91f994bfb3e686015824c611a6c1a349e662968d9b4800a09e92b7909e7bcb64afaf39335947493566b6573949975c4bc5e9be21015c39285d217ae207f8ffd802ccbc52c3dfe3afc0370e39587a1b7e99f2d599d27190d1055de347c17b28cf930b52a55aa75757295b60c1bc159ebd27fcc63d7013f0dadb7f64da34aca2e5f935cd6a46354c922f00f22b82e5a87bdf7819b0acd36c30561d8eb2a8b2000f46e62479569fbe0b162a1bf57e7dc8829bda817028d0ee6a4d0e2bba6f151882541b242b3336338b9af53b48208284f80ed8f69d05456a7fb27e0d49a48a27b006c9a4af59b44fa86aa6b8ef96d6b8f8001794325723a64bf67ae1ad58e23e86e3ffdbecba28279a76a94cfa2646731a6aebcf19a9cdc5cffe4369b6b7e52f2f75fb572fbc5c5d3ecbe34a01a2a8c15f270305aad59f73016d6e39758f141a838aed2d2f58ddcc4dca13b13597dd74e9c9610d14a9ae3705ade1a17b98889441ce5baeec194b8c2db138defff70d9273c03e0515e6b98ed6e093471ee53fcb16701d058254a52f47ddf500673301ce76c3dd21bab04d21b7fae77473466def1381d1cb4694228bfcff8128c314ac3b91814b67ba9f01ccae324edfeab46f909e42483283b89be91039b34074b0e5de1e6f3021003a310f5af7b0d09ad0df04c028907a367174063da49fdd32498942b303d793ce94ab3be4e983f3213ac8e896303fdc8fce5db73c681f50dfe258b618ce039f8b1d7c01e5923c9a18a5c18a912b61950399141d289b630a7307bbfff4ab376f039d0a7ab4b2737dde08f8e52d642c337c09c473ae1ca1ecef4959357a3cadfa89ae313d011510cdd459038b06e36e10c10b2fbf8f2a63f3483d3bd28ab464d94a3429ec1ac078c97d7bb272421309616e5d3ffef58d47dc90b6318b80f03e3e16ee9dcd8c6958d7185022e9d143803ff59aa3fcf1ef0920dcfd51dc8916577badc834f3814ae2c8ea4e3d6bdeace3f0b251e668f609a3108bf0531cc88b1885a297a966b48f9e8d852163cbc7442c9a773576d32e5be9dc5370794ad44832411709ddb46c5b234275e4598889992850ea5e52b6521f057971aef34b8470c1a00550acb8043a93c9cff50aeb1a23f22ed2b140f79ceadd84ca9b2ac9896a21fe9a58f393dfa6a8acaefd2f7bf6be5fe6c8c7dca2e56b7b5304a4b1e0f545085e9a9fb0007a18fe4f45d177d0197a188aa4a1d5dbb3aa520ae41acc2de5f2b277ba8ec0ffadd2942abb3d5c5b48860b8495a69158b80e0a8a7c164d11994528a4370dd0416c63b6bd6ba4c0c5067e2d6d96e4aaeb87a01a9e6ef5d51cb33240a4d9a3c1a99ad39074b96591a3aad4c54384e95462b4ba19e2bff7d0b13c0ca1f9e77be0cd499950c1f5cbbb698cd590aada57c6e144b99005b096ffea8fa475d75ac4673ece15d06d22b15f9cdcb61388e54985caa3ed73f657122feb19d4f0d2effc2af0f8a0eee03dd13f919dcca345589139bcf1b78b188aa5c3194a5a44f26903c0abff4dbb6855999ffae229d458700e6f31486f83daf6384fd27fde421e8b7403c19c695eac8ddd9d58212521981ce856ec788979ce319e87809e1d0993a810a3bb7df0446aa0b5955d495787b610de9bf99b10ed0722673d41068ff50f219011461b2b8bd883650b7a85b58894ae0b717e5e0e40a5f6b4da3af1b468a70bd811bbf0986dfee77270ebf0214301a0095350c3fed6d8a1e5381c581fae0f87bed56f233d73976e726a12c4457e1047276ae65a8165e17837474c69cb13a7897815535a9d90a865e380c12e0fd46b71feb1591dd736ad6a749de8a33421b1511a4d170596a66e34948e0e97fdc5b334d655110a9bb17ad080edf81ca65255ed0207fe3c90451039ee619a6d76f4cc27dfd6fef7d92a1ee8dee46433246afb624dc2cb8c6ba209cf5fc0c97ba82f3c6cde2a55e0a1e2c04b811911c8e2c526f8b9905b270c5339c33c7991b4904bec54e91840a64b750f05db7f2ec77b56121f04726ba033cd8bf451d3240f5676bdc70e32f6a1868e908d4555f0cf8e1413345e0bfb975c5d96777e84e3a50a3f0d48d1a3d56652a35219b39066dea2a90d9070f90133582982160e30809253a433a619179d7d2db7ffbdab83f367ece9b51e2768d74a114ed18648fc5dca8728aa8c3453ad03752c0f9e3af044037ea4ae0f33a84c3cae4be012fc2848bd6887b6aab58cf1c12f8966560545ca1b49f7bd2f15a39eaa5b6da7369bfa7acdbd413cbdb3f34cb7dc9605b729c8e13ed35e5f808f0ea504c8464cd0486bb11a56bd4034e80876a90052091bff4adaae7c8b1f3897cf1306df8220917b22b6ee7c382dc832768212a214ddef8655c3fc0982a4f01585079e51b3da9895d66148abd3c6208e35badb341ec3c4342453025164f221cadfdf6000231c6e1a9d8725e12630fb9b3a7475111a8f250f0f2300beadd72dfc9d21c5aacd4417bf10e9be5668b9ec3c7a8412105f5bf9435f37008762d5c3b75f22c8f9064b54b92609b8f08197b09fa5b6d59ac745866073fe02233e2472ade05445616413721f16f065568054a752846c4b0386fdd55b0870586b680f658014a03f44c6e7e8b0281a0f895a4ed499fbfe20103ce5ee8dd86435d154daa4c3174dea4874fbe947faf6f1033ec04e31e82c8c4b75a0c16e211ef53c181e6a71ff1e0d5f6e96ada9fdd2d8742fbff58da8d9aeb84a62b18f633f5d30c2253fc030a31257c25ecc4120b33ae0c5aa84c7048ce0b870aca97d0a0985b3973603e349c2268d3dde13850daffb319dd1c04c20b07142c06ead872c6679eb181efa9bf66170c85aedbbaea0b3b35caaf2c0363d336d3aa9c32f96dde855046887be5ea81ab7df9c53addc776e9d774539d406be00b957898390bab9e597cd03c5e5bc8b3d0323214eb41b54290841307706267346b6e8c37dd71275e5a30e5420c5a063b7b47495ad0c15dbaad40c9f1e287d2d91ddf73474937cb39006f94e68663d61461f7ee1b32eeadb92fb6e8be10f08701ab316581336e98bfe65a5b14df3f68e14dad82b989ce9a6de777cf2b2c3e773c04d96c5b4abe364091cc0214ed5992c53251c6f80feabfa30ecae6d8fd9231ce88fb85d898885325f8689304639937c1955270540e5053e246042f3dc2e1c59f2c2888659dd5e6fbc1c7640c6699f6f378ff36361e9c03e0ad2a218d041612e091395a63a7411729cbd35f19b18553dcb9521154268f5f8268438ca9905f419735ec6935097d22f79cff2797704a3e61e00dc63e7ae3e31dfd6ce0e0f512031005e2db2564db33e54e7a6185e73934838f1843cdb2cf7fc244c1bb8405d302475c813c08ee05b4cec2236d262c5779fe68ad442993db9766c808880ff080bf436d0d6b46823a2d8ddc62982fe9eff6cb58c2729ca325dd9e154f5fa58a08852d92851c600e3a56a0f39ef8c5842e897a315047eae74d40d7392671f05d8c1975c6351f24e0ed710301241790242f070f73104b446c1737c235", 0xe00, 0x6}, {&(0x7f00000005c0)="90a2ec6d7cd5192b37e36202ff9c4f36cb3d5c7ef6efc9681372a1a753e8b3cab7dfded75028c7cb67a8f14db76b5172b4996f79de1908c9d7a3be11ba03da2ab77a0dcb49b98bd0520e063e14720802c414bd9d68af22d4005c8e820e7d8224c55ca153da4c9c7aada4d467d81cac732784032304cceb0f91481e128211c251c5fa07e09b17b3be16f04541508a728397061a447ad1351e81b8ff8d1ca0930d8693657afaa94d2a57cd", 0xaa, 0xc57}], 0x1000, &(0x7f0000000080)=ANY=[@ANYRESHEX=r4, @ANYRESDEC=r2]) openat$hwrng(0xffffffffffffff9c, 0x0, 0x0, 0x0) write$tcp_mem(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x20, 0x0, 0x20, 0x0, 0xa}, 0x48) r5 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r5, &(0x7f0000000680)=[{{&(0x7f0000000300)={0xa, 0x4e24, 0x0, @remote}, 0x1c, 0x0}}, {{&(0x7f0000000400)={0xa, 0x4e20, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000001700)=[@dontfrag={{0x14, 0x29, 0x3e, 0x4}}], 0x18}}], 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(0xffffffffffffffff, 0x1, r5, &(0x7f0000000340)={0x10}) getdents(r2, 0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) openat$full(0xffffffffffffff9c, 0x0, 0x0, 0x0) (async) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, 0xffffffffffffffff, 0x0) (async) syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000000140)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000200)="88001c0000000000c7d1ec9b000000040800780914092a1af9b795000100000101698c8755dfb6d52274036a22976f0053500701be5824026d413f2d5309854d285cff8a1f4c164da70f4f7343e536119ffc134b1289b3289e25125d95a1a93065ff724d49e57a5cb9625685477d6143b857cc272abb12ec58957331be20611001f180cc2af1dc0696", 0x89, 0xe000}], 0x0, &(0x7f00000003c0)=ANY=[]) (async) getpid() (async) ioctl$DRM_IOCTL_SYNCOBJ_TRANSFER(0xffffffffffffffff, 0xc02064cc, &(0x7f0000000580)) (async) ioctl$DRM_IOCTL_SYNCOBJ_QUERY(r1, 0xc01864cb, 0x0) (async) perf_event_open(&(0x7f0000000500)={0x0, 0x80, 0x3f, 0xca, 0x9, 0x2, 0x0, 0x1000, 0x20018, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x2, @perf_config_ext={0x5, 0x4000000000}, 0x9000, 0x38d, 0x9, 0x3, 0xfffffffffffffffb, 0x100, 0x8, 0x0, 0x8, 0x0, 0x2}, r3, 0x3, r0, 0x9) (async) sched_setscheduler(r3, 0x5, &(0x7f0000000380)) (async) time(0x0) (async) ioctl$FS_IOC_FSGETXATTR(r2, 0x801c581f, &(0x7f0000000040)={0xba76, 0x8, 0x8, 0x662, 0x7}) (async) socket$inet6_udplite(0xa, 0x2, 0x88) (async) sendmmsg$inet6(r4, &(0x7f0000005100), 0x0, 0x0) (async) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x4, &(0x7f0000000480)=[{&(0x7f00000002c0)="efb98158c996a13790030354931144ddff6e65e5cb1bd0f5e3445726f90bdacde13e3287de4b258e", 0x28, 0x80}, {&(0x7f00000000c0)="9b23012d15fbb2be5b5d2208de10e4b0deb503d3c76d278e108c147b40686f53c3a120ce8592ab26bd4ad2543dc2ef562dd2cf7cea77", 0x36, 0xc000000000}, {&(0x7f0000001580)="a5761ae2d96325b4a3a3a03b4e3a1038a396e81daf5881549398ee5522a6b0579c52346a658b3d674c16e3eb203ff34d26a2acae1a2d48a892373c34920aad30f177cd8c142ae841a8ba49321fde3c350c11db9ec734cfc81e0752d97905d21cc966e1f9c0958875fde4aff1cffbbd656148d71a4fe0a49bd59f07440737c72e9a5486bb3c0c5b6929af184afa2fe887ff6d8e523b5d1988650fac5ea4228961209381248c83252d1f3bce3d09182b4ece67799db022909e6a7b061884c40766c9a0e7706d165ebe3efe2be74b542ed6e8552e67d4789d7f26494554dbeb7de4b2145bc112466f7e9c5dfa4c6c3e89285f08434818fe2a085d64ddd8d70747a7d6ea7f6dff1a5962d09ae9b46437ce4dace277eb3bc0cd7c6a33dc46299eb1533634b48b51653b48a05091d85c0fa8cba0c91778616a57d0ec7276d8a10e3f2af1d586f125ac907ef22df7bccca4954fd92124a4bd50ef36a4224a264941bf66ecb61e3a6e65a4e22bfe82f6a44033af737a487e4c5f1075b6fd2d6dcfd231325df1b966bf96c3eefd63edef6a617cc15a77f8a5d0f7c77151e0545ae7c66183f20ce72496f8efa8045839177cbb4405ddc680f956eb7f41f5d42458c35ecad2442168132dd0ffd5c9dff52fc7732b57456dc61e3e6291db092c4c2a4f3a358c5d8260fa351838e4f270102d8002c544419cc2c46dbef2181378405c76d1d6f1c28885438985f8407c67f26cdcf6de938c81061fb3be89011e341da77c866f6a70ae0f8de7ed7f28da8c3cba570e4f8f093a087bf978f44bd4b5ccd241cb626c6cc0979c0a0d91141bbec7b39a91656dfdc152716811801a867d34d8563f253bc6f303fe08e30593d9455d99605a7962fdd5d3ce93f0b9387b1954a59d5497cf01a8e5ae0a89c75c8c9ae84dacc32057d509a0d394073e55263a987ffa17926d3828030dd0b9386f2c9b13743924fb6d94cdabae5965c00eaf5631b21d4fd80e6cbebf418ede617d26a4c5f45380c32b1b1b3bb8f4d16bd474d124fd678ea2c6abcc29032b9accba8b2176465a37c135faebd49c574fa09ef39fcfb44f0964e6d8c3c04f4893ec1153e2b54a75a120a5583c263666192463bb83807731e45ca83373f27336127cc7004a1b68fbaa5d57bf9f15e306846da5711fe117a6d5f301a365fb1ac168f690a8ce023811caf4c274af09af9b3416ee78f8979ebae1383b577c2e518cc27351b570319910258cd21d3ede3fbed55f6fc6b58c873811aeaf97b1602533ce385a880cf2b0b4461f389918204718615ab3ce03728a5cecee112c5bfac680248630831df764248f676b8f5dcdc15dc0efdd9276c15db5f88ae723b3081913fd47eb0d324dd5f350fe4c88b43d0ca19e54177a531294c684b2201dd482fb4eb8c0693862c18e5fe34ffd3da471fafaf30c1d9bdf7b5e0dbbbab341e1106a9447f7a4f62db64b70940f41ac58bc173ac7d4e1e5773a78a93f7464c6c14f530666efed42b0b347eb5d3ca216fa9230d6c7ee86f34d756aa23137bad91f994bfb3e686015824c611a6c1a349e662968d9b4800a09e92b7909e7bcb64afaf39335947493566b6573949975c4bc5e9be21015c39285d217ae207f8ffd802ccbc52c3dfe3afc0370e39587a1b7e99f2d599d27190d1055de347c17b28cf930b52a55aa75757295b60c1bc159ebd27fcc63d7013f0dadb7f64da34aca2e5f935cd6a46354c922f00f22b82e5a87bdf7819b0acd36c30561d8eb2a8b2000f46e62479569fbe0b162a1bf57e7dc8829bda817028d0ee6a4d0e2bba6f151882541b242b3336338b9af53b48208284f80ed8f69d05456a7fb27e0d49a48a27b006c9a4af59b44fa86aa6b8ef96d6b8f8001794325723a64bf67ae1ad58e23e86e3ffdbecba28279a76a94cfa2646731a6aebcf19a9cdc5cffe4369b6b7e52f2f75fb572fbc5c5d3ecbe34a01a2a8c15f270305aad59f73016d6e39758f141a838aed2d2f58ddcc4dca13b13597dd74e9c9610d14a9ae3705ade1a17b98889441ce5baeec194b8c2db138defff70d9273c03e0515e6b98ed6e093471ee53fcb16701d058254a52f47ddf500673301ce76c3dd21bab04d21b7fae77473466def1381d1cb4694228bfcff8128c314ac3b91814b67ba9f01ccae324edfeab46f909e42483283b89be91039b34074b0e5de1e6f3021003a310f5af7b0d09ad0df04c028907a367174063da49fdd32498942b303d793ce94ab3be4e983f3213ac8e896303fdc8fce5db73c681f50dfe258b618ce039f8b1d7c01e5923c9a18a5c18a912b61950399141d289b630a7307bbfff4ab376f039d0a7ab4b2737dde08f8e52d642c337c09c473ae1ca1ecef4959357a3cadfa89ae313d011510cdd459038b06e36e10c10b2fbf8f2a63f3483d3bd28ab464d94a3429ec1ac078c97d7bb272421309616e5d3ffef58d47dc90b6318b80f03e3e16ee9dcd8c6958d7185022e9d143803ff59aa3fcf1ef0920dcfd51dc8916577badc834f3814ae2c8ea4e3d6bdeace3f0b251e668f609a3108bf0531cc88b1885a297a966b48f9e8d852163cbc7442c9a773576d32e5be9dc5370794ad44832411709ddb46c5b234275e4598889992850ea5e52b6521f057971aef34b8470c1a00550acb8043a93c9cff50aeb1a23f22ed2b140f79ceadd84ca9b2ac9896a21fe9a58f393dfa6a8acaefd2f7bf6be5fe6c8c7dca2e56b7b5304a4b1e0f545085e9a9fb0007a18fe4f45d177d0197a188aa4a1d5dbb3aa520ae41acc2de5f2b277ba8ec0ffadd2942abb3d5c5b48860b8495a69158b80e0a8a7c164d11994528a4370dd0416c63b6bd6ba4c0c5067e2d6d96e4aaeb87a01a9e6ef5d51cb33240a4d9a3c1a99ad39074b96591a3aad4c54384e95462b4ba19e2bff7d0b13c0ca1f9e77be0cd499950c1f5cbbb698cd590aada57c6e144b99005b096ffea8fa475d75ac4673ece15d06d22b15f9cdcb61388e54985caa3ed73f657122feb19d4f0d2effc2af0f8a0eee03dd13f919dcca345589139bcf1b78b188aa5c3194a5a44f26903c0abff4dbb6855999ffae229d458700e6f31486f83daf6384fd27fde421e8b7403c19c695eac8ddd9d58212521981ce856ec788979ce319e87809e1d0993a810a3bb7df0446aa0b5955d495787b610de9bf99b10ed0722673d41068ff50f219011461b2b8bd883650b7a85b58894ae0b717e5e0e40a5f6b4da3af1b468a70bd811bbf0986dfee77270ebf0214301a0095350c3fed6d8a1e5381c581fae0f87bed56f233d73976e726a12c4457e1047276ae65a8165e17837474c69cb13a7897815535a9d90a865e380c12e0fd46b71feb1591dd736ad6a749de8a33421b1511a4d170596a66e34948e0e97fdc5b334d655110a9bb17ad080edf81ca65255ed0207fe3c90451039ee619a6d76f4cc27dfd6fef7d92a1ee8dee46433246afb624dc2cb8c6ba209cf5fc0c97ba82f3c6cde2a55e0a1e2c04b811911c8e2c526f8b9905b270c5339c33c7991b4904bec54e91840a64b750f05db7f2ec77b56121f04726ba033cd8bf451d3240f5676bdc70e32f6a1868e908d4555f0cf8e1413345e0bfb975c5d96777e84e3a50a3f0d48d1a3d56652a35219b39066dea2a90d9070f90133582982160e30809253a433a619179d7d2db7ffbdab83f367ece9b51e2768d74a114ed18648fc5dca8728aa8c3453ad03752c0f9e3af044037ea4ae0f33a84c3cae4be012fc2848bd6887b6aab58cf1c12f8966560545ca1b49f7bd2f15a39eaa5b6da7369bfa7acdbd413cbdb3f34cb7dc9605b729c8e13ed35e5f808f0ea504c8464cd0486bb11a56bd4034e80876a90052091bff4adaae7c8b1f3897cf1306df8220917b22b6ee7c382dc832768212a214ddef8655c3fc0982a4f01585079e51b3da9895d66148abd3c6208e35badb341ec3c4342453025164f221cadfdf6000231c6e1a9d8725e12630fb9b3a7475111a8f250f0f2300beadd72dfc9d21c5aacd4417bf10e9be5668b9ec3c7a8412105f5bf9435f37008762d5c3b75f22c8f9064b54b92609b8f08197b09fa5b6d59ac745866073fe02233e2472ade05445616413721f16f065568054a752846c4b0386fdd55b0870586b680f658014a03f44c6e7e8b0281a0f895a4ed499fbfe20103ce5ee8dd86435d154daa4c3174dea4874fbe947faf6f1033ec04e31e82c8c4b75a0c16e211ef53c181e6a71ff1e0d5f6e96ada9fdd2d8742fbff58da8d9aeb84a62b18f633f5d30c2253fc030a31257c25ecc4120b33ae0c5aa84c7048ce0b870aca97d0a0985b3973603e349c2268d3dde13850daffb319dd1c04c20b07142c06ead872c6679eb181efa9bf66170c85aedbbaea0b3b35caaf2c0363d336d3aa9c32f96dde855046887be5ea81ab7df9c53addc776e9d774539d406be00b957898390bab9e597cd03c5e5bc8b3d0323214eb41b54290841307706267346b6e8c37dd71275e5a30e5420c5a063b7b47495ad0c15dbaad40c9f1e287d2d91ddf73474937cb39006f94e68663d61461f7ee1b32eeadb92fb6e8be10f08701ab316581336e98bfe65a5b14df3f68e14dad82b989ce9a6de777cf2b2c3e773c04d96c5b4abe364091cc0214ed5992c53251c6f80feabfa30ecae6d8fd9231ce88fb85d898885325f8689304639937c1955270540e5053e246042f3dc2e1c59f2c2888659dd5e6fbc1c7640c6699f6f378ff36361e9c03e0ad2a218d041612e091395a63a7411729cbd35f19b18553dcb9521154268f5f8268438ca9905f419735ec6935097d22f79cff2797704a3e61e00dc63e7ae3e31dfd6ce0e0f512031005e2db2564db33e54e7a6185e73934838f1843cdb2cf7fc244c1bb8405d302475c813c08ee05b4cec2236d262c5779fe68ad442993db9766c808880ff080bf436d0d6b46823a2d8ddc62982fe9eff6cb58c2729ca325dd9e154f5fa58a08852d92851c600e3a56a0f39ef8c5842e897a315047eae74d40d7392671f05d8c1975c6351f24e0ed710301241790242f070f73104b446c1737c235", 0xe00, 0x6}, {&(0x7f00000005c0)="90a2ec6d7cd5192b37e36202ff9c4f36cb3d5c7ef6efc9681372a1a753e8b3cab7dfded75028c7cb67a8f14db76b5172b4996f79de1908c9d7a3be11ba03da2ab77a0dcb49b98bd0520e063e14720802c414bd9d68af22d4005c8e820e7d8224c55ca153da4c9c7aada4d467d81cac732784032304cceb0f91481e128211c251c5fa07e09b17b3be16f04541508a728397061a447ad1351e81b8ff8d1ca0930d8693657afaa94d2a57cd", 0xaa, 0xc57}], 0x1000, &(0x7f0000000080)=ANY=[@ANYRESHEX=r4, @ANYRESDEC=r2]) (async) openat$hwrng(0xffffffffffffff9c, 0x0, 0x0, 0x0) (async) write$tcp_mem(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x20, 0x0, 0x20, 0x0, 0xa}, 0x48) (async) socket$inet6_udplite(0xa, 0x2, 0x88) (async) sendmmsg$inet6(r5, &(0x7f0000000680)=[{{&(0x7f0000000300)={0xa, 0x4e24, 0x0, @remote}, 0x1c, 0x0}}, {{&(0x7f0000000400)={0xa, 0x4e20, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000001700)=[@dontfrag={{0x14, 0x29, 0x3e, 0x4}}], 0x18}}], 0x2, 0x0) (async) epoll_ctl$EPOLL_CTL_ADD(0xffffffffffffffff, 0x1, r5, &(0x7f0000000340)={0x10}) (async) getdents(r2, 0x0, 0x0) (async) 01:19:42 executing program 2: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = openat$full(0xffffffffffffff9c, 0x0, 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, 0xffffffffffffffff, 0x0) r2 = syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000000140)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000200)="88001c0000000000c7d1ec9b000000040800780914092a1af9b795000100000101698c8755dfb6d52274036a22976f0053500701be5824026d413f2d5309854d285cff8a1f4c164da70f4f7343e536119ffc134b1289b3289e25125d95a1a93065ff724d49e57a5cb9625685477d6143b857cc272abb12ec58957331be20611001f180cc2af1dc0696", 0x89, 0xe000}], 0x0, &(0x7f00000003c0)=ANY=[]) r3 = getpid() ioctl$DRM_IOCTL_SYNCOBJ_TRANSFER(0xffffffffffffffff, 0xc02064cc, &(0x7f0000000580)) ioctl$DRM_IOCTL_SYNCOBJ_QUERY(r1, 0xc01864cb, 0x0) perf_event_open(&(0x7f0000000500)={0x0, 0x80, 0x3f, 0xca, 0x9, 0x2, 0x0, 0x1000, 0x20018, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x2, @perf_config_ext={0x5, 0x4000000000}, 0x9000, 0x38d, 0x9, 0x3, 0xfffffffffffffffb, 0x100, 0x8, 0x0, 0x8, 0x0, 0x2}, r3, 0x3, r0, 0x9) sched_setscheduler(r3, 0x5, &(0x7f0000000380)) time(0x0) ioctl$FS_IOC_FSGETXATTR(r2, 0x801c581f, &(0x7f0000000040)={0xba76, 0x8, 0x8, 0x662, 0x7}) r4 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r4, &(0x7f0000005100), 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x4, &(0x7f0000000480)=[{&(0x7f00000002c0)="efb98158c996a13790030354931144ddff6e65e5cb1bd0f5e3445726f90bdacde13e3287de4b258e", 0x28, 0x80}, {&(0x7f00000000c0)="9b23012d15fbb2be5b5d2208de10e4b0deb503d3c76d278e108c147b40686f53c3a120ce8592ab26bd4ad2543dc2ef562dd2cf7cea77", 0x36, 0xc000000000}, {&(0x7f0000001580)="a5761ae2d96325b4a3a3a03b4e3a1038a396e81daf5881549398ee5522a6b0579c52346a658b3d674c16e3eb203ff34d26a2acae1a2d48a892373c34920aad30f177cd8c142ae841a8ba49321fde3c350c11db9ec734cfc81e0752d97905d21cc966e1f9c0958875fde4aff1cffbbd656148d71a4fe0a49bd59f07440737c72e9a5486bb3c0c5b6929af184afa2fe887ff6d8e523b5d1988650fac5ea4228961209381248c83252d1f3bce3d09182b4ece67799db022909e6a7b061884c40766c9a0e7706d165ebe3efe2be74b542ed6e8552e67d4789d7f26494554dbeb7de4b2145bc112466f7e9c5dfa4c6c3e89285f08434818fe2a085d64ddd8d70747a7d6ea7f6dff1a5962d09ae9b46437ce4dace277eb3bc0cd7c6a33dc46299eb1533634b48b51653b48a05091d85c0fa8cba0c91778616a57d0ec7276d8a10e3f2af1d586f125ac907ef22df7bccca4954fd92124a4bd50ef36a4224a264941bf66ecb61e3a6e65a4e22bfe82f6a44033af737a487e4c5f1075b6fd2d6dcfd231325df1b966bf96c3eefd63edef6a617cc15a77f8a5d0f7c77151e0545ae7c66183f20ce72496f8efa8045839177cbb4405ddc680f956eb7f41f5d42458c35ecad2442168132dd0ffd5c9dff52fc7732b57456dc61e3e6291db092c4c2a4f3a358c5d8260fa351838e4f270102d8002c544419cc2c46dbef2181378405c76d1d6f1c28885438985f8407c67f26cdcf6de938c81061fb3be89011e341da77c866f6a70ae0f8de7ed7f28da8c3cba570e4f8f093a087bf978f44bd4b5ccd241cb626c6cc0979c0a0d91141bbec7b39a91656dfdc152716811801a867d34d8563f253bc6f303fe08e30593d9455d99605a7962fdd5d3ce93f0b9387b1954a59d5497cf01a8e5ae0a89c75c8c9ae84dacc32057d509a0d394073e55263a987ffa17926d3828030dd0b9386f2c9b13743924fb6d94cdabae5965c00eaf5631b21d4fd80e6cbebf418ede617d26a4c5f45380c32b1b1b3bb8f4d16bd474d124fd678ea2c6abcc29032b9accba8b2176465a37c135faebd49c574fa09ef39fcfb44f0964e6d8c3c04f4893ec1153e2b54a75a120a5583c263666192463bb83807731e45ca83373f27336127cc7004a1b68fbaa5d57bf9f15e306846da5711fe117a6d5f301a365fb1ac168f690a8ce023811caf4c274af09af9b3416ee78f8979ebae1383b577c2e518cc27351b570319910258cd21d3ede3fbed55f6fc6b58c873811aeaf97b1602533ce385a880cf2b0b4461f389918204718615ab3ce03728a5cecee112c5bfac680248630831df764248f676b8f5dcdc15dc0efdd9276c15db5f88ae723b3081913fd47eb0d324dd5f350fe4c88b43d0ca19e54177a531294c684b2201dd482fb4eb8c0693862c18e5fe34ffd3da471fafaf30c1d9bdf7b5e0dbbbab341e1106a9447f7a4f62db64b70940f41ac58bc173ac7d4e1e5773a78a93f7464c6c14f530666efed42b0b347eb5d3ca216fa9230d6c7ee86f34d756aa23137bad91f994bfb3e686015824c611a6c1a349e662968d9b4800a09e92b7909e7bcb64afaf39335947493566b6573949975c4bc5e9be21015c39285d217ae207f8ffd802ccbc52c3dfe3afc0370e39587a1b7e99f2d599d27190d1055de347c17b28cf930b52a55aa75757295b60c1bc159ebd27fcc63d7013f0dadb7f64da34aca2e5f935cd6a46354c922f00f22b82e5a87bdf7819b0acd36c30561d8eb2a8b2000f46e62479569fbe0b162a1bf57e7dc8829bda817028d0ee6a4d0e2bba6f151882541b242b3336338b9af53b48208284f80ed8f69d05456a7fb27e0d49a48a27b006c9a4af59b44fa86aa6b8ef96d6b8f8001794325723a64bf67ae1ad58e23e86e3ffdbecba28279a76a94cfa2646731a6aebcf19a9cdc5cffe4369b6b7e52f2f75fb572fbc5c5d3ecbe34a01a2a8c15f270305aad59f73016d6e39758f141a838aed2d2f58ddcc4dca13b13597dd74e9c9610d14a9ae3705ade1a17b98889441ce5baeec194b8c2db138defff70d9273c03e0515e6b98ed6e093471ee53fcb16701d058254a52f47ddf500673301ce76c3dd21bab04d21b7fae77473466def1381d1cb4694228bfcff8128c314ac3b91814b67ba9f01ccae324edfeab46f909e42483283b89be91039b34074b0e5de1e6f3021003a310f5af7b0d09ad0df04c028907a367174063da49fdd32498942b303d793ce94ab3be4e983f3213ac8e896303fdc8fce5db73c681f50dfe258b618ce039f8b1d7c01e5923c9a18a5c18a912b61950399141d289b630a7307bbfff4ab376f039d0a7ab4b2737dde08f8e52d642c337c09c473ae1ca1ecef4959357a3cadfa89ae313d011510cdd459038b06e36e10c10b2fbf8f2a63f3483d3bd28ab464d94a3429ec1ac078c97d7bb272421309616e5d3ffef58d47dc90b6318b80f03e3e16ee9dcd8c6958d7185022e9d143803ff59aa3fcf1ef0920dcfd51dc8916577badc834f3814ae2c8ea4e3d6bdeace3f0b251e668f609a3108bf0531cc88b1885a297a966b48f9e8d852163cbc7442c9a773576d32e5be9dc5370794ad44832411709ddb46c5b234275e4598889992850ea5e52b6521f057971aef34b8470c1a00550acb8043a93c9cff50aeb1a23f22ed2b140f79ceadd84ca9b2ac9896a21fe9a58f393dfa6a8acaefd2f7bf6be5fe6c8c7dca2e56b7b5304a4b1e0f545085e9a9fb0007a18fe4f45d177d0197a188aa4a1d5dbb3aa520ae41acc2de5f2b277ba8ec0ffadd2942abb3d5c5b48860b8495a69158b80e0a8a7c164d11994528a4370dd0416c63b6bd6ba4c0c5067e2d6d96e4aaeb87a01a9e6ef5d51cb33240a4d9a3c1a99ad39074b96591a3aad4c54384e95462b4ba19e2bff7d0b13c0ca1f9e77be0cd499950c1f5cbbb698cd590aada57c6e144b99005b096ffea8fa475d75ac4673ece15d06d22b15f9cdcb61388e54985caa3ed73f657122feb19d4f0d2effc2af0f8a0eee03dd13f919dcca345589139bcf1b78b188aa5c3194a5a44f26903c0abff4dbb6855999ffae229d458700e6f31486f83daf6384fd27fde421e8b7403c19c695eac8ddd9d58212521981ce856ec788979ce319e87809e1d0993a810a3bb7df0446aa0b5955d495787b610de9bf99b10ed0722673d41068ff50f219011461b2b8bd883650b7a85b58894ae0b717e5e0e40a5f6b4da3af1b468a70bd811bbf0986dfee77270ebf0214301a0095350c3fed6d8a1e5381c581fae0f87bed56f233d73976e726a12c4457e1047276ae65a8165e17837474c69cb13a7897815535a9d90a865e380c12e0fd46b71feb1591dd736ad6a749de8a33421b1511a4d170596a66e34948e0e97fdc5b334d655110a9bb17ad080edf81ca65255ed0207fe3c90451039ee619a6d76f4cc27dfd6fef7d92a1ee8dee46433246afb624dc2cb8c6ba209cf5fc0c97ba82f3c6cde2a55e0a1e2c04b811911c8e2c526f8b9905b270c5339c33c7991b4904bec54e91840a64b750f05db7f2ec77b56121f04726ba033cd8bf451d3240f5676bdc70e32f6a1868e908d4555f0cf8e1413345e0bfb975c5d96777e84e3a50a3f0d48d1a3d56652a35219b39066dea2a90d9070f90133582982160e30809253a433a619179d7d2db7ffbdab83f367ece9b51e2768d74a114ed18648fc5dca8728aa8c3453ad03752c0f9e3af044037ea4ae0f33a84c3cae4be012fc2848bd6887b6aab58cf1c12f8966560545ca1b49f7bd2f15a39eaa5b6da7369bfa7acdbd413cbdb3f34cb7dc9605b729c8e13ed35e5f808f0ea504c8464cd0486bb11a56bd4034e80876a90052091bff4adaae7c8b1f3897cf1306df8220917b22b6ee7c382dc832768212a214ddef8655c3fc0982a4f01585079e51b3da9895d66148abd3c6208e35badb341ec3c4342453025164f221cadfdf6000231c6e1a9d8725e12630fb9b3a7475111a8f250f0f2300beadd72dfc9d21c5aacd4417bf10e9be5668b9ec3c7a8412105f5bf9435f37008762d5c3b75f22c8f9064b54b92609b8f08197b09fa5b6d59ac745866073fe02233e2472ade05445616413721f16f065568054a752846c4b0386fdd55b0870586b680f658014a03f44c6e7e8b0281a0f895a4ed499fbfe20103ce5ee8dd86435d154daa4c3174dea4874fbe947faf6f1033ec04e31e82c8c4b75a0c16e211ef53c181e6a71ff1e0d5f6e96ada9fdd2d8742fbff58da8d9aeb84a62b18f633f5d30c2253fc030a31257c25ecc4120b33ae0c5aa84c7048ce0b870aca97d0a0985b3973603e349c2268d3dde13850daffb319dd1c04c20b07142c06ead872c6679eb181efa9bf66170c85aedbbaea0b3b35caaf2c0363d336d3aa9c32f96dde855046887be5ea81ab7df9c53addc776e9d774539d406be00b957898390bab9e597cd03c5e5bc8b3d0323214eb41b54290841307706267346b6e8c37dd71275e5a30e5420c5a063b7b47495ad0c15dbaad40c9f1e287d2d91ddf73474937cb39006f94e68663d61461f7ee1b32eeadb92fb6e8be10f08701ab316581336e98bfe65a5b14df3f68e14dad82b989ce9a6de777cf2b2c3e773c04d96c5b4abe364091cc0214ed5992c53251c6f80feabfa30ecae6d8fd9231ce88fb85d898885325f8689304639937c1955270540e5053e246042f3dc2e1c59f2c2888659dd5e6fbc1c7640c6699f6f378ff36361e9c03e0ad2a218d041612e091395a63a7411729cbd35f19b18553dcb9521154268f5f8268438ca9905f419735ec6935097d22f79cff2797704a3e61e00dc63e7ae3e31dfd6ce0e0f512031005e2db2564db33e54e7a6185e73934838f1843cdb2cf7fc244c1bb8405d302475c813c08ee05b4cec2236d262c5779fe68ad442993db9766c808880ff080bf436d0d6b46823a2d8ddc62982fe9eff6cb58c2729ca325dd9e154f5fa58a08852d92851c600e3a56a0f39ef8c5842e897a315047eae74d40d7392671f05d8c1975c6351f24e0ed710301241790242f070f73104b446c1737c235", 0xe00, 0x6}, {&(0x7f00000005c0)="90a2ec6d7cd5192b37e36202ff9c4f36cb3d5c7ef6efc9681372a1a753e8b3cab7dfded75028c7cb67a8f14db76b5172b4996f79de1908c9d7a3be11ba03da2ab77a0dcb49b98bd0520e063e14720802c414bd9d68af22d4005c8e820e7d8224c55ca153da4c9c7aada4d467d81cac732784032304cceb0f91481e128211c251c5fa07e09b17b3be16f04541508a728397061a447ad1351e81b8ff8d1ca0930d8693657afaa94d2a57cd", 0xaa, 0xc57}], 0x1000, &(0x7f0000000080)=ANY=[@ANYRESHEX=r4, @ANYRESDEC=r2]) openat$hwrng(0xffffffffffffff9c, 0x0, 0x0, 0x0) write$tcp_mem(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x20, 0x0, 0x20, 0x0, 0xa}, 0x48) r5 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r5, &(0x7f0000000680)=[{{&(0x7f0000000300)={0xa, 0x4e24, 0x0, @remote}, 0x1c, 0x0}}, {{&(0x7f0000000400)={0xa, 0x4e20, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000001700)=[@dontfrag={{0x14, 0x29, 0x3e, 0x4}}], 0x18}}], 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(0xffffffffffffffff, 0x1, r5, &(0x7f0000000340)={0x10}) getdents(r2, 0x0, 0x0) 01:19:42 executing program 1: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file1\x00', 0x0) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x1000000, &(0x7f00000000c0)=ANY=[@ANYBLOB="750900656469723d2e2f6275739b776f726b6469723d2e2f9f76ab78312c6c6f7765010203942000003e00"]) chdir(&(0x7f0000000000)='./bus\x00') r0 = openat(0xffffffffffffff9c, &(0x7f000000c380)='.\x00', 0x0, 0x0) fsync(r0) 01:19:42 executing program 3: r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000400)='./cgroup.cpu/syz0\x00', 0x200002, 0x0) openat$cgroup_ro(r0, &(0x7f0000000180)='blkio.bfq.sectors_recursive\x00', 0x0, 0x0) bpf$BPF_BTF_LOAD(0x12, 0x0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) write$cgroup_type(0xffffffffffffffff, 0x0, 0x0) write$cgroup_subtree(r1, &(0x7f0000000940)=ANY=[], 0xda00) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x7, 0xffffffff}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000080)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x30) r2 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000540)={0x61271c7e3dbc2908, 0x80, 0x27, 0x3, 0x0, 0x3, 0x0, 0x4e, 0x88401, 0x8, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, @perf_config_ext={0x9}, 0x2030, 0x100, 0x0, 0x7, 0xffffffff, 0x3a30, 0x0, 0x0, 0x7, 0x0, 0xaf8c}, 0x0, 0x6, 0xffffffffffffffff, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) perf_event_open(&(0x7f0000000240)={0x3, 0x80, 0x92, 0x2, 0x7f, 0x20, 0x0, 0x150a8911, 0x80200, 0x4, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x603e3a42, 0x2, @perf_config_ext={0x80, 0x4}, 0x40a02, 0x5, 0x3, 0x2, 0x2, 0x7, 0x7, 0x0, 0x4, 0x0, 0x8}, 0x0, 0x1, r3, 0x8) bpf$MAP_CREATE(0x0, 0x0, 0x0) r4 = openat$cgroup_int(r2, &(0x7f00000000c0)='memory.max\x00', 0x2, 0x0) write$cgroup_int(r4, 0x0, 0x0) r5 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000380)='memory.events\x00', 0x7a05, 0x1700) write$cgroup_int(r5, &(0x7f0000000200)=0x4d00000000000000, 0x23000) write$cgroup_pid(0xffffffffffffffff, &(0x7f0000000040), 0x12) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000400)='./cgroup.cpu/syz0\x00', 0x200002, 0x0) (async) openat$cgroup_ro(r0, &(0x7f0000000180)='blkio.bfq.sectors_recursive\x00', 0x0, 0x0) (async) bpf$BPF_BTF_LOAD(0x12, 0x0, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) (async) write$cgroup_type(0xffffffffffffffff, 0x0, 0x0) (async) write$cgroup_subtree(r1, &(0x7f0000000940)=ANY=[], 0xda00) (async) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x7, 0xffffffff}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) bpf$BPF_TASK_FD_QUERY(0x14, &(0x7f0000000080)={0x0, 0xffffffffffffffff, 0x0, 0x7, &(0x7f0000000000)='cgroup\x00'}, 0x30) (async) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) (async) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) (async) perf_event_open(&(0x7f0000000540)={0x61271c7e3dbc2908, 0x80, 0x27, 0x3, 0x0, 0x3, 0x0, 0x4e, 0x88401, 0x8, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, @perf_config_ext={0x9}, 0x2030, 0x100, 0x0, 0x7, 0xffffffff, 0x3a30, 0x0, 0x0, 0x7, 0x0, 0xaf8c}, 0x0, 0x6, 0xffffffffffffffff, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.events\x00', 0x26e1, 0x0) (async) perf_event_open(&(0x7f0000000240)={0x3, 0x80, 0x92, 0x2, 0x7f, 0x20, 0x0, 0x150a8911, 0x80200, 0x4, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x603e3a42, 0x2, @perf_config_ext={0x80, 0x4}, 0x40a02, 0x5, 0x3, 0x2, 0x2, 0x7, 0x7, 0x0, 0x4, 0x0, 0x8}, 0x0, 0x1, r3, 0x8) (async) bpf$MAP_CREATE(0x0, 0x0, 0x0) (async) openat$cgroup_int(r2, &(0x7f00000000c0)='memory.max\x00', 0x2, 0x0) (async) write$cgroup_int(r4, 0x0, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000380)='memory.events\x00', 0x7a05, 0x1700) (async) write$cgroup_int(r5, &(0x7f0000000200)=0x4d00000000000000, 0x23000) (async) write$cgroup_pid(0xffffffffffffffff, &(0x7f0000000040), 0x12) (async) [ 244.373680] EXT4-fs warning (device loop4): ext4_enable_quotas:5883: Failed to enable quota tracking (type=1, err=-22). Please run e2fsck to fix. [ 244.402226] overlayfs: unrecognized mount option "u " or missing value [ 244.451073] EXT4-fs (loop4): mount failed 01:19:42 executing program 1: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) (async) mkdir(&(0x7f0000000180)='./file1\x00', 0x0) (async) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x1000000, &(0x7f00000000c0)=ANY=[@ANYBLOB="750900656469723d2e2f6275739b776f726b6469723d2e2f9f76ab78312c6c6f7765010203942000003e00"]) (async) chdir(&(0x7f0000000000)='./bus\x00') (async) r0 = openat(0xffffffffffffff9c, &(0x7f000000c380)='.\x00', 0x0, 0x0) fsync(r0) 01:19:42 executing program 5: r0 = perf_event_open(&(0x7f00000005c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x4, 0x100}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) accept4$netrom(0xffffffffffffffff, 0x0, 0x0, 0x0) fsetxattr$trusted_overlay_opaque(r0, &(0x7f0000000080), &(0x7f0000000180), 0x2, 0x0) bind$bt_hci(0xffffffffffffffff, &(0x7f00000000c0)={0x1f, 0x2, 0x1}, 0x6) r1 = syz_open_dev$vbi(&(0x7f0000000100), 0x1, 0x2) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r2, &(0x7f0000000000), 0x1c) sendmsg$kcm(0xffffffffffffffff, &(0x7f0000002cc0)={0x0, 0x0, 0x0, 0x0, &(0x7f00000075c0)=ANY=[@ANYBLOB="10100000000000000100000080ffffffbbbf6864d5a6abe87210a52c2acde084caca2598556be534daf7101965cd9b0aa79533abc31a4ca902dfe07a7332ea32e008a16afe8ad138f0214c559ca37ca42907488cbde09932de8161e041e06dc5e2739b6a3148b0c3544d96b68c83edec1ad6c9fd820e915b4fca81e3627e536a48e3c52142660c8ac5e100db287cf896236907bd14fc6e0d0b54bf906402cf4d99183e90bf2e7d5cdea90cdf4529a5a2d696985049b3476a40a5d4218bf63e859ad7072fd61178028a167da63d6da27d2509e0dc56139eb510e60ff203e149fa236c186aa88712f1f5283f8067ca0a51605b882cacc12a946f6ebdc34f2bdd2e9993c53fc62567d67303fa8118bbe16e7ad2ee604942878e3851032152375ccb0357e7392e5dd3a39116d97de125dbbfef751ab4bb925c071d53ef65386752c9997e2713ce94d312fd2f5a0a23f969e6494fe59b785d252644174d6166c0fb55818ddec9da9bb796d391810cdcc08aeb73cec480425239afb7aca6325a23646098afc5ee1c8dfe2451a9be0a2b9163ae6407cfad028493068b21473a6b2ee8c478bd81b7c40bc88f10fdf66a28f1b8bd867802ca9a1c01dd8ad0b61bafe66a132f135a6b8b87b78ae256ebb73b6c487569686bc5f71872ce6b7ec009cb8f64ef91808996ed11af8a00a4a3e76638b9acf3891a3d2187407c495ca1002d19b897099cfda69a083985dbf2eb6af669d6702b2735ab28d4cf997feb1890c7a7890defce7917399d5a65caaf1b7afc79ec9603c966422007802a57ae2b1b5aa73e0030f55281e5d24ec6b9b9740f7291c1ed067dada3ab62eeda70ae4707357e6c3c0a3b28ba6ba06ec0ea041b55ddbc87b715eaf1b370868329a678beacd9bc4454b598671aec278713a6c7c50c00f62e0cf6cb5b8908693600033223323c16c444b60672ce37d3bc8427d877e4dee8d211cbc0493f985d3ea61071dd374b95b79b3121e233134ae0552a2187439e9dd385eaf911dd7a1ce2065564394e358ed791592f8aae2b04a337b06b59e986c4258859983e9e925b1ebbdfc03408ea368553c4311ada6c9ee41e25553ce62ad2bc8f2da2ec4659e2727a2baf14776134ee714832570cbca1d65aaffc9155fd6a24af17d0aacf2bd8536b4cdaa21f5b457310021c340fc933f87553972f92e665f99e5bb922ff430f66bd34777dc43a4fbf5a81ccbc73c9123962dd6a2f60c216ece60ff99b71fcf32fa711ed266d8c3a888a0ffc2320104329153f80f59fd2b57c33c9cf4d23ac492ea467962dfd7453c0c78b1ede291ddb7b34305e3d462ba5fc0e939ca2ea2c5df9009b7539dda4d93e549eaa8a23db4ff31138927db9f7d5802a6af6a225864cf99802d153e26703fe6b34afe82e6b784134af136e65df993c3c9829dc8c32bf0a2f59f8a6c5176e899d45db5002a95beb2fb9d52b5cfaa2f40ccbc6fcb4f66d7c6eefdc70ebcc95e6eca3880d78ce106d54d116664fe4a9aa58dab4f84e252f7041d870065de4625ab62fa16697e0da62530fefc2085815f166991d5955960aaf42d2f4985cac9efc023b595fbd077d9541b020e1742d11c0eb81b778e54898acb84df5fbf6074b24dcb58811d40f5759fa562d6722e778d08c54763f4427906e81c46b9c504710b5ac291c5133f5fb0fe85edca59f8e3541c74438c18a8c0cb6ece2786572c597e20749bc560d8b9a1de305b7ca179a2b91533e905dfaaa5f799a89f63f57763c2a36c2d2108f4c0d5f9f5fc7de54d89510f5379039f097a2794466d345aa7ba4ddf3420bf7145fee443207d0dc84aee980555e8e1be95fe801fca0970c76f2b13e252eaefa0ffed7c2a68f761f0f89a01ad0e6b4658795b117c2b80a649cdebc3a048764622452c86720ad32598c2109eab34f6d3ff9f3ff96411443f8ac3fde68b598b3f7c5f47b28d5970edac22f692e2aa4289fb89f79f8c0f1c49842a91b83091dd8c434861ef25cb5de4af8612cfb3cac5f583cac62c2a5d5f94dc3675a89d2a8888509772006c118f3fe82b541af11654b1c95435bb9435fdca0e0ef4e8fc29301ac8a9dc56e935611d82889b17ef201e52e5301bb422fd02b25575122b6a05062b16e3dd374b91a7f96110df370f40610f5bdd87bb2c7368dc552a7985d9b1316b956cc13d6aaa3a319715078b3718fe4f6247159eee0a740ad815eec3d1fffe8b2f63952f9398f1e50044c73dca91bd1d3805cf76fc578e3588713880b4f80cee2d000d6e5c7d5277044351bf8d32d64f194e45cf7c01954f770fbaba72f8f9f70e954df2e50163fa0f24f33ea337c9567ee3270ea18b108faa7581555d1b2b2a06ec90ccec9d658147cec54745dbd1627e964f760caccbb3b2f5abbe22add12f639170fb6d1949702a6d858c122f001dd1b1b2662d8b5b050ab21b143ea6ac5082412d89d69634150cdf1af39117a0be6f423497ebb895208df74ae8d337a12ba3daa5ab5985c384d0cd021af0a168fa6d9ffac543825b6cfdd21c29f99115743ebb8e76310a3db2d5487e860a2d4d5a0456382ffb9220816df083380fd2de5f281bf8f3cf497715848adf0407cb05de25c56b2ec832fce76c74077a99f7c2c601f8ebc97ce8d5637311c237d43dfb9bf79727a1b4c9a1bd1ece8130e3adf25785183288fff90f6d9a55a7c0005beaa89cfd156dbcfe723b692a48e5819e277a466c5f517798ed118834772e53b85183a351fe0cf87d43bf4f2382758fbc2203b7ab2cb170dfc26485d39456f31981d0cea39ae51ca158d434184410e5ad5e8c7d2973bfbfae790737f144fdbe8130a7da89e0a988e2dfb84fae975b857ea3e406c1315a53499d44a690b6fea3a93d34e67a06dff8b92aafbb46759f457929b981df9056d6d2c2338841ed1d305e42dec8647712ac3ec43bb1ca317abf4a380603d0bd11656cafb31a090872581e25c39f33d01be0d1fbdc8a96b639091de61cc2030ca6c0703c6df83bab06bafaf72e9389b4183ce5c53a8dfca79bf905999108b8c4924beefb48c22649c849d1fd549eaaa720836403e773792989b00ed70a1c222ca8f6aed38270305803774eab5f8015e34ba8f5de7582b0b53c1660a67e93b0b05a7a4ae447f2a0d30fa8660b3b51fd7a98b3161f4974408e074fed1090661c968fe670ab57f93746f758bef3dd6f9438154ad03e138cb946a208e9bb37846b56cd36fe64178704e5dd2766d1227a56373e072efd503a525ee9ac84d8a0c6676563e94229450d40d297be45970b7ab435cde231d7dcf5a3662bb3dcaec51ff5fe4da8e043d11adcbdc282500897583878a8c9fa8d3dba54f1ebb9f939c99e44ef29a1a466cca99ca1a6da721853bcbcd850391bdd2a301465a497d07f25da21ffe5126a989a730c82a1b9366fade730e8c0247c706939555e499b28312570979e766a0a798862427d3154c5dd0cdf7750f4ebf3963ff677aae1fb3a14bd586bdf50347e59518754f8897a11fc9e05cb5275141bf8030683d1c6bdaabd804384866a91c273a9af1c009e532a95ad8d7b7a537e58bc0482321cd88570394a39cef5afbe37e1b647f3d7aa6a5a7d5e9982784f4a7aadb34b097a6599496a98cd9707b80dd9938333cea941f33e559744614c721542166d5d4151c8450cd20424ee73f57c5b490fce3a9124bce484894ef09f87308898837fa238433136440f688982dbe2673f33ce71439584e73e20339514d7d2cc4412131f2bf710042b9a235d13af230b5f657c2d219602eaaf479a4134ac23e6a65a64b47731ebf14c638ea4425e2cd43f8a7231c7a657b0ebc05940a37f4855d7041f187b864f3ae29f1fec2e116518519e7ba18e65ecf258a8371c740c3609a8e74e2ee0e19f13a30556da5dae541f54ba29504c2b98baff5c2aeab519ce95a9e722c8a5c09d3a34a1cfba24610241db2c44da45841730dfb9501d1a9ea58cad74670d3ffe0b00d9010f59dce28a2ec2a0542e1922db9484cc96383fcade2d1307c3c1c5f93f13cebba3eae122f2b09a1f949448aa8748ea31a85cf3ced5aa6ec5c914ec9a0e782c08f495cdc67594a01f98558f5fba1258be55afc799faefc769961d5af02a5d880487a9090e1a0c015162f5b6da4ca70fa65e691b05e0fad84508e258e572b1afcf3d889eed8c67b7b13712770991e488a49bf74d1c48aa01e9df642d81af918a8a05387a4523af227090c0bf55f8579e9f4be83c673d424291a2d14626365c2832da37019676de942bf3c0d0aa17feb19a464faa822ac4788e1f7799d743d9d07fe3b9611f14481e0c39a009fa966a47141910af10649881d1ae691ef54e2bee38253f7d4f1cfede34c95f96aa0007aeeecc61cee10e8231d92435e4d6cd8924c8511c92c18d41d6c223d4502923c4b15c371e3e5f7baec51c51a16cce1ab08314009e0ca1f6b760b6c990cf56f47bc6b59b6cd508412357fb2902cb28a914ab16556d67d5639e62fb383f6f5e2e8ff4dc65c41b2e4030795e92b4bdfbe5363f171ebb2484d26e97612a0aa68faa0705d9f73afecfcd0fcf7624fb27636f65a84fd5f3e13e2ec33f7377edd05b22f9b278ddb1be2f2a105d1177c1359fccb7cf5a23f1b1ec6f975f728cb7cebed4675900e5a3b2841ed3257d1d38f8d06b02bcab6452303e889dc7565a5eeacfe72df1983faa29b08738a974eb4c3d14b5264935790956f047321438b636fd732265b93326d42544a93ba358c5e62c63ba4125bdb31cf5b92a1012f0634c5b2960518d81bcd54fb3062661573738f99ac9a4fd53586681065b8f30a156cb19f69735840efa69e3211b2ca23e942bd7b3f99eda57cd8cd61f685f6f3713c3bc19422596bd2de1415e853835f2769626bcfe389e61ed3b98b746e71deeea500df2db5f4534c150538178913441dfefc3cb7c44157df6002f949d9385641644838ce2cf1fca98945990f5b8ce1f3ae173fda623241ff0e2396728283a6912c9243b46970478c1e4e7b8741659ca402b0765785a5ad1c0a107b9ea0aa0b4d14b12fc6f9d24ce701b577494912408fe378ba4d67168343e4efd68cd8312b9bf623adc5c58976becfdd40b2e90c408554f2cae6f667b57e9dec948ac055b69ae5c463fb281ece1d9fd346469247f4d533553bc3ae778e15bd2c347a567522cc90914254aa9753372a994c43b679a7c8f91b57be3d923286f09c2d803bffd229f229e6a49a10cc8f5275aa3aee1f6ac5947de495de168ece7e20e28f32fd1f6325df156b577c938ba0b1d275c53234972b6f5a662bcb3f6a1bf5fa979f5c7d550e18e2a87fba286a9649ac3489144bb9b9c6995e4a8bc116d96480b683475bee9b6f8cb1c5c723619b35d0441a404dd480d7246686ad2716be8e9428e13218e4f2289aec69254f1617ab81d83e135af84ae5ad27284885c21df810fb46a8515371d0abb185e5f489f5148afd1ab34d0d8d97287edc429dcfba9b5a365429285f4b4d68c20fc2e4a06be46124981a91dedbd3f7bbccfcae5c244ffe10fcd86bf8bdbc32b12853663b13300b4dfd5018bed4031cd9a35f5a25827dfddf9a460f16cc6d3d9a49a0020ab916f7c1b3a841277385e41b30f87392caf78705151fefc657357f149b12dc40658439baaaff521b9388452bdfcb0c2d383a00a8ab4c9a44fde363647b987cdfd48f4e3b8746fbb066c1e30592c277a4aa2f3652b061e2acb03ebd8ccf87c782abfbbeec89615b71d7eef2ebd92f2a8e317ebfb763eefad849ee4802552cad06437483e875f73851fc7c3cde0967228ccddbecd9b89e165341241e04688c91bd914aea0ca5d010100000000000000701000004000000635747cbfd28d7e380101bce1009d5e084240ca29bf1ce2a0fc2a4ed67bddeeeb1e78202cfa468a6900b99f08e19e3b0119c9948223c684e71780a99c7ac964b2ae9bde47e28eb0fe182c9e263191d2a03c32fe7ecdbcc630997543301ff1f9ff64ea0b817694326ecd7810d3aff161265103d1a4c0af4221c92f82d8c2a27996c99fe8f30cdcbe3add5dcf0c2320237c6857db7225214936054a1a0f7ad1f6c7b020f893a5a6fedda4d657d165f51ca19546a25721b26762a95d49ba35d5646a38d8bf0eaa9c58050ec5a4a686dbbca4004f384e997852647a35574ce9596c9fc3e0b2245f24c4769df25bb9932d2b8d5790f75ed0458d01adb82698f2aa36a2212016d5301be8959ee7e2354c8959869349c610c4afd57baa576a27b371f936f184ceed5b4d5c053a9af0d12b6d3f69933c0c115299cb28b3e32c23914dc01a82198e0f0748fda1f1d298f7fbc358c60b5e7d797cc3679a70a00a52501e9d8c65df98410143a18b0715964f6e5a08a84587239d2a8471ffae3924d09e95b3b62642139f2b703b2df4f442181f2663bc978e7fbdf488ca0e6caaf7f4f1d5885b4c36417fd3168e1019deeeb41fab7d88373c3c2327b81e373be68967689f21cc2a15a804461e27eacaaa970ae7f9ebbcadc4835f03cc5590996173916759af40541ac9ed083db8209ab08d00c4a746a584a7a936941a3b3084de4b77d11d77de80ccbc0d7d0b1080fd76751f057ad4e66e1fe8bcfae7295784cda58537f57c61629ebff4f0623464603a8ccce293d6308f201c1e50d05d23c8f88b8753543a0d1860c785f2c7cded7a9429b4fcad26d4b932e3eb0df5ff2a77caacfc27cf099e4a781e5006fafb789c2d810aefae16dfcd2ff9575de3f49da555ec021d5d45271065a42de3b4fd82a94d32166ec996dd7fbac44765a06742ae9e90b57173e9124875c6624cb586d23afad12996d485b48e4ab51f3ca95717955d1f0ea609aae26232bda2c75a26dbaf4cca2958d9c582cffbba78a3883fe11a5d7369ad6180b55c86b7803bc1f732fe686da6c18ac607982f8cef0e5173cd6ab4bff7e2cb7f06c68d4b4edd92e7d006ecafb17cedcf0d252323ddbfe46db9de3730baf469d50dcf1d2e834952fc381d39743c50e4998ca09add496d52c6bea9b78766164f33aa1141546b432546fb1624b21eb48ed191ae0fcfa7cb8fd96b95912d2c5f234f47f4c00813f6e68b9e126a0fe9758145acd80088d2ffdc66a5c00645448ce8e518649c0d4494b9f93f389627177f4cb6e8531c7706b7aeeda165d570c3542ed428f70db9db806342591547868c804a49e460c5ef4325b44ff772355d21382460fb94168bb652de246e2d3b9c7d58beb1e07995dfe8374949c504d42d58bf1c8febc4e39ae5e8deb634d55c659290011e2833cc44bc18f5d063ede66d6f8c59d6124de9af60059c618d9c5978dfa36043a63302b062f6ebca23c690541840aea9e912cd3769ebd7df2854753228a4d02672d2427c225faee395a990cadb860024fd977a87e5772573616f26c85c0d5cf4b841ba77e8758e55dbc961ac833c2c6d526e6a0d3ca2dc00c6d21ab032972419bd67ed7d030b203e105bc7def1e2b83b980589453440c6e04cc327e85319644870ba6e24e1edc237b42d8a6bb959cf492aa279de859c58458f8a6d607b039d5bdae8b7c17f8dca23b233be5b89d8845c7f15f63e212cdc1503404cdf5f042e2b9d6de9aa577bc9b4194db9caadd5d2562db3b39d24cbf31246ea9c2255ea0f96992af096502154c3661957167923669e0a3e91619fd80b6ebf1ff444121e645cf2f8dc095ca406eabb582ee94e42b5e8f0b577bd2dc7797080c9ace2162179e4dd35daf22bc8e975d7deef8a3585730989d2a7f456e1d1fe17479c665c17cd1d24599636eae2ee262f2ebb177c63cb458d09458b6d5e6cc879131970fb2982858237cd211095eefe12c5a49c6c31d8ca8660c655f7685b49cff4402c787e934308d172dc1be2ea8e67b2d9772bfd2aa59cebfd836becf3e6e9d2d2094d5af7df08c27e09a7f121e972abe980bfc3085d63feef9e5d1d902433abb93f9126b094e55215c294c6ece25a57cd25b47768ca38e202a39386a46feb30cd06718628eedd247b628ad621c8830a4ecb068ee10d4064ab53d8b936ac59f29991505d843c8d4d5445b1875a40cbe05828a50da27ae8b95baa2dbad1328728a0ddab2ecc5bb8d8ecb106f2dc4dadd978b961f1f65d7fb32eb9b850ae45eb6a6ef0a86dc94f5e45ebadc4cacfb85b76c3e64c6e55a6cc845f22a8788f379f0ec21b6b1296cdf5e00031459114fd1c8163c82ae44c4fbcfc23a4f048fa54303b6a84b2ef042b36b8c075398d01ec14ab8a405166160ddafe58985f7d421156c3b0366be44ee51d85618be937b665837d1efe66afb951ec45655a1a6ed33ca9b5331daa6d2ae5da76fa0fdc6d6958137b7abb224952489a7e974a136ba739a58240203f28bfe9749706e48155ce688d659c765040cf43915702f0fed32ba142e07ab9ce93dacbe5f8262ad1a2ece8e0084e1369d4ba0352738b85729dac6d8108bfa72cd3294fe8c263a325f76efa8030f35ea37d84ea1f6c76117cfa05133839fbdea361988f7860597edb1d24145f3280d8141efbc37defa78b85c0298ec85fcad5f4a0bb58afa88dabc6af533a8fcde8006e20fb87736dad2df8bf1195c6b97379e9a4c9298597fe5f6de9bec2331fc5901a35f89dfdeebd17571b8b1933a101d6581e833a676125338b3da3613001db3c9a2729dbee6310deda56002f88acee0a27f9254b99b97685eff96ce6024e41af4f7337b156a0dcf17827a7395c5397f329b59c6b2a0d4aa32cfdfa1eec8ef96c2d69ce5cd5722a72d1854ca83b6f7ee9d1581fd8160f50aaf210ccae5d3c713a8cd6f14ebac596733871c71094a937ef4a2a799f556846204c5f7ff6c55e3e642e959d5221eb760739ca574a2b4d3774d4cc6c520e8acef0f7aeb2982d76f5025d847ed8f423b4322811b97e06f8d3d135a84b8910d2256912d000e56f10786fe3a71ba411fb52bb66a7e1da63309b933f2a7cb460602ea410c50cbf7f3f72d57be00238eca451a6b00c2faa3ca2106dfdd37546d3e99c71d226c3e69ff7874e44bdc55fbeb683ddbc1a75426ff21d365f30f51fcbfe94567fff531cb0fc6518fe7448e237cd5e66ceda5dad116cd3049e43ae7e7a2716168e7a13bbd4d6a3e9694fc3775972a5aa207f0f40d2acb565407c5eebe246fe03ba87eac0154a6de5898aba0c2d7b596b19c55d6653804a1ba7b7bcdbb5b4d572e0a1d9da8c0f546a38ac63040dfcb2599bf3992589158e6d8cee7f01f938dff76cf822e4bfc7c397b5a41ffda9118bbdc413400578a830c396384054d12a5e85d5150a9976551c4db5efabae0c9c57a7f6bf4d91fe1ec7a5330ce7047675ae78a2d592621b568f3f00b4048c10d6819bae25e834e97b1e2647047f8aa936232cb3d4108eecbd7a247cf9a6f3367b6512420ba59c366add8bef000664f84c625a7d0f55050058027b574ac8788d691c9d15819519d624765ebdc7adce8a262cbc408dac90ccd70ced4a86d19c5d273e7d220993476cd6bd0c07ec7a2ad88ea630e7c3d03f52bdd95f9c7a483d4ef315d859baa7737d035485debed653b59401396476ab5fb4a53f899edf79137c92a64d9a87eb263e24028e2fd5078d0158afef57861285a48271bbd75b3b548413bba17ca9a06e442ea194ffd58c25fcf9bc7dde90b19d31e9d2cd9a97870b2a779d97079c259f42be3456682f8f010652bca40766b602f02c82f63ac06f18efec7ce8330a1fcdaf52db640b6d061306efc7794a50be15bbee7d7bbac5ed73ae5d685b3e6d522777b09ebfccc882c7c56be477f252e104bcbecab1230aa428504af7d9026ee9b8359beb4195d40f28e8ac1d3d52123104595909e23ec0008a72dbccdcc87027e932dd450ac0bfddb575f9a91093e5e0334ee414f1b9cd3c28e16c5c524b5d1630316ff42880919a042be35995c7bcd7686fd22c530a17910e21040ac013c213cccc87b9cddd3d4de33a92a924c7be43c00cd20d6bcde34c60ffb6f2c05e56d6f52259e7c22826472d9b722766396779c5b8a2042b2fb9d1a9a14664d6333bf7052d7c058a7557634cb00fea8e38d176b1ae97287cf2cb238cfdc8ac4897909c3f188e9a1fd4b9d26851bfd3d9d065eedf8572fa81082b5abf24929d9b9c8a6636bdeca213a40b1abe9e0ce34d604906d87c83fe449f78668f541d03db273fe4ef2384640dce1a0f1aae0ec3aaaea4c0f51ec4dafbf5aa50100f6a47bb634a472a8f677f50f6be4aa9c0a5f880b0e8ff14a6bd01c20477a30430db1beb2c498226ae1c7003f1c022347553c6d961a062169843eb4b73590a177d48706f175cc6ad8cd630ea1aa7e61b344dc05b4dc052d093d974f454bec9ab1a790fcb3e6b05a0a6b9de0548381e14efa5e7da942e9629a2fbb9844c60638620b15a8120d0dae6d91d37e2e9f60d974da28fc95cee8bbbaa6d059459ee7aefdf665d85062407a4d5a12548420a5834e59da803deaa1630b19a3a616b000e668c0d61408380c422fe3707ea66944157a8e1107c2c4e27982090aa4cab2b0645363b93ead995d84986b0ea56741e797cd210b10b41dd42e50ba67a9ece3d32eef71ae6f6a4ce627047ea38e6590bbd66ffc6e3821c216ff308fcd32a16d421f8f728f136ee130076c5356cde8a873f786015531e4e1d5e4ed568dd930ea5f8828f6d2cc9384b6897a27385811f7281e2c38a85d27158611ff696c86faa1b2268e7012a88cb65a985bdd8d435b432643fa4b399a3b11eae5494cbbb97c284610f814c083337aa6ed79997243a15d6748f697a47123df8493ac8f560320a7b043e9b4862938b60ab5843543ad2c197d1a572788b154359e40486e30cf33b8e6b57fbd86e065aa5af489aa96c5287a23da9e8a3739ab7fd468cc5026227a4384df29e0db753a823535514261b2fa41e67c64510b9cccc504776e0bf3ddd21a7ab77458e69589bde1c6b6395b64f58a09584aedaf4b76c939df7e3327b4101b3cae1f99d52701c72581defbb1087253192bff5da66617ff4eb8cfac389fc46f116939573e08a5e32fc71c33966abbd0db096814317cb6df940776c8d7f8b2b7f92815d1b45e91cc872e08775e7cf2de4b4f30eef81db71ca8a4032bfaad8ad5746951ab0aeb5fd33354c7114cfad67f4c8d653481579d399c0f71b74e297932ffde1d7d9d96e7ef495c610f9df7ad9e0963eabfb0af7939544ae25d87c5b93b053de414f21b8588f919b42ec2e8233c980490a8abe64f8552b49a35b0dd3b30234f0df4244443da8c2eb385e5b3324947b82d41f9a0ce54c2db1cf8ba52dd7043233df0c1229ba751e1efe472c9295cff0c3f52d1815f77fd789ec8114fd924802b20eddf59e07215f57072192002b783830b68c2efb2cd1d5530b63c31a098ebe441a78be9a07bbb23b76d8eb89c54ff7484e724dd52a0e1ac07df8b4567f22579117f8284dd834d8effcb7a16849cc89d07998619563d896e8d68248309d520a7ccb8bed6a9ffe934fddbc1c00167fee82315f859f8e356fdcdfb6aa7dceecc34b821ab54ea7ce435077484370014dc53c31637aa0f6021a1502b16c5dac5abed0149c5ce96989960c5a0d4996e46f260d63ff27f5ee0cc1f5dae7afb825e4d83ead9f4679fcbae99c4934971606eabc93d868d9688e438f377aa1c89245528cb4cd9d04fa3eefc721e38000000000000000e010000020000001ecfc8c1cffc460bfb7b7e919d4d87c001509230e42e1d86982f3ecfda1fa998761f08ed39d000002800000000000000190100001f0000002c11a1355a9718a6db1a211a93eaed9c9abd00000000000000010000000000000c01000003000000f2f217bb25ba5b637b3871daf1af073fc8b9dde9d20e57e749b82a61fa65017c85cdadcd6758c51cad02faaa0b9c4629aab36fde1c530360fc38682619664da0f3c131f9bc5367670652a9af81d1fbfcd55542bea64dc03e6f88b6b3b7f4705b39df0ea2c1171ac965fcca246c92339b0ac0244a8876e5aff586ccb725629a05d96bec2de9b54089ae5985e7e13281d7b1ea4061764bfa262ac7cac8fea747d9ae3edcbf011637d19528ba1f0b457228aee96e47518d05d6a5cc667c82530c61cbddaba7c8e175fdbe2e2f46f96d0f87a347cb19dffac1c8528edcce43eedb51ab37a0beb5c12f9a00000000180000000000000084000000000000002e99efad7589e900f800000000000000130100006c080000e8f654755956bd73518fb99e582475cb11965b1cd0f41f229950ffc87ec9016abbe2e57d706a3f747f7bebbddb227dc3cacdc4897c59dea39296efdeedb59454eb9a3f0a70efb5d5bd268eea34c5d114d1da695a47f24bb99cd5fbe37b7e5932c50c344c8bb9850c527c54fb0ae153364c2b2fa583ede806a044145eeb59e06a2434bd74c071b68834b60e86affd3363cf83e7833bf4563673b416eaa38306d5bd46ab526fab61c8dfa4516a5e11584d3ce0a26763e85a0380cb7947bbed7c7f06e1b2529dab3f3aac6ee2294c534a3c8b73e83e2478bab18d85976dfb3a600ddb353c0c5e63505b2f741ccb000000f00000000000000001010000050000003fe684c26cb23e6a331c763a4725344630298ab037d7193814854e56bc79f2920c616687f2c3e117bfc4e3c09dcc75aa0dfa5065353c7a8d9541a23d38988dc651c4681a3d6849232886ac8c8cf2e41371847eadb70971d7a230eea83cdf262f890a3ed72a7add26dd8d398b36cdd67f6425aa4bdc3aab345c4305d3641c9644e4e707b77dd180d78f219ea4f04c5385e892123d8a3d089fc9bf8777371d71f9dadda29a03ae79712f2c2022eb4e898d9d05b845b012bff8c5c57c0b06eac2f7611580d315ada43e20fb0f54fb6bcd5fb37f6f12fe14517c12c600000000000020000000001250cefb0100000400000008e703b740782541b371"], 0x23a0}, 0x48000) sendto$inet6(r2, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) shutdown(r2, 0x0) splice(r2, 0x0, 0xffffffffffffffff, 0x0, 0x406f408, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000400)=[@text16={0x10, &(0x7f0000000380)="baf80c66b8f4acc98e66efbafc0cb80900efb840000f00d00f221f3e260f01cb66b80500000066b991f300000f01d9baf80c66b89c6b4f8766efbafc0c66b88000c0fe66efba4200b000eeb830010f00d00f23c60f01ca", 0x57}], 0x1, 0x24, &(0x7f0000000440)=[@efer={0x2, 0x100}], 0x1) socket$tipc(0x1e, 0x2, 0x0) dup(0xffffffffffffffff) r3 = memfd_create(&(0x7f0000000140)='\\vnet0?\'`/{,vi.et1eb0u_er\x00', 0x5) ftruncate(r3, 0x1000000) sendfile(r1, r3, &(0x7f0000000040)=0xf18001, 0xeefffdef) socket(0x0, 0x80002, 0x0) fcntl$getown(0xffffffffffffffff, 0x9) 01:19:42 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x84140, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x4}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x8) perf_event_open(0x0, 0xffffffffffffffff, 0xf, 0xffffffffffffffff, 0x8) pipe(&(0x7f00000001c0)={0xffffffffffffffff}) mmap(&(0x7f0000ffc000/0x2000)=nil, 0x2000, 0x0, 0x10, r0, 0x0) r2 = syz_init_net_socket$llc(0x1a, 0x801, 0x0) bind$llc(r2, &(0x7f0000000040), 0x10) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f00000003c0)=0x0) io_submit(r4, 0x1, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x3a5, 0x2, 0x1, 0x0, r3, &(0x7f0000000140)="0416", 0x2, 0x7000000}]) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x14, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef010001000000d8f4655f000000000000000001000000000000000b0000008000000008000000524700006201", 0x66, 0x400}, {&(0x7f0000010200)="01000000000005000c", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5, 0x640}, {&(0x7f0000010400)="0200000012000000220000006000", 0xe, 0x800}, {&(0x7f0000010500)="ffff0f00ff0f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c6530", 0x839, 0x1000}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x6000}, {&(0x7f0000011700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0x6800}, {0x0}, {0x0, 0x0, 0x7c00}, {&(0x7f0000011d00)="2719c0d901000000803a0900803a09000000000006", 0x15}, {&(0x7f0000011e00)="02", 0x1, 0x8400}, {&(0x7f0000011f00)="03", 0x1, 0x8800}, {&(0x7f0000012000)="04", 0x1, 0x8c00}, {&(0x7f0000012100), 0x0, 0x9000}, {&(0x7f0000012a00)="00000000000000000100"/40, 0x28, 0x9c00}, {0x0}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000004000400000000000800050000000af301000400000000000000000000000100000003", 0x3d, 0x11080}, {&(0x7f0000012f00)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af30100040000000000000000000000030000000d", 0x3d, 0x11100}, {&(0x7f0000013000)="8081000000180000d8f4655fd8f4655fd8f4655f00000000000001000c00000010000800000000000af302000400000000000000000000000200000010000000020000000100000013", 0x49, 0x11180}, {&(0x7f0000013200)="ed41000000080000d8f4655fd8f4655fd8f4655f00000000000002", 0x1b, 0x11580}], 0x0, &(0x7f0000013c00)) socket(0x10, 0x2, 0x0) fchownat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0xffffffffffffffff, 0x0, 0x0) mount$fuse(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), 0xc24a0, &(0x7f00000001c0)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x6000}, 0x2c, {}, 0x2c, {}, 0x2c, {[], [{@seclabel}, {@fsname={'fsname', 0x3d, '\x87.L]$%u(.]'}}, {@dont_hash}]}}) ioctl$DRM_IOCTL_SYNCOBJ_FD_TO_HANDLE_SYNC_FILE(r1, 0xc01064c2, &(0x7f0000000000)={0x0, 0x1, r3}) getsockname(0xffffffffffffffff, 0x0, 0x0) 01:19:42 executing program 1: mkdir(&(0x7f0000000300)='./bus\x00', 0x0) mkdir(&(0x7f0000000180)='./file1\x00', 0x0) (async) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080), 0x1000000, &(0x7f00000000c0)=ANY=[@ANYBLOB="750900656469723d2e2f6275739b776f726b6469723d2e2f9f76ab78312c6c6f7765010203942000003e00"]) (async) chdir(&(0x7f0000000000)='./bus\x00') r0 = openat(0xffffffffffffff9c, &(0x7f000000c380)='.\x00', 0x0, 0x0) fsync(r0) [ 244.851254] overlayfs: unrecognized mount option "u " or missing value 01:19:42 executing program 1: perf_event_open(&(0x7f00000012c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000500)=ANY=[@ANYBLOB="14000000100000001e6c0000000000000000000a20000000000a01000000000000000000000000000900010073797a300000000038000000120a01050000000000000000000000000400048009000200dd387d00000000000900010073797a300000000008000340000000eb0f91ac93621f03c0d872d76cb446f9fcb2510cb9cfd57eb1c04d9d2e5f52476e072e383e5d0cfd747b704863b570bd4fed754e14bc3b7e93e13403cbbef1439fbb79924f8202986975d11c932887cbd0cea1ac21df3b3ebd8c2264e20c04e93a7fae3c86a2c9740b0e26c077396da939a08b2861ca65e0722394bbc8d62827eadb7690a3b161cd75ff1b18aa9d48c486a69abf13f62da6df15870570331247388f6fc7820579be1b5e63633431b652a3982da8fe22a57f8c24aefae22ecda7a8bd289542141ef45ff20835d91a98d7d841c78dc8158e168d1c4fcf0da6e78e381363515db61223996c00e391f30da172ee13a7e86cec"], 0x80}}, 0x0) sendmsg$NFT_BATCH(0xffffffffffffffff, &(0x7f0000000c40)={0x0, 0x0, &(0x7f0000000c00)={0x0, 0x74}}, 0x0) sendmsg$NFT_BATCH(r0, &(0x7f0000002c80)={0x0, 0x0, &(0x7f0000002c40)={&(0x7f0000000080)={{0x14, 0x10, 0x1, 0x4}, [@NFT_MSG_DELTABLE={0x14, 0x2, 0xa, 0x9}], {0x14}}, 0x3c}, 0x1, 0x2000000}, 0x0) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000040)={&(0x7f0000001340)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a30000000090a01020000000000000000070000010c000b400000000000000000080007400000002c08000740000000001c000000140a01030000000000000000020000070800034000000004400000000e0a010400000000000000000f00000a0900020073797a310000000008000440000000010900010073797a30000000000900020073797a32000000003c000000180a010800000000000000000500000a0900020073797a32000000000900020073797a3000000000080007400000000008000740000000014c000000050a010400000000000000000200000408000a400000000008000540fffffffe0900030073797a32000000000b00070066696c746572000008000a4000000002080005400000000094040000060a01020000000000000000000000090900014073797a30000000000c00064000000000000000040900010073797a31000000000900020073797a32000000000c00064000000000000000030c00064000000000000000010c00034000000000000000032c04048014040180000001006d617463680000000000028014000180000001006d617463680000000000028050000000160a01010000000000000000010000000900010073797a30000000000900020073797a30000000000900020073797a30000000000900010073797a31000000000900020073797a320000000068000000160a010400000000000000000000000d0900010073797a30000000000900020073797a31000000003c0003800800024000000001080001400000000018000380140001007767300000000000000000000000000008000140000000000800014000000000140000001100010000000000000000000000000a"], 0x688}}, 0x8000) sched_setscheduler(0x0, 0x0, 0x0) openat$adsp1(0xffffffffffffff9c, &(0x7f0000000280), 0x0, 0x0) getpid() 01:19:42 executing program 3: r0 = perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x6, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x2, 0x0, 0x40, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet(0x2, 0x4000000000000001, 0x0) mmap(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x0, 0x10, 0xffffffffffffffff, 0x0) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000000)='lp\x00', 0x3) bind$inet(r1, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) perf_event_open$cgroup(&(0x7f0000000280)={0x2, 0x80, 0x8, 0xf9, 0x9, 0x35, 0x0, 0x401, 0x400, 0xb, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x6, 0x2, @perf_config_ext={0x81, 0xbcdb}, 0x40800, 0x7, 0x5, 0x3, 0x9, 0xd9e5, 0x80, 0x0, 0x91, 0x0, 0x6d}, 0xffffffffffffffff, 0x7, r0, 0x0) r2 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_opts(r2, 0x0, 0x4, &(0x7f0000000000)="8907040400", 0x5) connect$inet(r2, &(0x7f0000000080)={0x2, 0x0, @empty}, 0x10) sendto$inet(r2, 0x0, 0xfffffffffffffebe, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f0000000100), 0x4) connect$inet(0xffffffffffffffff, &(0x7f0000000080)={0x2, 0x0, @local}, 0x10) r3 = getpgid(0x0) perf_event_open(0x0, r3, 0x0, 0xffffffffffffffff, 0x0) recvmsg(r1, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5801}], 0x16, 0x0, 0xf080, 0x3}, 0x300) fsetxattr$trusted_overlay_upper(0xffffffffffffffff, 0x0, &(0x7f0000001800)=ANY=[@ANYBLOB="00fb070002802fcb2c5eb0e238497b4513fb1959a089728e63e586fb37c72d03b4c0caac1f2734557d0437c03eeb870f27f1c257571ecdab8df24a638684331daa108e5c351119732f81a6d1e42c0ec786860c5739509def9ff296dec2fc5071769be7f2cd681d7701292a1b7a491c8a67920db42b0c5f0565d596e20f0dd09106548c7660017d5307d1a2b6a71d85e8b78b1fb603583c2449905e806acf20a32f411185880240b2dbcf0b5489b63c18903be32f011bde56f1553a994d805a328b0f5f4fdeefcd59820328d0ab4eb2526e5197e6e54f10c1b9c89dcc12f39a918ae1d3d50001352e202b8d99d5dc6cef9e0c507c957c7dde0fb5f6b7d664f19fd4c2bb1cb9b24e15daee4cfbcbc045168ad0a248c930e631971f46c105ce1a7d1b74a4ebb7f8e8e20dc79b83d986522b2d392636f7170b88b514e7f1ce10bf2b69ae9000477150f603ab259779ade4543a5c4c5a9e35d2f17622f2efb4d51f6b93788b875cdb57501dd0455feb9abbeb4102648d73c8971422b33d7648455e792b0bd3e23f1eb31598d56af08e7149645ec0e1c62a93d4d8741d495d18a15e115abad7a80e9653bb08eb240840aa7b4995d881fc78bfdb9525725a09a495e9abaae2d5bd9f73ab1598389826b4c44c4114c24d56f165d427ac97f8e7fdcb6f58ab727a6c3b4ceee1e0763410391e5abbbf7f65764ff8f355c4e79a5eb027d65e2025d9e00618ccc449585ba1458bc14f1618d5a47f50859b74df9ffdb0c0d3fd9cd8c052fe23a44c1fc758232974d18aea63f86f91af24f7d5290dd3c7011268ca720fd188d9ea1220253a06c89dca158acddb68f9f4cdf28611ffe8d0d34766a360dd7b25cb9483d3ae6b6e34c8d138c433338310ce6abb35a3cc7c27189d70ac0bae84b4a71e14185a737c61cf54856bee632b010dca4107e238f174c18ff475ed1d16d7430603591aef2d892769e598661110f8ab85f3ae9ecae604911cf1e57dca4f649636ddbe508dd452c11f503db79601cafe7910ea2e1ba83385555296a139ad576fb9dcf84e4d9f0482b426e3ca297dc5787138723ff69fe05ac189fdd104ed7890aacf25d03c2315ec4067990455dbfce56ebe1a84f1a9219fbe4c5e7667b3944da9089f9db04a4b6212424f33bfa6a20ee45d14bc946b16c4065c6bbe39f870c7de452376c3e2b033f1b1751aeea44e05b7f9c817dd116bb93d9fd745e9951b480aa8e0d30ccba915e9d13745a9a6ab0cfc2ba21970713c4f46ecac691fea7cf8b17882d126a5037a44caa9d242a69bbf2fd328004c418c21fbbd33fbeeaa9c5104cdec2d7ab19f5915c950c147bc4baa347c254b09a403a992fc5d24ee6deb50fca2c3f4fdb580c07d5df44a0a3d17fbaa5990fcc6d519b03b4b5c119ad61f7e1411e5551ea91a7de9b313776763402b472df941ab654163940ee1ba73371418337923964737495ba457617ecd7dac5425d0417fd9e1b9fe98ea496ec2f44fa7fa07f6b3aaa66d6ee1d20eaccd5918687455a09785ad16bbbbbdb5c9a0fbf390f0c5d449cdcd89717fc5dbd13489f0641ca32dbdc1730a869112d64efbf4bd1bca015123b8229c2d0854b7ace969e5a1e37f8780d0bc8b7d1385aaf798a7c94f581cf3fb3d9ae60dd93150a4d8b09aa1f086a28fa4eda716e20e3cb9a4ca7f86d150f9630614df5636858b0f64e79e6a438adeec164a85e6bfb9292d3c6d88df2d082b91b93d6cd4e1573091a8ff3c560b32468f7124ce1e312969a2cebee5350fc2b4037828a56e36a639bf3d9be4e9c01cf41e46936ba9715ea0318e3fa7472fa047e86f358caa492c75f2cb6be3990ce217ee7c4cc9654d89d42ccd3113e331e421cf532ba3d84fd6a2e06f8df3c9b8e535125bde2bc2c17873475a24c8d1446da3ed368a2fcae29f88de47657364c86204cae8ad284bfa7c97e0beac199b3341736ae1d6604aee2b172c2af7d92cd9e58643ccdac25a7967ca1e5f7db78fa9821c37ca1c1f9ec062b9699e3ab6aead6dd98767545eec6945ef899d497779e714e96572542099c757292a5ef3d0377f9967d67472cd1cf50ecb74a57f2fa912245eebb7bf5f6eb8f7fed3d3e779850bd0229c03f58db3c18ec04f7b24f7edcf8d036c35749e12e8dafcab486a7e140938c20045044aa12b6aa12869d9ede8b7ac496ed0e6ed8073c220e8eed9e9dbc455ec508c72de1fa7a7516360b7bbe03ccfd615a3fd0c46c341d4df69e52dbd3dc2e1e8a56ddcde24abe83cb78f0b08db9e3a54bb755c1575d5efdbab9b500fff3eae4f5377edc4d8c35afb165b7ea7ddecf84b023209cca35cfb645e6b013f6c75c04c4c9ad4f9343899d9217a9ed433d09831e93948a32d8714987778e62ce44a1aa1e4e0d8da5b752c596591cba67381b7a655f1c5deb2451623128ead941c14d1aad97cdbb2ab9ea6241f1b0e9b39d0bd20f9119fd670acbbb4de8b2013289aa42fa7433d73f463ee977a9d36d2a1ffcc5f36e90366e4113399ff16c5e874711da85add8b81212594a176c8f04f65029bc914245b8127b779050f0844317395995fb955ccac399df05c5576b917e4f0e7a58ef947c076d838f9629d0dc613825f4839721b3d702ce4a29e4e1a3c80f1c559114adb12845d6a25d89b79cb24cfbc81e7261fcd7416067e1a52e27fb046271e84e02237f04db62567f9f58a89f5da7597cb9756567788c896724f32248e441478ef7223cfd6190966154356b968e2f30f15fc0a1ca1cf6ebc404a2b998737502b14aabb7ae35374bfd8f59308774ca0547e3cbf5b4926d5d02b2ae1d5907fb28139c6c9ddc3cad01cf947e780bf1389fabb6c193e3bcb1a32951aca9644d26f4cc6e1fdd6aecd8cd1304ce4407a8733b395d56dacd39ad0e2778fadfc5ed68ffc7a7753d84a50f294460070e9cdd8103ce2415190f22c1f843fb25755d180511f18c485a33870c443cffbc4e8068cea9b1bad084f3727b41e5a8bdc5416ee95bcd88403186dd82c0d1c63247543f20b5e5bec077c2586d4fec68430786d3e8c67d4a7928f94fff557042ea6d59c97b4916300cade42b117dc22da3159600a7e72a4125b982a57f2adc3308cf40576ea8154cd96cfb713d099721d1ef4f3bd9e696b2b72df0c7c7b090d50496948d78bc819d8837ed4df69d03d7fd38001c34ed25d4ae01c56ad8440d16b975696dccb4d5633fb02779cec4bbacd7ab718f0fdc3435f99a152d3439318c2ff14b0e6b74f24a13d720308321e9cd7bf65f721dc24787387b3c2f7ac5f900bacc2ce08af0cd82d22f17e6f6f0ea2e13941a6edd221dcb8b1fd4ba70aaba553daf1fa0028945c8cb9e892cfea617aa29dc3b465c3d39f82911982d127cae442004d72bf48724859a629ad0e4ef5fd6cc926100c0630badd13bef62a96dd43f7f7c611ccf7e23481e12f80f1556c101b1297bc4225aed82476a2173b13b4e9e9edb3b9a844f18de283887dcdf541c800b07eba5f87355c6652f439dceb6c133d41eeb075a5c588399f89e68a97ceec8d008f91675c6beb50c9d135f94663c5c708c85b765a1a6ab4a058a41e43f690048f259bab55bbc07a02d21b8103018e1186e3990c0012c04d7b3a71c19083dd435b864c0112cbfadf1b21c677c70a1430e037b298755a6138ced0d998c7d88971e13c41818ae9d3a20ae6bc4f8b68568a61f95530e88d8df5f6edc966d9a0c66fe91fc3694cef76596267b51fa11aae5fe2184ae81958a90c2e65b453b49f5a913f5e2402bcc3e99b32f17aa0a295f56e5696fe2148e8710b6e05ea16afd58f9a4dc84763eb10a6ba251a9f44352468d5041823a7dd415be173aecacb596d3fc63e04a24e651c7691fbf160aada11a4ec75f370c5bee32163e3777a0edbb1f144b6ae2d3ddd7a6d1ac93488dbe19bfc93629d2745f8bf6bb52f0b824cd6693ef62169d3dae8fe2dc54dcbaf96cc06261cf8959b852ca9895749bae5ec1a751ead057aa038766c3e322c87b7eccb9dd326ada45ed8ca2ba47d5ef0003047058ae7b1e1fa016bd3a54154247e5dd9984420c778190dcee01ccfa48182a89a4635d0417aea52f42bed279649c00cf9f162c5849a067ab97191b3cc666fe83d3df26dc5da3a270c92cb30c0f15c60b244ab06530e67d40e94f00c8db161e9ae45772eaffd84d14324a12309b9adf4c154286a8b47c96ff8479d5fa2b8ea89a6afc60599b87ee67a7dc3ecfaf57ff2963eb03f14b0c3eac1ad761cbaa8ffaf9fd87e6e12860077f678c13422d9a210eb1ea9e80ac87b251f12fb4e4a4925dd48f2b70e2a1fdf4cf3d1e4e25846479601c0522baadb1117cb75e1b14eca98a4d79406d79bb3f422ba8910db4b8396d1582db35f9cb6f046fdfea5ddbb13114ebab82bd4b63f0bba43b57c6d4f94e946940dcd93b00c58551bd5874699f943c154699cd34562236ec98e5a1fa1bf0286a92957bcb4db87ea65b4786962070a518fd735be4cd19c1846b351acd493dd36f2516dd2a57772b0826dcb9a01998923393cb58c429590f1bde236fbf24a00ec5204cfd828042d6c5ed11a9811d220869587c412894fb1165f6ea1ffc758d78ba4540fa91ee3a0983f2489f151ae493391f0cff09e38b27faeaa49a80d3448a2459446d40511a7496068842f3a0cef51e67ab9f6b1522b6635c6cc2169e98d5a02b0c8bb274ec6bd8d4fb257912312a1044186912f4c2977334207dca2af7472b67c817cca0c79b306dbedf453c691728249716a0ec9f4cdc06a196f1244eef3e9b64b8d72dd84037aaf6bac79d1e0c0afd203eefc83e74054499bd41149900fc87b869568e0e8501852e5a4d986ac1dfbc8d65d365513fd57a3e7a5f119f3d6ee63fde262aaa96644ea30af9dd5c3253c7d391eb39f78dd8328af20be80f762bc7d5d7d055ba25ed1dab1db7c75f29b3388d51153125722974cf8b0e1d1df1977f74c49ad8fca6a87f0216e66364015c996c2d483580bad2a0b5549e3ad0ffc773cf722ff050cc1149fb7d7596e1ef7e8bcc3f6d189e2ea6e028b8de8e701b1a50fe4443e7bc223aed2266ed95373330ac9b56174a535413a513bad4d1015a9dfb4819a42f237ea24aa5ec284a15e134b34eb9402cb846f2bc7100fcdf5d77c912b327c3289ee14dfbcb963b8372136e6a0c576ad512a78d55e92c4f3c068e28002fdaeca0e9ab3b635fae99ea9ed68a4cf5222495d03a2d9292e31277057044aaf277213269b11fcfd81a3b80368ae8e1938b4226d64ed1bc1587f43871b58320910ea2b0bf494b30a6e481902424bcc5851a2e028ca6bed2cf9529b7ffb9cc48a458aeddafdbcd710b55ab7ec226ef1acb6991a49a7111ed89df601436d33673668674bf6088e1af5a556e36cd049382dc93ab78ff6caa34a9aa9215a5b71fbb795ebfafff641bc889a9d60086e96386a226e94f091219250d2edc7b1df18881972d445143d7465c4428d5c9643a79aaea51fd3f572e5956e536cf7cd44a4a89109f0a6aa14e5d7b0f64b1cbd47bef74a22e3cf5ef024daabdd224d469224e6ae5becc4730fb8c887b523e706626c2306942dfaf385cef5bd119d98131ca4e5254c1d2ec210097ec71d81f8b8e2da4ebc19353c08f45c7b166c93e7a7f65165d9a7aa92a671de9d876dd2512447cb2a36f70d6d134c48de4edf7f92a9110ac652eeba83c879e2bed3d0d2d8479cf7649be87ce001d85460beb5a774abc211d2ef8f1843c3b0ecfc4f883acbc569a9b0a0551c06c4d38bb6ca1664d7dacf8dc795abcf955aeec8a45426161f14f58efad1c9e9fe5121295b6768a90f9d1e58db2a2a2d53a734a8d226eb07caaf0519600579ee423235fac12896dfdd7bc98c214a6d51ed925a4d0997a74779330ff5a94e5d15c9f191b0b41d3602644a51a736933bdcca56c7f7389dc19261408baa615b"], 0x1007, 0x7) socket(0x0, 0x0, 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000600)=ANY=[], 0xfc30) accept4$inet(0xffffffffffffffff, &(0x7f00000000c0)={0x2, 0x0, @private}, 0x0, 0x100800) 01:19:42 executing program 2: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = openat$full(0xffffffffffffff9c, 0x0, 0x0, 0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, 0xffffffffffffffff, 0x0) r2 = syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000010000)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200000000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x8000}, {&(0x7f0000000140)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000000200)="88001c0000000000c7d1ec9b000000040800780914092a1af9b795000100000101698c8755dfb6d52274036a22976f0053500701be5824026d413f2d5309854d285cff8a1f4c164da70f4f7343e536119ffc134b1289b3289e25125d95a1a93065ff724d49e57a5cb9625685477d6143b857cc272abb12ec58957331be20611001f180cc2af1dc0696", 0x89, 0xe000}], 0x0, &(0x7f00000003c0)=ANY=[]) r3 = getpid() ioctl$DRM_IOCTL_SYNCOBJ_TRANSFER(0xffffffffffffffff, 0xc02064cc, &(0x7f0000000580)) ioctl$DRM_IOCTL_SYNCOBJ_QUERY(r1, 0xc01864cb, 0x0) perf_event_open(&(0x7f0000000500)={0x0, 0x80, 0x3f, 0xca, 0x9, 0x2, 0x0, 0x1000, 0x20018, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x2, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x5, 0x2, @perf_config_ext={0x5, 0x4000000000}, 0x9000, 0x38d, 0x9, 0x3, 0xfffffffffffffffb, 0x100, 0x8, 0x0, 0x8, 0x0, 0x2}, r3, 0x3, r0, 0x9) sched_setscheduler(r3, 0x5, &(0x7f0000000380)) time(0x0) ioctl$FS_IOC_FSGETXATTR(r2, 0x801c581f, &(0x7f0000000040)={0xba76, 0x8, 0x8, 0x662, 0x7}) r4 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r4, &(0x7f0000005100), 0x0, 0x0) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x4, &(0x7f0000000480)=[{&(0x7f00000002c0)="efb98158c996a13790030354931144ddff6e65e5cb1bd0f5e3445726f90bdacde13e3287de4b258e", 0x28, 0x80}, {&(0x7f00000000c0)="9b23012d15fbb2be5b5d2208de10e4b0deb503d3c76d278e108c147b40686f53c3a120ce8592ab26bd4ad2543dc2ef562dd2cf7cea77", 0x36, 0xc000000000}, {&(0x7f0000001580)="a5761ae2d96325b4a3a3a03b4e3a1038a396e81daf5881549398ee5522a6b0579c52346a658b3d674c16e3eb203ff34d26a2acae1a2d48a892373c34920aad30f177cd8c142ae841a8ba49321fde3c350c11db9ec734cfc81e0752d97905d21cc966e1f9c0958875fde4aff1cffbbd656148d71a4fe0a49bd59f07440737c72e9a5486bb3c0c5b6929af184afa2fe887ff6d8e523b5d1988650fac5ea4228961209381248c83252d1f3bce3d09182b4ece67799db022909e6a7b061884c40766c9a0e7706d165ebe3efe2be74b542ed6e8552e67d4789d7f26494554dbeb7de4b2145bc112466f7e9c5dfa4c6c3e89285f08434818fe2a085d64ddd8d70747a7d6ea7f6dff1a5962d09ae9b46437ce4dace277eb3bc0cd7c6a33dc46299eb1533634b48b51653b48a05091d85c0fa8cba0c91778616a57d0ec7276d8a10e3f2af1d586f125ac907ef22df7bccca4954fd92124a4bd50ef36a4224a264941bf66ecb61e3a6e65a4e22bfe82f6a44033af737a487e4c5f1075b6fd2d6dcfd231325df1b966bf96c3eefd63edef6a617cc15a77f8a5d0f7c77151e0545ae7c66183f20ce72496f8efa8045839177cbb4405ddc680f956eb7f41f5d42458c35ecad2442168132dd0ffd5c9dff52fc7732b57456dc61e3e6291db092c4c2a4f3a358c5d8260fa351838e4f270102d8002c544419cc2c46dbef2181378405c76d1d6f1c28885438985f8407c67f26cdcf6de938c81061fb3be89011e341da77c866f6a70ae0f8de7ed7f28da8c3cba570e4f8f093a087bf978f44bd4b5ccd241cb626c6cc0979c0a0d91141bbec7b39a91656dfdc152716811801a867d34d8563f253bc6f303fe08e30593d9455d99605a7962fdd5d3ce93f0b9387b1954a59d5497cf01a8e5ae0a89c75c8c9ae84dacc32057d509a0d394073e55263a987ffa17926d3828030dd0b9386f2c9b13743924fb6d94cdabae5965c00eaf5631b21d4fd80e6cbebf418ede617d26a4c5f45380c32b1b1b3bb8f4d16bd474d124fd678ea2c6abcc29032b9accba8b2176465a37c135faebd49c574fa09ef39fcfb44f0964e6d8c3c04f4893ec1153e2b54a75a120a5583c263666192463bb83807731e45ca83373f27336127cc7004a1b68fbaa5d57bf9f15e306846da5711fe117a6d5f301a365fb1ac168f690a8ce023811caf4c274af09af9b3416ee78f8979ebae1383b577c2e518cc27351b570319910258cd21d3ede3fbed55f6fc6b58c873811aeaf97b1602533ce385a880cf2b0b4461f389918204718615ab3ce03728a5cecee112c5bfac680248630831df764248f676b8f5dcdc15dc0efdd9276c15db5f88ae723b3081913fd47eb0d324dd5f350fe4c88b43d0ca19e54177a531294c684b2201dd482fb4eb8c0693862c18e5fe34ffd3da471fafaf30c1d9bdf7b5e0dbbbab341e1106a9447f7a4f62db64b70940f41ac58bc173ac7d4e1e5773a78a93f7464c6c14f530666efed42b0b347eb5d3ca216fa9230d6c7ee86f34d756aa23137bad91f994bfb3e686015824c611a6c1a349e662968d9b4800a09e92b7909e7bcb64afaf39335947493566b6573949975c4bc5e9be21015c39285d217ae207f8ffd802ccbc52c3dfe3afc0370e39587a1b7e99f2d599d27190d1055de347c17b28cf930b52a55aa75757295b60c1bc159ebd27fcc63d7013f0dadb7f64da34aca2e5f935cd6a46354c922f00f22b82e5a87bdf7819b0acd36c30561d8eb2a8b2000f46e62479569fbe0b162a1bf57e7dc8829bda817028d0ee6a4d0e2bba6f151882541b242b3336338b9af53b48208284f80ed8f69d05456a7fb27e0d49a48a27b006c9a4af59b44fa86aa6b8ef96d6b8f8001794325723a64bf67ae1ad58e23e86e3ffdbecba28279a76a94cfa2646731a6aebcf19a9cdc5cffe4369b6b7e52f2f75fb572fbc5c5d3ecbe34a01a2a8c15f270305aad59f73016d6e39758f141a838aed2d2f58ddcc4dca13b13597dd74e9c9610d14a9ae3705ade1a17b98889441ce5baeec194b8c2db138defff70d9273c03e0515e6b98ed6e093471ee53fcb16701d058254a52f47ddf500673301ce76c3dd21bab04d21b7fae77473466def1381d1cb4694228bfcff8128c314ac3b91814b67ba9f01ccae324edfeab46f909e42483283b89be91039b34074b0e5de1e6f3021003a310f5af7b0d09ad0df04c028907a367174063da49fdd32498942b303d793ce94ab3be4e983f3213ac8e896303fdc8fce5db73c681f50dfe258b618ce039f8b1d7c01e5923c9a18a5c18a912b61950399141d289b630a7307bbfff4ab376f039d0a7ab4b2737dde08f8e52d642c337c09c473ae1ca1ecef4959357a3cadfa89ae313d011510cdd459038b06e36e10c10b2fbf8f2a63f3483d3bd28ab464d94a3429ec1ac078c97d7bb272421309616e5d3ffef58d47dc90b6318b80f03e3e16ee9dcd8c6958d7185022e9d143803ff59aa3fcf1ef0920dcfd51dc8916577badc834f3814ae2c8ea4e3d6bdeace3f0b251e668f609a3108bf0531cc88b1885a297a966b48f9e8d852163cbc7442c9a773576d32e5be9dc5370794ad44832411709ddb46c5b234275e4598889992850ea5e52b6521f057971aef34b8470c1a00550acb8043a93c9cff50aeb1a23f22ed2b140f79ceadd84ca9b2ac9896a21fe9a58f393dfa6a8acaefd2f7bf6be5fe6c8c7dca2e56b7b5304a4b1e0f545085e9a9fb0007a18fe4f45d177d0197a188aa4a1d5dbb3aa520ae41acc2de5f2b277ba8ec0ffadd2942abb3d5c5b48860b8495a69158b80e0a8a7c164d11994528a4370dd0416c63b6bd6ba4c0c5067e2d6d96e4aaeb87a01a9e6ef5d51cb33240a4d9a3c1a99ad39074b96591a3aad4c54384e95462b4ba19e2bff7d0b13c0ca1f9e77be0cd499950c1f5cbbb698cd590aada57c6e144b99005b096ffea8fa475d75ac4673ece15d06d22b15f9cdcb61388e54985caa3ed73f657122feb19d4f0d2effc2af0f8a0eee03dd13f919dcca345589139bcf1b78b188aa5c3194a5a44f26903c0abff4dbb6855999ffae229d458700e6f31486f83daf6384fd27fde421e8b7403c19c695eac8ddd9d58212521981ce856ec788979ce319e87809e1d0993a810a3bb7df0446aa0b5955d495787b610de9bf99b10ed0722673d41068ff50f219011461b2b8bd883650b7a85b58894ae0b717e5e0e40a5f6b4da3af1b468a70bd811bbf0986dfee77270ebf0214301a0095350c3fed6d8a1e5381c581fae0f87bed56f233d73976e726a12c4457e1047276ae65a8165e17837474c69cb13a7897815535a9d90a865e380c12e0fd46b71feb1591dd736ad6a749de8a33421b1511a4d170596a66e34948e0e97fdc5b334d655110a9bb17ad080edf81ca65255ed0207fe3c90451039ee619a6d76f4cc27dfd6fef7d92a1ee8dee46433246afb624dc2cb8c6ba209cf5fc0c97ba82f3c6cde2a55e0a1e2c04b811911c8e2c526f8b9905b270c5339c33c7991b4904bec54e91840a64b750f05db7f2ec77b56121f04726ba033cd8bf451d3240f5676bdc70e32f6a1868e908d4555f0cf8e1413345e0bfb975c5d96777e84e3a50a3f0d48d1a3d56652a35219b39066dea2a90d9070f90133582982160e30809253a433a619179d7d2db7ffbdab83f367ece9b51e2768d74a114ed18648fc5dca8728aa8c3453ad03752c0f9e3af044037ea4ae0f33a84c3cae4be012fc2848bd6887b6aab58cf1c12f8966560545ca1b49f7bd2f15a39eaa5b6da7369bfa7acdbd413cbdb3f34cb7dc9605b729c8e13ed35e5f808f0ea504c8464cd0486bb11a56bd4034e80876a90052091bff4adaae7c8b1f3897cf1306df8220917b22b6ee7c382dc832768212a214ddef8655c3fc0982a4f01585079e51b3da9895d66148abd3c6208e35badb341ec3c4342453025164f221cadfdf6000231c6e1a9d8725e12630fb9b3a7475111a8f250f0f2300beadd72dfc9d21c5aacd4417bf10e9be5668b9ec3c7a8412105f5bf9435f37008762d5c3b75f22c8f9064b54b92609b8f08197b09fa5b6d59ac745866073fe02233e2472ade05445616413721f16f065568054a752846c4b0386fdd55b0870586b680f658014a03f44c6e7e8b0281a0f895a4ed499fbfe20103ce5ee8dd86435d154daa4c3174dea4874fbe947faf6f1033ec04e31e82c8c4b75a0c16e211ef53c181e6a71ff1e0d5f6e96ada9fdd2d8742fbff58da8d9aeb84a62b18f633f5d30c2253fc030a31257c25ecc4120b33ae0c5aa84c7048ce0b870aca97d0a0985b3973603e349c2268d3dde13850daffb319dd1c04c20b07142c06ead872c6679eb181efa9bf66170c85aedbbaea0b3b35caaf2c0363d336d3aa9c32f96dde855046887be5ea81ab7df9c53addc776e9d774539d406be00b957898390bab9e597cd03c5e5bc8b3d0323214eb41b54290841307706267346b6e8c37dd71275e5a30e5420c5a063b7b47495ad0c15dbaad40c9f1e287d2d91ddf73474937cb39006f94e68663d61461f7ee1b32eeadb92fb6e8be10f08701ab316581336e98bfe65a5b14df3f68e14dad82b989ce9a6de777cf2b2c3e773c04d96c5b4abe364091cc0214ed5992c53251c6f80feabfa30ecae6d8fd9231ce88fb85d898885325f8689304639937c1955270540e5053e246042f3dc2e1c59f2c2888659dd5e6fbc1c7640c6699f6f378ff36361e9c03e0ad2a218d041612e091395a63a7411729cbd35f19b18553dcb9521154268f5f8268438ca9905f419735ec6935097d22f79cff2797704a3e61e00dc63e7ae3e31dfd6ce0e0f512031005e2db2564db33e54e7a6185e73934838f1843cdb2cf7fc244c1bb8405d302475c813c08ee05b4cec2236d262c5779fe68ad442993db9766c808880ff080bf436d0d6b46823a2d8ddc62982fe9eff6cb58c2729ca325dd9e154f5fa58a08852d92851c600e3a56a0f39ef8c5842e897a315047eae74d40d7392671f05d8c1975c6351f24e0ed710301241790242f070f73104b446c1737c235", 0xe00, 0x6}, {&(0x7f00000005c0)="90a2ec6d7cd5192b37e36202ff9c4f36cb3d5c7ef6efc9681372a1a753e8b3cab7dfded75028c7cb67a8f14db76b5172b4996f79de1908c9d7a3be11ba03da2ab77a0dcb49b98bd0520e063e14720802c414bd9d68af22d4005c8e820e7d8224c55ca153da4c9c7aada4d467d81cac732784032304cceb0f91481e128211c251c5fa07e09b17b3be16f04541508a728397061a447ad1351e81b8ff8d1ca0930d8693657afaa94d2a57cd", 0xaa, 0xc57}], 0x1000, &(0x7f0000000080)=ANY=[@ANYRESHEX=r4, @ANYRESDEC=r2]) openat$hwrng(0xffffffffffffff9c, 0x0, 0x0, 0x0) write$tcp_mem(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x20, 0x0, 0x20, 0x0, 0xa}, 0x48) r5 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r5, &(0x7f0000000680)=[{{&(0x7f0000000300)={0xa, 0x4e24, 0x0, @remote}, 0x1c, 0x0}}, {{&(0x7f0000000400)={0xa, 0x4e20, 0x0, @local}, 0x1c, 0x0, 0x0, &(0x7f0000001700)=[@dontfrag={{0x14, 0x29, 0x3e, 0x4}}], 0x18}}], 0x2, 0x0) epoll_ctl$EPOLL_CTL_ADD(0xffffffffffffffff, 0x1, r5, &(0x7f0000000340)={0x10}) getdents(r2, 0x0, 0x0) [ 245.157162] ================================================================== [ 245.164846] BUG: KASAN: use-after-free in __list_del_entry_valid+0xcc/0xf0 [ 245.171874] Read of size 8 at addr ffff8880a51957c8 by task syz-executor.1/15053 [ 245.179409] [ 245.181054] CPU: 1 PID: 15053 Comm: syz-executor.1 Not tainted 4.19.211-syzkaller #0 [ 245.188939] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 245.198432] Call Trace: [ 245.201124] dump_stack+0x1fc/0x2ef [ 245.204795] print_address_description.cold+0x54/0x219 [ 245.210094] kasan_report_error.cold+0x8a/0x1b9 [ 245.214876] ? __list_del_entry_valid+0xcc/0xf0 [ 245.219576] __asan_report_load8_noabort+0x88/0x90 [ 245.224639] ? __list_del_entry_valid+0xcc/0xf0 [ 245.229331] __list_del_entry_valid+0xcc/0xf0 [ 245.233849] __nf_tables_abort+0x1fde/0x2ca0 [ 245.238278] nf_tables_abort+0x13/0x30 [ 245.242172] nfnetlink_rcv_batch+0xb66/0x1df0 [ 245.246688] ? nfnetlink_bind+0x2b0/0x2b0 [ 245.250857] ? lockdep_hardirqs_on+0x3a8/0x5c0 [ 245.255452] ? apparmor_capable+0x147/0x750 [ 245.259780] ? apparmor_capable+0x147/0x750 [ 245.264368] ? apparmor_sb_mount+0x970/0x970 [ 245.268782] ? apparmor_sb_mount+0x970/0x970 [ 245.273196] ? netdev_pick_tx+0x2f0/0x2f0 [ 245.277365] ? cap_capable+0x1eb/0x250 [ 245.281277] ? security_capable+0x8f/0xc0 [ 245.285440] ? memset+0x20/0x40 [ 245.288737] ? nla_parse+0x1b2/0x290 [ 245.292566] nfnetlink_rcv+0x3b5/0x420 [ 245.296476] ? nfnetlink_rcv_batch+0x1df0/0x1df0 [ 245.301401] netlink_unicast+0x4d5/0x690 [ 245.305483] ? netlink_sendskb+0x110/0x110 [ 245.309731] ? _copy_from_iter_full+0x229/0x7c0 [ 245.314468] ? __phys_addr_symbol+0x2c/0x70 [ 245.318803] ? __check_object_size+0x17b/0x3e0 [ 245.323401] netlink_sendmsg+0x6c3/0xc50 [ 245.327471] ? aa_af_perm+0x230/0x230 [ 245.331278] ? nlmsg_notify+0x1f0/0x1f0 [ 245.335270] ? nlmsg_notify+0x1f0/0x1f0 [ 245.339256] sock_sendmsg+0xc3/0x120 [ 245.342975] ___sys_sendmsg+0x7bb/0x8e0 [ 245.346961] ? copy_msghdr_from_user+0x440/0x440 [ 245.351733] ? __fget+0x32f/0x510 [ 245.355205] ? lock_downgrade+0x720/0x720 [ 245.359367] ? check_preemption_disabled+0x41/0x280 [ 245.364409] ? __fget+0x356/0x510 [ 245.367957] ? do_dup2+0x450/0x450 [ 245.371506] ? retint_kernel+0x2d/0x2d [ 245.375571] ? __fdget+0x1d0/0x230 [ 245.379121] __x64_sys_sendmsg+0x132/0x220 [ 245.383364] ? __sys_sendmsg+0x1b0/0x1b0 [ 245.387430] ? __se_sys_futex+0x298/0x3b0 [ 245.391775] ? entry_SYSCALL_64_after_hwframe+0x3e/0xbe [ 245.397148] ? trace_hardirqs_off_caller+0x6e/0x210 [ 245.402262] ? do_syscall_64+0x21/0x620 [ 245.406243] do_syscall_64+0xf9/0x620 [ 245.410061] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 245.415267] RIP: 0033:0x7f5ccfea30e9 [ 245.418982] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 245.438073] RSP: 002b:00007f5cce818168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 245.445798] RAX: ffffffffffffffda RBX: 00007f5ccffb5f60 RCX: 00007f5ccfea30e9 [ 245.453075] RDX: 0000000000000000 RSI: 0000000020000280 RDI: 0000000000000004 [ 245.460355] RBP: 00007f5ccfefd08d R08: 0000000000000000 R09: 0000000000000000 [ 245.467721] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 245.475005] R13: 00007ffdfa3af10f R14: 00007f5cce818300 R15: 0000000000022000 [ 245.482296] [ 245.483928] Allocated by task 15053: [ 245.487646] kmem_cache_alloc_trace+0x12f/0x380 [ 245.492319] nf_tables_newtable+0xad9/0x1620 [ 245.496747] nfnetlink_rcv_batch+0x10d5/0x1df0 [ 245.501348] nfnetlink_rcv+0x3b5/0x420 [ 245.505365] netlink_unicast+0x4d5/0x690 [ 245.509434] netlink_sendmsg+0x6c3/0xc50 [ 245.513505] sock_sendmsg+0xc3/0x120 [ 245.517226] ___sys_sendmsg+0x7bb/0x8e0 [ 245.521204] __x64_sys_sendmsg+0x132/0x220 [ 245.525620] do_syscall_64+0xf9/0x620 [ 245.529426] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 245.534604] [ 245.536240] Freed by task 15058: [ 245.539606] kfree+0xcc/0x210 [ 245.542725] nf_tables_table_destroy+0xee/0x130 [ 245.547403] nf_tables_commit+0x2aba/0x57f0 [ 245.551732] nfnetlink_rcv_batch+0xe22/0x1df0 [ 245.556233] nfnetlink_rcv+0x3b5/0x420 [ 245.560122] netlink_unicast+0x4d5/0x690 [ 245.564185] netlink_sendmsg+0x6c3/0xc50 [ 245.568250] sock_sendmsg+0xc3/0x120 [ 245.571961] ___sys_sendmsg+0x7bb/0x8e0 [ 245.575933] __x64_sys_sendmsg+0x132/0x220 [ 245.580170] do_syscall_64+0xf9/0x620 [ 245.583970] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 245.589239] [ 245.590868] The buggy address belongs to the object at ffff8880a51957c0 [ 245.590868] which belongs to the cache kmalloc-512 of size 512 [ 245.603548] The buggy address is located 8 bytes inside of [ 245.603548] 512-byte region [ffff8880a51957c0, ffff8880a51959c0) [ 245.615249] The buggy address belongs to the page: [ 245.620180] page:ffffea0002946540 count:1 mapcount:0 mapping:ffff88813bff0940 index:0xffff8880a5195cc0 [ 245.629638] flags: 0xfff00000000100(slab) [ 245.633808] raw: 00fff00000000100 ffffea0002aa5588 ffffea0002946508 ffff88813bff0940 [ 245.641705] raw: ffff8880a5195cc0 ffff8880a5195040 0000000100000004 0000000000000000 [ 245.649582] page dumped because: kasan: bad access detected [ 245.655284] [ 245.656904] Memory state around the buggy address: [ 245.661940] ffff8880a5195680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 245.669300] ffff8880a5195700: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc [ 245.676866] >ffff8880a5195780: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb [ 245.685534] ^ [ 245.691267] ffff8880a5195800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 245.699036] ffff8880a5195880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb 01:19:43 executing program 3: r0 = perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x6, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x2, 0x0, 0x40, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet(0x2, 0x4000000000000001, 0x0) mmap(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x0, 0x10, 0xffffffffffffffff, 0x0) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000000)='lp\x00', 0x3) bind$inet(r1, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) perf_event_open$cgroup(&(0x7f0000000280)={0x2, 0x80, 0x8, 0xf9, 0x9, 0x35, 0x0, 0x401, 0x400, 0xb, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x6, 0x2, @perf_config_ext={0x81, 0xbcdb}, 0x40800, 0x7, 0x5, 0x3, 0x9, 0xd9e5, 0x80, 0x0, 0x91, 0x0, 0x6d}, 0xffffffffffffffff, 0x7, r0, 0x0) r2 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_opts(r2, 0x0, 0x4, &(0x7f0000000000)="8907040400", 0x5) connect$inet(r2, &(0x7f0000000080)={0x2, 0x0, @empty}, 0x10) sendto$inet(r2, 0x0, 0xfffffffffffffebe, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f0000000100), 0x4) connect$inet(0xffffffffffffffff, &(0x7f0000000080)={0x2, 0x0, @local}, 0x10) r3 = getpgid(0x0) perf_event_open(0x0, r3, 0x0, 0xffffffffffffffff, 0x0) recvmsg(r1, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5801}], 0x16, 0x0, 0xf080, 0x3}, 0x300) fsetxattr$trusted_overlay_upper(0xffffffffffffffff, 0x0, &(0x7f0000001800)=ANY=[@ANYBLOB="00fb070002802fcb2c5eb0e238497b4513fb1959a089728e63e586fb37c72d03b4c0caac1f2734557d0437c03eeb870f27f1c257571ecdab8df24a638684331daa108e5c351119732f81a6d1e42c0ec786860c5739509def9ff296dec2fc5071769be7f2cd681d7701292a1b7a491c8a67920db42b0c5f0565d596e20f0dd09106548c7660017d5307d1a2b6a71d85e8b78b1fb603583c2449905e806acf20a32f411185880240b2dbcf0b5489b63c18903be32f011bde56f1553a994d805a328b0f5f4fdeefcd59820328d0ab4eb2526e5197e6e54f10c1b9c89dcc12f39a918ae1d3d50001352e202b8d99d5dc6cef9e0c507c957c7dde0fb5f6b7d664f19fd4c2bb1cb9b24e15daee4cfbcbc045168ad0a248c930e631971f46c105ce1a7d1b74a4ebb7f8e8e20dc79b83d986522b2d392636f7170b88b514e7f1ce10bf2b69ae9000477150f603ab259779ade4543a5c4c5a9e35d2f17622f2efb4d51f6b93788b875cdb57501dd0455feb9abbeb4102648d73c8971422b33d7648455e792b0bd3e23f1eb31598d56af08e7149645ec0e1c62a93d4d8741d495d18a15e115abad7a80e9653bb08eb240840aa7b4995d881fc78bfdb9525725a09a495e9abaae2d5bd9f73ab1598389826b4c44c4114c24d56f165d427ac97f8e7fdcb6f58ab727a6c3b4ceee1e0763410391e5abbbf7f65764ff8f355c4e79a5eb027d65e2025d9e00618ccc449585ba1458bc14f1618d5a47f50859b74df9ffdb0c0d3fd9cd8c052fe23a44c1fc758232974d18aea63f86f91af24f7d5290dd3c7011268ca720fd188d9ea1220253a06c89dca158acddb68f9f4cdf28611ffe8d0d34766a360dd7b25cb9483d3ae6b6e34c8d138c433338310ce6abb35a3cc7c27189d70ac0bae84b4a71e14185a737c61cf54856bee632b010dca4107e238f174c18ff475ed1d16d7430603591aef2d892769e598661110f8ab85f3ae9ecae604911cf1e57dca4f649636ddbe508dd452c11f503db79601cafe7910ea2e1ba83385555296a139ad576fb9dcf84e4d9f0482b426e3ca297dc5787138723ff69fe05ac189fdd104ed7890aacf25d03c2315ec4067990455dbfce56ebe1a84f1a9219fbe4c5e7667b3944da9089f9db04a4b6212424f33bfa6a20ee45d14bc946b16c4065c6bbe39f870c7de452376c3e2b033f1b1751aeea44e05b7f9c817dd116bb93d9fd745e9951b480aa8e0d30ccba915e9d13745a9a6ab0cfc2ba21970713c4f46ecac691fea7cf8b17882d126a5037a44caa9d242a69bbf2fd328004c418c21fbbd33fbeeaa9c5104cdec2d7ab19f5915c950c147bc4baa347c254b09a403a992fc5d24ee6deb50fca2c3f4fdb580c07d5df44a0a3d17fbaa5990fcc6d519b03b4b5c119ad61f7e1411e5551ea91a7de9b313776763402b472df941ab654163940ee1ba73371418337923964737495ba457617ecd7dac5425d0417fd9e1b9fe98ea496ec2f44fa7fa07f6b3aaa66d6ee1d20eaccd5918687455a09785ad16bbbbbdb5c9a0fbf390f0c5d449cdcd89717fc5dbd13489f0641ca32dbdc1730a869112d64efbf4bd1bca015123b8229c2d0854b7ace969e5a1e37f8780d0bc8b7d1385aaf798a7c94f581cf3fb3d9ae60dd93150a4d8b09aa1f086a28fa4eda716e20e3cb9a4ca7f86d150f9630614df5636858b0f64e79e6a438adeec164a85e6bfb9292d3c6d88df2d082b91b93d6cd4e1573091a8ff3c560b32468f7124ce1e312969a2cebee5350fc2b4037828a56e36a639bf3d9be4e9c01cf41e46936ba9715ea0318e3fa7472fa047e86f358caa492c75f2cb6be3990ce217ee7c4cc9654d89d42ccd3113e331e421cf532ba3d84fd6a2e06f8df3c9b8e535125bde2bc2c17873475a24c8d1446da3ed368a2fcae29f88de47657364c86204cae8ad284bfa7c97e0beac199b3341736ae1d6604aee2b172c2af7d92cd9e58643ccdac25a7967ca1e5f7db78fa9821c37ca1c1f9ec062b9699e3ab6aead6dd98767545eec6945ef899d497779e714e96572542099c757292a5ef3d0377f9967d67472cd1cf50ecb74a57f2fa912245eebb7bf5f6eb8f7fed3d3e779850bd0229c03f58db3c18ec04f7b24f7edcf8d036c35749e12e8dafcab486a7e140938c20045044aa12b6aa12869d9ede8b7ac496ed0e6ed8073c220e8eed9e9dbc455ec508c72de1fa7a7516360b7bbe03ccfd615a3fd0c46c341d4df69e52dbd3dc2e1e8a56ddcde24abe83cb78f0b08db9e3a54bb755c1575d5efdbab9b500fff3eae4f5377edc4d8c35afb165b7ea7ddecf84b023209cca35cfb645e6b013f6c75c04c4c9ad4f9343899d9217a9ed433d09831e93948a32d8714987778e62ce44a1aa1e4e0d8da5b752c596591cba67381b7a655f1c5deb2451623128ead941c14d1aad97cdbb2ab9ea6241f1b0e9b39d0bd20f9119fd670acbbb4de8b2013289aa42fa7433d73f463ee977a9d36d2a1ffcc5f36e90366e4113399ff16c5e874711da85add8b81212594a176c8f04f65029bc914245b8127b779050f0844317395995fb955ccac399df05c5576b917e4f0e7a58ef947c076d838f9629d0dc613825f4839721b3d702ce4a29e4e1a3c80f1c559114adb12845d6a25d89b79cb24cfbc81e7261fcd7416067e1a52e27fb046271e84e02237f04db62567f9f58a89f5da7597cb9756567788c896724f32248e441478ef7223cfd6190966154356b968e2f30f15fc0a1ca1cf6ebc404a2b998737502b14aabb7ae35374bfd8f59308774ca0547e3cbf5b4926d5d02b2ae1d5907fb28139c6c9ddc3cad01cf947e780bf1389fabb6c193e3bcb1a32951aca9644d26f4cc6e1fdd6aecd8cd1304ce4407a8733b395d56dacd39ad0e2778fadfc5ed68ffc7a7753d84a50f294460070e9cdd8103ce2415190f22c1f843fb25755d180511f18c485a33870c443cffbc4e8068cea9b1bad084f3727b41e5a8bdc5416ee95bcd88403186dd82c0d1c63247543f20b5e5bec077c2586d4fec68430786d3e8c67d4a7928f94fff557042ea6d59c97b4916300cade42b117dc22da3159600a7e72a4125b982a57f2adc3308cf40576ea8154cd96cfb713d099721d1ef4f3bd9e696b2b72df0c7c7b090d50496948d78bc819d8837ed4df69d03d7fd38001c34ed25d4ae01c56ad8440d16b975696dccb4d5633fb02779cec4bbacd7ab718f0fdc3435f99a152d3439318c2ff14b0e6b74f24a13d720308321e9cd7bf65f721dc24787387b3c2f7ac5f900bacc2ce08af0cd82d22f17e6f6f0ea2e13941a6edd221dcb8b1fd4ba70aaba553daf1fa0028945c8cb9e892cfea617aa29dc3b465c3d39f82911982d127cae442004d72bf48724859a629ad0e4ef5fd6cc926100c0630badd13bef62a96dd43f7f7c611ccf7e23481e12f80f1556c101b1297bc4225aed82476a2173b13b4e9e9edb3b9a844f18de283887dcdf541c800b07eba5f87355c6652f439dceb6c133d41eeb075a5c588399f89e68a97ceec8d008f91675c6beb50c9d135f94663c5c708c85b765a1a6ab4a058a41e43f690048f259bab55bbc07a02d21b8103018e1186e3990c0012c04d7b3a71c19083dd435b864c0112cbfadf1b21c677c70a1430e037b298755a6138ced0d998c7d88971e13c41818ae9d3a20ae6bc4f8b68568a61f95530e88d8df5f6edc966d9a0c66fe91fc3694cef76596267b51fa11aae5fe2184ae81958a90c2e65b453b49f5a913f5e2402bcc3e99b32f17aa0a295f56e5696fe2148e8710b6e05ea16afd58f9a4dc84763eb10a6ba251a9f44352468d5041823a7dd415be173aecacb596d3fc63e04a24e651c7691fbf160aada11a4ec75f370c5bee32163e3777a0edbb1f144b6ae2d3ddd7a6d1ac93488dbe19bfc93629d2745f8bf6bb52f0b824cd6693ef62169d3dae8fe2dc54dcbaf96cc06261cf8959b852ca9895749bae5ec1a751ead057aa038766c3e322c87b7eccb9dd326ada45ed8ca2ba47d5ef0003047058ae7b1e1fa016bd3a54154247e5dd9984420c778190dcee01ccfa48182a89a4635d0417aea52f42bed279649c00cf9f162c5849a067ab97191b3cc666fe83d3df26dc5da3a270c92cb30c0f15c60b244ab06530e67d40e94f00c8db161e9ae45772eaffd84d14324a12309b9adf4c154286a8b47c96ff8479d5fa2b8ea89a6afc60599b87ee67a7dc3ecfaf57ff2963eb03f14b0c3eac1ad761cbaa8ffaf9fd87e6e12860077f678c13422d9a210eb1ea9e80ac87b251f12fb4e4a4925dd48f2b70e2a1fdf4cf3d1e4e25846479601c0522baadb1117cb75e1b14eca98a4d79406d79bb3f422ba8910db4b8396d1582db35f9cb6f046fdfea5ddbb13114ebab82bd4b63f0bba43b57c6d4f94e946940dcd93b00c58551bd5874699f943c154699cd34562236ec98e5a1fa1bf0286a92957bcb4db87ea65b4786962070a518fd735be4cd19c1846b351acd493dd36f2516dd2a57772b0826dcb9a01998923393cb58c429590f1bde236fbf24a00ec5204cfd828042d6c5ed11a9811d220869587c412894fb1165f6ea1ffc758d78ba4540fa91ee3a0983f2489f151ae493391f0cff09e38b27faeaa49a80d3448a2459446d40511a7496068842f3a0cef51e67ab9f6b1522b6635c6cc2169e98d5a02b0c8bb274ec6bd8d4fb257912312a1044186912f4c2977334207dca2af7472b67c817cca0c79b306dbedf453c691728249716a0ec9f4cdc06a196f1244eef3e9b64b8d72dd84037aaf6bac79d1e0c0afd203eefc83e74054499bd41149900fc87b869568e0e8501852e5a4d986ac1dfbc8d65d365513fd57a3e7a5f119f3d6ee63fde262aaa96644ea30af9dd5c3253c7d391eb39f78dd8328af20be80f762bc7d5d7d055ba25ed1dab1db7c75f29b3388d51153125722974cf8b0e1d1df1977f74c49ad8fca6a87f0216e66364015c996c2d483580bad2a0b5549e3ad0ffc773cf722ff050cc1149fb7d7596e1ef7e8bcc3f6d189e2ea6e028b8de8e701b1a50fe4443e7bc223aed2266ed95373330ac9b56174a535413a513bad4d1015a9dfb4819a42f237ea24aa5ec284a15e134b34eb9402cb846f2bc7100fcdf5d77c912b327c3289ee14dfbcb963b8372136e6a0c576ad512a78d55e92c4f3c068e28002fdaeca0e9ab3b635fae99ea9ed68a4cf5222495d03a2d9292e31277057044aaf277213269b11fcfd81a3b80368ae8e1938b4226d64ed1bc1587f43871b58320910ea2b0bf494b30a6e481902424bcc5851a2e028ca6bed2cf9529b7ffb9cc48a458aeddafdbcd710b55ab7ec226ef1acb6991a49a7111ed89df601436d33673668674bf6088e1af5a556e36cd049382dc93ab78ff6caa34a9aa9215a5b71fbb795ebfafff641bc889a9d60086e96386a226e94f091219250d2edc7b1df18881972d445143d7465c4428d5c9643a79aaea51fd3f572e5956e536cf7cd44a4a89109f0a6aa14e5d7b0f64b1cbd47bef74a22e3cf5ef024daabdd224d469224e6ae5becc4730fb8c887b523e706626c2306942dfaf385cef5bd119d98131ca4e5254c1d2ec210097ec71d81f8b8e2da4ebc19353c08f45c7b166c93e7a7f65165d9a7aa92a671de9d876dd2512447cb2a36f70d6d134c48de4edf7f92a9110ac652eeba83c879e2bed3d0d2d8479cf7649be87ce001d85460beb5a774abc211d2ef8f1843c3b0ecfc4f883acbc569a9b0a0551c06c4d38bb6ca1664d7dacf8dc795abcf955aeec8a45426161f14f58efad1c9e9fe5121295b6768a90f9d1e58db2a2a2d53a734a8d226eb07caaf0519600579ee423235fac12896dfdd7bc98c214a6d51ed925a4d0997a74779330ff5a94e5d15c9f191b0b41d3602644a51a736933bdcca56c7f7389dc19261408baa615b"], 0x1007, 0x7) socket(0x0, 0x0, 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000600)=ANY=[], 0xfc30) accept4$inet(0xffffffffffffffff, &(0x7f00000000c0)={0x2, 0x0, @private}, 0x0, 0x100800) perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x6, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x2, 0x0, 0x40, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) (async) socket$inet(0x2, 0x4000000000000001, 0x0) (async) mmap(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x0, 0x10, 0xffffffffffffffff, 0x0) (async) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) (async) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000000)='lp\x00', 0x3) (async) bind$inet(r1, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) (async) perf_event_open$cgroup(&(0x7f0000000280)={0x2, 0x80, 0x8, 0xf9, 0x9, 0x35, 0x0, 0x401, 0x400, 0xb, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x6, 0x2, @perf_config_ext={0x81, 0xbcdb}, 0x40800, 0x7, 0x5, 0x3, 0x9, 0xd9e5, 0x80, 0x0, 0x91, 0x0, 0x6d}, 0xffffffffffffffff, 0x7, r0, 0x0) (async) socket$inet(0x2, 0x1, 0x0) (async) setsockopt$inet_opts(r2, 0x0, 0x4, &(0x7f0000000000)="8907040400", 0x5) (async) connect$inet(r2, &(0x7f0000000080)={0x2, 0x0, @empty}, 0x10) (async) sendto$inet(r2, 0x0, 0xfffffffffffffebe, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) (async) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f0000000100), 0x4) (async) connect$inet(0xffffffffffffffff, &(0x7f0000000080)={0x2, 0x0, @local}, 0x10) (async) getpgid(0x0) (async) perf_event_open(0x0, r3, 0x0, 0xffffffffffffffff, 0x0) (async) recvmsg(r1, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5801}], 0x16, 0x0, 0xf080, 0x3}, 0x300) (async) fsetxattr$trusted_overlay_upper(0xffffffffffffffff, 0x0, &(0x7f0000001800)=ANY=[@ANYBLOB="00fb070002802fcb2c5eb0e238497b4513fb1959a089728e63e586fb37c72d03b4c0caac1f2734557d0437c03eeb870f27f1c257571ecdab8df24a638684331daa108e5c351119732f81a6d1e42c0ec786860c5739509def9ff296dec2fc5071769be7f2cd681d7701292a1b7a491c8a67920db42b0c5f0565d596e20f0dd09106548c7660017d5307d1a2b6a71d85e8b78b1fb603583c2449905e806acf20a32f411185880240b2dbcf0b5489b63c18903be32f011bde56f1553a994d805a328b0f5f4fdeefcd59820328d0ab4eb2526e5197e6e54f10c1b9c89dcc12f39a918ae1d3d50001352e202b8d99d5dc6cef9e0c507c957c7dde0fb5f6b7d664f19fd4c2bb1cb9b24e15daee4cfbcbc045168ad0a248c930e631971f46c105ce1a7d1b74a4ebb7f8e8e20dc79b83d986522b2d392636f7170b88b514e7f1ce10bf2b69ae9000477150f603ab259779ade4543a5c4c5a9e35d2f17622f2efb4d51f6b93788b875cdb57501dd0455feb9abbeb4102648d73c8971422b33d7648455e792b0bd3e23f1eb31598d56af08e7149645ec0e1c62a93d4d8741d495d18a15e115abad7a80e9653bb08eb240840aa7b4995d881fc78bfdb9525725a09a495e9abaae2d5bd9f73ab1598389826b4c44c4114c24d56f165d427ac97f8e7fdcb6f58ab727a6c3b4ceee1e0763410391e5abbbf7f65764ff8f355c4e79a5eb027d65e2025d9e00618ccc449585ba1458bc14f1618d5a47f50859b74df9ffdb0c0d3fd9cd8c052fe23a44c1fc758232974d18aea63f86f91af24f7d5290dd3c7011268ca720fd188d9ea1220253a06c89dca158acddb68f9f4cdf28611ffe8d0d34766a360dd7b25cb9483d3ae6b6e34c8d138c433338310ce6abb35a3cc7c27189d70ac0bae84b4a71e14185a737c61cf54856bee632b010dca4107e238f174c18ff475ed1d16d7430603591aef2d892769e598661110f8ab85f3ae9ecae604911cf1e57dca4f649636ddbe508dd452c11f503db79601cafe7910ea2e1ba83385555296a139ad576fb9dcf84e4d9f0482b426e3ca297dc5787138723ff69fe05ac189fdd104ed7890aacf25d03c2315ec4067990455dbfce56ebe1a84f1a9219fbe4c5e7667b3944da9089f9db04a4b6212424f33bfa6a20ee45d14bc946b16c4065c6bbe39f870c7de452376c3e2b033f1b1751aeea44e05b7f9c817dd116bb93d9fd745e9951b480aa8e0d30ccba915e9d13745a9a6ab0cfc2ba21970713c4f46ecac691fea7cf8b17882d126a5037a44caa9d242a69bbf2fd328004c418c21fbbd33fbeeaa9c5104cdec2d7ab19f5915c950c147bc4baa347c254b09a403a992fc5d24ee6deb50fca2c3f4fdb580c07d5df44a0a3d17fbaa5990fcc6d519b03b4b5c119ad61f7e1411e5551ea91a7de9b313776763402b472df941ab654163940ee1ba73371418337923964737495ba457617ecd7dac5425d0417fd9e1b9fe98ea496ec2f44fa7fa07f6b3aaa66d6ee1d20eaccd5918687455a09785ad16bbbbbdb5c9a0fbf390f0c5d449cdcd89717fc5dbd13489f0641ca32dbdc1730a869112d64efbf4bd1bca015123b8229c2d0854b7ace969e5a1e37f8780d0bc8b7d1385aaf798a7c94f581cf3fb3d9ae60dd93150a4d8b09aa1f086a28fa4eda716e20e3cb9a4ca7f86d150f9630614df5636858b0f64e79e6a438adeec164a85e6bfb9292d3c6d88df2d082b91b93d6cd4e1573091a8ff3c560b32468f7124ce1e312969a2cebee5350fc2b4037828a56e36a639bf3d9be4e9c01cf41e46936ba9715ea0318e3fa7472fa047e86f358caa492c75f2cb6be3990ce217ee7c4cc9654d89d42ccd3113e331e421cf532ba3d84fd6a2e06f8df3c9b8e535125bde2bc2c17873475a24c8d1446da3ed368a2fcae29f88de47657364c86204cae8ad284bfa7c97e0beac199b3341736ae1d6604aee2b172c2af7d92cd9e58643ccdac25a7967ca1e5f7db78fa9821c37ca1c1f9ec062b9699e3ab6aead6dd98767545eec6945ef899d497779e714e96572542099c757292a5ef3d0377f9967d67472cd1cf50ecb74a57f2fa912245eebb7bf5f6eb8f7fed3d3e779850bd0229c03f58db3c18ec04f7b24f7edcf8d036c35749e12e8dafcab486a7e140938c20045044aa12b6aa12869d9ede8b7ac496ed0e6ed8073c220e8eed9e9dbc455ec508c72de1fa7a7516360b7bbe03ccfd615a3fd0c46c341d4df69e52dbd3dc2e1e8a56ddcde24abe83cb78f0b08db9e3a54bb755c1575d5efdbab9b500fff3eae4f5377edc4d8c35afb165b7ea7ddecf84b023209cca35cfb645e6b013f6c75c04c4c9ad4f9343899d9217a9ed433d09831e93948a32d8714987778e62ce44a1aa1e4e0d8da5b752c596591cba67381b7a655f1c5deb2451623128ead941c14d1aad97cdbb2ab9ea6241f1b0e9b39d0bd20f9119fd670acbbb4de8b2013289aa42fa7433d73f463ee977a9d36d2a1ffcc5f36e90366e4113399ff16c5e874711da85add8b81212594a176c8f04f65029bc914245b8127b779050f0844317395995fb955ccac399df05c5576b917e4f0e7a58ef947c076d838f9629d0dc613825f4839721b3d702ce4a29e4e1a3c80f1c559114adb12845d6a25d89b79cb24cfbc81e7261fcd7416067e1a52e27fb046271e84e02237f04db62567f9f58a89f5da7597cb9756567788c896724f32248e441478ef7223cfd6190966154356b968e2f30f15fc0a1ca1cf6ebc404a2b998737502b14aabb7ae35374bfd8f59308774ca0547e3cbf5b4926d5d02b2ae1d5907fb28139c6c9ddc3cad01cf947e780bf1389fabb6c193e3bcb1a32951aca9644d26f4cc6e1fdd6aecd8cd1304ce4407a8733b395d56dacd39ad0e2778fadfc5ed68ffc7a7753d84a50f294460070e9cdd8103ce2415190f22c1f843fb25755d180511f18c485a33870c443cffbc4e8068cea9b1bad084f3727b41e5a8bdc5416ee95bcd88403186dd82c0d1c63247543f20b5e5bec077c2586d4fec68430786d3e8c67d4a7928f94fff557042ea6d59c97b4916300cade42b117dc22da3159600a7e72a4125b982a57f2adc3308cf40576ea8154cd96cfb713d099721d1ef4f3bd9e696b2b72df0c7c7b090d50496948d78bc819d8837ed4df69d03d7fd38001c34ed25d4ae01c56ad8440d16b975696dccb4d5633fb02779cec4bbacd7ab718f0fdc3435f99a152d3439318c2ff14b0e6b74f24a13d720308321e9cd7bf65f721dc24787387b3c2f7ac5f900bacc2ce08af0cd82d22f17e6f6f0ea2e13941a6edd221dcb8b1fd4ba70aaba553daf1fa0028945c8cb9e892cfea617aa29dc3b465c3d39f82911982d127cae442004d72bf48724859a629ad0e4ef5fd6cc926100c0630badd13bef62a96dd43f7f7c611ccf7e23481e12f80f1556c101b1297bc4225aed82476a2173b13b4e9e9edb3b9a844f18de283887dcdf541c800b07eba5f87355c6652f439dceb6c133d41eeb075a5c588399f89e68a97ceec8d008f91675c6beb50c9d135f94663c5c708c85b765a1a6ab4a058a41e43f690048f259bab55bbc07a02d21b8103018e1186e3990c0012c04d7b3a71c19083dd435b864c0112cbfadf1b21c677c70a1430e037b298755a6138ced0d998c7d88971e13c41818ae9d3a20ae6bc4f8b68568a61f95530e88d8df5f6edc966d9a0c66fe91fc3694cef76596267b51fa11aae5fe2184ae81958a90c2e65b453b49f5a913f5e2402bcc3e99b32f17aa0a295f56e5696fe2148e8710b6e05ea16afd58f9a4dc84763eb10a6ba251a9f44352468d5041823a7dd415be173aecacb596d3fc63e04a24e651c7691fbf160aada11a4ec75f370c5bee32163e3777a0edbb1f144b6ae2d3ddd7a6d1ac93488dbe19bfc93629d2745f8bf6bb52f0b824cd6693ef62169d3dae8fe2dc54dcbaf96cc06261cf8959b852ca9895749bae5ec1a751ead057aa038766c3e322c87b7eccb9dd326ada45ed8ca2ba47d5ef0003047058ae7b1e1fa016bd3a54154247e5dd9984420c778190dcee01ccfa48182a89a4635d0417aea52f42bed279649c00cf9f162c5849a067ab97191b3cc666fe83d3df26dc5da3a270c92cb30c0f15c60b244ab06530e67d40e94f00c8db161e9ae45772eaffd84d14324a12309b9adf4c154286a8b47c96ff8479d5fa2b8ea89a6afc60599b87ee67a7dc3ecfaf57ff2963eb03f14b0c3eac1ad761cbaa8ffaf9fd87e6e12860077f678c13422d9a210eb1ea9e80ac87b251f12fb4e4a4925dd48f2b70e2a1fdf4cf3d1e4e25846479601c0522baadb1117cb75e1b14eca98a4d79406d79bb3f422ba8910db4b8396d1582db35f9cb6f046fdfea5ddbb13114ebab82bd4b63f0bba43b57c6d4f94e946940dcd93b00c58551bd5874699f943c154699cd34562236ec98e5a1fa1bf0286a92957bcb4db87ea65b4786962070a518fd735be4cd19c1846b351acd493dd36f2516dd2a57772b0826dcb9a01998923393cb58c429590f1bde236fbf24a00ec5204cfd828042d6c5ed11a9811d220869587c412894fb1165f6ea1ffc758d78ba4540fa91ee3a0983f2489f151ae493391f0cff09e38b27faeaa49a80d3448a2459446d40511a7496068842f3a0cef51e67ab9f6b1522b6635c6cc2169e98d5a02b0c8bb274ec6bd8d4fb257912312a1044186912f4c2977334207dca2af7472b67c817cca0c79b306dbedf453c691728249716a0ec9f4cdc06a196f1244eef3e9b64b8d72dd84037aaf6bac79d1e0c0afd203eefc83e74054499bd41149900fc87b869568e0e8501852e5a4d986ac1dfbc8d65d365513fd57a3e7a5f119f3d6ee63fde262aaa96644ea30af9dd5c3253c7d391eb39f78dd8328af20be80f762bc7d5d7d055ba25ed1dab1db7c75f29b3388d51153125722974cf8b0e1d1df1977f74c49ad8fca6a87f0216e66364015c996c2d483580bad2a0b5549e3ad0ffc773cf722ff050cc1149fb7d7596e1ef7e8bcc3f6d189e2ea6e028b8de8e701b1a50fe4443e7bc223aed2266ed95373330ac9b56174a535413a513bad4d1015a9dfb4819a42f237ea24aa5ec284a15e134b34eb9402cb846f2bc7100fcdf5d77c912b327c3289ee14dfbcb963b8372136e6a0c576ad512a78d55e92c4f3c068e28002fdaeca0e9ab3b635fae99ea9ed68a4cf5222495d03a2d9292e31277057044aaf277213269b11fcfd81a3b80368ae8e1938b4226d64ed1bc1587f43871b58320910ea2b0bf494b30a6e481902424bcc5851a2e028ca6bed2cf9529b7ffb9cc48a458aeddafdbcd710b55ab7ec226ef1acb6991a49a7111ed89df601436d33673668674bf6088e1af5a556e36cd049382dc93ab78ff6caa34a9aa9215a5b71fbb795ebfafff641bc889a9d60086e96386a226e94f091219250d2edc7b1df18881972d445143d7465c4428d5c9643a79aaea51fd3f572e5956e536cf7cd44a4a89109f0a6aa14e5d7b0f64b1cbd47bef74a22e3cf5ef024daabdd224d469224e6ae5becc4730fb8c887b523e706626c2306942dfaf385cef5bd119d98131ca4e5254c1d2ec210097ec71d81f8b8e2da4ebc19353c08f45c7b166c93e7a7f65165d9a7aa92a671de9d876dd2512447cb2a36f70d6d134c48de4edf7f92a9110ac652eeba83c879e2bed3d0d2d8479cf7649be87ce001d85460beb5a774abc211d2ef8f1843c3b0ecfc4f883acbc569a9b0a0551c06c4d38bb6ca1664d7dacf8dc795abcf955aeec8a45426161f14f58efad1c9e9fe5121295b6768a90f9d1e58db2a2a2d53a734a8d226eb07caaf0519600579ee423235fac12896dfdd7bc98c214a6d51ed925a4d0997a74779330ff5a94e5d15c9f191b0b41d3602644a51a736933bdcca56c7f7389dc19261408baa615b"], 0x1007, 0x7) (async) socket(0x0, 0x0, 0x0) (async) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000000600)=ANY=[], 0xfc30) (async) accept4$inet(0xffffffffffffffff, &(0x7f00000000c0)={0x2, 0x0, @private}, 0x0, 0x100800) (async) [ 245.707189] ================================================================== [ 245.714572] Disabling lock debugging due to kernel taint [ 245.755476] Kernel panic - not syncing: panic_on_warn set ... [ 245.755476] [ 245.762887] CPU: 1 PID: 15053 Comm: syz-executor.1 Tainted: G B 4.19.211-syzkaller #0 [ 245.772179] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 245.781533] Call Trace: [ 245.784247] dump_stack+0x1fc/0x2ef [ 245.787897] panic+0x26a/0x50e [ 245.791105] ? __warn_printk+0xf3/0xf3 [ 245.795026] ? preempt_schedule_common+0x45/0xc0 [ 245.800103] ? ___preempt_schedule+0x16/0x18 [ 245.804526] ? trace_hardirqs_on+0x55/0x210 [ 245.808867] kasan_end_report+0x43/0x49 [ 245.812861] kasan_report_error.cold+0xa7/0x1b9 [ 245.817542] ? __list_del_entry_valid+0xcc/0xf0 [ 245.822661] __asan_report_load8_noabort+0x88/0x90 [ 245.827619] ? __list_del_entry_valid+0xcc/0xf0 [ 245.832295] __list_del_entry_valid+0xcc/0xf0 [ 245.836807] __nf_tables_abort+0x1fde/0x2ca0 [ 245.841242] nf_tables_abort+0x13/0x30 [ 245.845157] nfnetlink_rcv_batch+0xb66/0x1df0 [ 245.849681] ? nfnetlink_bind+0x2b0/0x2b0 [ 245.853828] ? lockdep_hardirqs_on+0x3a8/0x5c0 [ 245.858588] ? apparmor_capable+0x147/0x750 [ 245.863001] ? apparmor_capable+0x147/0x750 [ 245.867321] ? apparmor_sb_mount+0x970/0x970 [ 245.871717] ? apparmor_sb_mount+0x970/0x970 [ 245.876110] ? netdev_pick_tx+0x2f0/0x2f0 [ 245.880247] ? cap_capable+0x1eb/0x250 [ 245.884121] ? security_capable+0x8f/0xc0 [ 245.888252] ? memset+0x20/0x40 [ 245.891515] ? nla_parse+0x1b2/0x290 [ 245.895225] nfnetlink_rcv+0x3b5/0x420 [ 245.899096] ? nfnetlink_rcv_batch+0x1df0/0x1df0 [ 245.904028] netlink_unicast+0x4d5/0x690 [ 245.908308] ? netlink_sendskb+0x110/0x110 [ 245.912533] ? _copy_from_iter_full+0x229/0x7c0 [ 245.917194] ? __phys_addr_symbol+0x2c/0x70 [ 245.921508] ? __check_object_size+0x17b/0x3e0 [ 245.926319] netlink_sendmsg+0x6c3/0xc50 [ 245.930373] ? aa_af_perm+0x230/0x230 [ 245.934161] ? nlmsg_notify+0x1f0/0x1f0 [ 245.938124] ? nlmsg_notify+0x1f0/0x1f0 [ 245.942088] sock_sendmsg+0xc3/0x120 [ 245.945793] ___sys_sendmsg+0x7bb/0x8e0 [ 245.949842] ? copy_msghdr_from_user+0x440/0x440 [ 245.954708] ? __fget+0x32f/0x510 [ 245.958240] ? lock_downgrade+0x720/0x720 [ 245.962385] ? check_preemption_disabled+0x41/0x280 [ 245.967479] ? __fget+0x356/0x510 [ 245.971268] ? do_dup2+0x450/0x450 [ 245.974795] ? retint_kernel+0x2d/0x2d [ 245.978675] ? __fdget+0x1d0/0x230 [ 245.982202] __x64_sys_sendmsg+0x132/0x220 [ 245.986423] ? __sys_sendmsg+0x1b0/0x1b0 [ 245.990466] ? __se_sys_futex+0x298/0x3b0 [ 245.994814] ? entry_SYSCALL_64_after_hwframe+0x3e/0xbe [ 246.000259] ? trace_hardirqs_off_caller+0x6e/0x210 [ 246.005263] ? do_syscall_64+0x21/0x620 [ 246.009222] do_syscall_64+0xf9/0x620 [ 246.013012] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 246.018185] RIP: 0033:0x7f5ccfea30e9 [ 246.021883] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 246.040884] RSP: 002b:00007f5cce818168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 246.048594] RAX: ffffffffffffffda RBX: 00007f5ccffb5f60 RCX: 00007f5ccfea30e9 [ 246.056044] RDX: 0000000000000000 RSI: 0000000020000280 RDI: 0000000000000004 [ 246.063324] RBP: 00007f5ccfefd08d R08: 0000000000000000 R09: 0000000000000000 [ 246.070668] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 246.077922] R13: 00007ffdfa3af10f R14: 00007f5cce818300 R15: 0000000000022000 [ 246.085427] Kernel Offset: disabled [ 246.089054] Rebooting in 86400 seconds..