+
    �°³jV  ã                   ó  € R t ^ RIt^ RIHt ^ RIt^ RIt^ RIHt ]P                  ! R4      t
 ]P                  ! RP                  4       4       Rt ! R R	4      t]P                   P#                  ]'       * R
R7      R 4       t]P                   P'                  R]P(                  ]P*                  ]P,                  ]P.                  .4      R 4       t]P                   P#                  ]'       * R
R7      R 4       tR#   ] d    Rt Lµi ; i)z'Unit tests for pydot drawing functions.N)ÚStringIO)Úgraphs_equalÚpydotzdot -VTFc                   ó2  a € ] tR t^t o ]P
                  P                  ]'       * RR7      ]P
                  P                  R]	P                  ! 4       ]	P                  ! 4       34      ]P
                  P                  RR	4      R 4       4       4       tR tRtV tR# )
Ú	TestPydotúgraphviz required for layout©ÚreasonÚGÚprogc                óÚ  € RVP                   R&   VP                  . RO4       VP                  R4       \        P                  P                  WR7      p\        V\        4      '       g   Q h\        P                  P                  V4      pVP                  \        P                  P                  V4      4      p\        W4      '       g   Q hVR,          pVP                  V4       \        P                  VRR7      p\        V4      ^8X  g   Q hV^ ,          p	\!        R VP#                  4        4       4      p
\!        R	 V	P#                  4        4       4      pW«8X  g   Q h\!        R
 VP%                  4        4       4      p\!        R V	P%                  4        4       4      pWÍ8X  g   Q h\        P                  P'                  V4      pVP                  V4      p\        W4      '       g   Q hR# )z‘
Validate :mod:`pydot`-based usage of the passed NetworkX graph with the
passed basename of an external GraphViz command (e.g., `dot`, `neato`).
r
   ÚnameÚE©r   zout.dotzutf-8)ÚpathÚencodingc              3   ó@   "  € T F  qP                  4       x € K  	  R # 5i©N©Úget_name©Ú.0Úps   & Úb/home/luca/screen-checking/.venv/lib/python3.14/site-packages/networkx/drawing/tests/test_pydot.pyÚ	<genexpr>Ú'TestPydot.test_pydot.<locals>.<genexpr>D   s   é € Ð<Ñ*; Q—J‘J—L�LÓ*;ùó   ‚c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir   r   r   s   & r   r   r   G   s   é € Ð>Ñ*= Q—J‘J—L�LÓ*=ùr   c              3   ó`   "  € T F$  qP                  4       VP                  4       3x € K&  	  R # 5ir   ©Ú
