
    hO                         S SK rS SK JrJrJrJrJr  S SKJr   " S S\5      r	 " S S\5      r
 " S S	\5      r " S
 S\5      r " S S\5      rS r " S S5      r\" 5       rg)    N)DiGraphGraphMultiDiGraph
MultiGraphPlanarEmbedding)NodeViewc                       \ rS rSrSrSrg)LoopbackGraph   nx_loopback N__name__
__module____qualname____firstlineno____networkx_backend____static_attributes__r       [/var/www/html/env/lib/python3.13/site-packages/networkx/classes/tests/dispatch_interface.pyr
   r
          (r   r
   c                       \ rS rSrSrSrg)LoopbackDiGraph   r   r   Nr   r   r   r   r   r      r   r   r   c                       \ rS rSrSrSrg)LoopbackMultiGraph   r   r   Nr   r   r   r   r   r      r   r   r   c                       \ rS rSrSrSrg)LoopbackMultiDiGraph   r   r   Nr   r   r   r   r   r      r   r   r   c                       \ rS rSrSrSrg)LoopbackPlanarEmbedding"   r   r   Nr   r   r   r   r"   r"   "   r   r   r"   c                 p   [        U [        5      (       a  [        U 5      $ [        U [        5      (       a  [	        U 5      $ [        U [
        5      (       a  [        U 5      $ [        U [        5      (       a  [        U 5      $ [        U [        5      (       a  [        U 5      $ [        S[        U 5       35      e)NzUnsupported type of graph: )
isinstancer   r"   r   r   r   r   r   r   r   r
   	TypeErrortype)graphs    r   convertr)   &   s    %))&u--%&&#E**%$$!%((%!!u%%%U##
1$u+?
@@r   c            	       l    \ rS rSrS r\SSSSSSSS.S j5       r\SS.S j5       r\S 5       rS	 r	S
r
g)LoopbackBackendInterface4   c                      [         R                  R                  R                  U   R                  $ ! [
         a    [        U5      S ef = fN)nxutilsbackends_registered_algorithms	orig_funcKeyErrorAttributeError)selfitems     r   __getattr__$LoopbackBackendInterface.__getattr__5   sD    	188$$;;DAKKK 	1 &D0	1s	   03 A
N)
edge_attrs
node_attrspreserve_edge_attrspreserve_node_attrspreserve_graph_attrsname
graph_namec          
        ^ ^^^^^^ US;   a  T $ [        T [        5      (       a6  [        5       nUR                  T R	                  5       5        Um [        5       mO[        T [        5      (       d  [        SU SU S[        T 5       35      eT R                  [        [
        1;   a  [        5       mOT R                  [        [        1;   a  [        5       mOT R                  [        [        1;   a  [        5       mOZT R                  [        [        1;   a  [        5       mO5T R                  [        [         1;   a  [        5       mOT R                  5       mU(       a%  TR"                  R%                  T R"                  5        TR                  T 5        U(       aC  TR&                  R	                  5        H$  u  mn	U	R%                  T R(                  T   5        M&     OUU(       aN  TR&                  R	                  5        H0  u  mn	U	R%                  U U4S jUR	                  5        5       5        M2     U(       a  U4S jmOT(       a  UU4S jmOU4S jmTR+                  5       (       a  UU4S	 jmOTmTR,                  mTR/                  5       (       a  T R,                  R	                  5        H2  u  mn
TT   R%                  U4S
 jU
R	                  5        5       5        M4     TR0                  nT R0                  R	                  5        H%  u  mn
UT   R%                  UU4S jU
 5       5        M'     T$ T R,                  R	                  5        H4  u  mn
TT   R%                  UUU4S jU
R	                  5        5       5        M6     T$ )N>   topological_sorttopological_generations lexicographical_topological_sortzBad type for graph argument z in z: c              3      >#    U  H?  u  pUc  UTR                   T   ;   d  M  UTR                   T   R                  X5      4v   MA     g 7fr.   )_nodeget).0attrdefaultr(   ns      r   	<genexpr>;LoopbackBackendInterface.convert_from_nx.<locals>.<genexpr>t   sI      );*dekk!n.D >T5;;q>--d<=);s
   A
'A
c                 &   > TR                  U 5      $ r.   edge_attr_dict_factoryold_ddGs    r   G_new_datadict@LoopbackBackendInterface.convert_from_nx.<locals>.G_new_datadict}   s    //77r   c                 X   >^  TR                  U 4S jTR                  5        5       5      $ )Nc              3   d   >#    U  H%  u  pUc  UT;   d  M  UTR                  X5      4v   M'     g 7fr.   )rG   )rH   rI   rJ   rR   s      r   rL   SLoopbackBackendInterface.convert_from_nx.<locals>.G_new_datadict.<locals>.<genexpr>   s6      0);*dfn 6T6::d45);s   00)rP   items)rR   rS   r:   s   `r   rT   rU      s,    // 0)3)9)9);0  r   c                 $   > TR                  5       $ r.   rO   rQ   s    r   rT   rU      s    //11r   c                 Z   > TR                  U4S jU R                  5        5       5      nU$ )Nc              3   <   >#    U  H  u  pUT" U5      4v   M     g 7fr.   r   )rH   kddrT   s      r   rL   PLoopbackBackendInterface.convert_from_nx.<locals>.G_new_inner.<locals>.<genexpr>   s       29HQr*+   )adjlist_inner_dict_factoryrY   )keydictkdrS   rT   s     r   G_new_inner=LoopbackBackendInterface.convert_from_nx.<locals>.G_new_inner   s-    11 29@2  	r   c              3   <   >#    U  H  u  pUT" U5      4v   M     g 7fr.   r   )rH   nbrr^   rd   s      r   rL   rM      s     Sl73k"o 6lr`   c              3   6   >#    U  H  oTU   T   4v   M     g 7fr.   r   )rH   rg   G_adjrK   s     r   rL   rM      s      F#uSz!}!5s   c              3   ^   >#    U  H"  u  pUTTU   ;   a  TU   T   OT" U5      4v   M$     g 7fr.   r   )rH   rg   r^   ri   rd   rK   s      r   rL   rM      s7       #/ 1c
?%*Q-BP#/s   *-)r%   r   r   add_nodes_fromrY   r
   r&   r'   	__class__r   r   r   r   r   r   r   r"   r(   updaterF   nodesis_multigraph_adjis_directed_pred)r(   r:   r;   r<   r=   r>   r?   r@   	new_graphr^   nbrsG_predrS   ri   rT   rd   rK   s   ``          @@@@@r   convert_from_nx(LoopbackBackendInterface.convert_from_nx;   s     
 
 LeX&&I$$U[[]3EAE5)).zl$tfBtE{mT  __ 66A__/ ::!A__-? @@"$A__/C DD$&A__2I JJ!A !AGGNN5;;' 	
2		%++a.) )2		 )3)9)9);  ) 82 ?? )K ==?? ::++-4aSdjjlSS . WWF ;;,,.4q	   F FF /  !::++-4a  #'::<   . r   )r?   c                    U $ r.   r   )objr?   s     r   convert_to_nx&LoopbackBackendInterface.convert_to_nx   s    
r   c                 <    U  H  n[        US5      (       a  M   e   g )N
add_markerhasattr)rY   r7   s     r   on_start_tests'LoopbackBackendInterface.on_start_tests   s!     D4.... r   c                     [        X5      $ r.   r~   )r6   r?   argskwargss       r   can_run LoopbackBackendInterface.can_run   s     t""r   r   )r   r   r   r   r8   staticmethodrv   rz   r   r   r   r   r   r   r+   r+   4   se    1    !k kZ #'   / /
#r   r+   )networkxr/   r   r   r   r   r   networkx.classes.reportviewsr   r
   r   r   r   r"   r)   r+   backend_interfacer   r   r   <module>r      sm     N N 1)E ))g )) ))< ))o )AB# B#J -. r   