Ë
    £eh�Q  ã                   óŒ  — d Z ddlZddlmZ ddlmZ ddlmZmZm	Z	m
Z
 ddlmZmZmZ ddlmZ ddlZddlZdZd	ZdZ	 	 dd
lmZ dZ G d„ de«      Z G d„ de«      Zd6d„Zd7d„ZdZ dZ!d6d„Z"d6d„Z#d„ Z$d„ Z%d„ Z&d6d„Z'dZ( ejR                  dejT                  ¬«      Z+dZ,dZ-dZ. ejR                  d «      Z/d!„ Z0d"„ Z1d#„ Z2d$„ Z3 ejR                  d%«      Z4d&„ Z5d'„ Z6d(„ Z7 e8e«      Z9e9ju                  d)«        e8e«      Z;e;jy                  d*d+g«       g d,¢Z=d-Z>g d.¢Z?d/Z@d0ZAd1ZBd2d3gZCd4d5gZDy# e$ r ddlZY Œðw xY w# e$ r dZY Œûw xY w)8aš  fontTools.t1Lib.py -- Tools for PostScript Type 1 fonts.

Functions for reading and writing raw Type 1 data:

read(path)
	reads any Type 1 font file, returns the raw data and a type indicator:
	'LWFN', 'PFB' or 'OTHER', depending on the format of the file pointed
	to by 'path'.
	Raises an error when the file does not contain valid Type 1 data.

write(path, data, kind='OTHER', dohex=False)
	writes raw Type 1 data to the file pointed to by 'path'.
	'kind' can be one of 'LWFN', 'PFB' or 'OTHER'; it defaults to 'OTHER'.
	'dohex' is a flag which determines whether the eexec encrypted
	part should be written as hexadecimal or binary, but only if kind
	is 'OTHER'.
é    N)Úeexec)ÚgetMacCreatorAndType)ÚbytechrÚbyteordÚ	bytesjoinÚtobytes)Ú_type1_pre_eexec_orderÚ_type1_fontinfo_orderÚ_type1_post_eexec_order)ÚStandardEncodingÚjvrz1.0b3)ÚResé   c                   ó   — e Zd Zy)ÚT1ErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/t1Lib/__init__.pyr   r   0   s   „ Ør   r   c                   óR   — e Zd ZdZdd„Zdd„Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zdd„Zy)ÚT1FontztType 1 font class.

    Uses a minimal interpeter that supports just about enough PS to parse
    Type 1 fonts.
    Nc                 ó   — |€t        |«      \  | _        }|| _        y |dk(  rt        |«      | _        || _        y |dk(  rt        |«      | _        || _        y |dk(  rt	        |«      | _        || _        y t        |«      ‚)NÚLWFNÚPFBÚOTHER)ÚreadÚdataÚreadLWFNÚreadPFBÚ	readOtherÚ
ValueErrorÚencoding)ÚselfÚpathr$   ÚkindÚ_s        r   Ú__init__zT1Font.__init__;   sƒ   € Øˆ<Ü ›:‰LˆDŒI�qð !ˆ�ð �VŠ^Ü  ›ˆDŒIð !ˆ�ð �UŠ]Ü ›ˆDŒIð
 !ˆ�ð	 �WŠ_Ü! $›ˆDŒIð !ˆ�ô ˜TÓ"Ð"r   c                 ó<   — t        || j                  «       ||«       y ©N)ÚwriteÚgetData)r%   r&   ÚtypeÚdohexs       r   ÚsaveAszT1Font.saveAsH   s   € Üˆd�D—L‘L“N D¨%Õ0r   c                 ó\   — t        | d«      s| j                  «       | _        | j                  S )Nr   )ÚhasattrÚ
createDatar   ©r%   s    r   r-   zT1Font.getDataK   s$   € Ü�t˜VÔ$ØŸ™Ó)ˆDŒIØ�y‰yÐr   c                 ó   — | d   S )a‚  Return a generic GlyphSet, which is a dict-like object
        mapping glyph names to glyph objects. The returned glyph objects
        have a .draw() method that supports the Pen protocol, and will
        have an attribute named 'width', but only *after* the .draw() method
        has been called.

        In the case of Type 1, the GlyphSet is simply the CharStrings dict.
        ÚCharStringsr   r4   s    r   ÚgetGlyphSetzT1Font.getGlyphSetP   s   € ð �MÑ"Ð"r   c                 óX   — t        | d«      s| j                  «        | j                  |   S )NÚfont)r2   Úparser9   )r%   Úkeys     r   Ú__getitem__zT1Font.__getitem__[   s#   € Ü�t˜VÔ$Ø�J‰JŒLØ�y‰y˜‰~Ðr   c                 ó4  — ddl m} ddl m} |j                  | j                  | j
                  «      | _        | j                  d   }| j                  d   j                  dd«      }|dk\  sJ ‚| j                  d   d   }|j                  «       D ]7  \  }}t        j                  |d	«      \  }}|j                  ||d  |¬
