Ë
    D^(h  ã                   ó~   — d Z ddlZddgZ ej                  d¬«      d„ «       Z ej                  d¬«      d	d„«       Zy)
zUnary operations on graphsé    NÚ
complementÚreverseT)Úreturns_graphc                 óš   ‡ — ‰ j                  «       }|j                  ‰ «       |j                  ˆ fd„‰ j                  «       D «       «       |S )ar  Returns the graph complement of G.

    Parameters
    ----------
    G : graph
       A NetworkX graph

    Returns
    -------
    GC : A new graph.

    Notes
    -----
    Note that `complement` does not create self-loops and also
    does not produce parallel edges for MultiGraphs.

    Graph, node, and edge data are not propagated to the new graph.

    Examples
    --------
    >>> G = nx.Graph([(1, 2), (1, 3), (2, 3), (3, 4), (3, 5)])
    >>> G_complement = nx.complement(G)
    >>> G_complement.edges()  # This shows the edges of the complemented graph
    EdgeView([(1, 4), (1, 5), (2, 4), (2, 5), (4, 5)])

    c              3   óP   •K  — | ]  \  }}‰D ]  }||vsŒ||k7  sŒ||f–— Œ Œ y ­w)N© )Ú.0ÚnÚnbrsÚn2ÚGs       €úa/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/networkx/algorithms/operators/unary.pyú	<genexpr>zcomplement.<locals>.<genexpr>'   s2   øè ø€ ÒW‘W�Q˜¸ÒW°"¸RÀtº^ÈqÐTVËwˆ!ˆRŒÐWˆÑWùs   ƒ&•&›&)Ú	__class__Úadd_nodes_fromÚadd_edges_fromÚ	adjacency)r   ÚRs   ` r   r   r      sA   ø€ ð8 	
�‰‹€AØ×Ñ�QÔØ×ÑÛW §¡£ÔWôð €Hó    c                 óp   — | j                  «       st        j                  d«      ‚| j                  |¬«      S )aa  Returns the reverse directed graph of G.

    Parameters
    ----------
    G : directed graph
        A NetworkX directed graph
    copy : bool
        If True, then a new graph is returned. If False, then the graph is
        reversed in place.

    Returns
    -------
    H : directed graph
        The reversed G.

    Raises
    ------
    NetworkXError
        If graph is undirected.

    Examples
    --------
    >>> G = nx.DiGraph([(1, 2), (1, 3), (2, 3), (3, 4), (3, 5)])
    >>> G_reversed = nx.reverse(G)
    >>> G_reversed.edges()
    OutEdgeView([(2, 1), (3, 1), (3, 2), (4, 3), (5, 3)])

    z#Cannot reverse an undirected graph.)Úcopy)Úis_directedÚnxÚNetworkXErrorr   )r   r   s     r   r   r   ,   s0   € ð< �=‰=Œ?Ü×ÑÐDÓEÐEà�y‰y˜dˆyÓ#Ð#r   )T)Ú__doc__Únetworkxr   Ú__all__Ú_dispatchabler   r   r   r   r   ú<module>r      sX   ðÙ  ã à˜Ð
#€ð €×Ñ Ô%ñ ó &ð ðF €×Ñ Ô%ò $ó &ñ $r   