Ë
    D^(h^  ã                   ó.  — d dl Z d dlZd dlZd dlmZmZ ej                  j                  dej                  ej                  f«      d„ «       Zej                  j                  dg d¢g d¢g d¢g d	¢f«      d
„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)é    N)Úarbitrary_elementÚgraphs_equalÚprefix_tree_fnc                 ó.  ‡— g d¢} | |«      Šd\  }}ˆfd„}t        ‰|   |¬«      \  }}}t        ‰|   «      dk(  sJ ‚t        ‰|   «      }t        ‰|   «      dk(  sJ ‚t        ‰|   «      dk(  sJ ‚t        ‰|   |¬«      \  }}	t        ‰|   «      dk(  sJ ‚t        ‰|	   «      dk(  sJ ‚t        ‰|	   |¬«      \  }}
t        ‰|   «      dk(  sJ ‚t        ‰|
   «      dk(  sJ ‚t        ‰|
   «      }t        ‰|   «      dk(  sJ ‚t        ‰|   |¬«      \  }}t        ‰|   «      dk(  sJ ‚t        ‰|   «      }t        ‰|   «      dk(  sJ ‚t        ‰|   |¬«      \  }}}t        ‰|   «      dk(  sJ ‚t        ‰|   «      dk(  sJ ‚t        ‰|   «      dk(  sJ ‚t        ‰|   «      }t        ‰|   «      dk(  sJ ‚t        ‰|   «      }t        ‰|   «      dk(  sJ ‚t        ‰|   «      }t        ‰|   «      dk(  sJ ‚ ||«      �J ‚ ||«      dk(  sJ ‚ ||«      d	k(  sJ ‚ ||«      d
k(  sJ ‚ ||	«      dk(  sJ ‚ ||
«      dk(  sJ ‚ ||«      dk(  sJ ‚ ||«      dk(  sJ ‚ ||«      dk(  sJ ‚ ||«      dk(  sJ ‚ ||«      dk(  sJ ‚ ||«      dk(  sJ ‚y )N©ÚaÚtoÚteaÚtedÚtenÚiÚinÚinn)r   éÿÿÿÿc                 ó(   •— ‰j                   |    d   S )NÚsource)Únodes)ÚvÚTs    €úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/networkx/generators/tests/test_trees.pyÚsource_labelz,test_basic_prefix_tree.<locals>.source_label   s   ø€ Ø�w‰w�q‰z˜(Ñ#Ð#ó    )Úkeyé   r   é   r   r   ÚtÚnÚoÚeÚdÚNIL)ÚsortedÚlenr   )r   ÚstringsÚrootr!   r   r   r   r   ÚnilÚin_r   Úter	   r
   r   r   r   s                   @r   Útest_basic_prefix_treer)   	   s  ø€ ò A€GÙ�wÓ€AØ�I€Dˆ#ô$ô �Q�t‘W ,Ô/�G€A€qˆ!äˆq�‰t‹9˜Š>Ðˆ>Ü
˜A˜a™DÓ
!€CÜˆq�‰v‹;˜!ÒÐÐäˆq�‰t‹9˜Š>Ðˆ>Ü�a˜‘d Ô-�H€CˆÜˆq�‰v‹;˜!ÒÐÐÜˆq�‰v‹;˜!ÒÐÐÜ�a˜‘f ,Ô/�H€CˆÜˆq�‰v‹;˜!ÒÐÐÜˆq�‰v‹;˜!ÒÐÐÜ
˜A˜c™FÓ
#€CÜˆq�‰v‹;˜!ÒÐÐä�A�a‘D˜lÔ+�F€BˆÜˆq�‰u‹:˜Š?Ðˆ?Ü
˜A˜b™EÓ
"€CÜˆq�‰v‹;˜!ÒÐÐÜ˜1˜R™5 lÔ3�M€CˆˆcÜˆq�‰v‹;˜!ÒÐÐÜˆq�‰v‹;˜!ÒÐÐÜˆq�‰v‹;˜!ÒÐÐÜ
˜A˜c™FÓ
#€CÜˆq�‰v‹;˜!ÒÐÐÜ
˜A˜c™FÓ
#€CÜˆq�‰v‹;˜!ÒÐÐÜ
˜A˜c™FÓ
#€CÜˆq�‰v‹;˜!ÒÐÐñ
 ˜ÓÐ%Ð%Ð%Ù˜‹?˜cÒ!Ð!Ð!Ù˜‹?˜cÒ!Ð!Ð!Ù˜‹?˜cÒ!Ð!Ð!Ù˜Ó Ò#Ð#Ð#Ù˜Ó Ò#Ð#Ð#Ù˜Ó˜sÒ"Ð"Ð"Ù˜Ó˜sÒ"Ð"Ð"Ù˜Ó Ò#Ð#Ð#Ù˜Ó Ò#Ð#Ð#Ù˜Ó Ò#Ð#Ð#Ù˜Ó Ò%Ð%Ñ%r   r$   r   )ÚabÚabsÚad)r*   r+   r,   Ú )ÚdistantÚdisparagingr.   ÚdiamondÚrubyc                 ól   — t        t        j                  | «      t        j                  | «      «      sJ ‚y)zBEnsure results are consistent between prefix_tree implementations.N)r   ÚnxÚprefix_treeÚprefix_tree_recursive)r$   s    r   Útest_implementations_consistentr6   I   s(   € ô œŸ™ wÓ/´×1IÑ1IÈ'Ó1RÔSÐSÑSr   c                  óH  — t        dd«      D ]“  } t        j                  | d¬«      }t        j                  | d¬«      }t        j                  j                  j                  ||«      sJ ‚t        j                  |«      sJ ‚d|j                  v sJ ‚d|j                  vrŒ“J ‚ y ©Nr   é
   é*   ©Úseedr%   Úroots)Úranger3   Úrandom_labeled_rooted_treeÚutilsÚmiscr   Úis_treeÚgraph)r   Út1Út2s      r   Útest_random_labeled_rooted_treerF   W   s�   € Ü�1�b‹\ò 'ˆÜ×*Ñ*¨1°2Ô6ˆÜ×*Ñ*¨1°2Ô6ˆÜ�x‰x�}‰}×)Ñ)¨"¨bÔ1Ð1Ð1Ü�z‰z˜"Œ~Ðˆ~Ø˜Ÿ™Ñ!Ð!Ð!Ø˜bŸh™hÒ&Ð&Ð&ñ'r   c                  ó@  — t        j                  t        j                  «      5  t        j                  dd¬«      } ddd«       t        j                  t        j                  «      5  t        j
                  dd¬«      } ddd«       y# 1 sw Y   ŒMxY w# 1 sw Y   yxY w©zETests if n = 0 then the NetworkXPointlessConcept exception is raised.r   éÒ  r;   N)ÚpytestÚraisesr3   ÚNetworkXPointlessConceptÚrandom_labeled_treer?   ©r   s    r   Útest_random_labeled_tree_n_zerorO   a   sy   € ä	�‰”r×2Ñ2Ó	3ñ 1Ü×"Ñ" 1¨4Ô0ˆ÷1ä	�‰”r×2Ñ2Ó	3ñ 8Ü×)Ñ)¨!°$Ô7ˆ÷8ð 8÷1ð 1ú÷8ð 8úó   ¤BÁ'BÂBÂBc                  óš  — t        dd«      D ]¼  } t        j                  | d¬«      }t        j                  | d¬«      }t        j                  j                  j                  ||«      sJ ‚t        j                  |«      D ](  }t        j                  |j                  |«      «      rŒ(J ‚ d|j                  vsJ ‚d|j                  v rŒ¼J ‚ y r8   )
r>   r3   Úrandom_labeled_rooted_forestr@   rA   r   Úconnected_componentsrB   ÚsubgraphrC   )r   rD   rE   Úcs       r   Ú!test_random_labeled_rooted_forestrV   i   s±   € Ü�1�b‹\ò #ˆÜ×,Ñ,¨Q°RÔ8ˆÜ×,Ñ,¨Q°RÔ8ˆÜ�x‰x�}‰}×)Ñ)¨"¨bÔ1Ð1Ð1Ü×(Ñ(¨Ó,ò 	.ˆAÜ—:‘:˜bŸk™k¨!›nÕ-Ð-Ð-ð	.à˜RŸX™XÑ%Ð%Ð%Ø˜"Ÿ(™(Ò"Ð"Ð"ñ#r   c                  óŒ   — t        j                  dd¬«      } t        | «      dk(  sJ ‚t        | j                  d   «      dk(  sJ ‚y)z*Tests generation of empty labeled forests.r   rI   r;   r=   N)r3   rR   r#   rC   ©ÚFs    r   Ú(test_random_labeled_rooted_forest_n_zerorZ   t   s@   € ä
×'Ñ'¨°Ô5€AÜˆq‹6�QŠ;Ðˆ;Üˆq�w‰w�wÑÓ  AÒ%Ð%Ñ%r   c                  óÞ  — t        dd«      D ]“  } t        j                  | d¬«      }t        j                  | d¬«      }t        j                  j                  j                  ||«      sJ ‚t        j                  |«      sJ ‚d|j                  v sJ ‚d|j                  vrŒ“J ‚ t        j                  ddd¬	«      }t        j                  d«       t        j                  ddt        ¬	«      }t        d«      D ]t  } t        j                  j                  j                  ||    ||    «      sJ ‚t        j                  ||    «      sJ ‚d||    j                  v sJ ‚d||    j                  vrŒtJ ‚ y )
Nr   r9   r:   r;   r%   r=   é   é+   ©Únumber_of_treesr<   )
r>   r3   Úrandom_unlabeled_rooted_treer@   rA   r   rB   rC   Úrandomr<   ©r   rD   rE   r   Úss        r   Ú!test_random_unlabeled_rooted_treerd   {   s=  € Ü�1�b‹\ò 'ˆÜ×,Ñ,¨Q°RÔ8ˆÜ×,Ñ,¨Q°RÔ8ˆÜ�x‰x�}‰}×)Ñ)¨"¨bÔ1Ð1Ð1Ü�z‰z˜"Œ~Ðˆ~Ø˜Ÿ™Ñ!Ð!Ð!Ø˜bŸh™hÒ&Ð&Ð&ð'ô 	×'Ñ'¨¸BÀRÔH€AÜ
‡K�K�„OÜ
×'Ñ'¨¸BÄVÔL€AÜ�2‹Yò )ˆÜ�x‰x�}‰}×)Ñ)¨!¨A©$°°!±Ô5Ð5Ð5Ü�z‰z˜!˜A™$ÔÐÐØ˜˜1™Ÿ™Ñ#Ð#Ð#Ø˜a ™dŸj™jÒ(Ð(Ð(ñ	)r   c                  ó@  — t        j                  t        j                  «      5  t        j                  dd¬«      } ddd«       t        j                  t        j                  «      5  t        j
                  dd¬«      } ddd«       y# 1 sw Y   ŒMxY w# 1 sw Y   yxY wrH   )rJ   rK   r3   rL   Úrandom_unlabeled_treer`   rN   s    r   Ú!test_random_unlabeled_tree_n_zerorg   �   sy   € ä	�‰”r×2Ñ2Ó	3ñ 3Ü×$Ñ$ Q¨TÔ2ˆ÷3ä	�‰”r×2Ñ2Ó	3ñ :Ü×+Ñ+¨A°DÔ9ˆ÷:ð :÷3ð 3ú÷:ð :úrP   c                  ób  — t        j                  t        «      5  t        j                  ddd¬«       d d d «       t        dd«      D ]â  } t        d| dz   «      D ]Î  }t        j                  | |d¬«      }t        j                  | |d¬«      }t        j                  j                  j                  ||«      sJ ‚t        j                  |«      D ]8  }t        j                  |j                  |«      «      sJ ‚t        |«      |k  rŒ8J ‚ d|j                  vsJ ‚d|j                  v rŒÎJ ‚ Œä t        j                  ddd	¬