«      ||<   Œ9 t        t        |«      «      D ]7  }	t        j                  ||	   d	«      \  }}|j                  ||d  |¬
«      ||	<   Œ9 | `y )Nr   )ÚpsLib)ÚpsCharStringsr6   ÚPrivateÚlenIVé   ÚSubrséê  )Úsubrs)ÚfontTools.miscr>   r?   Úsuckfontr   r$   r9   ÚgetÚitemsr   ÚdecryptÚT1CharStringÚrangeÚlen)
r%   r>   r?   ÚcharStringsrA   rE   Ú	glyphNameÚ
charStringÚRÚis
             r   r:   zT1Font.parse`   s  € Ý(Ý0à—N‘N 4§9¡9¨d¯m©mÓ<ˆŒ	Ø—i‘i Ñ.ˆØ—	‘	˜)Ñ$×(Ñ(¨°!Ó4ˆØ˜ŠzÐˆzØ—	‘	˜)Ñ$ WÑ-ˆØ%0×%6Ñ%6Ó%8ò 	Ñ!ˆI�zÜ!ŸM™M¨*°dÓ;‰MˆJ˜Ø%2×%?Ñ%?Ø˜5˜6Ð"¨%ð &@ó &ˆK˜	Ò"ð	ô
 ”s˜5“zÓ"ò 	SˆAÜ!ŸM™M¨%°©(°DÓ9‰MˆJ˜Ø$×1Ñ1°*¸U¸VÐ2DÈEÐ1ÓRˆE�!ŠHð	Sð ‰Ir   c           	      ód  — | j                   }d}i }g }|j                  | j                  d|d   › �«      | j                  dt        j                  › d�«      | j                  d|d   › �«      g«       d}|dz  }|d	z  }t
        D ]  }|t        ||v «      z  }Œ |j                  | j                  |› d