get_sourceÚget_destination©r   Úes   & r   r   r   M   s$   é € ÐUÑCT¸a—\‘\“^ Q×%6Ñ%6Ó%8Õ9ÓCTùó   ‚,.c              3   ó`   "  € T F$  qP                  4       VP                  4       3x € K&  	  R # 5ir   r   r"   s   & r   r   r   P   s$   é € ÐWÑCV¸a—\‘\“^ Q×%6Ñ%6Ó%8Õ9ÓCVùr$   N)©ÚAÚB)r'   ÚC©r(   r)   )r'   ÚD)ÚgraphÚadd_edges_fromÚadd_nodeÚnxÚnx_pydotÚpydot_layoutÚ
isinstanceÚdictÚto_pydotÚ	__class__Ú
from_pydotr   Ú	write_rawr   Úgraph_from_dot_fileÚlenÚsortedÚget_node_listÚget_edge_listÚread_dot)Úselfr
   r   Útmp_pathÚgraph_layoutÚPÚG2ÚfnameÚPin_listÚPinÚn1Ún2Úe1Úe2ÚHins   &&&&           r   Ú
test_pydotÚTestPydot.test_pydot   s¤  € ð ˆ�‰�‰ð 	
×ÑÒIÔJØ	�
‰
�3Œô —{‘{×/Ñ/°Ð/Ó=ˆÜ˜,¬×-Ò-Ð-Ð-ô �K‰K× Ñ  Ó#ˆð �[‰[œŸ™×/Ñ/°Ó2Ó3ˆô ˜A×"Ò"Ð"Ð"à˜9Õ$ˆð 	
�‰�EÔô ×,Ñ,°%À'Ð,ÓJˆô �8‹} Ô!Ð!Ð!ð �q�kˆô Ñ<¨!¯/©/Ô*;Ó<Ó<ˆô Ñ>¨#×*;Ñ*;Ô*=Ó>Ó>ˆð Œxˆˆxô ÑUÀ1Ç?Á?ÔCTÓUÓUˆô ÑWÀ3×CTÑCTÔCVÓWÓWˆð Œxˆˆxô �k‰k×"Ñ" 5Ó)ˆØ�k‰k˜#Óˆô ˜A×#Ò#Ð#Ò#ó    c                óN  € \         P                  ! 4       pR VP                  R&   VP                  RRRR7       \	        4       p\         P
                  P                  W4       VP                  ^ 4       \         P
                  P                  V4      p\        W4      '       g   Q hR# )r
   r   Ú1Ú2Ú0)ÚkeyN)
r/   Ú
MultiGraphr,   Úadd_edger   r0   Ú	write_dotÚseekr=   r   )r>   r
   ÚfhÚHs   &   r   Útest_read_writeÚTestPydot.test_read_write\   su   € Ü�MŠM‹OˆØˆ�‰�‰Ø	�
‰
�3˜ ˆ
Ô%Ü‹ZˆÜ
�‰×Ñ˜aÔ$Ø
�‰�Œ
Ü�K‰K× Ñ  Ó$ˆÜ˜A×!Ò!Ð!Ò!rM   © N)ÚneatoÚdot)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚpytestÚmarkÚskipifÚhas_graphvizÚparametrizer/   ÚGraphÚDiGraphrK   rY   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s�   ø‡ € Ø‡[�[×Ñ˜LÔ(Ð1OÐÓPØ‡[�[×Ñ˜S 2§8¢8£:¨r¯zªz«|Ð"<Ó=Ø‡[�[×Ñ˜VÐ%5Ó6ñ@$ó 7ó >ó Qð@$÷D"ð "rM   r   r   r   c                ó’  € \         P                  ! 4       pVP                  . RO4       \         P                  P	                  VRR7      p\        V\        4      '       g   Q h\         P                  P                  V4      p\         P                  ! \         P                  P                  V4      4      p\        W4      '       g   Q hR# )z»Validate that `nx_pydot.pydot_layout` handles nodes
    with characters like "
", " ".

    Those characters cause `pydot` to escape and quote them on output,
    which caused #7581.
    r]   r   N))ú
A
big testr(   )rm   r)   r*   )
r/   rg   r-   r0   r1   r2   r3   r4   r6   r   )r?   r
   r@   rA   rB   s   &    r   Útest_pydot_issue_7581rn   g   sŽ   € ô 	�Š‹
€AØ×ÑÒMÔNä—;‘;×+Ñ+¨A°EÐ+Ó:€LÜ�l¤D×)Ò)Ð)Ð)ô 	�‰×Ñ˜QÓ€AÜ	�Š”"—+‘+×(Ñ(¨Ó+Ó	,€BÜ˜×ÒÐÒrM   Ú
graph_typec           	      óÈ  € V ! 4       pVP                  R \        ^.4      RRR7       VP                  R^RR\        R.4      R7       VP                  RRR	R
7       RRRR/RRRRRR/RR	/.\        P                  P	                  \        P                  P                  V4      4      P                  P                  4        UUu. uF  w   r#VNK
  	  upp8X  g   Q hVP                  4        Uu0 uF  p\        V4      kK  	  up\        \        P                  P	                  \        P                  P                  V4      4      P                  4      8X  g   Q hR# u uppi u upi )Ú5z"Example:A"F)ÚtÚlrO   TÚnode1)Úwrr   rs   ÚnodeÚstring)ru   rr   rs   ÚFalseru   ÚTruez
('node1',)zfrozenset({'node1'})N)rt   )é   rz   )rT   Ú	frozensetr/   r0   r6   r4   ÚedgesÚdataÚnodesÚstrÚset)ro   r
   Ú_ÚattrÚis   &    r   Útest_hashable_pydotr„   {   sA  € ñ
 	‹€AØ‡J�Jˆs”I˜q˜c“N m°u€JÔ=Ø‡J�Jˆs�A˜ ¬y¸'¸Ó/C€JÔDØ‡J�Jˆv�v €JÔ*ð 
ˆm˜S 'Ð*Ø	ˆf�c˜<¨Ð.DÐEØ	ˆhˆðô Ÿ+™+×0Ñ0´·±×1EÑ1EÀaÓ1HÓI×OÑO×TÑTÔVô
áV‰JˆAˆqó 	ÙVò
ô	ð ð ð ŸG™GœIÓ&™I�qŒC�ŽF™IÑ&¬#Ü
�‰×ÑœrŸ{™{×3Ñ3°AÓ6Ó7×=Ñ=ó+ô ð ò ùó
ùò
 's   ÃEÃ,Ec                  ó4  € \         P                  ! 4       p V P                  RR.4       \         P                  P	                  V RR7      p\        V\        4      '       g   Q hRV9  g   Q h^ V9   g   Q hRV9  g   Q h^V9   g   Q hR V9   g   Q hRV9   g   Q hR# )	r'   r(   r]   r   rQ   rO   Nr&   )é    é   )r/   rg   r-   r0   r1   r2   r3   )r
   r@   s     r   Útest_pydot_numerical_namerˆ   “   s    € ä
�Š‹
€AØ×Ñ�j &Ð)Ô*Ü—;‘;×+Ñ+¨A°EÐ+Ó:€LÜ�l¤D×)Ò)Ð)Ð)Ø�lÔ"Ð"Ð"Ø�ÔÐÐØ�lÔ"Ð"Ð"Ø�ÔÐÐØ�,ÔÐÐØ�,ÔÐÒrM   )Ú__doc__Ú
subprocessÚior   rb   Únetworkxr/   Únetworkx.utilsr   Úimportorskipr   Úcheck_outputÚsplitre   ÚFileNotFoundErrorr   rc   rd   rn   rf   rg   rh   rS   ÚMultiDiGraphr„   rˆ   r[   rM   r   Ú<module>r“      s  ðÙ -ã Ý ã ã Ý 'à×Ò˜GÓ$€ðØ×Ò˜HŸN™NÓ,Ô-Ø€L÷
N"ñ N"ðb ‡�×Ñ˜Ô$Ð-KÐÓLñó Mðð& ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñóðð* ‡�×Ñ˜Ô$Ð-KÐÓLñ
ó Mò
øðE ô Ø‚Lðús   ®"C: Ã:	DÄD