§
    ¢”jË>  ã                   ó@  — d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	T d dl
Z
 e
j        d¦  «        Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ edœej        _        d„ d„ dœej        _        ed„ dœej        _        eedœej        _        eedœej        _        eedœej        _        eeedœej        _        eeedœej        _        e eedœej!        _        deiej"        _        eedœej#        _        ee$dœxej%        _        xej&        _        xej'        _        xej(        _        xej)        _        ej*        _         e+e ¦  «        edœx ej,        d¦  «        _        x ej,        d ¦  «        _        x ej,        d!¦  «        _        x ej,        d"¦  «        _        x ej,        d#¦  «        _         ej,        d$¦  «        _         e ej,        d ¦  «        ¦  «        d%„ ¦   «         Z- eej.        ej/        ej0        ej1        ej2        ej3        ej4        ej5        ej6        ej7        ej8        ¦  «        d&„ ¦   «         Z9 eej:        ej;        ej<        ej=        ¦  «        d'„ ¦   «         Z> eej:        ej;        ej<        ej=        ¦  «        d(„ ¦   «         Z9 eej?        ej@        ¦  «        d)„ ¦   «         Z9 eejA        ¦  «        d*„ ¦   «         Z9 eej        ¦  «        d+„ ¦   «         Z9 eejA        ¦  «        d,„ ¦   «         ZB eej        ¦  «        d-„ ¦   «         ZB eejC        ¦  «        d.„ ¦   «         Z9 eej        ¦  «        d/„ ¦   «         Z9 eejD        ejE        ¦  «        d0„ ¦   «         ZF eejG        ¦  «        d1„ ¦   «         ZF eej        ¦  «        d2„ ¦   «         ZFd3„ ZHd4„ ZIdS )5é    )ÚttLib)ÚDefaultTable)ÚotTables)Ú
add_methodÚmergeObjects)Ú*NzfontTools.mergec                 ó    — t          | ¦  «        S ©N)ÚsumLists©Úlsts    úe/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/merge/layout.pyÚmergeLookupListsr      s   € å�C‰=Œ=Ðó    c                 ó°   — | sJ ‚t          j        ¦   «         }d |_        t          d„ | D ¦   «         ¦  «        |_        t          |j        ¦  «        |_        |S )Nc                 ó*   — g | ]}|j         ¯	|j         ‘ŒS © ©ÚLookupListIndex©Ú.0Úls     r   ú
<listcomp>z!mergeFeatures.<locals>.<listcomp>   s#   € Ð=Ð=Ð=˜q¨1Ô+<Ð=ˆÔ	Ð=Ð=Ð=r   )r   ÚFeatureÚFeatureParamsr   r   ÚlenÚLookupCount©r   Úselfs     r   ÚmergeFeaturesr       s^   € Ø€J€J€JÝÔÑÔ€DØ€DÔÝ+Ø=Ð= CÐ=Ñ=Ô=ñô €DÔõ ˜4Ô/Ñ0Ô0€DÔØ€Kr   c                 ó\  — i }| D ]7}|D ]2}|j         }||vrg ||<   ||                              |j        ¦  «         Œ3Œ8g }t          |                     ¦   «         ¦  «        D ]K}t          j        ¦   «         }||_         t          ||         ¦  «        |_        |                     |¦  «         ŒL|S r
   )Ú
FeatureTagÚappendr   ÚsortedÚkeysr   ÚFeatureRecordr    )r   Údr   ÚfÚtagÚretÚrecs          r   ÚmergeFeatureListsr,       sÂ   € Ø
€AØð %ð %ˆØð 	%ð 	%ˆAØ”,ˆCØ˜!ˆ|ˆ|Ø��#‘ØˆcŒF�MŠM˜!œ)Ñ$Ô$Ð$Ð$ð		%ð
 €CÝ�a—f’f‘h”hÑÔð ð ˆÝÔ$Ñ&Ô&ˆØˆŒÝ# A c¤FÑ+Ô+ˆŒØ�
