
    <`                     r    d dl Z d dlZ	 d dlZd dlZn# e$ r dZY nw xY wd Zd Zd ZddZddZ	d	 Z
d
 ZdS )    Nc                 |   t          j        d| dd                   \  }|dz	  }|dz  }|dk    rn|dk    rot          rht          j                            t          j        d|          | dd          z             }t          |          |k    rt          j        d	           n|} nt          j        d
           | |fS )N>L         r      z<LzTable decompression failed.z:Table is compressed with an unsupported compression scheme)	structunpacklz4block
decompresspacklenwarningswarn)datacompressionschemesizeress        >lib/python3.11/site-packages/fontTools/ttLib/tables/grUtils.pyr   r      s    ]4ac33N[BF#D{{	1i""6;tT#:#:T!""X#EFFs88tM78888DDRSSS&>    c                    |d d         t          j        d| dz  t          |          dz  z             z   }| dk    r|S | dk    r/t          r(t          j                            |ddd	
          }||z   S t          j        d           |S )Nr   r   r   r   r   r	   high_compression   F)moder   
store_sizez:Table failed to compress by unsupported compression scheme)r
   r   r   r   r   compressr   r   )r   r   hdrr   s       r   r   r      s    
rr(V["TZ9O'PQQ
QC{{	1i  ,>B[` aaSyRSSSKr   c              #   8  K   d}g }d}| D ]g\  }}t          |          r:||dz   k    s|r/||k    r)|t          |          z
  dz   t          |          |fV  g }|}|                    |           |}h|t          |          z
  dz   t          |          |fV  d S )Nr   r	   )r   append)attrssamevalakvalslastvkvs          r   _entriesr*   &   s      	
BDE  !t99 	!rAv++'+a5jjD		>A%s4yy$7777DAD		>As4yy$
//////r   Fc                 j    t          t          |                                 d           |          }|S )Nc                 ,    t          | d                   S )Nr   )int)xs    r   <lambda>zentries.<locals>.<lambda>4   s    QqT r   )key)r*   sorteditems)
attributesr$   gs      r   entriesr5   3   s3    
((**0B0BCCCWMMAHr   r	   c                     | dk    rt          j        ddddd          S d}d}|| k    r|dz  }|dz  }|| k    |dz  }|dz  }||z  }| |z  |z
  }t          j        d| |||          S )Nr   z>4Hr	      )r
   r   )numr   srangeselectshifts        r   bininfor<   7   s    
axx{5!Q1---FF
C--!! C-- aKF
qLF
dNF$JE;uc665999r   c                     | dk     rt          |           S t          j        dt          j        d|                     d                             dd                                          S )Ni    4sr   r       r   )strr
   r   r   replacedecodens    r   num2tagrE   E   sU    8||1vv}T6;tQ#7#788;CCGSQQXXZZZr   c                     	 t          |           S # t          $ r> | dz   d d         } t          j        d|                     d                    d         cY S w xY w)Nz    r   r   asciir   )r-   
ValueErrorr
   r   encoderC   s    r   tag2numrJ   K   sg    91vv 9 9 9vXrrN}T188G#4#455a88889s    AAA)F)r	   )r
   r   r   	lz4.blockImportErrorr   r   r*   r5   r<   rE   rJ    r   r   <module>rN      s           JJJ     
CCC   	 	 	0 0 0   : : : :[ [ [9 9 9 9 9s    