
    Ng              	           U d Z dgZddlZddlmZmZ ddlZej        ej        ej	        ej
        ej        ej        ej        ej        ej        f	Zeeegef         df         ed<   dded	ed
efdZdS )z&An implementation of RFC4013 SASLprep.saslprep    N)CallableTuple._PROHIBITEDTdataprohibit_unassigned_code_pointsreturnc                    |rt           t          j        fz   }nt           }t          j        t          j        d                    fd| D                       } t          j                            d|           } t          j	        } || d                   r1 || d                   st          d          |t          j        fz   }n||fz   }| D ],t          fd|D                       rt          d          -| S )	a  An implementation of RFC4013 SASLprep.
    :param data:
        The string to SASLprep.
    :param prohibit_unassigned_code_points:
        RFC 3454 and RFCs for various SASL mechanisms distinguish between
        `queries` (unassigned code points allowed) and
        `stored strings` (unassigned code points prohibited). Defaults
        to ``True`` (unassigned code points are prohibited).
    :return: The SASLprep'ed version of `data`.
     c                 D    g | ]} |           |          rd n|S )  ).0eltin_table_b1in_table_c12s     N/var/www/html/ai-engine/env/lib/python3.11/site-packages/pdfminer/_saslprep.py
<listcomp>zsaslprep.<locals>.<listcomp>C   s<    XXXC{{SVGWGWX\\#&&	/CXXX    NFKCr   z$SASLprep: failed bidirectional checkc              3   .   K   | ]} |          V  d S )Nr   )r   in_tablechars     r   	<genexpr>zsaslprep.<locals>.<genexpr>\   s+      99(xx~~999999r   z+SASLprep: failed prohibited character check)r   
stringprepin_table_a1r   r   joinunicodedata	ucd_3_2_0	normalizein_table_d1
ValueErrorin_table_d2any)r   r   
prohibitedr"   r   r   r   s       @@@r   r   r   ,   s<    ' ! J$:#<<

 
 *L(K77XXXXX4XXX D  **6488D(K{47 1{48$$ 	E CDDD  :#9";;


  ;.0
  L L9999j99999 	LJKKK	L Kr   )T)__doc____all__r   typingr   r   r   r   in_table_c21_c22in_table_c3in_table_c4in_table_c5in_table_c6in_table_c7in_table_c8in_table_c9r   strbool__annotations__r   r   r   r   <module>r5      s   & - , ,,     " " " " " " " "     2U8SE4K(#-.    3 33 3 3 3 3 3 3 3 3r   