Š
�3‰ŒˆˆØ€Jr   c                 óô   — | sJ ‚t          d„ | D ¦   «         ¦  «        sJ ‚t          j        ¦   «         }d |_        d|_        t          d„ | D ¦   «         ¦  «        |_        t          |j        ¦  «        |_        |S )Nc              3   ó,   K  — | ]}|j         d k    V — ŒdS )éÿÿ  N)ÚReqFeatureIndexr   s     r   ú	<genexpr>z!mergeLangSyses.<locals>.<genexpr>5   s*   è è € Ð8Ð8¨qˆqÔ  FÒ*Ð8Ð8Ð8Ð8Ð8Ð8r   r/   c                 ó*   — g | ]}|j         ¯	|j         ‘ŒS r   )ÚFeatureIndexr   s     r   r   z"mergeLangSyses.<locals>.<listcomp>;   s!   € Ð7Ð7Ð7˜A¨¬Ð7ˆŒÐ7Ð7Ð7r   )	Úallr   ÚLangSysÚLookupOrderr0   r,   r3   r   ÚFeatureCountr   s     r   ÚmergeLangSysesr8   1   s‹   € Ø€J€J€Jõ Ð8Ð8°CÐ8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8åÔÑÔ€DØ€DÔØ!€DÔÝ)Ø7Ð7 Ð7Ñ7Ô7ñô €DÔõ ˜DÔ-Ñ.Ô.€DÔØ€Kr   c                 ó^  — | sJ ‚t          | ¦  «        dk    r| d         S i }| D ]D}|j        D ]:}|j        |vr
g ||j        <   ||j                                      |j        ¦  «         Œ;ŒEg }t          |                     ¦   «         ¦  «        D ]H\  }}t          j        ¦   «         }t          |¦  «        |_        ||_        |                     |¦  «         ŒIt          j	        ¦   «         }||_        t          |¦  «        |_
        d„ | D ¦   «         }|rt          |¦  «        |_        nd |_        |S )Né   r   c                 ó*   — g | ]}|j         ¯	|j         ‘ŒS r   )ÚDefaultLangSys)r   Úss     r   r   z mergeScripts.<locals>.<listcomp>V   s#   € ÐGÐGÐG¨!°aÔ6FÐG�QÔ%ÐGÐGÐGr   )r   ÚLangSysRecordÚ
LangSysTagr#   r5   r$   Úitemsr   r8   ÚScriptÚLangSysCountr<   )	r   Ú	langSysesÚsrÚlsrÚ	lsrecordsr)   ÚlangSys_listr   ÚdfltLangSysess	            r   ÚmergeScriptsrI   A   sM  € Ø€J€J€Jå
ˆ3�x„x�1‚}€}Ø�1ŒvˆØ€IØð :ð :ˆØÔ#ð 	:ð 	:ˆCØŒ~ YÐ.Ð.Ø,.�	˜#œ.Ñ)Ø�c”nÔ%×,Ò,¨S¬[Ñ9Ô9Ð9Ð9ð	:ð €IÝ# I§O¢OÑ$5Ô$5Ñ6Ô6ð ð Ñˆˆ\ÝÔ$Ñ&Ô&ˆÝ$ \Ñ2Ô2ˆŒØˆŒØ×Ò˜ÑÔÐÐåŒ?ÑÔ€DØ"€DÔÝ˜I™œ€DÔØGÐG¨sÐGÑGÔG€MØð #Ý,¨]Ñ;Ô;ˆÔÐà"ˆÔØ€Kr   c                 ó\  — i }| D ]7}|D ]2}|j         }||vrg ||<   ||                              |j        ¦  «         Œ3Œ8g }t          |                     ¦   «         ¦  «        D ]K}t          j        ¦   «         }||_         t          ||         ¦  «        |_        |                     |¦  «         ŒL|S r
   )Ú	ScriptTagr#   rA   r$   r%   r   ÚScriptRecordrI   )r   r'   r   r=   r)   r*   r+   s          r   ÚmergeScriptRecordsrM   ^   sÂ   € Ø
€AØð $ð $ˆØð 	$ð 	$ˆAØ”+ˆCØ˜!ˆ|ˆ|Ø��#‘ØˆcŒF�MŠM˜!œ(Ñ#Ô#Ð#Ð#ð		$ð
 €CÝ�a—f’f‘h”hÑÔð ð ˆÝÔ#Ñ%Ô%ˆØˆŒÝ! ! C¤&Ñ)Ô)ˆŒ
