Ë
    f^(h  ã                   ó¦   — d dl mZ ddlmZ ddlmZ  e«       ZeZ G d„ d«      Zd„ Z	d„ Z
 ee«      d	„ «       Ze  ee«      d
„ «       Zed„ «       Zy)é    )Úcontextmanageré   )Údispatch)Úhashablec                   ó0   — e Zd ZdZdZd„ Zd„ ZeZd„ Zd„ Z	y)ÚVarzLogic Variabler   c                 óÚ   — t        |«      dk(  r-dt        j                  › �}t        xj                  dz  c_        nt        |«      dk(  r|d   }t        j	                  | «      }||_        |S )Nr   Ú_r   )Úlenr   Ú_idÚobjectÚ__new__Útoken)Úclsr   Úobjs      úh/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/fx/experimental/unification/variable.pyr   zVar.__new__   sW   € Üˆu‹:˜Š?ØœŸ™�y�MˆEÜ�GŠG�q‰LŽGÜ�‹Z˜1Š_Ø˜!‘HˆEä�n‰n˜SÓ!ˆØˆŒ	Øˆ
ó    c                 ó2   — dt        | j                  «      z   S )Nú~)Ústrr   ©Úselfs    r   Ú__str__zVar.__str__   s   € Ø”S˜Ÿ™“_Ñ$Ð$r   c                 óf   — t        | «      t        |«      k(  xr | j                  |j                  k(  S ©N)Útyper   )r   Úothers     r   Ú__eq__z
Var.__eq__!   s'   € Ü�D‹zœT %›[Ñ(ÒF¨T¯Z©Z¸5¿;¹;Ñ-FÐFr   c                 óB   — t        t        | «      | j                  f«      S r   )Úhashr   r   r   s    r   Ú__hash__zVar.__hash__$   s   € Ü”T˜$“Z §¡Ð,Ó-Ð-r   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__repr__r   r!   © r   r   r   r      s&   „ Ùà
€Cò	ò%ð €HòGó.r   r   c                  ó   — d„ S )Nc                  ó   — t        | Ž S r   )r   )Úargss    r   ú<lambda>zvar.<locals>.<lambda>)   s
   € œ˜d˜€ r   r'   r'   r   r   Úvarr,   (   s   € Ù#Ð#r   c                  ó   — d„ S )Nc                 óN   — t        | «      D �cg c]  }t        «       ‘Œ c}S c c}w r   )Úranger,   )ÚnÚis     r   r+   zvars.<locals>.<lambda>-   s   € ¤U¨1£XÖ. ”c•eÒ.€ ùÒ.s   Ž"r'   r'   r   r   Úvarsr2   ,   s   € Ù.Ð.r   c                  ó   — y)NTr'   )Úvs    r   Úisvarr5   0   s   € àr   c                 ó@   — t           xr t        | «      xr | t         v S r   )Ú_glvr   )Úos    r   r5   r5   8   s   € äˆxˆ<Ò5œH Q›KÒ5¨A´¨IÐ5r   c               '   ó(  K  — t         j                  «       }t         j                  t        | «      «       	 d–— t         j	                  «        t         j                  |«       y# t         j	                  «        t         j                  |«       w xY w­w)a  
    Context manager for logic variables

    Example:
        >>> # xdoctest: +SKIP("undefined vars")
        >>> from __future__ import with_statement
        >>> with variables(1):
        ...     print(isvar(1))
        True
        >>> print(isvar(1))
        False
        >>> # Normal approach
        >>> from unification import unify
        >>> x = var("x")
        >>> unify(x, 1)
        {~x: 1}
        >>> # Context Manager approach
        >>> with variables("x"):
        ...     print(unify("x", 1))
        {'x': 1}
    N)Ú_global_logic_variablesÚcopyÚupdateÚsetÚclear)Ú	variablesÚold_global_logic_variabless     r   r?   r?   =   sk   è ø€ ô. "9×!=Ñ!=Ó!?ÐÜ×"Ñ"¤3 y£>Ô2ðCÛä×%Ñ%Ô'Ü×&Ñ&Ð'AÕBøô 	 ×%Ñ%Ô'Ü×&Ñ&Ð'AÕBüs   ‚3B¶A$ º*BÁ$+BÂBN)Ú
contextlibr   r   Úutilsr   r=   r:   r7   r   r,   r2   r5   r   r?   r'   r   r   ú<module>rC      s}   ðå %å Ý ñ ›%Ð Ø€÷.ñ .ò8$ò/ñ 
ˆ#ƒñó ðñ ñ 
ˆ&Óñ6ó ð6ð ñCó ñCr   