�«      «       |j                  «       D ]Ô  \  }}|r|||<   Œ|dk(  r‘|d   }d}t        D ]  }	|t        |	|v «      z  }Œ |j                  | j                  d|› d
�«      «       |j                  «       D ]&  \  }	}
|j                  | j                  |	|
«      «       Œ( |j                  d«       Œ¤|t        v r|||<   d}Œ´|j                  | j                  ||«      «       ŒÖ |j                  d«       | j                  |«      }|j                  t        d|g«      «       t        d«      D ]"  }|j                  | j                  d«      «       Œ$ |j                  g d¢«       t        |d«      }|S )NFz%!FontType1-1.1: ÚFontNamez
%t1Font: (ú)z%%BeginResource: font é   r   é   ú dict dup beginÚFontInfoz
/FontInfo s   end defTó   ends   currentfile eexec é   Ú@0000000000000000000000000000000000000000000000000000000000000000)s   cleartomarks   %%EndResources   %%EOFú
)r9   ÚextendÚ_tobytesÚ	fontToolsÚversionÚfont_dictionary_keysÚintÚappendrI   ÚFontInfo_dictionary_keysÚ_make_linesr   Úencode_eexecr   rL   )r%   ÚsfÚeexec_beganÚ
eexec_dictÚlinesÚsizer;   ÚvalueÚfiÚsubkeyÚsubvalueÚeexec_portionr(   r   s                 r   r3   zT1Font.createDatas   s9  € Ø�Y‰YˆàˆØˆ
ØˆØ�‰à—‘Ð 1°"°Z±.Ð1AÐBÓCØ—‘ 
¬9×+<Ñ+<Ð*=¸QÐ?Ó@Ø—‘Ð 6°r¸*±~Ð6FÐGÓHðô	
ð ˆØ�‰	ˆØ�‰ˆÜ'ò 	#ˆCØ”C˜˜r˜	“NÑ"‰Dð	#à�‰�T—]‘] d V¨?Ð#;Ó<Ô=àŸ(™(›*ò 	;‰JˆC�ÙØ"'�
˜3‘Øà�jÒ Ø˜
‘^�à�Ü6ò .�FØœC ¨" Ó-Ñ-‘Dð.à—‘˜TŸ]™]¨Z¸°v¸_Ð+MÓNÔOà(*¯©«
ò EÑ$�F˜HØ—L‘L ×!1Ñ!1°&¸(Ó!CÕDðEà—‘˜ZÕ(ØÔ/Ñ/Ø"'�
˜3‘Ø"‘à—‘˜T×-Ñ-¨c°5Ó9Õ:ð)	;ð* 	�‰�VÔØ×)Ñ)¨*Ó5ˆØ�‰”YÐ 5°}ÐEÓFÔGä�q“ò 	2ˆAØ�L‰L˜Ÿ™ xÓ0Õ1ð	2à�‰ÒAÔBä˜ Ó%ˆØˆr   c                 ór  — g }d\  }}}d}t         }t        |j                  «       d„ ¬«      }|D �]8  \  }	}
|	dk(  �r|d   }d}t        D ]  }|t	        ||v «      z  }Œ |j                  d«       |j                  | j                  |› d�«      «       |j                  «       D �]•  \  }}|s|t        k(  r|}n|s|t        v r|}n|s
|t        v r|}|d	k(  r|}|d
k(  r%|j                  | j                  t        «      «       Œ_|dk(  �r|D ]  }|j                  «        Œ |D �cg c]  }|j                  ‘Œ }}|j                  dt        |«      › d�j                  d«      «       t        |«      D ]�  \  }}t!        j"                  t%        t&        d | |g«      d«      \  }}|j                  t%        | j                  d|› dt        |«      › d|› d�«      || j                  d|› �«      g«      «       Œƒ |j                  d«       |j                  d«       �Œu|j)                  | j+                  ||«      «       �Œ˜ �Œ|	dk(  �r|j                  d«       |j                  | j                  t        |d   «      › d�«      «       |d   j                  «       D ]›  \  }}|j                  «        t!        j"                  t%        t&        d | |j                  g«      d«      \  }}|j                  t%        | j                  d|› dt        |«      › d|› d�«      || j                  d|› �«      g«      «       Œ� |j                  d«       �Œ|j)                  | j+                  |	|
«      «       �Œ; |j)                  g d¢«       t%        |d«      }t!        j"                  t%        t,        |g«      d«      \  }}|S c c}w )N)NNNrB   c                 ó   — | d   dk7  S )Nr   r@   r   )Úitems    r   ú<lambda>z%T1Font.encode_eexec.<locals>.<lambda>±   s   € À$ÀqÁ'ÈYÑBV€ r   )r;   r@   rV   s   dup /PrivaterX   rA   Ú
OtherSubrsrC   z/Subrs z arrayÚasciirD   údup ú ó   defs   putr6   s   dup /CharStringsú/s   end put)rZ   s%   dup /FontName get exch definefont pops   marks   currentfile closefile
r]   éqÙ  )Ú	std_subrsÚsortedrI   ÚPrivate_dictionary_keysrc   rd   r_   ÚRD_valueÚ	ND_valuesÚ	PD_valuesÚ
hintothersÚcompileÚbytecoderM   ÚencodeÚ	enumerater   Úencryptr   Úchar_IVr^   rf   Úeexec_IV)r%   rj   rk   ÚRD_keyÚND_keyÚNP_keyrA   rE   ÚsortedItemsr;   rm   Úprrl   ro   rp   Úsubr_binrR   Úencrypted_subrrQ   Ú
glyph_nameÚchar_binÚencrypted_charrq   Úencrypted_eexecs                           r   rg   zT1Font.encode_eexec¨   sÅ  € Øˆð "2Ñˆ�˜ØˆÜˆô ˜Z×-Ñ-Ó/Ñ5VÔWˆà%ó G	;‰JˆC�Ø�iÓØ 	Ñ*�à�Ü5ò .�FØœC ¨" Ó-Ñ-‘Dð.à—‘˜_Ô-Ø—‘˜TŸ]™]¨d¨V°?Ð+CÓDÔEØ(*¯©«
ó &IÑ$�F˜HÙ! h´(Ò&:Ø!'™Ù#¨´IÑ(=Ø!'™Ù#¨´IÑ(=Ø!'˜à Ò(Ø (˜à Ò-àŸ™ T§]¡]´:Ó%>Õ?Ø 7Ó*Ø(0ò /˜HØ$×,Ñ,Õ.ð/àCKÖ L°x ×!2Ó!2Ð L˜Ð LØŸ™ w¬s°5«z¨l¸&Ð%A×%HÑ%HÈÓ%QÔRÜ+4°UÓ+;ò ™K˜A˜xÜ05·±Ü )¬7°6°E¨?¸HÐ*EÓ FÈó1Ñ-˜N¨Að "ŸL™LÜ )à(,¯©Ø.2°1°#°Q´s¸>Ó7JÐ6KÈ1ÈVÈHÐTUÐ,Vó)*ð )7Ø(,¯©¸¸&¸°lÓ(Cð%&ó!"õ
ð	ð Ÿ™ VÔ,àŸ™ VÖ,àŸ™ T×%5Ñ%5°f¸hÓ%GÖHòM&IðN ˜Ó%Ø—‘Ð0Ô1Ø—‘Ø—M‘M¤S¨°MÑ)BÓ%CÐ$DÀOÐ"TÓUôð -7°}Ñ,E×,KÑ,KÓ,Mò Ñ(�J Ø×$Ñ$Ô&Ü(-¯©Ü!¤7¨6¨E ?°H×4EÑ4EÐ"FÓGÈó)Ñ%�N Að —L‘LÜ!à $§¡Ø&'¨
 |°1´S¸Ó5HÐ4IÈÈ6È(ÐRSÐ$Tó!"ð !/Ø $§¡°°&°¨lÓ ;ðóõ
ðð  —‘˜ZÖ(à—‘˜T×-Ñ-¨c°5Ó9Ö:ðOG	;ðR 	�‰òô	
ô " %¨Ó.ˆÜ"Ÿ]™]¬9´hÀÐ5NÓ+OÐQVÓWÑˆ˜àÐùòw !Ms   Ä"N4c           
      ó”  — |dk(  r| j                  d|› d|› d�«      gS |dv r| j                  d|› d|rdnd› d�«      gS |d	k(  r˜|t        k(  r| j                  d|› d
�«      gS g }|j                  d«       |j                  d«       t        d«      D ]4  }||   }|dk7  sŒ|j                  | j                  d|› d|› d�«      «       Œ6 |j                  d«       |S t	        |t
        «      r| j                  d|› d|› d�«      gS t	        |t        «      r| j                  d|› d|rdnd› d�«      gS t	        |t        «      r/| j                  d|› ddj                  d„ |D «       «      › d�«      gS t	        |t        «      r/| j                  d|› ddj                  d„ |D «       «      › d�«      gS | j                  d|› d|› d�«      gS )NrT   r{   z /z def)ÚisFixedPitchÚ	ForceBoldÚ	RndStemUpry   ÚtrueÚfalseÚEncodingz StandardEncoding defs   /Encoding 256 arrays'   0 1 255 {1 index exch /.notdef put} foré   z.notdefrx   z putrz   z (z) defz [c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr+   ©Ústr©Ú.0Úvs     r   ú	<genexpr>z%T1Font._make_lines.<locals>.<genexpr>"  s   è ø€ Ò5LÀ´c¸!·fÑ5Lùó   ‚z] defz {c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr+   rŸ   r¡   s     r   r¤   z%T1Font._make_lines.<locals>.<genexpr>$  s   è ø€ Ò6MÀ!´s¸1·vÑ6Mùr¥   z} def)