Ø�
Š
�3‰ŒˆˆØ€Jr   c                 ó   — d S r
   r   r   s    r   ú<lambda>rO   p   s   € ˜t€ r   )ÚScriptCountrL   c                 ó   — d S r
   r   r   s    r   rO   rO   t   s   €  4€ r   c                 ó@   — t          t          | ¦  «        d„ ¬¦  «        S )Nc                 ó   — | j         S r
   )ÚBaseScriptTag©r=   s    r   rO   z<lambda>.<locals>.<lambda>w   s   €  Q¤_€ r   ©Úkey©r$   r   r   s    r   rO   rO   v   s$   € ¥FÝ�‰ŒÐ4Ð4ð%ñ %ô %€ r   )ÚBaseScriptCountÚBaseScriptRecordc                 ó@   — t          t          | ¦  «        d„ ¬¦  «        S )Nc                 ó   — | j         S r
   ©r"   rU   s    r   rO   z<lambda>.<locals>.<lambda>}   s   € ÀQÄ\€ r   rV   rX   r   s    r   rO   rO   }   s   € ¥­°©¬Ð;QÐ;QÐ!RÑ!RÔ!R€ r   )r7   r&   )r   ÚLookup)ÚFormatÚglyphs)r_   Ú	classDefs)ÚCoverageÚLigGlyphCountÚLigGlyph)rb   Ú
GlyphCountÚAttachPoint)ÚMarkSetTableFormatÚMarkSetCountrb   r   )ÚBaseTagCountÚBaselineTag)r   ÚVersion)ÚtableTagÚtableÚGDEFÚGSUBÚGPOSÚBASEÚJSTFÚMATHc                 ó  — t          |¦  «        t          |j        ¦  «        k    sJ ‚t          t          ||j        ¦  «        ¦  «        D �]�\  }\  }}|sŒ|�	|t          u r-t
                               d|j        |         j        |¦  «         ŒDd }d }|j	        j
        j        D �]B}|j        dk    rŒ|j        j        gd„ |j        j        D ¦   «         z   D �]}	|	€Œd„ |	j        D ¦   «         }
t          |
¦  «        dk    sJ ‚|
r	|
d         }
nÁ|s‡t#          j        ¦   «         }d|_        t#          j        ¦   «         x}|_        d |_        d|_        g |_        |j	        j        j                             |¦  «         |j	        j        xj        dz  c_        |}
|	j                             |
¦  «         |	j                             d„ ¬	¦  «         |sÓt#          j        ¦   «         }||_        t#          j        ¦   «         }d|_        d|_         d|_!        |g|_"        |j	        j#        €?t#          j#        ¦   «         |j	        _#        g |j	        j#        _        d|j	        j#        _        |j	        j#        j                             |¦  «         |j	        j#        xj        dz  c_        |
j        j        d d…         |gk    r'|g|
j        j        d d…<   |
j        xj        dz  c_        �Œ�ŒD�ŒŸtI          j%        | ||¦  «         | S )
Nz[Have non-identical duplicates to resolve for '%s' but no GSUB. Are duplicates intended?: %sÚDFLTc                 ó   — g | ]	}|j         ‘Œ
S r   )r5   r   s     r   r   zmerge.<locals>.<listcomp>Ò   s'   € ð =ð =ð =Ø�”	ð=ð =ð =r   c                 ó(   — g | ]}|j         d k    ¯|‘ŒS )Úloclr]   )r   Úvs     r   r   zmerge.<locals>.<listcomp>×   s$   € ÐUÐUÐU ¸a¼lÈfÒ>TÐ>T˜1Ð>TÐ>TÐ>Tr   r:   r   rx   c                 ó   — | j         S r
   r]   )ry   s    r   rO   zmerge.<locals>.<lambda>ç   s   € ¸A¼L€ r   rV   )&r   ÚduplicateGlyphsPerFontÚ	enumerateÚzipÚNotImplementedÚlogÚwarningÚfontsÚ_merger__namerm   Ú
