§
    �Ÿj.  ã                   ó:   — d Z ddlZddlmZ  G d„ de¦  «        ZdS )z>String dispatch class to match regexps and dispatch commands.
é    N)ÚCommandChainDispatcherc                   ó@   — e Zd ZdZd„ Zdd„Zdd„Zd„ Zd„ Zd„ Z	d	„ Z
d
S )ÚStrDispatcha  Dispatch (lookup) a set of strings / regexps for match.

    Example:

    >>> dis = StrDispatch()
    >>> dis.add_s('hei',34, priority = 4)
    >>> dis.add_s('hei',123, priority = 2)
    >>> dis.add_re('h.i', 686)
    >>> print(list(dis.flat_matches('hei')))
    [123, 34, 686]
    c                 ó"   — i | _         i | _        d S )N©ÚstrsÚregexs©Úselfs    úf/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/IPython/utils/strdispatch.pyÚ__init__zStrDispatch.__init__   s   € ØˆŒ	ØˆŒˆˆó    r   c                 ó”   — | j                              |t          ¦   «         ¦  «        }|                     ||¦  «         || j         |<   dS )z( Adds a target 'string' for dispatching N)r   Úgetr   Úadd)r   ÚsÚobjÚpriorityÚchains        r   Úadd_szStrDispatch.add_s   sC   € ð ”	—’˜aÕ!7Ñ!9Ô!9Ñ:Ô:ˆØ�	Š	�#�hÑÔÐØˆŒ	�!‰ˆˆr   c                 ó”   — | j                              |t          ¦   «         ¦  «        }|                     ||¦  «         || j         |<   dS )z& Adds a target regexp for dispatching N)r	   r   r   r   )r   Úregexr   r   r   s        r   Úadd_rezStrDispatch.add_re#   sF   € ð ”—’ Õ'=Ñ'?Ô'?Ñ@Ô@ˆØ�	Š	�#�hÑÔÐØ"ˆŒ�EÑÐÐr   c              #   ó¬   K  — || j         v r| j         |         V — | j                             ¦   «         D ]\  }}t          j        ||¦  «        r|V — ŒŒ dS )z2 Get a seq of Commandchain objects that match key N)r   r	   ÚitemsÚreÚmatch)r   ÚkeyÚrr   s       r   ÚdispatchzStrDispatch.dispatch*   st   è è € à�$”)ÐÐØ”)˜C”.Ð Ð Ð à”k×'Ò'Ñ)Ô)ð 	ð 	‰FˆAˆsÝŒx˜˜3ÑÔð Ø�	�	�	�	ð ð	ð 	r   c                 ó(   — d| j         ›d| j        ›d�S )Nz<Strdispatch z, ú>r   r
   s    r   Ú__repr__zStrDispatch.__repr__6   s   € € Ø)-¬¨¨°D´K°K°KÐ@Ð@r   c              #   óT   K  — || j         vrd S | j         |         D ]}|d         V — Œd S )Né   )r   )r   r   Úels      r   Ú	s_matcheszStrDispatch.s_matches9   sF   è è € Ø�d”iÐÐØˆVØ”)˜C”.ð 	ð 	ˆBØ�Q”%ˆKˆKˆKˆKð	ð 	r   c              #   óX   K  — |                       |¦  «        D ]}|D ]}|d         V — ŒŒdS )z- Yield all 'value' targets, without priority r%   N)r    )r   r   Úvalr&   s       r   Úflat_matcheszStrDispatch.flat_matches?   sI   è è € à—=’= Ñ%Ô%ð 	ð 	ˆCØð ð �Ø˜”e����ðàˆr   N)r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r    r#   r'   r*   © r   r   r   r      s”   € € € € € ð
ð 
ðð ð ðð ð ð ð#ð #ð #ð #ð
ð 
ð 
ðAð Að Aðð ð ðð ð ð ð r   r   )r.   r   ÚIPython.core.hooksr   Úobjectr   r/   r   r   ú<module>r2      sb   ððð ð 
€	€	€	ð 6Ð 5Ð 5Ð 5Ð 5Ð 5ð9ð 9ð 9ð 9ð 9�&ñ 9ô 9ð 9ð 9ð 9r   