§
    dÒ³g1  ã                   ó’   — d Z ddlZddlZdedefd„Z ej        dej        ¦  «        Z ej        dej        ¦  «        Zdedefd„Z	dS )	zi Python implementation of ASCII85/ASCIIHex decoder (Adobe version).

This code is in the public domain.

é    NÚdataÚreturnc                 óÔ  — dx}}d}t          | ¦  «        D ]Ñ}t          |f¦  «        }d|k    rF|dk    r@|dz  }|dz  t          |¦  «        dz
  z   }|dk    r|t          j        d	|¦  «        z  }dx}}Œ^|d
k    r#|dk    sJ t          |¦  «        ¦   «         ‚|dz  }Œ‡|dk    rD|r@t          d|z
  ¦  «        D ]
}|dz  dz   }Œ|t          j        d	|¦  «        d|dz
  …         z  } nŒÒ|S )au  
    In ASCII85 encoding, every four bytes are encoded with five ASCII
    letters, using 85 different types of characters (as 256**4 < 85**5).
    When the length of the original bytes is not a multiple of 4, a special
    rule is used for round up.

    The Adobe's ASCII85 implementation is slightly different from
    its original in handling the last characters.

    r   ó    ó   !ó   ué   éU   é!   é   z>Ló   zs       ó   ~éT   N)ÚiterÚbytesÚordÚstructÚpackÚstrÚrange)r   ÚnÚbÚoutÚiÚcÚ_s          úN/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/pdfminer/ascii85.pyÚascii85decoder      s*  € ð €I€AˆØ
€CÝ�$‰ZŒZð ð ˆÝ�1�$‰KŒKˆØ�1Š9ˆ9˜˜dš˜Ø�‰FˆAØ�B‘�#˜a™&œ& 2™+Ñ&ˆAØ�AŠvˆvØ•v”{ 4¨Ñ+Ô+Ñ+�Ø�	��AøØ�$ŠYˆYØ˜’6�6�6�3˜q™6œ6‘6”6�6Ø�;ÑˆCˆCØ�$ŠYˆYØð 5Ý˜q 1™u™œð $ð $�AØ˜B™ ™�A�AØ•v”{ 4¨Ñ+Ô+¨G¨a°!©e¨GÔ4Ñ4�ØˆEð ð €Jr   s   ([a-f\d]{2})s#   ^(?:[a-f\d]{2}|\s)*([a-f\d])[\s>]*$c                 ó  — dt           dt           fd„}d}t                               | ¦  «        D ]}| ||¦  «        z  }Œt                               | ¦  «        }|r$| ||                     d¦  «        dz   ¦  «        z  }|S )aæ  
    ASCIIHexDecode filter: PDFReference v1.4 section 3.3.1
    For each pair of ASCII hexadecimal digits (0-9 and A-F or a-f), the
    ASCIIHexDecode filter produces one byte of binary data. All white-space
    characters are ignored. A right angle bracket character (>) indicates
    EOD. Any other characters will cause an error. If the filter encounters
    the EOD marker after reading an odd number of hexadecimal digits, it
    will behave as if a 0 followed the last digit.
    Úxr   c                 óB   — t          | d¦  «        }t          |f¦  «        S )Né   )Úintr   )r    r   s     r   Údecodezasciihexdecode.<locals>.decode=   s   € Ý��2‰JŒJˆÝ�a�T‰{Œ{Ðr   r   r	   ó   0)r   Úhex_reÚfindallÚtrail_reÚsearchÚgroup)r   r$   r   r    Úms        r   Úasciihexdecoder,   2   s›   € ð•%ð �Eð ð ð ð ð €CÝ�^Š^˜DÑ!Ô!ð ð ˆØˆvˆv�a‰yŒyÑˆˆå�Š˜ÑÔ€AØð )Øˆvˆv�a—g’g˜a‘j”j 4Ñ'Ñ(Ô(Ñ(ˆØ€Jr   )
Ú__doc__Úrer   r   r   ÚcompileÚ
IGNORECASEr&   r(   r,   © r   r   ú<module>r2      s    ððð ð 
€	€	€	Ø €€€ð˜ð  %ð ð ð ð ðD 
ˆŒÐ$ b¤mÑ	4Ô	4€Øˆ2Œ:Ð=¸r¼}ÑMÔM€ð˜ð  5ð ð ð ð ð ð r   