
    #j                         d e de fdZdS )datareturnc                 Z   g }t          |           	 t          d          }|dk    rnsd|cxk    rdk     r4n n1|                    fdt          |dz             D                        |dk    r+t                    gd|z
  z  }|                    |           t	          |          S )a  RunLength decoder (Adobe version) implementation based on PDF Reference
    version 1.4 section 3.3.4:
        The RunLengthDecode filter decodes data that has been encoded in a
        simple byte-oriented format based on run length. The encoded data
        is a sequence of runs, where each run consists of a length byte
        followed by 1 to 128 bytes of data. If the length byte is in the
        range 0 to 127, the following length + 1 (1 to 128) bytes are
        copied literally during decompression. If length is in the range
        129 to 255, the following single byte is to be copied 257 - length
        (2 to 128) times during decompression. A length value of 128
        denotes EOD.
    T       c              3   6   K   | ]}t                    V  d S )N)next).0_	data_iters     Z/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/pdfminer/runlength.py	<genexpr>zrldecode.<locals>.<genexpr>   s)       L LQi L L L L L L       i  )iterr   extendrangebytes)r   decoded_arraylengthrunr   s       @r   rldecoder   	   s      "MT

I
&i%%S==   L L L L%
:K:K L L LLLLC<<	??#sV|4C  %%%
& r   N)r   r    r   r   <module>r      s1    5  U            r   