«      }t        j                  d	«       t        j                  ddt        ¬
«      }t        d«      D ]   } t        j                  j                  j                  ||    ||    «      sJ ‚t        j                  ||    «      D ]+  }t        j                  ||    j                  |«      «      rŒ+J ‚ d||    j                  vsJ ‚d||    j                  v rŒ J ‚ y # 1 sw Y   �ŒóxY w)Nr9   r   r:   )Úqr<   r   r%   r=   r\   r]   )Únumber_of_forestsr<   )rJ   rK   Ú
ValueErrorr3   Úrandom_unlabeled_rooted_forestr>   r@   rA   r   rS   rB   rT   r#   rC   ra   r<   )r   ri   rD   rE   rU   r   rc   s          r   Ú#test_random_unlabeled_rooted_forestrm   •   sê  € Ü	�‰”zÓ	"ñ <Ü
×)Ñ)¨"°¸Õ;÷<ä�1�b‹\ò 	'ˆÜ�q˜!˜a™%“ò 	'ˆAÜ×2Ñ2°1¸ÀÔCˆBÜ×2Ñ2°1¸ÀÔCˆBÜ—8‘8—=‘=×-Ñ-¨b°"Ô5Ð5Ð5Ü×,Ñ,¨RÓ0ò #�Ü—z‘z "§+¡+¨a£.Ô1Ð1Ð1Ü˜1“v “{Ð"�{ð#ð  §¡Ñ)Ð)Ð)Ø˜bŸh™hÒ&Ð&Ð&ñ	'ð	'ô 	×)Ñ)¨"ÀÈÔL€AÜ
‡K�K�„OÜ
×)Ñ)¨"ÀÌÔP€AÜ�2‹Yò %ˆÜ�x‰x�}‰}×)Ñ)¨!¨A©$°°!±Ô5Ð5Ð5Ü×(Ñ(¨¨1©Ó.ò 	0ˆAÜ—:‘:˜a ™dŸm™m¨AÓ.Õ/Ð/Ð/ð	0à˜Q˜q™TŸZ™ZÑ'Ð'Ð'Ø˜!˜A™$Ÿ*™*Ò$Ð$Ð$ñ%÷<ñ <ús   šH$È$H.c                  óŒ   — t        j                  dd¬«      } t        | «      dk(  sJ ‚t        | j                  d   «      dk(  sJ ‚y)z,Tests generation of empty unlabeled forests.r   rI   r;   r=   N)r3   rl   r#   rC   rX   s    r   Ú#test_random_unlabeled_forest_n_zeroro   ­   s@   € ä
×)Ñ)¨!°$Ô7€AÜˆq‹6�QŠ;Ðˆ;Üˆq�w‰w�wÑÓ  AÒ%Ð%Ñ%r   c                  óÞ  — t        dd«      D ]“  } t        j                  | d¬«      }t        j                  | d¬«      }t        j                  j                  j                  ||«      sJ ‚t        j                  |«      sJ ‚d|j                  vsJ ‚d|j                  vrŒ“J ‚ t        j                  ddd¬«      }t        j                  d«       t        j                  ddt        ¬«      }t        d«      D ]t  } t        j                  j                  j                  ||    ||    «      sJ ‚t        j                  ||    «      sJ ‚d||    j                  vsJ ‚d||    j                  vrŒtJ ‚ y )	Nr   r9   r:   r;   r%   r=   r]   r^   )
r>   r3   rf   r@   rA   r   rB   rC   ra   r<   rb   s        r   Útest_random_unlabeled_treerq   ´   s=  € Ü�1�b‹\ò 'ˆÜ×%Ñ% a¨bÔ1ˆÜ×%Ñ% a¨bÔ1ˆÜ�x‰x�}‰}×)Ñ)¨"¨bÔ1Ð1Ð1Ü�z‰z˜"Œ~Ðˆ~Ø˜RŸX™XÑ%Ð%Ð%Ø˜bŸh™hÒ&Ð&Ð&ð'ô 	× Ñ  °R¸bÔA€AÜ
‡K�K�„OÜ
× Ñ  °R¼fÔE€AÜ�2‹Yò )ˆÜ�x‰x�}‰}×)Ñ)¨!¨A©$°°!±Ô5Ð5Ð5Ü�z‰z˜!˜A™$ÔÐÐØ˜Q˜q™TŸZ™ZÑ'Ð'Ð'Ø˜a ™dŸj™jÒ(Ð(Ð(ñ	)r   )ra   rJ   Únetworkxr3   Únetworkx.utilsr   r   ÚmarkÚparametrizer4   r5   r)   r6   rF   rO   rV   rZ   rd   rg   rm   ro   rq   © r   r   ú<module>rw      s®   ðÛ ã ã ß :ð ‡�×ÑÐ)¨B¯N©N¸B×<TÑ<TÐ+UÓVñ<&ó Wð<&ð~ ‡�×ÑØâ:ÚÚÚ@ð	óñTóðTò
'ò8ò#ò&ò)ò$:ò%ò0&ó)r   