r_   r   rd   rL   Ú
isinstancer    ÚboolÚlistÚjoinÚtuple)r%   r;   rm   rk   rR   Únames         r   rf   zT1Font._make_lines
  s÷  € Ø�*ÒØ—M‘M A c U¨"¨U¨G°4Ð"8Ó9Ð:Ð:ØÐ<Ñ<Ø—M‘M A c U¨!±e©FÀÐ+IÈÐ"NÓOÐPÐPØ�JÒØÔ(Ò(ØŸ™¨¨#¨Ð.CÐ&DÓEÐFÐFð �Ø—‘Ð3Ô4Ø—‘ÐGÔHÜ˜s›ò L�AØ  ™8�DØ˜yÓ(ØŸ™ T§]¡]°T¸!¸¸B¸t¸fÀDÐ3IÓ%JÕKðLð —‘˜VÔ$Ø�Ü�eœSÔ!Ø—M‘M A c U¨"¨U¨G°5Ð"9Ó:Ð;Ð;Ü˜œtÔ$Ø—M‘M A c U¨!±e©FÀÐ+IÈÐ"NÓOÐPÐPÜ˜œtÔ$Ø—M‘M A c U¨"¨S¯X©XÑ5LÀeÔ5LÓ-LÐ,MÈUÐ"SÓTÐUÐUÜ˜œuÔ%Ø—M‘M A c U¨#¨c¯h©hÑ6MÀuÔ6MÓ.MÐ-NÈfÐ"UÓVÐWÐWà—M‘M A c U¨!¨E¨7°$Ð"7Ó8Ð9Ð9r   c                 ó0   — t        || j                  |«      S r+   )r   r$   )r%   ÚsÚerrorss      r   r_   zT1Font._tobytes(  s   € Ü�q˜$Ÿ-™-¨Ó0Ð0r   )rw   N©F)Ústrict)r   r   r   Ú__doc__r)   r0   r-   r7   r<   r:   r3   rg   rf   r_   r   r   r   r   r   4   s<   „ ñó!ó1òò
	#òò