ScriptListrL   rK   rA   r<   r>   r3   r   r&   r"   r   r   r   r   ÚFeatureListr#   r7   ÚsortÚSingleSubstÚmappingr^   Ú
LookupFlagÚ
LookupTypeÚSubTableCountÚSubTableÚ
LookupListr   Úmerge)r   ÚmÚtablesÚirm   ÚdupsÚsynthFeatureÚsynthLookupÚscriptÚlangsysÚfeaturer(   Úsubtables                r   r�   r�   ¿   s7  € åˆv‰;Œ;�#˜aÔ6Ñ7Ô7Ò7Ð7Ð7Ð7Ý%¥c¨&°!Ô2JÑ&KÔ&KÑLÔLð ;5ñ ;5Ñˆ‰=ˆE�4Øð 	ØØˆ=˜E¥^Ð3Ð3Ý�KŠKØmØ”˜”
Ô(Øñô ð ð
 àˆØˆØ”kÔ,Ô9ð .	5ñ .	5ˆFØÔ 6Ò)Ð)ØØ"œMÔ8Ð9ð =ð =Ø#)¤=Ô#>ð=ñ =ô =ñ ð +5ñ +5�ð �?ØØUÐU gÔ&:ÐUÑUÔU�Ý˜7‘|”| qÒ(Ð(Ð(Ð(Øð JØ% aœj�G�Gà'ð BÝ'/Ô'=Ñ'?Ô'?˜Ø28˜Ô/Ý3;Ô3CÑ3EÔ3EÐE˜˜LÔ0Ø*.˜œØ()˜œØ,.˜Ô)ØœÔ/Ô=×DÒDÀ\ÑRÔRÐRØœÔ/Ð<Ô<ÀÑAÐ<Ô<Ø*�GØÔ(×/Ò/°Ñ8Ô8Ð8ØÔ(×-Ò-Ð2HÐ2HÐ-ÑIÔIÐIà"ð <Ý'Ô3Ñ5Ô5�HØ'+�HÔ$Ý"*¤/Ñ"3Ô"3�KØ-.�KÔ*Ø-.�KÔ*Ø01�KÔ-Ø,4¨:�KÔ(Ø”{Ô-Ð5õ 2:Ô1DÑ1FÔ1F˜œÔ.Ø8:˜œÔ.Ô5Ø=>˜œÔ.Ô:Ø”KÔ*Ô1×8Ò8¸ÑEÔEÐEØ”KÔ*Ð6Ô6¸!Ñ;Ð6Ô6à”?Ô2°2°A°2Ô6¸;¸-ÒGÐGØ;F¸-�G”OÔ3°B°Q°BÑ7Ø”OÐ/Ô/°1Ñ4Ð/Ô/ùñW+5ñ.	5õ` Ô�t˜Q Ñ'Ô'Ð'Ø€Kr   c                 ó   — d S r
   r   ©r   Ú	lookupMaps     r   Ú
