+
    f0i:                         R t ^ RIt^ RIHt ^ RIHt ]P                  ! R4      t]P                  ! R4      tR R lt	]P                  ! R4      t
R	 R
 ltR# )zBPython implementation of ASCII85/ASCIIHex decoder (Adobe version).N)	a85decode)	unhexlifys   ^\s*<?\s*~\s*s   \s*~\s*>?\s*$c                0    V ^8  d   QhR\         R\         /#    datareturnbytes)formats   "V/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pdfminer/ascii85.py__annotate__r      s       %     c                p    \         P                  RV 4      p \        P                  RV 4      p \        V 4      # )a  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.

Adobe's ASCII85 implementation expects the input to be terminated
by `b"~>"`, and (though this is absent from the PDF spec) it can
also begin with `b"<~"`.  We can't reliably expect this to be the
case, and there can be off-by-one errors in stream lengths which
mean we only see `~` at the end.  Worse yet, `<` and `>` are
ASCII85 digits, so we can't strip them.  We settle on a compromise
where we strip leading `<~` or `~` and trailing `~` or `~>`.
r   )start_resubend_rer   )r   s   &r   ascii85decoder      s.     <<T"D::c4 DT?r   s   \sc                0    V ^8  d   QhR\         R\         /# r   r	   )r   s   "r   r   r   !   s       5 r   c                    \         P                  RV 4      p V P                  R4      pVR8w  d   V RV p V^,          ^8X  d
   V R,          p \        V 4      # )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.
r      >N   0)bws_rer   findr   )r   idxs   & r   asciihexdecoder   !   sQ     ::c4 D
))D/C
byDSz7a<DLDT?r   )__doc__rebase64r   binasciir   compiler   r   r   r   r    r   r   <module>r#      sI    H 	  ::'(	%	&& 
F	r   