ó
    ™“,j™Š  ã                   ó€  • S SK r S SKrS SKrS SKJrJr  S r " S S5      r " S S5      r	\R                  R                  S\R                  \R                  \R                  \R                  45      S	 5       r\R                  R                  S
SSS.S4SS0SS0S.S445      S 5       r\R                  R                  S\R                  \R                  45      S 5       r\R                  R                  S
SSS.S4SS0SS0S.S445      S 5       r\R                  R                  S\R                  \R                  45      S 5       r\R                  R                  S
SSS.S4SS0SS0S.S445      S 5       rS rS r\R                  R                  S\R                  \R                  \R                  \R                  45      S 5       r\R                  R                  S\R                  \R                  45      S 5       r\R                  R                  S\R                  \R                  45      S 5       rS r\R                  R                  S\R                  \R                  \R                  \R                  /5      S 5       r\R                  R                  S\R                  \R                  \R                  \R                  /5      S  5       rS! r\R                  R                  S\R                  \R                  /5      S" 5       r\R                  R                  S\R                  \R                  /5      S# 5       r S$ r!\R                  R                  S%\R                  " 5       \R                  " 5       \R                  " 5       \R                  " 5       45      S& 5       r"\R                  R                  S%\R                  " 5       \R                  " 5       45      S' 5       r#\R                  R                  S%\R                  " 5       \R                  " 5       45      S( 5       r$g))é    N)Úedges_equalÚnodes_equalc                  óf   • [         R                  " 5       n [         R                  " U 5      / :X  d   eg ©N)ÚnxÚGraphÚdegree_histogram©ÚGs    Ú²C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\networkx/classes/tests/test_function.pyÚtest_degree_histogram_emptyr   	   s&   € Ü
�Š‹
€AÜ×Ò˜qÓ! RÓ'Ð'Ñ'ó    c                   ó¶   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rSrg)ÚTestFunctioné   c                 ód  • [         R                  " / SQ/ SQ/ S.SS9U l        SSSSS	S
.U l        [	        [        S5      5      U l        / SQU l        [         R                  " / SQ/ SQ/ S.5      U l	        SSSSS	S
.U l
        SSS	S	S	S
.U l        [	        [        S5      5      U l        / SQU l        g )N©é   é   é   ©r   r   r   ©r   r   é   ÚTest)Únamer   r   r   r   )r   r   r   r   r   é   ©©r   r   ©r   r   ©r   r   ©r   r   ©r   r   ©r   r   )r   r   r   ÚGdegreeÚlistÚrangeÚGnodesÚGedgesÚDiGraphÚDGÚDGin_degreeÚDGout_degreeÚDGnodesÚDGedges©Úselfs    r   Úsetup_methodÚTestFunction.setup_method   s–   € Ü—’šiªI¸"Ñ=ÀFÑKˆŒØ  q¨Q°1Ñ5ˆŒÜœ5 ›8“nˆŒÚFˆŒÜ—*’*¢ªy¸RÑ@ÓAˆŒØ  Q¨1°°qÑ9ˆÔØ ! a¨A°!¸Ñ:ˆÔÜœE !›H“~ˆŒÚGˆ�r   c                 ó  • [         R                  R                  R                  U R                  5      nUS   S:X  d   eUS   (       a   eUS   (       a   eUS   S:X  d   eUS   S:X  d   eUS   S	:X  d   eUS
   S:X  d   eg )NzName of Graphr   ÚDirectedÚ
