
    Ri                     "     G d  de           ZdS )c                   ^     e Zd Z fdZd Zd Zd Zd Z fdZ fdZ	 fdZ
 fd	Z xZS )
	AliasDictc                 V     t          t          |           j        |i | i | _        d S N)superr   __init__aliases)selfargskwargs	__class__s      X/srv/django_bis/venv311/lib/python3.11/site-packages/invoke/vendor/lexicon/alias_dict.pyr   zAliasDict.__init__   s0    'i'8888    c                     || j         |<   d S r   r   )r	   from_tos      r   aliaszAliasDict.alias   s     Ur   c                     | j         |= d S r   r   )r	   r   s     r   unaliaszAliasDict.unalias	   s    Lr   c                     g }| j         v r"| j                  |                               |                    fd| j                                         D                        |S )a4  
        Returns other names for given real key or alias ``name``.

        If given a real key, returns its aliases.

        If given an alias, returns the real key it points to, plus any other
        aliases of that real key. (The given alias itself is not included in
        the return value.)
        c                 2    g | ]\  }}|k    |k    |S  r   ).0kvkeynames      r   
<listcomp>z(AliasDict.aliases_of.<locals>.<listcomp>!   s*    JJJ41a188T		Q			r   )r   appendextenditems)r	   r   namesr   s    ` @r   
aliases_ofzAliasDict.aliases_of   s      4<,t$CLL 	JJJJJ4<--//JJJ	
 	
 	
 r   c                     |t          | di           v rR| j        |         }t          |t                    r || ||          S |r || ||          S |D ]} || ||           d S  || ||          S )Nr   )getattrr   
isinstancestr)r	   r   valuesinglemulti	unaliasedtargetsubkeys           r   _handlezAliasDict._handle%   s    '$	2....\#&F&#&& 4vdFE222  4 5vu555"( 4 4tVU33334 4 9T3...r   c                 F    d }fd}|                      |||d |          S )Nc                     || |<   d S r   r   dr,   r(   s      r   r)   z%AliasDict.__setitem__.<locals>.single7   s    AfIIIr   c                 Z    t          t          |                               ||           d S r   )r   r   __setitem__r2   r   r(   r   s      r   r+   z(AliasDict.__setitem__.<locals>.unaliased:   s)    )Q++C77777r   r.   )r	   r   r(   r)   r+   r   s        r   r4   zAliasDict.__setitem__6   sG    	 	 		8 	8 	8 	8 	8 ||Ci@@@r   c                 L    d }fd}d }|                      |d |||          S )Nc                     | |         S r   r   r1   s      r   r)   z%AliasDict.__getitem__.<locals>.single@   s    V9r   c                 T    t          t          |                               |          S r   )r   r   __getitem__r5   s      r   r+   z(AliasDict.__getitem__.<locals>.unaliasedC   !    A&&223777r   c                 $    d}t          |          )NzBMulti-target aliases have no well-defined value and can't be read.)
ValueError)r2   r,   r(   msgs       r   r*   z$AliasDict.__getitem__.<locals>.multiF   s    VCS//!r   r6   )r	   r   r)   r+   r*   r   s        r   r:   zAliasDict.__getitem__?   sV    	 	 		8 	8 	8 	8 	8	" 	" 	" ||Cvui@@@r   c                 V     d } fd}fd}                      d |||          S )Nc                 
    || v S r   r   r1   s      r   r)   z&AliasDict.__contains__.<locals>.singleM   s    Q;r   c                 P    t          fdj                 D                       S )Nc              3       K   | ]}|v V  	d S r   r   )r   r-   r	   s     r   	<genexpr>z8AliasDict.__contains__.<locals>.multi.<locals>.<genexpr>Q   s'      FF&v~FFFFFFr   )allr   )r2   r,   r(   r   r	   s      r   r*   z%AliasDict.__contains__.<locals>.multiP   s-    FFFFDL4EFFFFFFr   c                 T    t          t          |                               |          S r   )r   r   __contains__r5   s      r   r+   z)AliasDict.__contains__.<locals>.unaliasedS   s!    A&&33C888r   r6   )r	   r   r)   r*   r+   r   s   ``   r   rF   zAliasDict.__contains__L   sm    	 	 		G 	G 	G 	G 	G 	G	9 	9 	9 	9 	9 ||Cvui@@@r   c                 F    d }fd}|                      |d |d |          S )Nc                     | |= d S r   r   r1   s      r   r)   z%AliasDict.__delitem__.<locals>.singleY   s    &			r   c                 T    t          t          |                               |          S r   )r   r   __delitem__r5   s      r   r+   z(AliasDict.__delitem__.<locals>.unaliased\   r;   r   r6   )r	   r   r)   r+   r   s       r   rJ   zAliasDict.__delitem__X   sG    	 	 		8 	8 	8 	8 	8 ||CvtY???r   )__name__
__module____qualname__r   r   r   r#   r.   r4   r:   rF   rJ   __classcell__)r   s   @r   r   r      s            ! ! !       2/ / /"A A A A AA A A A A
A 
A 
A 
A 
A@ @ @ @ @ @ @ @ @r   r   N)dictr   r   r   r   <module>rP      sM   ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@ ^@r   