mapLookupsr›     s	   € ð 	€Dr   c                 ó(  —  G d„ dt           ¦  «        }| j        dvrd S t          | j        d¦  «        si | j        _        | j        | j        j        vr* || j        | j        ¦  «        }|| j        j        | j        <   | j        j        | j                 S )Nc                   ó   — e Zd Zd„ ZdS )ú/__merge_classify_context.<locals>.ContextHelperc                 óP  — |j                              d¦  «        rd}d}nd}d}|j                              d¦  «        rd}nd}||z   }|| _        || _        || _        || _        |dz   | _        |dk    r|dz   | _        |d	z   | _	        d S |d
k    r|dz   | _        |dz   | _	        d S d S )NÚSubstÚSubÚPosÚChainÚ ÚLookupRecordr:   ÚRuleÚRuleSeté   Ú	ClassRuleÚClassSet)
Ú__name__ÚendswithÚ
startswithÚTypÚTyper£   ÚChainTypr¥   r¦   r§   )r   Úklassr_   r®   r¯   r£   r°   s          r   Ú__init__z8__merge_classify_context.<locals>.ContextHelper.__init__  s×   € ØŒ~×&Ò& wÑ/Ô/ð Ø�Ø��à�Ø�ØŒ~×(Ò(¨Ñ1Ô1ð Ø��à�Ø˜s‘{ˆHàˆDŒHØˆDŒIØˆDŒJØ$ˆDŒMà $ ~Ñ 5ˆDÔà˜Š{ˆ{Ø$ vÑ-�”	Ø'¨)Ñ3�”��Ø˜1’�Ø$ {Ñ2�”	Ø'¨*Ñ4�”��ð �r   N)r«   Ú
__module__Ú__qualname__r²   r   r   r   ÚContextHelperrž     s#   € € € € € ð	5ð 	5ð 	5ð 	5ð 	5r   rµ   )r:   r¨   é   Ú_merge__ContextHelpers)Úobjectr_   ÚhasattrÚ	__class__r·   )r   rµ   Úhelpers      r   Ú__merge_classify_contextr¼     s©   € ð5ð 5ð 5ð 5ð 5�ñ 5ô 5ð 5ð8 „{˜)Ð#Ð#ØˆtÝ�4”>Ð#;Ñ<Ô<ð 3Ø02ˆŒÔ-Ø„{˜$œ.Ô?Ð?Ð?Ø�˜tœ~¨t¬{Ñ;Ô;ˆØ=CˆŒÔ-¨d¬kÑ:ØŒ>Ô0°´Ô=Ð=r   c                 óž  — |                       ¦   «         }| j        dv ret          | |j        ¦  «        D ]M}|sŒt          ||j        ¦  «        D ]2}|sŒt          ||j        ¦  «        D ]}|sŒ||j                 |_        ŒŒ3ŒNd S | j        dk    r/t          | |j        ¦  «        D ]}|sŒ||j                 |_        Œd S J d| j        z  ¦   «         ‚)N)r:   r¨   r¶   r   úunknown format: %s)r¼   r_   Úgetattrr§   r¦   r¥   r   )r   rš   ÚcÚrsÚrÚlls         r   r›   r›   B  s/  € ð 	×%Ò%Ñ'Ô'€Aà„{�fÐÐÝ˜$ ¤	Ñ*Ô*ð 		Gð 		GˆBØð ØÝ˜R ¤Ñ(Ô(ð Gð G�Øð ØÝ! ! Q¤^Ñ4Ô4ð Gð G�BØð !Ø Ø)2°2Ô3EÔ)F�BÔ&Ð&ðGðGð		Gð 		Gð 
Œ˜Ò	Ð	Ý˜$ ¤Ñ/Ô/ð 	?ð 	?ˆBØð ØØ!*¨2Ô+=Ô!>ˆBÔÐð	?ð 	?ð
 	5Ð&¨¬Ñ4Ñ4Ô4Ð4r   c                 ót   — | j         dk    r| j                             |¦  «         d S J d| j         z  ¦   «         ‚)Nr:   r   r¾   )r_   ÚExtSubTabler›   r™   s     r   r›   r›   _  sB   € à„{�aÒÐØÔ×#Ò# IÑ.Ô.Ð.Ð.Ð.à4Ð&¨¬Ñ4Ñ4Ô4Ð4r   c                 óJ   — | j         D ]}|sŒ|                     |¦  «         Œd S r
   )r‹   r›   )r   rš   Ústs      r   r›   r›   g  s=   € àŒmð !ð !ˆØð 	ØØ
�Š�iÑ Ô Ð Ð ð!ð !r   c                 óJ   — | j         D ]}|sŒ|                     |¦  «         Œd S r
   )r^   r›   )r   rš   r   s      r   r›   r›   o  s=   € àŒ[ð  ð  ˆØð 	ØØ	�Š�YÑÔÐÐð ð  r   c                 óB   — | j         dz  r|| j                 | _        d S d S )Né   )rˆ   ÚMarkFilteringSet)r   ÚmarkFilteringSetMaps     r   ÚmapMarkFilteringSetsrÍ   w  s4   € à„˜Ñð KØ 3°DÔ4IÔ JˆÔÐÐðKð Kr   c                 óJ   — | j         D ]}|sŒ|                     |¦  «         Œd S r
   )r^   rÍ   )r   rÌ   r   s      r   rÍ   rÍ   }  s@   € àŒ[ð 4ð 4ˆØð 	ØØ	×ÒÐ2Ñ3Ô3Ð3Ð3ð4ð 4r   c                 ó8   ‡— ˆfd„| j         D ¦   «         | _         d S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r   r   )r   r�   rš   s     €r   r   zmapLookups.<locals>.<listcomp>‡  s   ø€ ÐGÐGÐG¨Q˜I aœLÐGÐGÐGr   r   r™   s    `r   r›   r›   …  s(   ø€ àGÐGÐGÐG°$Ô2FÐGÑGÔG€DÔÐÐr   c                 ób   — | j         D ]&}|r|j        sŒ|j                             |¦  «         Œ'd S r
   )r&   r   r›   )r   rš   r(   s      r   r›   r›   Š  sK   € àÔð (ð (ˆØð 	˜œ	ð 	ØØ	Œ	×Ò˜YÑ'Ô'Ð'Ð'ð(ð (r   c                 óv   ‡— ˆfd„| j         D ¦   «         | _         | j        dk    r‰| j                 | _        d S d S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r   r   )r   r�   Ú
featureMaps     €r   r   zmapFeatures.<locals>.<listcomp>”  s   ø€ ÐBÐBÐB¨1˜ AœÐBÐBÐBr   r/   )r3   r0   )r   rÔ   s    `r   ÚmapFeaturesrÕ   ’  sN   ø€ àBÐBÐBÐB°Ô0AÐBÑBÔB€DÔØÔ˜uÒ$Ð$Ø)¨$Ô*>Ô?ˆÔÐÐð %Ð$r   c                 ó¤   — | j         r| j                              |¦  «         | j        D ]&}|r|j        sŒ|j                             |¦  «         Œ'd S r
   )r<   rÕ   r>   r5   )r   rÔ   r   s      r   rÕ   rÕ   ™  sm   € àÔð 4ØÔ×'Ò'¨