MultigraphzNumber of nodesr   zNumber of edgeszAverage degree (min, max)z2.00 (0, 4)zNumber of connected componentsr   )r   ÚclassesÚfunctionÚ_create_describe_info_dictr   )r0   Ú	info_dicts     r   Útest_describe_info_dictÚ$TestFunction.test_describe_info_dict   sŸ   € Ü—J‘J×'Ñ'×BÑBÀ4Ç6Á6ÓJˆ	Ø˜Ñ)¨VÓ3Ð3Ð3Ø˜Z×(Ð(Ð(Ø˜\×*Ð*Ð*ØÐ*Ñ+¨qÓ0Ð0Ð0ØÐ*Ñ+¨qÓ0Ð0Ð0ØÐ4Ñ5¸ÓFÐFÐFØÐ9Ñ:¸aÓ?Ð?Ñ?r   c                 óL  • [        U R                  R                  5       [        [        R                  " U R                  5      5      5      (       d   e[        U R
                  R                  5       [        [        R                  " U R
                  5      5      5      (       d   eg r   )r   r   Únodesr%   r   r*   r/   s    r   Ú
test_nodesÚTestFunction.test_nodes$   s`   € Ü˜4Ÿ6™6Ÿ<™<›>¬4´·²¸¿¹Ó0@Ó+A×BÑBÐBÐBÜ˜4Ÿ7™7Ÿ=™=›?¬D´·²¸$¿'¹'Ó1BÓ,C×DÑDÐDÑDr   c           
      ó”  • [        U R                  R                  5       [        [        R                  " U R                  5      5      5      (       d   e[        U R                  R                  5       5      [        [        R                  " U R                  5      5      :X  d   e[        U R                  R                  / SQS9[        [        R                  " U R                  / SQS95      5      (       d   e[        U R                  R                  / SQS95      [        [        R                  " U R                  / SQS95      :X  d   eg )N)r   r   r   ©Únbunch)r   r   Úedgesr%   r   Úsortedr*   r/   s    r   Ú
test_edgesÚTestFunction.test_edges(   sà   € Ü˜4Ÿ6™6Ÿ<™<›>¬4´·²¸¿¹Ó0@Ó+A×BÑBÐBÐBÜ�d—g‘g—m‘m“oÓ&¬&´·²¸$¿'¹'Ó1BÓ*CÓCÐCÐCÜØ�F‰F�L‰L¢	ˆLÐ*¬D´·²¸$¿&¹&ÊÑ1SÓ,T÷
ñ 
ð 	
ð 
ô �d—g‘g—m‘mª9�mÐ5Ó6¼&Ü�HŠH�T—W‘W¢YÑ/ó;
ó 
ð 	
ñ 
r   c           
      óÐ  • [        U R                  R                  5       [        [        R                  " U R                  5      5      5      (       d   e[        U R                  R                  5       5      [        [        R                  " U R                  5      5      :X  d   e[        U R                  R                  SS/S9[        [        R                  " U R                  SS/S95      5      (       d   e[        U R                  R                  SS/S95      [        [        R                  " U R                  SS/S95      :X  d   e[        U R                  R                  SS9[        [        R                  " U R                  SS95      5      (       d   e[        U R                  R                  SS95      [        [        R                  " U R                  SS95      :X  d   eg )Nr   r   rA   Úweight©rH   )r   r   Údegreer%   r   rD   r*   r/   s    r   Útest_degreeÚTestFunction.test_degree2   ss  € Ü˜4Ÿ6™6Ÿ=™=›?¬D´·²¸4¿6¹6Ó1BÓ,C×DÑDÐDÐDÜ�d—g‘g—n‘nÓ&Ó'¬6´"·)²)¸D¿G¹GÓ2DÓ+EÓEÐEÐEÜØ�F‰F�M‰M ! Q ˆMÐ(¬$¬r¯yªy¸¿¹ÈÈAÈÑ/OÓ*P÷
ñ 
ð 	
ð 
ô �d—g‘g—n‘n¨Q°¨F�nÐ3Ó4¼Ü�IŠI�d—g‘g q¨! fÑ-ó9
ó 
ð 	
ð 
ô Ø�F‰F�M‰M ˆMÐ*¬D´·²¸4¿6¹6È(Ñ1SÓ,T÷
ñ 
ð 	
ð 
ô �d—g‘g—n‘n¨H�nÐ5Ó6¼&Ü�IŠI�d—g‘g hÑ/ó;
ó 
ð 	
ñ 
r   c                 óL  • [        U R                  R                  S5      5      [        [        R                  " U R                  S5      5      :X  d   e[        U R                  R                  S5      5      [        [        R                  " U R                  S5      5      :X  d   eg )Nr   )r%   r   Ú	neighborsr   r*   r/   s    r   Útest_neighborsÚTestFunction.test_neighborsB   sn   € Ü�D—F‘F×$Ñ$ QÓ'Ó(¬D´·²¸d¿f¹fÀaÓ1HÓ,IÓIÐIÐIÜ�D—G‘G×%Ñ% aÓ(Ó)¬T´"·,²,¸t¿w¹wÈÓ2JÓ-KÓKÐKÑKr   c                 óü   • U R                   R                  5       [        R                  " U R                   5      :X  d   eU R                  R                  5       [        R                  " U R                  5      :X  d   eg r   )r   Únumber_of_nodesr   r*   r/   s    r   Útest_number_of_nodesÚ!TestFunction.test_number_of_nodesF   óV   € Ø�v‰v×%Ñ%Ó'¬2×+=Ò+=¸d¿f¹fÓ+EÓEÐEÐEØ�w‰w×&Ñ&Ó(¬B×,>Ò,>¸t¿w¹wÓ,GÓGÐGÑGr   c                 óü   • U R                   R                  5       [        R                  " U R                   5      :X  d   eU R                  R                  5       [        R                  " U R                  5      :X  d   eg r   )r   Únumber_of_edgesr   r*   r/   s    r   Útest_number_of_edgesÚ!TestFunction.test_number_of_edgesJ   rU   r   c                 óü   • U R                   R                  5       [        R                  " U R                   5      :X  d   eU R                  R                  5       [        R                  " U R                  5      :X  d   eg r   )r   Úis_directedr   r*   r/   s    r   Útest_is_directedÚTestFunction.test_is_directedN   sR   € Ø�v‰v×!Ñ!Ó#¤r§~¢~°d·f±fÓ'=Ó=Ð=Ð=Ø�w‰w×"Ñ"Ó$¬¯ª°t·w±wÓ(?Ó?Ð?Ñ?r   c           	      óD  • U R                   R                  5       n/ SQn[        R                  " X5        [	        UR                  U5      / SQ5      (       d   eU R                   R                  5       n[        R                  " XSS9  [	        UR                  USS9SSS	S04SS
S	S04SSS	S04/5      (       d   eU R                   R                  5       nS/n[        R                  " X5        [        U[        U R                   5      U-   5      (       d   eU R                   R                  5       n/ n[        R                  " X5        [        UR                  U R                  5      (       d   e[	        UR
                  U R                   R
                  5      (       d   eg )N©é   é   r   é   )©r`   ra   )r`   r   ©r`   rb   ç       @rI   T©Údatar`   ra   rH   r   rb   )
r   Úcopyr   Úadd_starr   rC   r   r%   r=   r'   ©r0   r   Únlists      r   Útest_add_starÚTestFunction.test_add_starR   sO  € Ø�F‰F�K‰K‹MˆÚ ˆÜ
�Š�AÔÜ˜1Ÿ7™7 5›>Ò+I×JÑJÐJÐJà�F‰F�K‰K‹MˆÜ
�Š�A SÒ)ÜØ�G‰G�E ˆGÐ%à�R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)ð÷
ñ 
ð 	
ð 
ð �F‰F�K‰K‹MˆØ�ˆÜ
�Š�AÔÜ˜1œd 4§6¡6›l¨UÑ2×3Ñ3Ð3Ð3à�F‰F�K‰K‹MˆØˆÜ
�Š�AÔÜ˜1Ÿ7™7 D§K¡K×0Ñ0Ð0Ð0Ü˜1Ÿ7™7 D§F¡F§L¡L×1Ñ1Ð1Ñ1r   c           	      óÎ  • U R                   R                  5       n/ SQn[        R                  " X5        [	        UR                  U5      / SQ5      (       d   eU R                   R                  5       n[        R                  " XSS9  [	        UR                  USS9SSS	S04SS
S	S04S
SS	S04/5      (       d   eU R                   R                  5       nS/n[        R                  " X5        [	        UR                  U5      / 5      (       d   e[        U[        U R                   5      S/-   5      (       d   eU R                   R                  5       n[        S/5      n[        R                  " X5        [	        UR                  S/5      / 5      (       d   e[        U[        U R                   5      S/-   5      (       d   eU R                   R                  5       nS/n[        R                  " X5        [	        UR                  U5      / 5      (       d   e[        U[        U R                   5      S/-   5      (       d   eU R                   R                  5       n[        S/5      n[        R                  " X5        [	        UR                  S/5      / 5      (       d   e[        U[        U R                   5      S/-   5      (       d   eU R                   R                  5       n/ n[        R                  " X5        [	        UR
                  U R                   R
                  5      (       d   e[        U[        U R                   5      5      (       d   eU R                   R                  5       n[        / 5      n[        R                  " X5        [	        UR
                  U R                   R
                  5      (       d   e[        U[        U R                   5      5      (       d   eg )Nr_   )rc   ©ra   r   ©r   rb   re   rI   Trf   r`   ra   rH   r   rb   Únode)	r   rh   r   Úadd_pathr   rC   r   r%   Úiterrj   s      r   Útest_add_pathÚTestFunction.test_add_pathn   sô  € Ø�F‰F�K‰K‹MˆÚ ˆÜ
�Š�AÔÜ˜1Ÿ7™7 5›>Ò+I×JÑJÐJÐJØ�F‰F�K‰K‹MˆÜ
�Š�A SÒ)ÜØ�G‰G�E ˆGÐ%à�R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)ð÷
ñ 
ð 	
ð 
ð �F‰F�K‰K‹MˆØ�ˆÜ
�Š�AÔÜ˜1Ÿ7™7 5›>¨2×.Ñ.Ð.Ð.Ü˜1œd 4§6¡6›l¨f¨XÑ5×6Ñ6Ð6Ð6à�F‰F�K‰K‹MˆÜ�f�X“ˆÜ
�Š�AÔÜ˜1Ÿ7™7 F 8Ó,¨b×1Ñ1Ð1Ð1Ü˜1œd 4§6¡6›l¨f¨XÑ5×6Ñ6Ð6Ð6à�F‰F�K‰K‹MˆØ�ˆÜ
�Š�AÔÜ˜1Ÿ7™7 5›>¨2×.Ñ.Ð.Ð.Ü˜1œd 4§6¡6›l¨b¨TÑ1×2Ñ2Ð2Ð2à�F‰F�K‰K‹MˆÜ�b�T“
ˆÜ
�Š�AÔÜ˜1Ÿ7™7 B 4›=¨"×-Ñ-Ð-Ð-Ü˜1œd 4§6¡6›l¨b¨TÑ1×2Ñ2Ð2Ð2à�F‰F�K‰K‹MˆØˆÜ
�Š�AÔÜ˜1Ÿ7™7 D§F¡F§L¡L×1Ñ1Ð1Ð1Ü˜1œd 4§6¡6›l×+Ñ+Ð+Ð+à�F‰F�K‰K‹MˆÜ�R“ˆÜ
�Š�AÔÜ˜1Ÿ7™7 D§F¡F§L¡L×1Ñ1Ð1Ð1Ü˜1œd 4§6¡6›l×+Ñ+Ð+Ñ+r   c                 óŒ  • U R                   R                  5       n/ SQn/ SQ/ SQ/n[        R                  " X5        [	        UR                  U5      5      U;   d   eU R                   R                  5       nSSSS04SSSS04SS	SS04S	SSS04/SSSS04SS	SS04S	SSS04SSSS04//n[        R                  " XSS
9  [	        UR                  USS95      U;   d   eU R                   R                  5       nS/n[        R                  " X5        [        U[        U R                   5      U-   5      (       d   eU R                   R                  5       n/ n[        R                  " X5        [        UR                  U R                  5      (       d   e[        UR
                  U R                   R
                  5      (       d   eg )Nr_   )rc   rd   ro   rp   )rc   ro   rp   )rb   r`   r`   ra   rH   ç      ð?rb   r   rI   Trf   )r   rh   r   Ú	add_cyclerD   rC   r   r%   r=   r'   r   )r0   r   rk   Úoklistss       r   Útest_add_cycleÚTestFunction.test_add_cycle¢   s¬  € Ø�F‰F�K‰K‹MˆÚ ˆâ4Ú4ð
ˆô 	�Š�QÔÜ�a—g‘g˜e“nÓ%¨Ó0Ð0Ð0Ø�F‰F�K‰K‹Mˆð �R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)ð	ð �R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)Ø�R˜( C˜Ð)ð	ð
ˆô 	�Š�Q cÒ*Ü�a—g‘g˜e¨$�gÐ/Ó0°GÓ;Ð;Ð;à�F‰F�K‰K‹MˆØ�ˆÜ
�Š�QÔÜ˜1œd 4§6¡6›l¨UÑ2×3Ñ3Ð3Ð3à�F‰F�K‰K‹MˆØˆÜ
�Š�QÔÜ˜1Ÿ7™7 D§K¡K×0Ñ0Ð0Ð0Ü˜1Ÿ7™7 D§F¡F§L¡L×1Ñ1Ð1Ñ1r   c                 óÐ  • U R                   R                  / SQ5      R                  [        R                  " U R                   / SQ5      R                  :X  d   eU R                  R                  / SQ5      R                  [        R                  " U R                  / SQ5      R                  :X  d   eU R                   R                  / SQ5      R                  [        R
                  " U R                   / SQ5      R                  :X  d   eU R                  R                  / SQ5      R                  [        R
                  " U R                  / SQ5      R                  :X  d   e[        R
                  " U R                   R                  / SQ5      / SQ5      nUR                  U R                   Ld   eUR                  U R                   R                  / SQ5      R                  :X  d   eg )N)r   r   r   r   r   )r   ÚsubgraphÚadjr   r*   Úinduced_subgraphÚ_graph)r0   ÚHs     r   Útest_subgraphÚTestFunction.test_subgraphÈ   sV  € à�F‰F�O‰OšLÓ)×-Ñ-´·²¸T¿V¹VÂ\Ó1R×1VÑ1VÓVð	
ØVð �G‰G×Ñš\Ó*×.Ñ.´"·+²+¸d¿g¹gÂ|Ó2T×2XÑ2XÓXð	
ØXð �F‰F�O‰OšLÓ)×-Ñ-Ü×"Ò" 4§6¡6ª<Ó8×<Ñ<ó=ð	
ð=ð �G‰G×Ñš\Ó*×.Ñ.Ü×"Ò" 4§7¡7ªLÓ9×=Ñ=ó>ð	
ð>ô ×Ò §¡§¡²Ó =ºyÓIˆØ�x‰x˜tŸv™vÒ%Ð%Ð%Ø�u‰u˜Ÿ™Ÿ™ª	Ó2×6Ñ6Ó6Ð6Ñ6r   c                 ód  • U R                   R                  SS/5      R                  [        R                  " U R                   SS/5      R                  :X  d   eU R                  R                  SS/5      R                  [        R                  " U R                  SS/5      R                  :X  d   eg )Nr#   r    )r   Úedge_subgraphr~   r   r*   r/   s    r   Útest_edge_subgraphÚTestFunction.test_edge_subgraphÜ   sš   € à�F‰F× Ñ  &¨&Ð!1Ó2×6Ñ6Ü×Ò §¡¨°Ð(8Ó9×=Ñ=ó>ð	
ð>ð �G‰G×!Ñ! 6¨6Ð"2Ó3×7Ñ7Ü×Ò §¡¨&°&Ð)9Ó:×>Ñ>ó?ð	
ñ?r   c                 ó2  • [         R                  " U R                  SS9n[        U[	        U R                  5      5      (       d   eUR
                  0 :X  d   eUR                  0 R                  U R                  R                  5       0 5      :X  d   eUR                  0 R                  U R                  R                  5       0 5      :X  d   e[         R                  " U R                  5      n[        U[	        U R                  5      5      (       d   eUR
                  U R                  R
                  :X  d   eUR                  U R                  R                  :X  d   eUR                  0 R                  U R                  R                  5       0 5      :X  d   eg )NF)Ú	with_data)
r   Úcreate_empty_copyr   r   r%   ÚgraphÚ_nodeÚfromkeysr=   Ú_adj©r0   r   s     r   Útest_create_empty_copyÚ#TestFunction.test_create_empty_copyæ   s  € Ü× Ò  §¡°5Ñ9ˆÜ˜1œd 4§6¡6›l×+Ñ+Ð+Ð+Ø�w‰w˜"‹}Ðˆ}Ø�w‰w˜"Ÿ+™+ d§f¡f§l¡l£n°bÓ9Ó9Ð9Ð9Ø�v‰v˜Ÿ™ T§V¡V§\¡\£^°RÓ8Ó8Ð8Ð8Ü× Ò  §¡Ó(ˆÜ˜1œd 4§6¡6›l×+Ñ+Ð+Ð+Ø�w‰w˜$Ÿ&™&Ÿ,™,Ó&Ð&Ð&Ø�w‰w˜$Ÿ&™&Ÿ,™,Ó&Ð&Ð&Ø�v‰v˜Ÿ™ T§V¡V§\¡\£^°RÓ8Ó8Ð8Ñ8r   c                 óT   • [         R                  " U R                  5      / SQ:X  d   eg )N)r   r   r   r   r   )r   r	   r   r/   s    r   Útest_degree_histogramÚ"TestFunction.test_degree_histogramò   s   € Ü×"Ò" 4§6¡6Ó*ªoÓ=Ð=Ñ=r   c                 ó   • [         R                  " U R                  5      S:X  d   e[         R                  " U R                  5      S:X  d   e[         R                  " 5       nUR                  S5        [         R                  " U5      S:X  d   eg )Ng      à?g333333Ó?r   ç        )r   Údensityr   r*   r   Úadd_noder�   s     r   Útest_densityÚTestFunction.test_densityõ   sd   € Ü�zŠz˜$Ÿ&™&Ó! SÓ(Ð(Ð(Ü�zŠz˜$Ÿ'™'Ó" cÓ)Ð)Ð)Ü�HŠH‹JˆØ	�
‰
�1ŒÜ�zŠz˜!‹} Ó#Ð#Ñ#r   c                 óæ   • [         R                  " 5       nUR                  SS5        [         R                  " U5      S:X  d   eUR                  SS5        [         R                  " U5      S:X  d   eg )Nr   r–   r   re   )r   r   Úadd_edger—   r�   s     r   Útest_density_selfloopÚ"TestFunction.test_density_selfloopü   sU   € Ü�HŠH‹JˆØ	�
‰
�1�aÔÜ�zŠz˜!‹} Ó#Ð#Ð#Ø	�
‰
�1�aÔÜ�zŠz˜!‹} Ó#Ð#Ñ#r   c                 ó2  • [         R                  " U R                  5      nUR                  (       d   e[        R
                  " [         R                  UR                  S5        [        R
                  " [         R                  UR                  S/5        [        R
                  " [         R                  UR                  S5        [        R
                  " [         R                  UR                  S/5        [        R
                  " [         R                  UR                  SS5        [        R
                  " [         R                  UR                  S/5        [        R
                  " [         R                  UR                  SS5        [        R
                  " [         R                  UR                  S/5        [        R
                  " [         R                  UR                  5        [        R
                  " [         R                  UR                   5        g )Nr   r   r#   )r   Úfreezer   ÚfrozenÚpytestÚraisesÚNetworkXErrorr˜   Úadd_nodes_fromÚremove_nodeÚremove_nodes_fromrœ   Úadd_edges_fromÚremove_edgeÚremove_edges_fromÚclear_edgesÚclearr�   s     r   Útest_freezeÚTestFunction.test_freeze  s3  € Ü�IŠI�d—f‘fÓˆØ�x�xˆˆxÜ�Š”b×&Ñ&¨¯
©
°AÔ6Ü�Š”b×&Ñ&¨×(8Ñ(8¸1¸#Ô>Ü�Š”b×&Ñ&¨¯©°qÔ9Ü�Š”b×&Ñ&¨×(;Ñ(;¸a¸SÔAÜ�Š”b×&Ñ&¨¯
©
°A°qÔ9Ü�Š”b×&Ñ&¨×(8Ñ(8¸6¸(ÔCÜ�Š”b×&Ñ&¨¯©°q¸!Ô<Ü�Š”b×&Ñ&¨×(;Ñ(;¸f¸XÔFÜ�Š”b×&Ñ&¨¯©Ô6Ü�Š”b×&Ñ&¨¯©Õ0r   c                 ó  • [         R                  " U R                  5      (       a   e[         R                  " U R                  5      nUR                  [         R                  " U R                  5      :X  d   eUR                  (       d   eg r   )r   Ú	is_frozenr   r    r¡   r�   s     r   Útest_is_frozenÚTestFunction.test_is_frozen  sW   € Ü—<’< §¡×'Ñ'Ð'Ð'Ü�IŠI�d—f‘fÓˆØ�x‰xœ2Ÿ<š<¨¯©Ó/Ó/Ð/Ð/Ø�x�xˆ‰xr   c                 ó”   • [         R                  " [         R                  " S5      5      nUR                  S   nSUS'   US   SL d   eg )Nr   r   TÚnode_attribute)r   r    Ú
path_graphr=   )r0   r   rq   s      r   Ú6test_node_attributes_are_still_mutable_on_frozen_graphÚCTestFunction.test_node_attributes_are_still_mutable_on_frozen_graph  sE   € Ü�IŠI”b—m’m AÓ&Ó'ˆØ�w‰w�q‰zˆØ!%ˆÐÑØÐ$Ñ%¨Ò-Ð-Ñ-r   c                 ó”   • [         R                  " [         R                  " S5      5      nUR                  S   nSUS'   US   SL d   eg )Nr   r   TÚedge_attribute)r   r    rµ   rC   )r0   r   Úedges      r   Ú6test_edge_attributes_are_still_mutable_on_frozen_graphÚCTestFunction.test_edge_attributes_are_still_mutable_on_frozen_graph  sE   € Ü�IŠI”b—m’m AÓ&Ó'ˆØ�w‰w�v‰ˆØ!%ˆÐÑØÐ$Ñ%¨Ò-Ð-Ñ-r   c                 óŠ  • [         R                  " S5      n[        R                  " [	        U5      S5      n[	        [         R
                  " XS   5      5      n[        U5      [        U5      S-
  :X  d   e[         R                  " S5      n[        R                  " [	        U5      S5      S   n[	        [         R
                  " X5      5      nUS:w  a  US:w  a  [        U5      S:X  d   eO[        U5      S:X  d   e[         R                  " S5      n[	        [         R
                  " US5      5      n[        U5      S:X  d   eg )Néd   r   r   éc   r   )	r   Úcomplete_graphÚrandomÚsampler%   rN   Úlenrµ   Ú
star_graph©r0   r‹   ÚpopÚnborsrq   s        r   Útest_neighbors_complete_graphÚ*TestFunction.test_neighbors_complete_graph#  sõ   € Ü×!Ò! #Ó&ˆÜ�mŠmœD ›K¨Ó+ˆÜ”R—\’\ %¨Q©Ó0Ó1ˆä�5‹zœS ›Z¨!™^Ó+Ð+Ð+ä—’˜cÓ"ˆÜ�}Š}œT %›[¨!Ó,¨QÑ/ˆÜ”R—\’\ %Ó.Ó/ˆà�1‹9˜ ›Ü�u“: “?Ð"‘?ä�u“: “?Ð"�?ô —’˜bÓ!ˆÜ”R—\’\ %¨Ó+Ó,ˆÜ�5‹z˜RÓÐÑr   c                 óê  • [         R                  " S5      n[        R                  " [	        U5      S5      n[         R
                  " XS   5      n[        U5      S:X  d   e[         R                  " S5      n[        R                  " [	        U5      S5      S   n[         R
                  " X5      nUS:w  a  US:w  a  [        U5      S:X  d   eO[        U5      S:X  d   e[         R                  " S5      n[         R
                  " US5      n[        U5      S:X  d   e[         R                  " 5       nUR                  [        S5      5        [         R
                  " US5      n[        U5      S:X  d   eg )	Nr¾   r   r   r¿   éa   éb   é
   é	   )r   rÀ   rÁ   rÂ   r%   Únon_neighborsrÃ   rµ   rÄ   r   r¥   r&   rÅ   s        r   Útest_non_neighborsÚTestFunction.test_non_neighbors8  s%  € Ü×!Ò! #Ó&ˆÜ�mŠmœD ›K¨Ó+ˆÜ× Ò  ¨A©Ó/ˆä�5‹z˜Q‹Ðˆä—’˜cÓ"ˆÜ�}Š}œT %›[¨!Ó,¨QÑ/ˆÜ× Ò  Ó-ˆà�1‹9˜ ›Ü�u“: Ó#Ð#Ñ#ä�u“: Ó#Ð#Ð#ô —’˜bÓ!ˆÜ× Ò  ¨Ó*ˆÜ�5‹z˜Q‹Ðˆô —’“
ˆØ×ÑœU 2›YÔ'Ü× Ò  ¨Ó*ˆÜ�5‹z˜Q‹Ð‰r   c                 óž  • [         R                  " S5      n[        [         R                  " U5      5      n[	        U5      S:X  d   e[         R
                  " S5      n/ SQn[        [         R                  " U5      5      nU H  u  pEXE4U;   a  M  XT4U;   a  M   e   [         R                  " S5      n/ SQn[        [         R                  " U5      5      nU H  u  pEXE4U;   a  M  XT4U;   a  M   e   [         R                  " 5       nUR                  / SQ5        / SQn[        [         R                  " U5      5      nU H
  nXb;   a  M
   e   g )Nr   r   r   )r   r    ©r   r   )r#   rÓ   ©r   r   ©r   r   ©r   r   ©r   r   )r   )r   r   )r   r   )r   r!   r#   )	r   rÀ   r%   Ú	non_edgesrÃ   rµ   rÄ   r)   r¨   )r0   r‹   ÚnedgesÚexpectedÚuÚvÚes          r   Útest_non_edgesÚTestFunction.test_non_edgesS  s  € ä×!Ò! !Ó$ˆÜ”b—l’l 5Ó)Ó*ˆÜ�6‹{˜aÓÐÐä—’˜aÓ ˆÚ+ˆÜ”b—l’l 5Ó)Ó*ˆÛ‰DˆAØ�6˜VÕ#¨ v°Õ'7Ð7Ð7ñ ô —’˜aÓ ˆÚCˆÜ”b—l’l 5Ó)Ó*ˆÛ‰DˆAØ�6˜VÕ#¨ v°Õ'7Ð7Ð7ñ ô —
’
“ˆØ×ÑÒ5Ô6Ú+ˆÜ”b—l’l 5Ó)Ó*ˆÛˆAØ•;Ð�;ò r   c                 óŠ  • [         R                  " 5       n[         R                  " U5      (       a   e[         R                  " S5      n[         R                  " U5      (       a   e[         R                  " US5      (       a   eUR	                  S5        UR                  SSSS9  [         R                  " U5      (       a   e[         R                  " US5      (       d   e[         R                  " 5       nUR                  / SQ5        [         R                  " U5      (       d   e[         R                  " US5      (       d   eUR                  5       n[         R                  " U5      (       d   e[         R                  " US5      (       d   e[        R                  " [         R                  [         R                  US5        g )	Nr   rÕ   r   rI   r×   )©Ú0Ú3r   ©râ   Ú1éûÿÿÿ)rå   râ   ræ   ©râ   Ú2r   )rå   rè   r   ©rè   rã   r   ©rå   râ   r#   )r   r   Úis_weightedrµ   r˜   rœ   r)   Úadd_weighted_edges_fromÚto_undirectedr¢   r£   r¤   r�   s     r   Útest_is_weightedÚTestFunction.test_is_weightedm  sE  € Ü�HŠH‹JˆÜ—>’> !×$Ñ$Ð$Ð$ä�MŠM˜!ÓˆÜ—>’> !×$Ñ$Ð$Ð$Ü—>’> ! V×,Ñ,Ð,Ð,à	�
‰
�1ŒØ	�
‰
�1�a ˆ
Ñ"Ü—>’> !×$Ñ$Ð$Ð$Ü�~Š~˜a ×(Ñ(Ð(Ð(ä�JŠJ‹LˆØ	×!Ñ!òô		
ô �~Š~˜a× Ñ Ð Ð Ü�~Š~˜a ×,Ñ,Ð,Ð,à�O‰OÓˆÜ�~Š~˜a× Ñ Ð Ð Ü�~Š~˜a ×,Ñ,Ð,Ð,ä�Š”b×&Ñ&¬¯©¸¸6ÕBr   c                 óò  • [         R                  " 5       n[         R                  " U5      (       a   eUR                  S5        UR	                  / SQ5        [         R                  " U5      (       a   eUR                  SSSS9  [         R                  " US5      (       a   eUR                  / SQ5        SUS   S	   S
'   [         R                  " U5      (       a   e[         R                  " US5      (       a   eSUS   S   S'   [         R                  " US5      (       d   e[         R                  " U5      (       d   e[         R                  " 5       nUR                  / SQ5        [         R                  " U5      (       d   e[         R                  " US5      (       a   e[         R                  " US5      (       d   e[        R                  " [         R                  [         R                  US5        g )Nr   )r   r   r   r   r   r   rI   r#   )rÓ   rÖ   )r   é   Úbluer   ÚcolorrÓ   éþÿÿÿrH   rÖ   )rá   rä   )rå   râ   rô   rç   )rå   rè   éýÿÿÿré   )râ   rã   rê   rÔ   )r   r   Úis_negatively_weightedr˜   r¥   rœ   r¨   r)   rì   r¢   r£   r¤   r�   s     r   Útest_is_negatively_weightedÚ(TestFunction.test_is_negatively_weightedŽ  s™  € Ü�HŠH‹JˆÜ×,Ò,¨Q×/Ñ/Ð/Ð/à	�
‰
�1ŒØ	×ÑšÔ&Ü×,Ò,¨Q×/Ñ/Ð/Ð/à	�
‰
�1�a ˆ
Ñ"Ü×,Ò,¨Q°×7Ñ7Ð7Ð7à	×ÑÒ1Ô2Ø!ˆˆ!‰ˆQ‰�ÑÜ×,Ò,¨Q×/Ñ/Ð/Ð/Ü×,Ò,¨Q°×7Ñ7Ð7Ð7àˆˆ!‰ˆQ‰�ÑÜ×(Ò(¨¨F×3Ñ3Ð3Ð3Ü×(Ò(¨×+Ñ+Ð+Ð+ä�JŠJ‹LˆØ	×!Ñ!òô		
ô ×(Ò(¨×+Ñ+Ð+Ð+Ü×,Ò,¨Q°
×;Ñ;Ð;Ð;Ü×(Ò(¨¨J×7Ñ7Ð7Ð7ä�Š”b×&Ñ&¬×(AÑ(AÀ1ÀfÕMr   )	r*   r.   r+   r-   r,   r   r$   r(   r'   N) Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r1   r:   r>   rE   rK   rO   rS   rX   r\   rl   rt   rz   r‚   r†   r�   r“   r™   r�   r­   r±   r¶   r»   rÈ   rÐ   rÞ   rî   r÷   Ú__static_attributes__© r   r   r   r      s•   † ò	Hò@òEò
ò
ò LòHòHò@ò2ò82,òh$2òL7ò(
ò
9ò>ò$ò$ò1òò.ò.ò ò*ò6ò4CõB#Nr   r   c                   óN   • \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
rg)ÚTestCommonNeighborsi´  c                 ón   ^ • [        [        R                  5      T l        U 4S jn[        U5      T l        g )Nc                 óJ   >• [        TR                  XU5      5      nXC:X  d   eg r   )rD   Úfunc)r   rÛ   rÜ   rÚ   ÚresultÚclss        €r   Ú	test_funcÚ2TestCommonNeighbors.setup_class.<locals>.test_func¹  s$   ø€ Ü˜CŸH™H Q¨1Ó-Ó.ˆFØÓ%Ð%Ñ%r   )Ústaticmethodr   Úcommon_neighborsr  Útest)r  r  s   ` r   Úsetup_classÚTestCommonNeighbors.setup_classµ  s(   ø€ ä¤× 3Ñ 3Ó4ˆŒõ	&ô   	Ó*ˆ�r   c                 ó\   • [         R                  " S5      nU R                  USS/ SQ5        g )Nr   r   r   )r   r   r   ©r   rÀ   r
  r�   s     r   Útest_K5ÚTestCommonNeighbors.test_K5¿  s$   € Ü×Ò˜aÓ ˆØ�	‰	�!�Q˜š9Õ%r   c                 óZ   • [         R                  " S5      nU R                  USSS/5        g )Nr   r   r   r   )r   rµ   r
  r�   s     r   Útest_P3ÚTestCommonNeighbors.test_P3Ã  ó$   € Ü�MŠM˜!ÓˆØ�	‰	�!�Q˜˜A˜3Õr   c                 óZ   • [         R                  " S5      nU R                  USSS/5        g )Nr   r   r   r   )r   rÄ   r
  r�   s     r   Útest_S4ÚTestCommonNeighbors.test_S4Ç  r  r   c                 óö   • [         R                  " [        R                  5         [        R                  " 5       nUR                  SS/5        U R                  USS5        S S S 5        g ! , (       d  f       g = f)Nr   r#   r   r   )r¢   r£   r   ÚNetworkXNotImplementedr)   r¨   r  r�   s     r   Útest_digraphÚ TestCommonNeighbors.test_digraphË  sN   € Ü�]Š]œ2×4Ñ4Õ5Ü—
’
“ˆAØ×Ñ˜f fÐ-Ô.Ø�I‰I�a˜˜AÔ÷ 6×5Ö5ús   ¥<A*Á*
A8c                 ót  • [         R                  " S5      n[        R                  " [         R                  [         R
                  USS5        [        R                  " [         R                  [         R
                  USS5        [        R                  " [         R                  [         R
                  USS5        g )Nr   r   rñ   )r   rÀ   r¢   r£   r¤   r	  r�   s     r   Útest_nonexistent_nodesÚ*TestCommonNeighbors.test_nonexistent_nodesÑ  sr   € Ü×Ò˜aÓ ˆÜ�Š”b×&Ñ&¬×(;Ñ(;¸QÀÀ1ÔEÜ�Š”b×&Ñ&¬×(;Ñ(;¸QÀÀ1ÔEÜ�Š”b×&Ñ&¬×(;Ñ(;¸QÀÀ1ÕEr   c                 ó|   • [         R                  " 5       nUR                  SS/5        U R                  USS/ 5        g)zCase of no common neighbors.r   r   N)r   r   r¥   r
  r�   s     r   Útest_custom1Ú TestCommonNeighbors.test_custom1×  s1   € ä�HŠH‹JˆØ	×Ñ˜!˜Q˜Ô Ø�	‰	�!�Q˜˜2Õr   c                 ó\   • [         R                  " S5      nU R                  USS/ SQ5        g)zCase of equal nodes.r   r   r   Nr  r�   s     r   Útest_custom2Ú TestCommonNeighbors.test_custom2Ý  s$   € ä×Ò˜aÓ ˆØ�	‰	�!�Q˜š9Õ%r   rþ   N)rù   rú   rû   rü   Úclassmethodr  r  r  r  r  r  r   r#  rý   rþ   r   r   r   r   ´  s8   † Øñ+ó ð+ò&ò ò òòFòõ&r   r   Ú
graph_typec           
      ó°  • [         R                  " SU S9nSnSn[         R                  " XU5        UR                  S   U   U:X  d   eUR                  S   U   U:X  d   eUR                  S   U   U:X  d   e[         R                  " SU S9n[	        [        [        UR                  5       5      [        [        U5      5      5      5      nSn[         R                  " XU5        UR                  S   U   S:X  d   eUR                  S   U   S:X  d   eUR                  S   U   S:X  d   e[         R                  " SU S9nSS	S
.n[        R                  UR                  5       U5      nUR                  S5        [         R                  " X5        UR                  S   0 :X  d   eUR                  S   S   S:X  d   eUR                  S   S   S	:X  d   eg )Nr   ©Úcreate_usingr¾   Úhellor   r   r   ÚhiéÈ   ©r+  r*  )r   rµ   Úset_node_attributesr=   ÚdictÚziprD   r&   rÃ   r�   rÆ   )r&  r   ÚvalsÚattrÚds        r   Útest_set_node_attributesr4  ã  s²  € ô
 	�Š�a jÑ1€AØ€DØ€DÜ×Ò˜1 DÔ)Ø�7‰7�1‰:�dÑ˜tÓ#Ð#Ð#Ø�7‰7�1‰:�dÑ˜tÓ#Ð#Ð#Ø�7‰7�1‰:�dÑ˜tÓ#Ð#Ð#ô 	�Š�a jÑ1€AÜ””F˜1Ÿ7™7›9Ó%¤u¬S°«V£}Ó5Ó6€DØ€DÜ×Ò˜1 DÔ)Ø�7‰7�1‰:�dÑ˜qÓ Ð Ð Ø�7‰7�1‰:�dÑ˜qÓ Ð Ð Ø�7‰7�1‰:�dÑ˜qÓ Ð Ð ô 	�Š�a jÑ1€AØ˜3Ñ€AÜ�=‰=˜Ÿ™› AÓ&€DØ‡H�HˆQ„KÜ×Ò˜1Ô#Ø�7‰7�1‰:˜ÓÐÐØ�7‰7�1‰:�dÑ˜qÓ Ð Ð Ø�7‰7�1‰:�gÑ #Ó%Ð%Ñ%r   )Úvaluesr   Úredrò   r   ró   c                 óÒ   • [         R                  " 5       nUR                  S5        [         R                  " X U5        UR                  S   S   S:X  d   eSUR                  ;  d   eg)zy
When `values` is a dict or dict-of-dict keyed by nodes, ensure that keys
that correspond to nodes not in G are ignored.
r   ró   r6  r   N)r   r   r˜   r.  r=   ©r5  r   r   s      r   Ú,test_set_node_attributes_ignores_extra_nodesr9    sW   € ô 	�Š‹
€AØ‡J�Jˆq„MÜ×Ò˜1 dÔ+Ø�7‰7�1‰:�gÑ %Ó'Ð'Ð'Ø�A—G‘GÓÐÑr   c           
      óŽ  • [         R                  " SU S9nSnSn[         R                  " XU5        US   S   U   U:X  d   eUS   S   U   U:X  d   e[         R                  " SU S9nSnSS	/n[        [	        U[        [        U5      5      5      5      n[         R                  " XU5        US   S   U   S:X  d   eUS   S   U   S:X  d   e[         R                  " SU S9nSS
S.nS/n[        R                  XE5      n[         R                  " X5        US   S   S   S:X  d   eUS   S   S   S
:X  d   eUS   S   0 :X  d   eg )Nr   r(  r*  r   r   r   r+  r   r#   r,  r-  ©r   rµ   Úset_edge_attributesr/  r0  r&   rÃ   r�   ©r&  r   r2  r1  rC   r3  s         r   Útest_set_edge_attributesr>    si  € ô 	�Š�a jÑ1€AØ€DØ€DÜ×Ò˜1 DÔ)ØˆQ‰4�‰7�4‰=˜DÓ Ð Ð ØˆQ‰4�‰7�4‰=˜DÓ Ð Ð ô 	�Š�a jÑ1€AØ€DØ�VÐ€EÜ”�Eœ5¤ U£Ó,Ó-Ó.€DÜ×Ò˜1 DÔ)ØˆQ‰4�‰7�4‰=˜AÓÐÐØˆQ‰4�‰7�4‰=˜AÓÐÐô 	�Š�a jÑ1€AØ˜3Ñ€AØˆH€EÜ�=‰=˜Ó"€DÜ×Ò˜1Ô#ØˆQ‰4�‰7�4‰=˜AÓÐÐØˆQ‰4�‰7�7Ñ˜sÓ"Ð"Ð"ØˆQ‰4�‰7�b‹=Ð‰=r   rw   re   )r   r   rH   c                 ó¦   • [         R                  " S/5      n[         R                  " X U5        US   S   S   S:X  d   eSUR                  ;  d   eg)ú~If `values` is a dict or dict-of-dicts containing edges that are not in
G, data associate with these edges should be ignored.
r   r   r   rH   rw   r   N)r   r   r<  rC   r8  s      r   Ú,test_set_edge_attributes_ignores_extra_edgesrA  5  sQ   € ô 	�Š�&�Ó€AÜ×Ò˜1 dÔ+ØˆQ‰4�‰7�8Ñ Ó#Ð#Ð#Ø˜Ÿ™Ó Ð Ñ r   c           
      ó¸  • [         R                  " SU S9nSnSn[         R                  " XU5        US   S   S   U   U:X  d   eUS   S   S   U   U:X  d   e[         R                  " SU S9nSnSS	/n[        [	        U[        [        U5      5      5      5      n[         R                  " XU5        US   S   S   U   S:X  d   eUS   S   S   U   S:X  d   e[         R                  " SU S9nSS
S.nS/n[        R                  XE5      n[         R                  " X5        US   S   S   S   S:X  d   eUS   S   S   S   S
:X  d   eUS   S   S   0 :X  d   eg )Nr   r(  r*  r   r   r   r+  ©r   r   r   r   r,  r-  r;  r=  s         r   Útest_set_edge_attributes_multirD  F  sŒ  € ô 	�Š�a jÑ1€AØ€DØ€DÜ×Ò˜1 DÔ)ØˆQ‰4�‰7�1‰:�dÑ˜tÓ#Ð#Ð#ØˆQ‰4�‰7�1‰:�dÑ˜tÓ#Ð#Ð#ô 	�Š�a jÑ1€AØ€DØ˜	Ð"€EÜ”�Eœ5¤ U£Ó,Ó-Ó.€DÜ×Ò˜1 DÔ)ØˆQ‰4�‰7�1‰:�dÑ˜qÓ Ð Ð ØˆQ‰4�‰7�1‰:�dÑ˜qÓ Ð Ð ô 	�Š�a jÑ1€AØ˜3Ñ€AØˆK€EÜ�=‰=˜Ó"€DÜ×Ò˜1Ô#ØˆQ‰4�‰7�1‰:�dÑ˜qÓ Ð Ð ØˆQ‰4�‰7�1‰:�gÑ #Ó%Ð%Ð%ØˆQ‰4�‰7�1‰:˜ÓÐÑr   )rC  ©r   r   r   c                 óØ   • [         R                  " SS/5      n[         R                  " X U5        US   S   S   S   S:X  d   eUS   S   S   0 :X  d   eSUR                  5       ;  d   eg)	r@  rC  ©r   r   r   r   r   rH   rw   r   N)r   Ú
MultiGraphr<  rC   r8  s      r   Ú2test_set_edge_attributes_multi_ignores_extra_edgesrI  d  st   € ô 	�Š�y )Ð,Ó-€AÜ×Ò˜1 dÔ+ØˆQ‰4�‰7�1‰:�hÑ 3Ó&Ð&Ð&ØˆQ‰4�‰7�1‰:˜ÓÐÐØ˜Ÿ™›Ó"Ð"Ñ"r   c                  óî  • [         R                  " 5       [         R                  " 5       [         R                  " 5       [         R                  " 5       /n U  H�  n[         R
                  " SUS9nSnSn[         R                  " XU5        [         R                  " X5      nUS   U:X  d   eUS   U:X  d   eUS   U:X  d   eSnUR                  S5        [         R                  " XUS	9nUS   U:X  a  M�   e   g )
Nr   r(  r*  r¾   r   r   r   r   ©Údefault)	r   r   r)   rH  ÚMultiDiGraphrµ   r.  Úget_node_attributesr˜   )Úgraphsr   r2  r1  ÚattrsÚdefault_vals         r   Útest_get_node_attributesrR  v  s×   € Ü�hŠh‹jœ"Ÿ*š*›,¬¯ª«¼¿ºÓ9JÐK€FÛˆÜ�MŠM˜!¨!Ñ,ˆØˆØˆÜ
×Ò˜q¨Ô-Ü×&Ò& qÓ/ˆØ�Q‰x˜4ÓÐÐØ�Q‰x˜4ÓÐÐØ�Q‰x˜4ÓÐÐØˆØ	�
‰
�1ŒÜ×&Ò& q¸ÑDˆØ�Q‰x˜;Õ&Ð&Ð&ò r   c                  óP  • [         R                  " 5       [         R                  " 5       [         R                  " 5       [         R                  " 5       /n U  HÎ  n[         R
                  " SUS9nSnSn[         R                  " XU5        [         R                  " X5      n[        U5      S:X  d   eUR                   H  nXE   U:X  a  M   e   UnUR                  SS5        [         R                  " XUS9n[        U5      S:X  d   eUR                   H  nXu   U:X  a  M   e   MÐ     g )	Nr   r(  r*  r¾   r   r   r   rK  )r   r   r)   rH  rM  rµ   r<  Úget_edge_attributesrÃ   rC   rœ   )rO  r   r2  r1  rP  rº   rQ  Údeafult_attrss           r   Útest_get_edge_attributesrV  ‡  sô   € Ü�hŠh‹jœ"Ÿ*š*›,¬¯ª«¼¿ºÓ9JÐK€FÛˆÜ�MŠM˜!¨!Ñ,ˆØˆØˆÜ
×Ò˜q¨Ô-Ü×&Ò& qÓ/ˆÜ�5‹z˜Q‹Ðˆà—G”GˆDØ‘; $Õ&Ð&Ð&ñ ð ˆØ	�
‰
�1�aÔÜ×.Ò.¨qÀÑLˆÜ�=Ó! QÓ&Ð&Ð&à—G”GˆDØ Ñ&¨$Õ.Ð.Ð.ó ò! r   c                 ó‚
  • [         R                  " SU S9nSnSn[         R                  " XU5        [         R                  " X5        X1R                  S   ;  d   eX1R                  S   ;  d   eX1R                  S   ;  d   e[         R                  " SU S9nSnS	n[         R                  " XU5        [         R                  " XU5        [         R                  " X5        X1R                  S   ;  d   eUR                  S   U   U:X  d   eX1R                  S   ;  d   eUR                  S   U   U:X  d   eX1R                  S   ;  d   eUR                  S   U   U:X  d   e[         R                  " SU S9n[         R                  " XU5        [         R                  " XU5        [         R                  " XU5        X1R                  S   ;  a  XQR                  S   ;  d   eX1R                  S   ;  a  XQR                  S   ;  d   eX1R                  S   ;  a  XQR                  S   ;  d   e[         R                  " SU S9nS
nSn[         R                  " UUR	                  5        Vs0 s H	  nXƒX%XGU0_M     sn5        [         R                  " XU5        XQR                  S   ;  a  XqR                  S   ;  d   eXQR                  S   ;  a  XqR                  S   ;  d   eXQR                  S   ;  a  XqR                  S   ;  d   eUR                  S   U   U:X  d   eUR                  S   U   U:X  d   eUR                  S   U   U:X  d   e[         R                  " SU S9n[         R                  " UX2XT0X2XT0S.5        [         R                  " X5        X1R                  S   ;  d   eX1R                  S   ;  d   eX1R                  S   ;  d   eUR                  S   U   U:X  d   eUR                  S   U   U:X  d   e[         R                  " SU S9n[         R                  " UUR	                  5        Vs0 s H	  nXƒX%XGU0_M     sn5        [         R                  " XUSS/S9  X1R                  S   ;  a  XQR                  S   ;  d   eX1R                  S   ;  a  XQR                  S   ;  d   eX1R                  S   ;   a  XQR                  S   ;   d   eXqR                  S   ;   a  UR                  S   U   U:X  d   eXqR                  S   ;   a  UR                  S   U   U:X  d   eg s  snf s  snf )Nr   r(  r¾   r*  r   r   r   r,  Úotheré,  Úthreer#   rA   )r   rµ   r.  Úremove_node_attributesr=   )	r&  r   r1  r2  Ú
other_valsÚ
other_attrÚ
third_valsÚ
third_attrÚns	            r   Útest_remove_node_attributesra  �  sü  € ô
 	�Š�a jÑ1€AØ€DØ€DÜ×Ò˜1 DÔ)Ü×Ò˜aÔ&Ø—w‘w˜q‘zÓ!Ð!Ð!Ø—w‘w˜q‘zÓ!Ð!Ð!Ø—w‘w˜q‘zÓ!Ð!Ð!ô 	�Š�a jÑ1€AØ€JØ€JÜ×Ò˜1 DÔ)Ü×Ò˜1¨*Ô5Ü×Ò˜aÔ&Ø—w‘w˜q‘zÓ!Ð!Ð!Ø�7‰7�1‰:�jÑ! ZÓ/Ð/Ð/Ø—w‘w˜q‘zÓ!Ð!Ð!Ø�7‰7�1‰:�jÑ! ZÓ/Ð/Ð/Ø—w‘w˜q‘zÓ!Ð!Ð!Ø�7‰7�1‰:�jÑ! ZÓ/Ð/Ð/ô 	�Š�a jÑ1€AÜ×Ò˜1 DÔ)Ü×Ò˜1¨*Ô5Ü×Ò˜a zÔ2Ø—w‘w˜q‘zÓ! j¿¹À¹
Ó&BÐBÐBØ—w‘w˜q‘zÓ! j¿¹À¹
Ó&BÐBÐBØ—w‘w˜q‘zÓ! j¿¹À¹
Ó&BÐBÐBô 	�Š�a jÑ1€AØ€JØ€JÜ×ÒØ	ð —W‘W”Yó	
â�ð �d¨
À
ÐKÒKÙñ	
ôô ×Ò˜a¨ZÔ8ØŸW™W Q™ZÓ'¨J¿g¹gÀa¹jÓ,HÐHÐHØŸW™W Q™ZÓ'¨J¿g¹gÀa¹jÓ,HÐHÐHØŸW™W Q™ZÓ'¨J¿g¹gÀa¹jÓ,HÐHÐHØ�7‰7�1‰:�dÑ˜tÓ#Ð#Ð#Ø�7‰7�1‰:�dÑ˜tÓ#Ð#Ð#Ø�7‰7�1‰:�dÑ˜tÓ#Ð#Ð#ô 	�Š�a jÑ1€AÜ×ÒØ	à˜JÐ3Ø˜JÐ3ñ	
ôô ×Ò˜aÔ&Ø—w‘w˜q‘zÓ!Ð!Ð!Ø—w‘w˜q‘zÓ!Ð!Ð!Ø—w‘w˜q‘zÓ!Ð!Ð!Ø�7‰7�1‰:�jÑ! ZÓ/Ð/Ð/Ø�7‰7�1‰:�jÑ! ZÓ/Ð/Ð/ô 	�Š�a jÑ1€AÜ×ÒØ	ð —W‘W”Yó	
â�ð �d¨
À
ÐKÒKÙñ	
ôô ×Ò˜a z¸1¸a¸&ÒAØ—w‘w˜q‘zÓ! j¿¹À¹
Ó&BÐBÐBØ—w‘w˜q‘zÓ! j¿¹À¹
Ó&BÐBÐBØ—7‘7˜1‘:Ó *·±¸±
Ó":Ð:Ð:ØŸ™ ™Ó#¨¯©°©
°:Ñ(>À*Ó(LÐLÐLØŸ™ ™Ó#¨¯©°©
°:Ñ(>À*Ó(LÐLÐLÐ(LùòW	
ùòB	
s   É,T7
ÑT<
c                 óÎ  • [         R                  " SU S9nSnSn[         R                  " XU5        [         R                  " X5        [	        [         R
                  " X5      5      S:X  d   e[         R                  " SU S9nSnSn[         R                  " XU5        [         R                  " XU5        [         R                  " X5        X!S   S   ;  d   eX!S   S	   ;  d   eUS   S   U   S:X  d   eUS   S	   U   S:X  d   e[         R                  " SU S9n[         R                  " XU5        [         R                  " XU5        [         R                  " XU5        X!S   S   ;  a  XAS   S   ;  d   eX!S   S	   ;  a  XAS   S	   ;  d   e[         R                  " SU S9nS
nSn[         R                  " UUR                  5        VV	s0 s H  u  p‰X‰4X#XEXg0_M     sn	n5        [         R                  " XU5        XAS   S   ;  a  XaS   S   ;  d   eXAS   S	   ;  a  XaS   S	   ;  d   eUS   S   U   U:X  d   eUS   S	   U   U:X  d   e[         R                  " SU S9n[         R                  " USX#XE005        [         R                  " X5        XAS   S   ;  a  US   S   U   U:X  d   eXAS   S	   ;  d   e[         R                  " SU S9n[         R                  " UUR                  5        VV	s0 s H  u  p‰X‰4X#XEXg0_M     sn	n5        [         R                  " XUS/S9  XAS   S   ;  a  XaS   S   ;  d   eXAS   S	   ;   a  XaS   S	   ;   d   eg s  sn	nf s  sn	nf )Nr   r(  r*  r¾   r   rX  r,  r   r   ÚthirdrY  r   ©Úebunch)r   rµ   r<  Úremove_edge_attributesrÃ   rT  rC   )
r&  r   r2  r1  r]  r\  r_  r^  rÛ   rÜ   s
             r   Útest_remove_edge_attributesrg  ö  sž  € ô 	�Š�a jÑ1€AØ€DØ€DÜ×Ò˜1 DÔ)Ü×Ò˜aÔ&ÜŒr×%Ò% aÓ.Ó/°1Ó4Ð4Ð4ô 	�Š�a jÑ1€AØ€JØ€JÜ×Ò˜1 DÔ)Ü×Ò˜1¨*Ô5Ü×Ò˜aÔ&à˜‘t˜A‘wÓÐÐØ˜‘t˜A‘wÓÐÐØˆQ‰4�‰7�:Ñ #Ó%Ð%Ð%ØˆQ‰4�‰7�:Ñ #Ó%Ð%Ð%ô 	�Š�a jÑ1€AÜ×Ò˜1 DÔ)Ü×Ò˜1¨*Ô5Ü×Ò˜a zÔ2Ø˜‘t˜A‘wÓ :°q±T¸!±WÓ#<Ð<Ð<Ø˜‘t˜A‘wÓ :°q±T¸!±WÓ#<Ð<Ð<ô 	�Š�a jÑ1€AØ€JØ€JÜ×ÒØ	ð Ÿ™œ	ô	
â!‘�ð ˆF�T ¸ÐPÒPÙ!ò	
ôô ×Ò˜a¨ZÔ8Ø˜q™T !™WÓ$¨¸Q¹4À¹7Ó)BÐBÐBØ˜q™T !™WÓ$¨¸Q¹4À¹7Ó)BÐBÐBØˆQ‰4�‰7�4‰=˜DÓ Ð Ð ØˆQ‰4�‰7�4‰=˜DÓ Ð Ð ô 	�Š�a jÑ1€AÜ×Ò˜1˜v¨°JÐ'KÐLÔMÜ×Ò˜aÔ,Ø˜q™T !™WÓ$¨¨1©¨a©°©¸$Ó)>Ð>Ð>Ø˜q™T !™WÓ$Ð$Ð$ô 	�Š�a jÑ1€AÜ×ÒØ	ð Ÿ™œ	ô	
â!‘�ð ˆF�T ¸ÐPÒPÙ!ò	
ôô ×Ò˜a¨ZÀÀÒIØ˜q™T !™WÓ$¨¸Q¹4À¹7Ó)BÐBÐBØ˜1™˜a™Ó  Z°Q±4¸±7Ó%:Ð:Ð:Ð%:ùó;	
ùó,	
s   ÇMË8M!c                 óD	  • [         R                  " SU S9nUR                  SS5        SnSn[         R                  " XU5        [         R                  " X5        X!S   S   S   ;  d   eX!S   S   S   ;  d   eX!S   S   S   ;  d   e[         R                  " SU S9nUR                  SS5        SnS	n[         R                  " XU5        [         R                  " XU5        [         R                  " X5        X!S   S   S   ;  d   eX!S   S   S   ;  d   eX!S   S   S   ;  d   eUS   S   S   U   U:X  d   eUS   S   S   U   U:X  d   eUS   S   S   U   U:X  d   e[         R                  " SU S9nUR                  SS5        [         R                  " XU5        [         R                  " XU5        [         R                  " XU5        X!S   S   S   ;  a  XAS   S   S   ;  d   eX!S   S   S   ;  a  XAS   S   S   ;  d   eX!S   S   S   ;  a  XAS   S   S   ;  d   e[         R                  " SU S9nUR                  SS5        S
nSn[         R                  " UUR                  SS9 VV	V
s0 s H  u  p‰n
X‰U
4X#XEXg0_M     sn
n	n5        [         R                  " XU5        XAS   S   S   ;  a  XaS   S   S   ;  d   eXAS   S   S   ;  a  XAS   S   S   ;  d   eXAS   S   S   ;  a  XAS   S   S   ;  d   eUS   S   S   U   U:X  d   eUS   S   S   U   U:X  d   eUS   S   S   U   U:X  d   e[         R                  " SU S9nUR                  SS5        [         R                  " UX#XE0X#XE0S.5        [         R                  " X5        XAS   S   S   ;  a  US   S   S   U   U:X  d   eXAS   S   S   ;  d   eXAS   S   S   ;  d   e[         R                  " SU S9nUR                  SS5        [         R                  " UX#XE0X#XE0X#XE0S.5        [         R                  " XSS/S9  X!S   S   S   ;  a  XAS   S   S   ;   d   eX!S   S   S   ;  a  XAS   S   S   ;   d   eX!S   S   S   ;   a  XAS   S   S   ;   d   eg s  sn
n	nf )Nr   r(  r   r   r*  r¾   r   rX  r,  rc  rY  T©Úkeys)rC  ©r   r   r   )rC  r   rk  rC  r   rd  )r   rµ   rœ   r<  rf  rC   )r&  r   r2  r1  r]  r\  r_  r^  rÛ   rÜ   Úks              r   Ú!test_remove_multi_edge_attributesrm  ;  sZ  € ô 	�Š�a jÑ1€AØ‡J�Jˆq�!ÔØ€DØ€DÜ×Ò˜1 DÔ)Ü×Ò˜aÔ&Ø˜‘t˜A‘w˜q‘zÓ!Ð!Ð!Ø˜‘t˜A‘w˜q‘zÓ!Ð!Ð!Ø˜‘t˜A‘w˜q‘zÓ!Ð!Ð!ô 	�Š�a jÑ1€AØ‡J�Jˆq�!ÔØ€JØ€JÜ×Ò˜1 DÔ)Ü×Ò˜1¨*Ô5Ü×Ò˜aÔ&Ø˜‘t˜A‘w˜q‘zÓ!Ð!Ð!Ø˜‘t˜A‘w˜q‘zÓ!Ð!Ð!Ø˜‘t˜A‘w˜q‘zÓ!Ð!Ð!ØˆQ‰4�‰7�1‰:�jÑ! ZÓ/Ð/Ð/ØˆQ‰4�‰7�1‰:�jÑ! ZÓ/Ð/Ð/ØˆQ‰4�‰7�1‰:�jÑ! ZÓ/Ð/Ð/ô 	�Š�a jÑ1€AØ‡J�Jˆq�!ÔÜ×Ò˜1 DÔ)Ü×Ò˜1¨*Ô5Ü×Ò˜a zÔ2Ø˜‘t˜A‘w˜q‘zÓ! j¸!¹¸Q¹À¹
Ó&BÐBÐBØ˜‘t˜A‘w˜q‘zÓ! j¸!¹¸Q¹À¹
Ó&BÐBÐBØ˜‘t˜A‘w˜q‘zÓ! j¸!¹¸Q¹À¹
Ó&BÐBÐBô 	�Š�a jÑ1€AØ‡J�Jˆq�!ÔØ€JØ€JÜ×ÒØ	ð Ÿ7™7¨˜7Ñ-õ	
â-‘��að �1ˆI˜ J¸JÐSÒSÙ-ó	
ôô ×Ò˜a¨ZÔ8Ø˜q™T !™W Q™ZÓ'¨JÀ¹dÀ1¹gÀa¹jÓ,HÐHÐHØ˜q™T !™W Q™ZÓ'¨JÀ¹dÀ1¹gÀa¹jÓ,HÐHÐHØ˜q™T !™W Q™ZÓ'¨JÀ¹dÀ1¹gÀa¹jÓ,HÐHÐHØˆQ‰4�‰7�1‰:�dÑ˜tÓ#Ð#Ð#ØˆQ‰4�‰7�1‰:�dÑ˜tÓ#Ð#Ð#ØˆQ‰4�‰7�1‰:�dÑ˜tÓ#Ð#Ð#ô 	�Š�a jÑ1€AØ‡J�Jˆq�!ÔÜ×ÒØ	à JÐ;Ø JÐ;ñ	
ôô ×Ò˜aÔ,Ø˜q™T !™W Q™ZÓ'¨A¨a©D°©G°A©J°tÑ,<ÀÓ,DÐDÐDØ˜q™T !™W Q™ZÓ'Ð'Ð'Ø˜q™T !™W Q™ZÓ'Ð'Ð'ô 	�Š�a jÑ1€AØ‡J�Jˆq�!ÔÜ×ÒØ	à JÐ;Ø JÐ;Ø JÐ;ñ	
ôô ×Ò˜a¨y¸)Ð.DÒEØ˜‘t˜A‘w˜q‘zÓ! j°a±D¸±G¸A±JÓ&>Ð>Ð>Ø˜‘t˜A‘w˜q‘zÓ! j°a±D¸±G¸A±JÓ&>Ð>Ð>Ø�Q‘4˜‘7˜1‘:Ó *°!±°Q±¸±
Ó":Ð:Ð:Ð":ùôU	
s   É9Rc                  óÂ  • [         R                  " 5       [         R                  " 5       [         R                  " 5       [         R                  " 5       /n U  H‡  n[         R
                  " U5      (       d   eUR                  [        S5      5        [         R
                  " U5      (       d   eUR                  SS/5        [         R
                  " U5      (       d  M‡   e   g )Nr   r#   r×   )	r   r   r)   rH  rM  Úis_emptyr¥   r&   r¨   )rO  r   s     r   Útest_is_emptyrp  •  s�   € Ü�hŠh‹jœ"Ÿ*š*›,¬¯ª«¼¿ºÓ9JÐK€FÛˆÜ�{Š{˜1�~‰~Ðˆ~Ø	×Ñœ˜q›Ô"Ü�{Š{˜1�~‰~Ðˆ~Ø	×Ñ˜& &Ð)Ô*Ü—;’;˜q—>“>Ð!Ð!ò r   c                 ó~  • [         R                  " SU S9nUR                  SS5        [        [         R                  " U5      S/5      (       d   e[        [         R                  " U5      S/5      (       d   e[        [         R                  " USS9SS0 4/5      (       d   e[         R                  " U5      S:X  d   eg )Nr   r(  r   ©r   r   Trf   r   )r   rÀ   rœ   r   Únodes_with_selfloopsr   Úselfloop_edgesÚnumber_of_selfloops©r&  r   s     r   Útest_selfloopsrw  Ÿ  s¥   € ô 	×Ò˜!¨*Ñ5€AØ‡J�Jˆq�!ÔÜ”r×.Ò.¨qÓ1°A°3×7Ñ7Ð7Ð7Ü”r×(Ò(¨Ó+¨f¨X×6Ñ6Ð6Ð6Ü”r×(Ò(¨°Ñ6¸!¸QÀ¸¸×EÑEÐEÐEÜ×!Ò! !Ó$¨Ó)Ð)Ñ)r   c                 ó$  • [         R                  " SU S9nUR                  SS5        UR                  SSSS9  [        [         R                  " USS9SS0 4SSS	S04/5      (       d   e[        [         R                  " US	S9S
S/5      (       d   eg )Nr   r(  r   r   r   rI   Trf   rH   )r   r   N)r   r   r   )r   rÀ   rœ   r   rt  rv  s     r   Útest_selfloop_edges_attrry  «  sœ   € ô 	×Ò˜!¨*Ñ5€AØ‡J�Jˆq�!ÔØ‡J�Jˆq�!˜A€JÑÜÜ
×Ò˜! $Ñ'¨1¨a°¨*°q¸!¸hÈ¸]Ð6KÐ)L÷ñ ð ð ô ”r×(Ò(¨°Ñ:¸\È9Ð<U×VÑVÐVÑVr   c                  óà   • [         R                  " S[         R                  S9n U R                  SSSS9  U R                  SSSS9  [	        [         R
                  " U SSS	9S
S/5      (       d   eg )Nr   r(  r   rÍ   rI   r¾   rH   T©rg   rj  )r   r   r   rÍ   )r   r   r   r¾   )r   rÀ   rH  rœ   r   rt  r
   s    r   Ú,test_selfloop_edges_multi_with_data_and_keysr|  ¸  sl   € Ü
×Ò˜!¬"¯-©-Ñ8€AØ‡J�Jˆq�!˜B€JÑØ‡J�Jˆq�!˜C€JÑ ÜÜ
×Ò˜! (°Ñ6¸ÈÐ8W÷ñ ð ñ r   c                 ót  • [         R                  " SU S9nUR                  SS5        UR                  [         R                  " USS95        UR                  SS5        UR                  [         R                  " USS95        UR                  SS5        UR                  [         R                  " USSS95        g )Nr   r(  r   Tri  rf   )rj  rg   )r   rÀ   rœ   rª   rt  rv  s     r   Útest_selfloops_removalr~  Á  s‘   € ä
×Ò˜!¨*Ñ5€AØ‡J�Jˆq�!ÔØ×Ñœ×)Ò)¨!°$Ñ7Ô8Ø‡J�Jˆq�!ÔØ×Ñœ×)Ò)¨!°$Ñ7Ô8Ø‡J�Jˆq�!ÔØ×Ñœ×)Ò)¨!°$¸TÑBÕCr   c           	      óÖ  • [         R                  " SU S9nUR                  SS5        UR                  SS5        UR                  [         R                  " U5      5        SUR                  5       ;  d   eUR                  SS5        UR                  SS5        [        R                  " [        5         UR                  [         R                  " USS95        SSS5        UR                  SS5        UR                  SS5        [        R                  " [        5         UR                  [         R                  " USS95        SSS5        UR                  SS5        UR                  SS5        [        R                  " [        5         UR                  [         R                  " USSS	95        SSS5        g! , (       d  f       Næ= f! , (       d  f       NŒ= f! , (       d  f       g= f)
zWtest removing selfloops behavior vis-a-vis altering a dict while iterating.
cf. gh-4068r   r(  r   rr  Tri  Nrf   r{  )
r   rÀ   rœ   rª   rt  rC   r¢   r£   ÚRuntimeErrorÚ	TypeErrorrv  s     r   Útest_selfloops_removal_multir‚  Ì  s[  € ô 	×Ò˜!¨*Ñ5€Aà‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔØ×Ñœ×)Ò)¨!Ó,Ô-Ø˜Ÿ™›Ó"Ð"Ð"à‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔÜ	�Š”|Õ	$Ø	×ÑœB×-Ò-¨a°dÑ;Ô<÷ 
%ð ‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔÜ	�Š”yÕ	!Ø	×ÑœB×-Ò-¨a°dÑ;Ô<÷ 
"ð ‡J�Jˆq�!ÔØ‡J�Jˆq�!ÔÜ	�Š”|Õ	$Ø	×ÑœB×-Ò-¨a°dÀÑFÔG÷ 
%Ð	$÷ 
%Õ	$ú÷
 
"Õ	!ú÷
 
%Õ	$ús$   Â3%F8Ä%G	Æ	&GÆ8
GÇ	
GÇ
G(c                  óø  • / SQn / SQn[         R                  " 5       [         R                  " 5       [         R                  " 5       [         R                  " 5       /nSSSSS.4SSSS	S.4SSSSS.4/nU Hƒ  nUR                  U5        [         R                  " X@S
5      S	:X  d   e[         R                  " X@S5      S:X  d   e[        R                  " [         R                  [         R                  XAS
5        M…     g )Nr   )r   r   r   r   r   r   rñ   )ÚcostÚdistr   r   r„  r…  )
r   r   r)   rH  rM  r¨   Úpath_weightr¢   r£   ÚNetworkXNoPath)Ú
valid_pathÚinvalid_pathrO  rC   r‹   s        r   Útest_pathweightrŠ  ç  sÏ   € Ú€JÚ€LÜ�hŠh‹jœ"Ÿ*š*›,¬¯ª«¼¿ºÓ9JÐK€Fà	
ˆA˜ 1Ñ%Ð&Ø	
ˆA˜ 1Ñ%Ð&Ø	
ˆA˜ 1Ñ%Ð&ð€Eó
 ˆØ×Ñ˜UÔ#Ü�~Š~˜e°Ó8¸AÓ=Ð=Ð=Ü�~Š~˜e°Ó8¸AÓ=Ð=Ð=Ü�Š”b×'Ñ'¬¯©¸ÈfÖUò	 r   r   c                 óð   • U R                  / SQ5        / SQn/ SQn/ SQn[        R                  " X5      (       d   e[        R                  " X5      (       a   e[        R                  " X5      (       a   eg )N)r#   rÕ   r#   r×   )r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r¨   r   Úis_path)r   rˆ  r‰  Úanother_invalid_paths       r   Útest_ispathrŽ  ÷  se   € ð ×ÑÒ5Ô6Ú€JÚ€LÚ*ÐÜ�:Š:�a×$Ñ$Ð$Ð$Ü�zŠz˜!×*Ñ*Ð*Ð*Ü�zŠz˜!×2Ñ2Ð2Ð2Ð2r   c                 ó  • U R                  / SQ5        U R                  S5        [        R                  " U / SQSS/5      n[	        UR                  5       5      1 Sk:X  d   e[	        UR                  5       5      S1:X  d   eg )Nr   r   ©r   r   r   r#   r×   ¾   r   r   r   r"   ©r¨   r˜   r   Úrestricted_viewÚsetr=   rC   ©r   r�   s     r   Útest_restricted_viewr–    sg   € à×ÑÒEÔFØ‡J�Jˆq„MÜ
×Ò˜1ši¨&°&Ð)9Ó:€AÜˆq�w‰w‹y‹>šYÓ&Ð&Ð&Üˆq�w‰w‹y‹>˜f˜XÓ%Ð%Ñ%r   c                 ó  • U R                  / SQ5        U R                  S5        [        R                  " U / SQSS/5      n[	        UR                  5       5      1 Sk:X  d   e[	        UR                  5       5      S1:X  d   eg )N)rC  rE  )r   r   r   rG  )r   r   r   )r   r   r   r   r   r�  r   )r   r   r   r‘  r"   r’  r•  s     r   Útest_restricted_view_multir˜    sk   € à×ÑÚUôð ‡J�Jˆq„MÜ
×Ò˜1ši¨)°YÐ)?Ó@€AÜˆq�w‰w‹y‹>šYÓ&Ð&Ð&Üˆq�w‰w‹y‹>˜f˜XÓ%Ð%Ñ%r   )%rÁ   r¢   Únetworkxr   Únetworkx.utilsr   r   r   r   r   ÚmarkÚparametrizer   r)   rH  rM  r4  r9  r>  rA  rD  rI  rR  rV  ra  rg  rm  rp  rw  ry  r|  r~  r‚  rŠ  rŽ  r–  r˜  rþ   r   r   Ú<module>r�     s/  ðÛ ã ã ß 3ò(÷
cNñ cN÷L,&ñ ,&ð^ ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñ&óð&ð< ‡�×ÑØà�vÑ	 Ð(Ø�uÐ 7¨FÐ"3Ñ	4°dÐ;ðóñ	óð	ð ‡�×Ñ˜¨¯©°"·*±*Ð'=Ó>ñó ?ðð: ‡�×ÑØà˜sÑ	# XÐ.Ø˜S�/¨H°c¨?Ñ	;¸TÐBðóñ!óð!ð ‡�×Ñ˜¨¯©°r·±Ð'GÓHñó Iðð: ‡�×ÑØà SÑ	)¨8Ð4Ø �_°(¸C°Ñ	AÀ4ÐHðóñ#óð#ò'ò"/ð, ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñSMóðSMðl ‡�×Ñ˜¨¯©°"·*±*Ð'=Ó>ñA;ó ?ðA;ðH ‡�×Ñ˜¨¯©°r·±Ð'GÓHñV;ó IðV;òr"ð ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñ*óð*ð ‡�×ÑØ�2—8‘8˜RŸZ™Z¨¯©¸¿¹ÐHóñWóðWòð ‡�×Ñ˜¨¯©°"·*±*Ð'=Ó>ñDó ?ðDð ‡�×Ñ˜¨¯©°r·±Ð'GÓHñHó IðHò4Vð  ‡�×ÑØˆ"�(Š(‹*�b—j’j“l B§M¢M£O°R·_²_Ó5FÐ	Góñ3óð3ð ‡�×Ñ˜˜rŸxšx›z¨2¯:ª:«<Ð8Ó9ñ&ó :ð&ð ‡�×Ñ˜˜rŸ}š}›°·²Ó0AÐBÓCñ&ó Dñ&r   