+
    )•üi‘  ã                   ó~   € R t ^ RItRR.t]P                  ! RR7      R 4       t]P                  ! RR7      R 4       tR# )z$
Utilities for connectivity package
NÚ!build_auxiliary_node_connectivityÚ!build_auxiliary_edge_connectivityT)Úreturns_graphc                ó0  € V P                  4       p/ p\        P                  ! 4       p\        V 4       FO  w  rEWBV&   VP	                  V R2VR7       VP	                  V R2VR7       VP                  V R2V R2^R7       KQ  	  . pV P                  4        FY  w  rxVP                  W',           R2W(,           R234       V'       d   K4  VP                  W(,           R2W',           R234       K[  	  VP                  V^R7       W#P                  R&   V# )a×  Creates a directed graph D from an undirected graph G to compute flow
based node connectivity.

For an undirected graph G having `n` nodes and `m` edges we derive a
directed graph D with `2n` nodes and `2m+n` arcs by replacing each
original node `v` with two nodes `vA`, `vB` linked by an (internal)
arc in D. Then for each edge (`u`, `v`) in G we add two arcs (`uB`, `vA`)
and (`vB`, `uA`) in D. Finally we set the attribute capacity = 1 for each
arc in D [1]_.

For a directed graph having `n` nodes and `m` arcs we derive a
directed graph D with `2n` nodes and `m+n` arcs by replacing each
original node `v` with two nodes `vA`, `vB` linked by an (internal)
arc (`vA`, `vB`) in D. Then for each arc (`u`, `v`) in G we add one
arc (`uB`, `vA`) in D. Finally we set the attribute capacity = 1 for
each arc in D.

A dictionary with a mapping between nodes in the original graph and the
auxiliary digraph is stored as a graph attribute: D.graph['mapping'].

References
----------
.. [1] Kammer, Frank and Hanjo Taubig. Graph Connectivity. in Brandes and
    Erlebach, 'Network Analysis: Methodological Foundations', Lecture
    Notes in Computer Science, Volume 3418, Springer-Verlag, 2005.
    https://doi.org/10.1007/978-3-540-31955-9_7

ÚA)ÚidÚB©ÚcapacityÚmapping)
Úis_directedÚnxÚDiGraphÚ	enumerateÚadd_nodeÚadd_edgeÚedgesÚappendÚadd_edges_fromÚgraph)	ÚGÚdirectedr   ÚHÚiÚnoder   ÚsourceÚtargets	   &        Úd/var/www/html/photoedit/myenv/lib/python3.14/site-packages/networkx/algorithms/connectivity/utils.pyr   r   
   s  € ð< }‰}‹€Hà€GÜ

Š
‹€Aä˜Q–<‰ˆØ‰Ø	
‰
aS˜7˜tˆ
Ô$Ø	
‰
aS˜7˜tˆ
Ô$Ø	
‰
aS˜7˜q˜c ˜G¨aˆ
Ö0ñ	  ð €EØŸ'™'ž)‰ˆØ‰˜Ð)¨Ð+°µÐ/@ÀÐ-BÐCÔDß‰xØL‰L˜W_Ð-¨QÐ/°GµOÐ3DÀAÐ1FÐGÖHñ $ð ×ÑU QÐÔ'ð !‡GGˆIÑØ€Hó    c                ó¨  € V P                  4       '       dX   \        P                  ! 4       pVP                  V P	                  4       4       VP                  V P                  4       ^R7       V# \        P                  ! 4       pVP                  V P	                  4       4       V P                  4        F  w  r#VP                  W#3W23.^R7       K  	  V# )a*  Auxiliary digraph for computing flow based edge connectivity

If the input graph is undirected, we replace each edge (`u`,`v`) with
two reciprocal arcs (`u`, `v`) and (`v`, `u`) and then we set the attribute
'capacity' for each arc to 1. If the input graph is directed we simply
add the 'capacity' attribute. Part of algorithm 1 in [1]_ .

References
----------
.. [1] Abdol-Hossein Esfahanian. Connectivity Algorithms. (this is a
    chapter, look for the reference of the book).
    http://www.cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
r	   )r   r   r   Úadd_nodes_fromÚnodesr   r   )r   r   r   r   s   &   r   r   r   ?   s    € ð 	‡}}‡‚ÜJŠJ‹LˆØ	×Ñ˜Ÿ™›Ô#Ø	×Ñ˜Ÿ™›¨QÐÔ/ØˆäJŠJ‹LˆØ	×Ñ˜Ÿ™›Ô#ØŸg™gži‰NˆFØ×Ñ˜vÐ.°Ð0@ÐAÈAÐÖNñ (àˆr   )Ú__doc__Únetworkxr   Ú__all__Ú_dispatchabler   r   © r   r   Ú<module>r'      sY   ðñó à.Ð0SÐ
T€ð ×Ò Ô%ñ1ó &ð1ðh ×Ò Ô%ñó &òr   