ó
    †~i$  ã                   ó¤   • S r SS/rSSKrSSKJr  SSKJr  \" SSS9\R                  " SS	S
9SS j5       5       r	\R                  " SS	S
9S 5       r
g)zÑ
Read graphs in LEDA format.

LEDA is a C++ class library for efficient data types and algorithms.

Format
------
See http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html

Ú	read_ledaÚ
parse_ledaé    N)ÚNetworkXError)Ú	open_fileÚrb)ÚmodeT)ÚgraphsÚreturns_graphc                 ó6   ^• U4S jU  5       n[        U5      nU$ )a’  Read graph in LEDA format from path.

Parameters
----------
path : file or string
   Filename or file handle to read.
   Filenames ending in .gz or .bz2 will be decompressed.

Returns
-------
G : NetworkX graph

Examples
--------
>>> G = nx.read_leda("file.leda")  # doctest: +SKIP

References
----------
.. [1] http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html
c              3   óD   >#   • U  H  oR                  T5      v •  M     g 7f)N)Údecode)Ú.0ÚlineÚencodings     €ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/networkx/readwrite/leda.pyÚ	<genexpr>Úread_leda.<locals>.<genexpr>,   s   øé € Ð4ªt t�[‰[˜×"Ð"ªtùs   ƒ )r   )Úpathr   ÚlinesÚGs    `  r   r   r      s   ø€ ô. 5©tÓ4€EÜ�5Ó€AØ€Hó    c                 ó4  • [        U [        5      (       a  [        U R                  S5      5      n [        U  Vs/ s H4  nUR	                  S5      (       a  M  US:X  a  M#  UR                  S5      PM6     sn5      n [        S5       H  n[        U 5        M     [        [        U 5      5      nUS:X  a  [        R                  " 5       nO[        R                  " 5       n[        [        U 5      5      n0 n[        SUS-   5       H@  n[        U 5      R                  5       R                  S5      nUS:X  a  [        U5      nXvU'   MB     UR                  UR                  5        VVs/ s H  u  p(UPM	     snn5        [        [        U 5      5      n	[        U	5       HL  n [        U 5      R                  5       u  pŠp¼UR#                  U[        U5         U[        U
5         US
S S9  MN     U$ s  snf s  snnf ! [         a  n[!        SUS-    35      UeS	nAff = f)a\  Read graph in LEDA format from string or iterable.

Parameters
----------
lines : string or iterable
   Data in LEDA format.

Returns
-------
G : NetworkX graph

Examples
--------
>>> G = nx.parse_leda(string)  # doctest: +SKIP

References
----------
.. [1] http://www.algorithmic-solutions.info/leda_guide/graphs/leda_native_graph_fileformat.html
Ú
)Ú#r   Ú é   éÿÿÿÿé   z|{}|  z"Too few fields in LEDA.GRAPH edge Né   éþÿÿÿ)Úlabel)Ú
isinstanceÚstrÚiterÚsplitÚ
startswithÚrstripÚrangeÚnextÚintÚnxÚDiGraphÚGraphÚstripÚadd_nodes_fromÚitemsÚBaseExceptionr   Úadd_edge)r   r   ÚiÚdur   ÚnÚnodeÚsymbolÚsÚmÚtÚreversalr!   Úerrs                 r   r   r   1   sÛ  € ô* �%œ×ÑÜ�U—[‘[ Ó&Ó'ˆÜñ ó	
â�Ø—O‘O K×0ó à48¸B±Jó ˆD�K‰K˜ÖÙñ	
ó€Eô �1ŽXˆÜˆUŽñ ô 
ŒT�%‹[Ó	€BØ	ˆRƒxÜ�JŠJ‹L‰ä�HŠH‹Jˆô 	ŒD�‹KÓ€AØ€DÜ�1�a˜!‘eŽ_ˆÜ�e“×#Ñ#Ó%×+Ñ+¨HÓ5ˆØ�R‹<Ü˜“VˆFØˆQ‹ñ	 ð ×Ñ D§J¡J¤LÔ1¢L™D˜A“a¡LÒ1Ô2ô 	ŒD�‹KÓ€AÜ�1ŽXˆð	WÜ$(¨£K×$5Ñ$5Ó$7Ñ!ˆA�(ð 	
�
‰
�4œ˜A›‘< ¤c¨!£f¡°U¸1¸R°[ˆ
ÓAñ ð €HùòG	
ùó0 2øô ó 	WÜÐ"DÀQÈÁUÀGÐ LÓMÐSVÐVûð	Wús/   ¹G+ÁG+ÁG+Å$G0
ÆG6Ç6
HÈ HÈH)zUTF-8)Ú__doc__Ú__all__Únetworkxr+   Únetworkx.exceptionr   Únetworkx.utilsr   Ú_dispatchabler   r   © r   r   Ú<module>rD      sp   ðñ	ð ˜Ð
%€ã Ý ,Ý $ñ ˆ1�4ÑØ×Ò˜¨TÑ2óó 3ó ðð4 ×Ò˜¨TÑ2ñ:ó 3ñ:r   