Ñ3Ô3Ð3ØÔð *ð *ˆØð 	˜œ	ð 	ØØ	Œ	×Ò˜jÑ)Ô)Ð)Ð)ð*ð *r   c                 ób   — | j         D ]&}|r|j        sŒ|j                             |¦  «         Œ'd S r
   )rL   rA   rÕ   )r   rÔ   r=   s      r   rÕ   rÕ   £  sK   € àÔð )ð )ˆØð 	˜œð 	ØØ	Œ×Ò˜ZÑ(Ô(Ð(Ð(ð)ð )r   c                 ó  — |                       d¦  «        }|                       d¦  «        }|                       d¦  «        }||fD �]<}|sŒ|j        j        rËd„ t          |j        j        j        ¦  «        D ¦   «         }|j        j                             |¦  «         |j        j                             |¦  «         |rc|j        j        dk    rS|j        j        rGd„ t          |j        j        j	        ¦  «        D ¦   «         }|j        j         
                    |¦  «         |j        j        rS|j        j        rGd„ t          |j        j        j        ¦  «        D ¦   «         }|j        j                             |¦  «         �Œ>d S )Nrn   ro   rp   c                 ó   — i | ]\  }}||“Œ	S r   r   ©r   r�   ry   s      r   ú
<dictcomp>z"layoutPreMerge.<locals>.<dictcomp>·  s   € ÐOÐOÐO¡$ ! Q˜˜AÐOÐOÐOr   é  c                 ó   — i | ]\  }}||“Œ	S r   r   rÚ   s      r   rÛ   z"layoutPreMerge.<locals>.<dictcomp>À  s+   € ð 'ð 'ð 'Ù!˜Q �A�qð'ð 'ð 'r   c                 ó   — i | ]\  }}||“Œ	S r   r   rÚ   s      r   rÛ   z"layoutPreMerge.<locals>.<dictcomp>Æ  s   € ÐXÐXÐX¡4 1 a˜!˜QÐXÐXÐXr   )Úgetrm   rŒ   r|   r^   r›   r„   rk   ÚMarkGlyphSetsDefrb   rÍ   rƒ   r&   rÕ   )Úfontrn   ro   rp   Útrš   rÌ   rÔ   s           r   ÚlayoutPreMergerã   «  s‹  € ð �8Š8�FÑÔ€DØ�8Š8�FÑÔ€DØ�8Š8�FÑÔ€Dà�Dˆ\ð 7ñ 7ˆØð 	ØàŒ7Ôð 	MØOÐO­)°A´GÔ4FÔ4MÑ*NÔ*NÐOÑOÔOˆIØŒGÔ×)Ò)¨)Ñ4Ô4Ð4ØŒGÔ×*Ò*¨9Ñ5Ô5Ð5ð ðMà”JÔ&¨*Ò4Ð4Ø”JÔ/ð 5ð'ð 'Ý%.¨t¬zÔ/JÔ/SÑ%TÔ%Tð'ñ 'ô 'Ð#ð ”Ô"×7Ò7Ð8KÑLÔLÐLàŒ7Ôð 	7 1¤7Ô#5ð 	7ØXÐX­9°Q´WÔ5HÔ5VÑ+WÔ+WÐXÑXÔXˆJØŒGÔ×*Ò*¨:Ñ6Ô6Ð6ùð+7ð 7r   c                 óÔ  ‡— |                       d¦  «        }|                       d¦  «        }|                       d¦  «        }||fD �]!}|sŒ|j        j        �r1|j        j        �r$t	          |j        j        j        ¦  «        }|j        j                             |¦  «         t          |j        j        j        ¦  «        }|j        j                             |¦  «         |j        Šˆfd„t          |j        j        j        ¦  «        D ¦   «         |j        j        _        t          |j        j        j        ¦  «        }|j        j                             |¦  «         t          |j        j        j        ¦  «        |j        j        _        |j        j        �rÐt	          |j        j        j        ¦  «        }|j        j                             |¦  «         |j        j                             |¦  «         t          |j        j        j        ¦  «        }|j        j                             |¦  «         |j        j                             |¦  «         |j        Šˆfd„t          |j        j        j        ¦  «        D ¦   «         |j        j        _        t          |j        j        j        ¦  «        }|j        j                             |¦  «         |j        j                             |¦  «         t          |j        j        j        ¦  «        |j        j        _        |rM|j        j        dk    r=t          |j        j        j        ¦  «        }|j        j                             |¦  «         �Œ#d S )Nrn   ro   rp   c                 ó"   •— g | ]\  }}|‰v ¯	|‘ŒS r   r   )r   r�   r(   ÚusedIndicess      €r   r   z#layoutPostMerge.<locals>.<listcomp>ä  s2   ø€ ð 1ð 1ð 1á�A�qØ˜Ð#Ð#ð à#Ð#Ð#r   c                 ó"   •— g | ]\  }}|‰v ¯	|‘ŒS r   r   )r   r�   r   ræ   s      €r   r   z#layoutPostMerge.<locals>.<listcomp>ý  s.   ø€ ð )ð )ð )Ù�a˜ÀaÈ;ÐFVÐFV�ÐFVÐFVÐFVr   rÜ   )rß   rm   r„   rƒ   ÚGregariousIdentityDictr&   rÕ   ÚAttendanceRecordingIdentityDictr=   r|   ÚNonhashableDictr   r7   rŒ   r^   r›   r   rk   rà   rb   rÍ   )	rá   rn   ro   rp   râ   rÔ   rš   rÌ   ræ   s	           @r   ÚlayoutPostMergerë   Ì  s  ø€ ð �8Š8�FÑÔ€DØ�8Š8�FÑÔ€DØ�8Š8�FÑÔ€Dà�Dˆ\ð 9Mñ 9MˆØð 	ØàŒ7Ôñ 	V 1¤7Ô#5ñ 	Vå/°´Ô0CÔ0QÑRÔRˆJØŒGÔ×*Ò*¨:Ñ6Ô6Ð6õ 9Ø”Ô#Ô1ñô ˆJð ŒGÔ×*Ò*¨:Ñ6Ô6Ð6Ø$œ,ˆKð1ð 1ð 1ð 1å% a¤gÔ&9Ô&GÑHÔHð1ñ 1ô 1ˆAŒGÔÔ-õ )¨¬Ô)<Ô)JÑKÔKˆJØŒGÔ×*Ò*¨:Ñ6Ô6Ð6å/2°1´7Ô3FÔ3TÑ/UÔ/UˆAŒGÔÔ,àŒ7Ôñ 	Må.¨q¬wÔ/AÔ/HÑIÔIˆIØŒGÔ×*Ò*¨9Ñ5Ô5Ð5ØŒGÔ×)Ò)¨)Ñ4Ô4Ð4õ 8¸¼Ô8JÔ8QÑRÔRˆIØŒGÔ×*Ò*¨9Ñ5Ô5Ð5ØŒGÔ×)Ò)¨)Ñ4Ô4Ð4Ø#œ+ˆKð)ð )ð )ð )Ý'¨¬Ô(:Ô(AÑBÔBð)ñ )ô )ˆAŒGÔÔ%õ
 (¨¬Ô(:Ô(AÑBÔBˆIØŒGÔ×*Ò*¨9Ñ5Ô5Ð5ØŒGÔ×)Ò)¨)Ñ4Ô4Ð4å-0°´Ô1CÔ1JÑ-KÔ-KˆAŒGÔÔ*àð M˜œ