ò&3òj`òD:ô<1r   r   c                 óè   — t         j                  j                  | «      \  }}|j                  «       }t	        | «      \  }}|dk(  rt        | |«      dfS |dk(  rt        | |«      dfS t        | «      dfS )z,reads any Type 1 font file, returns raw datar   z.pfbr   r   )Úosr&   ÚsplitextÚlowerr   r    r!   r"   )r&   Ú
onlyHeaderr(   ÚextÚcreatorÚtyps         r   r   r   /  st   € ä�W‰W×Ñ˜dÓ#�F€A€sØ
�)‰)‹+€CÜ'¨Ó-�L€GˆSØ
ˆf‚}Ü˜˜jÓ)¨6Ð1Ð1Ø
ˆf‚}Ü�t˜ZÓ(¨%Ð/Ð/ä˜‹ Ð'Ð'r   c                 óò  — t        |«       |j                  «       }	 t        j                  | «       d}	 |dk(  rt        | |«       n|dk(  rt        | |«       nt        | ||«       d}|rt        s	 t        j                  | «       y y y # t        j                  $ r Y Œlw xY w# t        j                  $ r Y y w xY w# |r7t        s0	 t        j                  | «       w # t        j                  $ r Y w w xY ww w xY w)Nr   r   r   r   )	ÚassertType1Úupperr´   ÚremoveÚerrorÚ	writeLWFNÚwritePFBÚ
writeOtherÚDEBUG)r&   r   r'   r/   Úerrs        r   r,   r,   <  sä   € Ü�ÔØ�:‰:‹<€DðÜ
�	‰	�$Œð €CðØ�6Š>Ü�d˜DÕ!Ø�UŠ]Ü�T˜4Õ ä�t˜T 5Ô)Øˆá•uðÜ—	‘	˜$•ð ˆ3øô �8‰8ò Ùðûô —8‘8ò Ùðûñ •uðÜ—	‘	˜$•øÜ—8‘8ò Ùðúð ˆ3úsR   �B	 µ3B; Á1B" Â	BÂBÂ"B8Â7B8Â;	C6ÃCÃC6ÃC1Ã.C6Ã0C1Ã1C6iÐ  éP   c                 óp  — ddl m}  || «      }	 g }|j                  dg «      D ]È  }t        |j                  d   «      }t        |j                  d   «      dk7  rt        d«      ‚|dv r(|r|dk(  r n}|j                  |j                  dd «       Œm|d	v r nX|d
k(  r5t        | d«      5 }|j                  |j                  «       «       ddd«       Œ­|dk(  rŒ³t        dt        |«      z   «      ‚ |j                  «        t        |«      }t        |«       |S # 1 sw Y   ŒüxY w# |j                  «        w xY w)z)reads an LWFN font file, returns raw datar   )ÚResourceReaderÚPOSTr   zcorrupt LWFN file©r   rW   rW   N)rV   é   rB   Úrbúbad chunk code: )ÚfontTools.misc.macResrÇ   rH   r   r   r   rd   Úopenr   ÚreprÚcloser   r¼   )r&   r·   rÇ   Úreaderr   ÚresÚcodeÚfs           r   r    r    Z  s$  € å4á˜DÓ!€FðØˆØ—:‘:˜f bÓ)ò 	?ˆCÜ˜3Ÿ8™8 A™;Ó'ˆDÜ�s—x‘x ‘{Ó# qÒ(ÜÐ1Ó2Ð2Ø�v‰~Ù $¨!¢)ÙØ—‘˜CŸH™H Q R˜LÕ)Ø˜‘ÙØ˜’Ü˜$ Ó%ð *¨Ø—K‘K §¡£Ô)÷*ð *à˜’ØäÐ0´4¸³:Ñ=Ó>Ð>ð!	?ð$ 	�‰ŒÜ�T‹?€DÜ�ÔØ€K÷*ð *ûð 	�‰�ús$   �BD# Â( DÃ'D# ÄD 	ÄD# Ä#D5c                 óâ  — g }t        | d«      5 }	 |j                  d«      t        d«      k7  rt        d«      ‚t	        |j                  d«      «      }|dv rMt        |j                  d«      «      }|j                  |«      }t        |«      |k(  sJ ‚|j                  |«       n|dk(  rnt        dt        |«      z   «      ‚|rnŒ´d	d	d	«       t        |«      }t        |«       |S # 1 sw Y   Œ!xY w)
z'reads a PFB font file, returns raw datarË   r   é€   zcorrupt PFB filerÉ   rB   rV   rÌ   N)rÎ   r   r   r   r   ÚstringToLongrM   rd   rÏ   r   r¼   )r&   r·   r   rÔ   rÓ   ÚchunklenÚchunks          r   r!   r!   y  sä   € à€DÜ	ˆd�DÓ	ð ˜QØØ�v‰v�a‹yœG C›LÒ(ÜÐ0Ó1Ð1Ü˜1Ÿ6™6 !›9Ó%ˆDØ�v‰~Ü'¨¯©¨q«	Ó2�ØŸ™˜xÓ(�Ü˜5“z XÒ-Ð-Ð-Ø—‘˜EÕ"Ø˜’ØäÐ0´4¸³:Ñ=Ó>Ð>ÙØð ÷ô  �T‹?€DÜ�ÔØ€K÷%ð ús   �B6C%Ã%C.c                 ó6  — t        | d«      5 }|j                  «       }ddd«       t        «       t        |«      }g }|D ]A  \  }}|r)t	        |dd «      r|j                  t        |«      «       Œ1|j                  |«       ŒC t        |«      S # 1 sw Y   ŒrxY w)z'reads any (font) file, returns raw datarË   NrB   )rÎ   r   r¼   ÚfindEncryptedChunksÚisHexrd   ÚdeHexStringr   )r&   rÔ   r   ÚchunksÚisEncryptedrÙ   s         r   r"   r"   ‘  s’   € ä	ˆd�DÓ	ð ˜QØ�v‰v‹xˆ÷ä�ÔÜ  Ó&€FØ€DØ$ò Ñˆ�UÙœ5  r¨ Ô+Ø�K‰Kœ EÓ*Õ+à�K‰K˜Õð	ô
 �T‹?Ð÷ð ús   �BÂBc                 ó>  — t        j                  | ddd«       t        j                  | d«      }	 t        j                  |«       d}t	        |«      }|D ]d  \  }}|rd}nd}|sŒt        j
                  t        |«      dz   |d t        dz
   z   «      }|j                  d|d	«       |t        dz
  d  }|dz   }|rŒUŒf t        j
                  t        d
«      dz   «      }|j                  d|d	«       t        j                  |«       y # t        j                  |«       w xY w)NÚjustr   r   rW   iõ  r   ú rÈ   Ú rÊ   )
r   ÚFSpCreateResFileÚFSOpenResFileÚ
UseResFilerÛ   ÚResourcer   ÚLWFNCHUNKSIZEÚAddResourceÚCloseResFile)	r&   r   ÚresRefÚresIDrÞ   rß   rÙ   rÓ   rÒ   s	            r   rÀ   rÀ   £  s  € ä×Ñ˜˜v v¨qÔ1Ü×Ñ˜t QÓ'€Fð!Ü�‰�vÔØˆÜ$ TÓ*ˆØ"(ò 		"ÑˆK˜ÙØ‘à�ÚÜ—l‘l¤7¨4£=°4Ñ#7¸%Ð@SÄ-ÐRSÑBSÐ:TÑ#TÓU�Ø—‘ ¨¨rÔ2Øœm¨aÑ/Ð1Ð2�Ø ™	�ó	 ð		"ô �l‰lœ7 1›:¨Ñ,Ó-ˆØ�‰˜  rÔ*ä×Ñ˜Õ øŒ×Ñ˜Õ ús   °3D Á$AD Â96D ÄDc           	      ó~  — t        |«      }t        | d«      5 }|D ]f  \  }}|rd}nd}|j                  t        d«      t        |«      z   «       |j                  t	        t        |«      «      «       |j                  |«       Œh |j                  t        d«      t        d«      z   «       d d d «       y # 1 sw Y   y xY w)NÚwbrW   r   rÖ   rV   )rÛ   rÎ   r,   r   ÚlongToStringrM   )r&   r   rÞ   rÔ   rß   rÙ   rÓ   s          r   rÁ   rÁ   »  s¢   € Ü  Ó&€FÜ	ˆd�DÓ	ð 	+˜QØ"(ò 	ÑˆK˜ÙØ‘à�Ø�G‰G”G˜C“L¤7¨4£=Ñ0Ô1Ø�G‰G”L¤ U£Ó,Ô-Ø�G‰G�E�Nð	ð 	
�‰”˜“œw q›zÑ)Ô*÷	+÷ 	+ñ 	+ús   ˜BB3Â3B<c           	      óJ  — t        |«      }t        | d«      5 }t        dz  }|D ]h  \  }}|rd}nd}|dk(  rF|rD|sŒ|j                  t	        j
                  |d | «      «       |j                  d«       ||d  }|rŒ@ŒX|j                  |«       Œj 	 d d d «       y # 1 sw Y   y xY w)Nrî   rW   r   ó   )rÛ   rÎ   ÚHEXLINELENGTHr,   r   Ú	hexString)	r&   r   r/   rÞ   rÔ   Ú
hexlinelenrß   rÙ   rÓ   s	            r   rÂ   rÂ   É  s©   € Ü  Ó&€FÜ	ˆd�DÓ	ð ˜QÜ" aÑ'ˆ
Ø"(ò 	ÑˆK˜ÙØ‘à�Ø�qŠy™UÚØ—G‘GœEŸO™O¨E°+°:Ð,>Ó?Ô@Ø—G‘G˜E”NØ! * +Ð.�Eó ð
 —‘˜•ñ	÷÷ ñ ús   ˜"B»?BÁ;BÂB"ó   currentfile eexecs   (0[ 	
]*){512})Úflagss   currentfile closefiles   %-- eexec starts   %-- eexec ends   [0-9A-Fa-f]*$c                 ó0   — t         j                  | «      d uS r+   )Ú_ishexREÚmatch)Útexts    r   rÜ   rÜ   è  s   € Ü�>‰>˜$Ó tÐ+Ð+r   c                 ób  — t        | «      }g } |D �]  \  }}|rµt        |d d «      rt        |«      }t        j                  |d«      \  }}|dd  }|t        t        «       dz
  d t        k7  r(|t        t        «       dz
  d t        k7  rt        d«      ‚|d t        t        «       dz
   dz   }| j                  t        |z   t        z   «       Œ¾|t        t        «       dz
  d t        k(  r'| j                  |d t        t        «       dz
   «       �Œ| j                  |«       �Œ t        | «      S )	NrB   r|   r   éÿÿÿÿrW   éþÿÿÿzinvalid end of eexec partrñ   )rÛ   rÜ   rÝ   r   rJ   rM   ÚEEXECINTERNALENDr   rd   ÚEEXECBEGINMARKERÚEEXECENDMARKERÚ
EEXECBEGINr   )r   rÞ   rß   rÙ   Ú	decryptedrQ   s         r   ÚdecryptType1r  ì  s1  € Ü  Ó&€FØ€DØ$ó #Ñˆ�UÙÜ�U˜2˜A�YÔÜ# EÓ*�Ü Ÿ=™=¨°Ó6‰LˆI�qØ! ! "˜ˆIàœ3Ô/Ó0Ð0°1Ñ4°rÐ:Ô>NÒNØœsÔ#3Ó4Ð4°qÑ8¸2Ð>ÔBRÒRäÐ9Ó:Ð:Ø!Ð">¤SÔ)9Ó%:Ð$:¸QÑ$>Ð?À%ÑGˆIØ�K‰KÔ(¨9Ñ4´~ÑEÕFà”cœ*“oÐ%¨Ñ)¨BÐ/´:Ò=Ø—‘˜EÐ"8¤S¬£_Ð$4°qÑ$8Ð9Ö:à—‘˜EÖ"ð##ô$ �T‹?Ðr   c           	      óB  — g }	 | j                  t        «      }|dk  rní|t        t        «      z   dz   }t        j	                  | |«      }|€t        d«      ‚|j                  «       }| ||dz    }t        |d d «      rt        |«      }t        j                  |d«      \  }}|j                  t        «      }|dk  rt        d«      ‚|j                  d| d | f«       |j                  d|d |t        t        «      z   dz    f«       | |d  } �Œ|j                  d| f«       |S )Nr   r   zcan't find end of eexec partrW   rB   r|   )Úfindr  rM   ÚEEXECENDÚsearchr   ÚstartrÜ   rÝ   r   rJ   rþ   rd   )	r   rÞ   ÚeBeginÚendMatchÚeEndÚ
cypherTextÚ	plainTextrQ   Ú	eEndLocals	            r   rÛ   rÛ     s(  € Ø€FØ
Ø—‘œ:Ó&ˆØ�AŠ:ØØœ#œj›/Ñ)¨AÑ-ˆÜ—?‘? 4¨Ó0ˆØÐÜÐ8Ó9Ð9Ø�~‰~ÓˆØ˜& 4¨!¡8Ð,ˆ
Ü�˜B˜Q�Ô Ü$ ZÓ0ˆJÜ—}‘} Z°Ó7‰ˆ	�1Ø—N‘NÔ#3Ó4ˆ	Ø�qŠ=ÜÐ8Ó9Ð9Ø�‰�q˜$˜w ˜-Ð(Ô)Ø�‰�q˜*Ð%L y´3Ô7GÓ3HÑ'HÈ1Ñ'LÐMÐNÔOØ�D�Eˆ{ˆñ% ð& ‡M�M�1�d�)ÔØ€Mr   c                 óZ   — t        j                  t        | j                  «       «      «      S r+   )r   rÝ   r   Úsplit)Ú	hexstrings    r   rÝ   rÝ     s   € Ü×ÑœY y§¡Ó'8Ó9Ó:Ð:r   s   /FontType\s+1\s+defc                 óÎ   — dD ]  }| d t        |«       |k(  sŒ n t        d«      ‚t        j                  | «      st        d«      ‚| j	                  d«      dk  rt        d«      ‚| S )N)s   %!PS-AdobeFonts   %!FontType1znot a PostScript fontznot a Type 1 fontrõ   r   znot an encrypted Type 1 font)rM   r   Ú_fontType1REr  r  )r   Úheads     r   r¼   r¼   &  sr   € Ø3ò /ˆØ�”#�d“)Ð Ó$Ùð/ô Ð-Ó.Ð.Ü×Ñ˜tÔ$ÜÐ)Ó*Ð*Ø‡y�yÐ%Ó&¨Ò*ÜÐ4Ó5Ð5à€Kr   c                 ód   — d}t        d«      D ]  }|t        | d|dz  z  z  |dz  z	  «      z  }Œ! |S )Nr   rB   éÿ   r[   )rL   r   )Úlongr®   rR   s      r   rï   rï   7  sD   € Ø€AÜ�1‹Xò :ˆØ	ŒW�d˜d q¨1¡u™oÑ.°1°q±5Ñ8Ó9Ñ9‰ð:à€Hr   c                 óŠ   — t        | «      dk7  rt        d«      ‚d}t        d«      D ]  }|t        | |   «      |dz  z  z  }Œ |S )NrB   zstring must be 4 bytes longr   r[   )rM   r#   rL   r   )r®   ÚlrR   s      r   r×   r×   >  sQ   € Ü
ˆ1ƒv�‚{ÜÐ6Ó7Ð7Ø	€AÜ�1‹Xò &ˆØ	ŒW�Q�q‘T‹]˜q 1™uÑ%Ñ%‰ð&à€Hr   Ú
FontMatrixÚFSTypeÚ	Copyright)rC   rv   ÚUniqueIDÚ
BlueValuesÚ
OtherBluesÚFamilyBluesÚFamilyOtherBluesÚ	BlueScaleÚ	BlueShiftÚBlueFuzzÚStdHWÚStdVWÚ	StemSnapHÚ	StemSnapVr˜   ÚLanguageGroupÚpasswordrA   Ú
MinFeaturer™   zá/OtherSubrs[{}{}{}{systemdict/internaldict known not{pop 3}{1183615869
systemdict/internaldict get exec dup/startlock known{/startlock get exec}{dup
/strtlck known{/strtlck get exec}{pop 3}ifelse}ifelse}ifelse}executeonly]def)s   Ž‹!s   ‹Œs   ‹�ó   s	   ŽŒŽ
s   ccccs   )ÚstringÚcurrentfileÚexchÚ
readstringÚpop)Údef)Únoaccessr2  )Úput)r3  r4  r°   )r   F)Er²   r`   rF   r   ÚfontTools.misc.macCreatorTyper   ÚfontTools.misc.textToolsr   r   r   r   ÚfontTools.misc.psOperatorsr	   r
   r   Ú$fontTools.encodings.StandardEncodingr   r´   ÚreÚ
