+
    �°³j˜
  ã                   óÔ   € R t ^ RIt^ RIHt . ROt]! R4      ]P                  R 4       4       t]! R4      ]P                  R 4       4       t]! R4      ]P                  R 4       4       t	R# )zAttracting components.N)Únot_implemented_forÚ
undirectedc              #  óÎ   "  € \        \        P                  ! V 4      4      p\        P                  ! W4      pV F%  pVP	                  V4      ^ 8X  g   K  W,          x € K'  	  R# 5i)a}  Generates the attracting components in `G`.

An attracting component in a directed graph `G` is a strongly connected
component with the property that a random walker on the graph will never
leave the component, once it enters the component.

The nodes in attracting components can also be thought of as recurrent
nodes.  If a random walker enters the attractor containing the node, then
the node will be visited infinitely often.

To obtain induced subgraphs on each component use:
``(G.subgraph(c).copy() for c in attracting_components(G))``

Parameters
----------
G : DiGraph, MultiDiGraph
    The graph to be analyzed.

Returns
-------
attractors : generator of sets
    A generator of sets of nodes, one for each attracting component of G.

Raises
------
NetworkXNotImplemented
    If the input graph is undirected.

See Also
--------
number_attracting_components
is_attracting_component

N)ÚlistÚnxÚstrongly_connected_componentsÚcondensationÚ
out_degree)ÚGÚsccÚcGÚns   &   Új/home/luca/screen-checking/.venv/lib/python3.14/site-packages/networkx/algorithms/components/attracting.pyÚattracting_componentsr      sM   é € ôJ Œr×/Ò/°Ó2Ó
3€CÜ	�Š˜Ó	 €BÛˆØ�=‰=˜Ó˜qÖ Ø•&ŒLó ùs   ‚AA%ÁA%c                ó8   € \        R \        V 4       4       4      # )aX  Returns the number of attracting components in `G`.

Parameters
----------
G : DiGraph, MultiDiGraph
    The graph to be analyzed.

Returns
-------
n : int
    The number of attracting components in G.

Raises
------
NetworkXNotImplemented
    If the input graph is undirected.

See Also
--------
attracting_components
is_attracting_component

c              3   ó&   "  € T F  p^x € K	  	  R# 5i)é   N© )Ú.0Úacs   & r   Ú	<genexpr>Ú/number_attracting_components.<locals>.<genexpr>S   s   é € Ð4Ñ3�R�qÓ3ùs   ‚)Úsumr   )r
   s   &r   Únumber_attracting_componentsr   9   s   € ô4 Ñ4Ô0°Ô3Ó4Ó4Ð4ó    c                óŠ   € \        \        V 4      4      p\        V4      ^8X  d   \        V^ ,          4      \        V 4      8H  # R# )a‰  Returns True if `G` consists of a single attracting component.

Parameters
----------
G : DiGraph, MultiDiGraph
    The graph to be analyzed.

Returns
-------
attracting : bool
    True if `G` has a single attracting component. Otherwise, False.

Raises
------
NetworkXNotImplemented
    If the input graph is undirected.

See Also
--------
attracting_components
number_attracting_components

F)r   r   Úlen)r
   r   s   & r   Úis_attracting_componentr   V   s9   € ô4 
Ô# AÓ&Ó	'€BÜ
ˆ2ƒw�!„|Ü�2�a•5‹zœS ›VÑ#Ð#Ùr   )r   r   r   )
Ú__doc__Únetworkxr   Únetworkx.utils.decoratorsr   Ú__all__Ú_dispatchabler   r   r   r   r   r   Ú<module>r#      s‹   ðÙ ã Ý 9ò€ñ �\Ó"Ø×Ññ'ó ó #ð'ñT �\Ó"Ø×Ññ5ó ó #ð5ñ6 �\Ó"Ø×Ññó ó #òr   