Ë
    çÍ:j0  ã                   óŒ   — d dl Z d dlZi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“Z G d„ d«      Zy)é    Nzi amzyou arezi waszyou wereÚiÚyouzi'mzi'dz	you wouldzi'vezyou havezi'llzyou willÚmyÚyourzI amzI waszyou'vezI havezyou'llzI willÚyoursÚmineÚmec                   ó6   — e Zd Zi fd„Zd„ Zd„ Zd„ Zd„ Zdd„Zy)	ÚChatc                 óÄ   — |D ��cg c]+  \  }}t        j                  |t         j                  «      |f‘Œ- c}}| _        || _        | j                  «       | _        yc c}}w )aÃ  
        Initialize the chatbot.  Pairs is a list of patterns and responses.  Each
        pattern is a regular expression matching the user's statement or question,
        e.g. r'I like (.*)'.  For each such pattern a list of possible responses
        is given, e.g. ['Why do you like %1', 'Did you ever dislike %1'].  Material
        which is matched by parenthesized sections of the patterns (e.g. .*) is mapped to
        the numbered positions in the responses, e.g. %1.

        :type pairs: list of tuple
        :param pairs: The patterns and responses
        :type reflections: dict
        :param reflections: A mapping between first and second person expressions
        :rtype: None
        N)ÚreÚcompileÚ
IGNORECASEÚ_pairsÚ_reflectionsÚ_compile_reflectionsÚ_regex)ÚselfÚpairsÚreflectionsÚxÚys        úc/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/nltk/chat/util.pyÚ__init__zChat.__init__#   sN   € ð  HM×M¹V¸aÀœŸ
™
 1¤b§m¡mÓ4°aÒ8ÓMˆŒØ'ˆÔØ×/Ñ/Ó1ˆ�ùó Ns   †0Ac           
      óî   — t        | j                  t        d¬«      }t        j                  dj                  dj                  t        t        j                  |«      «      «      t        j                  «      S )NT)ÚkeyÚreversez\b({})\bú|)
Úsortedr   Úlenr   r   ÚformatÚjoinÚmapÚescaper   )r   Úsorted_refls     r   r   zChat._compile_reflections7   sO   € Ü˜T×.Ñ.´CÀÔFˆÜ�z‰zØ×Ñ˜sŸx™x¬¬B¯I©I°{Ó(CÓDÓEÄrÇ}Á}ó
ð 	
ó    c                 ó^   ‡ — ‰ j                   j                  ˆ fd„|j                  «       «      S )zÑ
        Substitute words in the string, according to the specified reflections,
        e.g. "I'm" -> "you are"

        :type str: str
        :param str: The string to be mapped
        :rtype: str
        c                 ót   •— ‰j                   | j                  | j                  «       | j                  «           S )N)r   ÚstringÚstartÚend)Úmor   s    €r   ú<lambda>z"Chat._substitute.<locals>.<lambda>H   s)   ø€ �t×(Ñ(¨¯©°2·8±8³:ÀÇÁÃÐ)IÑJ€ r&   )r   ÚsubÚlower)r   Ústrs   ` r   Ú_substitutezChat._substitute=   s%   ø€ ð �{‰{�‰ÛJÈCÏIÉIËKó
ð 	
r&   c                 óæ   — |j                  d«      }|dk\  rZt        ||dz   |dz    «      }|d | | j                  |j                  |«      «      z   ||dz   d  z   }|j                  d«      }|dk\  rŒZ|S )Nú%r   é   é   )ÚfindÚintr1   Úgroup)r   ÚresponseÚmatchÚposÚnums        r   Ú
_wildcardszChat._wildcardsK   s�   € Ø�m‰m˜CÓ ˆØ�QŠhÜ�h˜s Q™w¨¨q©Ð1Ó2ˆCà˜˜#�Ø×"Ñ" 5§;¡;¨sÓ#3Ó4ñ5à˜3 ™7˜9Ð%ñ&ð ð
 —-‘- Ó$ˆCð �Q‹hð ˆr&   c                 óè   — | j                   D ]c  \  }}|j                  |«      }|sŒt        j                  |«      }| j	                  ||«      }|dd dk(  r|dd dz   }|dd dk(  r|dd dz   }|c S  y)z�
        Generate a response to the user input.

        :type str: str
        :param str: The string to be mapped
        :rtype: str
        éþÿÿÿNz?.ú.z??ú?)r   r:   ÚrandomÚchoicer=   )r   r0   Úpatternr9   r:   Úresps         r   ÚrespondzChat.respondW   sŽ   € ð "&§¡ò 	ÑˆG�XØ—M‘M #Ó&ˆEò Ü—}‘} XÓ.�Ø—‘ t¨UÓ3�ð ˜˜�9 Ò$Ø  ˜9 s™?�DØ˜˜�9 Ò$Ø  ˜9 s™?�DØ’ñ	r&   c                 óÐ   — d}||k7  rE|}	 t        d«      }|r.|d   dv r|d d }|d   dv rŒt        | j                  |«      «       ||k7  rŒDy y # t        $ r t        |«       Y ŒNw xY w)NÚ ú>éÿÿÿÿz!.)ÚinputÚEOFErrorÚprintrF   )r   ÚquitÚ
user_inputs      r   ÚconversezChat.converseq   s€   € Øˆ
Ø˜DÒ ØˆJð"Ü" 3›Z�
ñ Ø  ‘n¨Ñ,Ø!+¨C¨R �Jð ! ‘n¨Ò,ä�d—l‘l :Ó.Ô/ð ˜DÕ øô ò "Ü�jÖ!ð"ús   ‹A ÁA%Á$A%N)rN   )	Ú__name__Ú
__module__Ú__qualname__r   r   r1   r=   rF   rP   © r&   r   r   r   "   s#   „ Ø*,ó 2ò(
ò
ò
òô40r&   r   )rB   r   r   r   rT   r&   r   ú<module>rU      sÜ   ðó Û 	ðØ
ˆIðàˆZðð ˆðð 
ˆ9ð	ð
 
ˆ;ðð ˆJðð ˆJðð 	ˆ&ðð ˆvðð �ðð ˆhðð ˆhðð ˆDðð ˆVðð 
ˆ4ðð  	ˆ%ð!€÷(Z0ò Z0r&   