§
    dÒ³g�  ã                   óÌ   — d dl Z d dlZd dlmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZ  ej        d¦  «        Z e j        e¦  «        Zded	efd
„Zded	dfd„Z G d„ d¦  «        ZdS )é    N)ÚDictÚIterableÚOptionalÚcasté   )Úglyphname2unicode)ÚENCODING)Ú	PSLiteralz[0-9a-fA-F]+ÚnameÚreturnc                 ó>  ‡— t          | t          ¦  «        s"t          d| ›dt          | ¦  «        ›�¦  «        ‚|                      d¦  «        d         } |                      d¦  «        }t          |¦  «        dk    r(d                     t          t          |¦  «        ¦  «        S | t          v rt          |          S |  
                    d¦  «        r®|                      d¦  «        Št                               ‰¦  «        r~t          ‰¦  «        d	z  dk    rhˆfd
„t          dt          ‰¦  «        d	¦  «        D ¦   «         }|D ]}t          |¦  «         Œt          t           |¦  «        }d                     |¦  «        S n�|  
                    d¦  «        r{|                      d¦  «        }t                               |¦  «        rLd	t          |¦  «        cxk    rdk    r2n n/t#          |d¬¦  «        }t          |¦  «         t!          |¦  «        S t          d| z  ¦  «        ‚)a·  Converts Adobe glyph names to Unicode numbers.

    In contrast to the specification, this raises a KeyError instead of return
    an empty string when the key is unknown.
    This way the caller must explicitly define what to do
    when there is not a match.

    Reference:
    https://github.com/adobe-type-tools/agl-specification#2-the-mapping

    :returns unicode character if name resembles something,
    otherwise a KeyError
    z Could not convert unicode name "z?" to character because it should be of type str but is of type ú.r   Ú_r   Ú Úunié   c                 óH   •— g | ]}t          ‰||d z   …         d¬¦  «        ‘ŒS )r   é   ©Úbase)Úint)Ú.0ÚiÚname_without_unis     €úQ/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pdfminer/encodingdb.pyú
<listcomp>z name2unicode.<locals>.<listcomp>0   sD   ø€ ð "ð "ð "àõ Ð(¨¨Q°©U¨Ô3¸"Ð=Ñ=Ô=ð"ð "ð "ó    Úué   r   r   zXCould not convert unicode name "%s" to character because it does not match specification)Ú
isinstanceÚstrÚKeyErrorÚtypeÚsplitÚlenÚjoinÚmapÚname2unicoder   Ú
startswithÚstripÚHEXADECIMALÚmatchÚrangeÚ#raise_key_error_for_invalid_unicodeÚchrr   )r   Ú
componentsÚunicode_digitsÚdigitÚ
charactersÚname_without_uÚunicode_digitr   s          @r   r(   r(      s4  ø€ õ �d�CÑ Ô ð 
Ýˆhà<@¸D¸DÅ$ÀtÁ*Ä*À*ðNñ
ô 
ð 	
ð
 �:Š:�c‰?Œ?˜1Ô€DØ—’˜C‘”€Jå
ˆ:�„˜ÒÐØ�wŠw•s�<¨Ñ4Ô4Ñ5Ô5Ð5ð Õ$Ð$Ð$Ý$ TÔ*Ð*à�_Š_˜UÑ#Ô#ð 	*Ø#Ÿzšz¨%Ñ0Ô0Ðå× Ò Ð!1Ñ2Ô2ð +µsÐ;KÑ7LÔ7LÈqÑ7PÐTUÒ7UÐ7Uð"ð "ð "ð "å" 1¥cÐ*:Ñ&;Ô&;¸QÑ?Ô?ð"ñ "ô "�ð ,ð ?ð ?�EÝ7¸Ñ>Ô>Ð>Ð>Ý ¥ nÑ5Ô5�
Ø—w’w˜zÑ*Ô*Ð*øà�_Š_˜SÑ!Ô!ð 	*Ø!ŸZšZ¨™_œ_ˆNå× Ò  Ñ0Ô0ð *°Q½#¸nÑ:MÔ:MÐ5RÐ5RÒ5RÐ5RÐQRÒ5RÐ5RÐ5RÐ5RÐ5RÝ # N¸Ð <Ñ <Ô <�Ý3°MÑBÔBÐBÝ˜=Ñ)Ô)Ð)å
ð	*Ø,0ñ	1ñô ð r   r5   c                 óL   — d| cxk     rdk     rn dS t          d| z  ¦  «        ‚dS )z©Unicode values should not be in the range D800 through DFFF because
    that is used for surrogate pairs in UTF-16

    :raises KeyError if unicode digit is invalid
    iÿ×  i à  zHUnicode digit %d is invalid because it is in the range D800 through DFFFN)r"   )r5   s    r   r.   r.   G   sQ   € ð ˆ}Ð$Ð$Ò$Ð$˜uÒ$Ð$Ð$Ð$Ð$Ð$Ýð3Ø5BñCñ