Ô*¨jÒ8Ð8Ý&5Ø”JÔ/Ô8ñ'ô 'Ð#ð ”Ô"×7Ò7Ð8KÑLÔLÐLùðs9Mð 9Mr   )JÚ	fontToolsr   Ú#fontTools.ttLib.tables.DefaultTabler   ÚfontTools.ttLib.tablesr   ÚfontTools.merge.baser   r   ÚfontTools.merge.utilÚloggingÚ	getLoggerr   r   r    r,   r8   rI   rM   rƒ   ÚmergeMapÚBaseScriptListÚsumr„   r   rŒ   Úminrb   ÚsumDictsÚClassDefÚLigCaretListÚ
AttachListÚequalrà   ÚAxisÚBaseTagListÚmaxrn   ro   rp   rq   rr   rs   ÚonlyExistingÚgetTableClassr�   r†   ÚMultipleSubstÚAlternateSubstÚLigatureSubstÚReverseChainSingleSubstÚ	SinglePosÚPairPosÚ
CursivePosÚMarkBasePosÚ
MarkLigPosÚMarkMarkPosr›   ÚContextSubstÚChainContextSubstÚ
ContextPosÚChainContextPosr¼   ÚExtensionSubstÚExtensionPosr^   rÍ   r   r<   r5   rÕ   rA   rã   rë   r   r   r   ú<module>r     s  ðð
 Ð Ð Ð Ð Ð Ø <Ð <Ð <Ð <Ð <Ð <Ø +Ð +Ð +Ð +Ð +Ð +Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø "Ð "Ð "Ð "Ø €€€ð €gÔÐ)Ñ*Ô*€ðð ð ð