__author__Ú__version__rÃ   ÚCarbonr   ÚImportErrorÚhaveMacSupportÚ	Exceptionr   Úobjectr   r   r,   rè   rò   r    r!   r"   rÀ   rÁ   rÂ   r  r„   ÚMr  rþ   rÿ   r   rø   rÜ   r  rÛ   rÝ   r  r¼   rï   r×   r©   rb   r¾   re   r^   r   rƒ   r}   rŠ   r‰   r€   r�   r‚   r   r   r   ú<module>rB     sÄ  ðñó$ Ý  Ý >ß IÓ I÷ñ õ
 BÛ 	Û 	à€
Ø€Ø	€ððÝð €Nô	ˆiô 	ôu1ˆVô u1óv
(óð4 €Ø€óó>ò0ò$!ò0+óð( "€
ð ˆ2�:‰:Ð+°2·4±4Ô8€Ø+Ð Ø'Ð Ø#€àˆ2�:‰:Ð&Ó'€ò,òò0ò2;ð ˆr�z‰zÐ1Ó2€òò"òñ Ð2Ó3Ð ð × Ñ ˜LÔ )áÐ 5Ó6Ð à × Ñ àØðôòÐ ð8P€
ò€	ð €Ø
€ØA€ØÐ*Ð+€	ØÐ*Ð+�	øðA ò Ýðûàò Ø‚Nðús)   ¿D* Ä*	D6Ä3D9 Ä5D6Ä6D9 Ä9EÅE