ô 
ð 	
ð %Ð$r   c            
       óJ  — e Zd ZU i Zeeef         ed<   i Zeeef         ed<   i Z	eeef         ed<   i Z
eeef         ed<   eD ]/\  ZZZZZ ee¦  «        Zereee<   ereee<   eree	e<   eree
e<   Œ0eee	e
dœZe	 ddedeee                  d	eeef         fd
„¦   «         ZdS )Ú
EncodingDBÚstd2unicodeÚmac2unicodeÚwin2unicodeÚpdf2unicode)ÚStandardEncodingÚMacRomanEncodingÚWinAnsiEncodingÚPDFDocEncodingNr   Údiffr   c                 óÆ  — | j                              || j        ¦  «        }|r¾|                     ¦   «         }d}|D ]¥}t	          |t
          ¦  «        r|}Œt	          |t          ¦  «        rv	 t          t          t          |j
        ¦  «        ¦  «        ||<   nE# t          t          f$ r1}t                               t          |¦  «        ¦  «         Y d }~nd }~ww xY w|dz  }Œ¦|S )Nr   r   )Ú	encodingsÚgetr9   Úcopyr    r   r
   r(   r   r!   r   r"   Ú
ValueErrorÚlogÚdebug)Úclsr   rA   Úcid2unicodeÚcidÚxÚes          r   Úget_encodingzEncodingDB.get_encodingl   sö   € ð ”m×'Ò'¨¨c¬oÑ>Ô>ˆØð 	Ø%×*Ò*Ñ,Ô,ˆKØˆCØð ð �Ý˜a¥Ñ%Ô%ð Ø�C�CÝ ¥9Ñ-Ô-ð ð*Ý+7½½SÀ!Ä&Ñ8IÔ8IÑ+JÔ+J˜ CÑ(Ð(øÝ$¥jÐ1ð *ð *ð *ÝŸ	š	¥# a¡&¤&Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)øøøøð*øøøà˜1‘H�CøØÐs   Á+*BÂCÂ''CÃC)N)Ú__name__Ú
__module__Ú__qualname__r9   r   r   r!   Ú__annotations__r:   r;   r<   r	   r   ÚstdÚmacÚwinÚpdfr(   ÚcrC   Úclassmethodr   r   ÚobjectrN   © r   r   r8   r8   T   sT  € € € € € € à"$€K��c˜3�h”Ð$Ð$Ñ$Ø"$€K��c˜3�h”Ð$Ð$Ñ$Ø"$€K��c˜3�h”Ð$Ð$Ñ$Ø"$€K��c˜3�h”Ð$Ð$Ñ$Ø&.ð 	!ð 	!Ñ"ˆˆs�C˜˜cØˆL˜ÑÔˆØð 	!Ø ˆK˜ÑØð 	!Ø ˆK˜ÑØð 	!Ø ˆK˜ÑØð 	!Ø ˆK˜Ñøð (Ø'Ø&Ø%ð	ð €Ið à;?ðð ØðØ& x°Ô'7Ô8ðà	ˆc�3ˆhŒðð ð ñ „[ðð ð r   r8   )ÚloggingÚreÚtypingr   r   r   r   Ú	glyphlistr   Ú	latin_encr	   Úpsparserr
   Úcompiler+   Ú	getLoggerrO   rG   r!   r(   r   r.   r8   rZ   r   r   ú<module>rc      s  ðØ €€€Ø 	€	€	€	Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1à (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð àˆbŒj˜Ñ)Ô)€à€gÔ˜Ñ!Ô!€ð6�sð 6˜sð 6ð 6ð 6ð 6ðr

°sð 

¸tð 

ð 

ð 

ð 

ð)ð )ð )ð )ð )ñ )ô )ð )ð )ð )r   