
    q&f                     |   d dl Z ddlmZ d Zd Zd Zg Zej                  d  ed      D               ej                  d	  edd
      D               ej                  d       ded<   ded<   ded<   ded<   ded<   ded<   ded<   edd Z
de
d<   de
d<   ej                  d  edd       D               d! Zd"Zd# Zy)$    N   )pycompatc                 F    	 | j                  d       y# t        $ r Y yw xY w)NasciiTF)decodeUnicodeDecodeErrorss    ;/usr/lib/python3/dist-packages/mercurial/pure/charencode.py
isasciistrr      s(    	 s    	  c                 D    | j                  d       | j                         S )zhconvert a string to lowercase if ASCII

    Raises UnicodeDecodeError if non-ASCII characters are found.r   )r   lowerr	   s    r   
asciilowerr           HHW779    c                 D    | j                  d       | j                         S )zhconvert a string to uppercase if ASCII

    Raises UnicodeDecodeError if non-ASCII characters are found.r   )r   upperr	   s    r   
asciiupperr      r   r   c              #   &   K   | ]	  }d |z    yw)   \u%04xN .0xs     r   	<genexpr>r   '   s     21
Q2s       c              #   F   K   | ]  }t        j                  |        y wNr   bytechrr   s     r   r   r   (   s     <  #<   !   s   \u007fs   \t	   s   \n
   s   \""   s   \\\   s   \b   s   \f   s   \r   s   \u003c<   s   \u003e>   c              #   F   K   | ]  }t        j                  |        y wr   r   r   s     r   r   r   4   s     =  #=r!         c                     |rt         nt        	 dj                  fdt        |       D              S # t        $ r t
        w xY w)zConvert a UTF-8 byte string to JSON-escaped form (fast path)

    Raises ValueError if non-ASCII characters have to be escaped.
    r   c              3   (   K   | ]	  }|     y wr   r   r   r   jms     r   r   z#jsonescapeu8fast.<locals>.<genexpr>A   s     :!1:s   )_paranoidjsonmap_jsonmapjoin	bytearray
IndexError
ValueError)u8charsparanoidr2   s     @r   jsonescapeu8fastr;   7   sF    
 xx:y'9::: s	   "5 Asurrogatepassc                     |rt         nt        | j                  dt              j	                  dt              }t        j
                  d|      }|j                  d       dj                  fd|D              S )zConvert a UTF-8 byte string to JSON-escaped form (slow path)

    Escapes all non-ASCII characters no matter if paranoid is False.
    zutf-8zutf-16Hr   r   c              3   <   K   | ]  }|d k  r|   nd|z    yw)r-   r   Nr   r1   s     r   r   z'jsonescapeu8fallback.<locals>.<genexpr>V   s$     KQQWBqE*q.8Ks   )r3   r4   r   _utf8strictencodearraypopr5   )r9   r:   u16bu16codesr2   s       @r   jsonescapeu8fallbackrF   I   s_    
 >>';/66xMD{{3%HLLO88K(KKKr   )rB    r   r   r   r   r4   extendrangeappendr3   r;   r@   rF   r   r   r   <module>rK      s       2b	2 2 <U2s^< < 
 A; #  #   =U3_= = Lr   