ð ð ðð ð ð"ð ð ð ð ð ð:ð ð ð$ $Ð#Ø&ð ð  €Ô Ô ð
 (Ð'ðð ð$ð $€Ô Ô  ð ØRÐRð!ð !€Ô Ô ð Øð ð  €Ô Ô ð Øðð €Ô Ô ð Øðð €Ô Ô ð ØØð"ð "€Ô Ô ð ØØð ð  €Ô Ô ð  ØØð&ð &€Ô Ô "ð ˆð€„Ô ð Øð!ð !€Ô Ô ð 
Øð7ð 7ð€„Ô ð ˜œÔ/ð °(´-Ô2Hð Ø„MÔðà„MÔ˜Xœ]Ô3ð �˜UÑ#Ô#Øðð ð	Ð €Ô �FÑ Ô Ô $ð 	Ð': uÔ':¸6Ñ'BÔ'BÔ'Kð 	Ø€EÔ˜ÑÔÔ(ð	à€EÔ˜ÑÔÔ(ð	à+>¨5Ô+>Ø
ñ,ô ,ä
Ð ˆUÔ Ø
ñô ä
ð €ÐˆEÔ Ñ'Ô'Ñ(Ô(ð@ð @ñ )Ô(ð@ðF €ØÔØÔØÔØÔØÔ$ØÔØÔØÔØÔØÔØÔñô ð	ð 	ñô ð	ð
 €ØÔØÔØÔØÔñ	ô ð$>ð $>ñô ð$>ðN €ØÔØÔØÔØÔñ	ô ð5ð 5ñô ð5ð. €ˆHÔ# XÔ%:Ñ;Ô;ð5ð 5ñ <Ô;ð5ð €ˆHŒOÑÔð!ð !ñ Ôð!ð €ˆHÔÑ Ô ð ð  ñ !Ô ð ð €ˆHŒOÑÔðKð Kñ ÔðKð
 €ˆHÔÑ Ô ð4ð 4ñ !Ô ð4ð €ˆHÔÑÔðHð Hñ ÔðHð €ˆHÔ Ñ!Ô!ð(ð (ñ "Ô!ð(ð €ˆHÔ# XÔ%5Ñ6Ô6ð@ð @ñ 7Ô6ð@ð €ˆHŒOÑÔð*ð *ñ Ôð*ð €ˆHÔÑ Ô ð)ð )ñ !Ô ð)ð7ð 7ð 7ðB@Mð @Mð @Mð @Mð @Mr   