ó
    F±‰jƒÊ  ã                   óv  • S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  S SK
Jr  SSKJrJr  S SKJr   S SKrSS	KJr  SS
KJrJrJrJrJrJrJr  SSKJr  SSKJr  SSKJ r   SSK!J"r"J#r#J$r$  \" \RJ                  RL                  5      r'\" \5      r(\" \5      r)\ RT                  S4S\+\,   4S jj5       r-S r.S5S jr/S r0S r1\2" 5       r3\2" 5       r4\2" 5       r5\,\+\+\+\4\4\4\4\+\4\4\+\4\3\5S.r6\ RT                  S 5       r7 " S S5      r8\ Rr                  " \2\Rt                  " S\Rv                  5      Rx                  5      r=\ Rr                  " \2\Rt                  " S\Rv                  5      Rx                  5      r>\ Rr                  " \2\Rt                  " S\Rv                  5      Rx                  5      r?S6S\,S\,4S jjr@\Rt                  " S\R‚                  \Rv                  -  5      rB\Rt                  " S \R‚                  \Rv                  -  5      rCS! rD\S" 5       rES# rF\S$ 5       rG\S% 5       rH\S& 5       rI\S' 5       rJ " S( S)5      rKSqLS7S* jrMS+ rN  S8S, jrO  S9S- jrP\R¢                  R¥                  S.5      (       a  \R¢                  S.   rSS/ rTOS0 rT\T    S:S1 j5       rUS2 rVS3 rWg! \ a    Sr GNyf = f);é    N)Úiglob)ÚStringIO)Úrelpathé   )ÚCacheÚFingerprintFlags)ÚIterableé   )ÚUtils)Úcached_functionÚcached_methodÚpath_existsÚsafe_makedirsÚcopy_file_to_dir_if_newerÚis_package_dirÚwrite_depfile)ÚErrors)ÚContext)ÚOptions)ÚCompilationOptionsÚdefault_optionsÚget_directive_defaultsÚreturnc                 ó(  • U(       d  [         R                  " 5       nUS   [         R                  R                  :w  a  U[         R                  R                  -  nU  Vs/ s H&  nUR	                  U5      (       a  [        X!5      OUPM(     sn$ s  snf )Néÿÿÿÿ)ÚosÚgetcwdÚpathÚsepÚ
startswithÚ_relpath)Ú
file_pathsÚbaser   s      Ú§C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\Cython/Build/Dependencies.pyÚ_make_relativer%       ss   € æÜ�yŠy‹{ˆØˆB�x”2—7‘7—;‘;ÓØ”—‘—‘Ñˆá"ó$Ú"�ð %)§O¡O°D×$9Ñ$9ŒH�TÔ ¸tÒCÙ"ñ$ð $ùò $s   Á-Bc           	   #   ó  #   • SU ;   ae  [         R                  " SU 5      nU(       aG  UR                  5       u  p#nUR                  S5       H  n[	        X%-   U-   5       H  nUv •  M	     M      g SU ;   d  [
        R                  S:X  aã  SU ;   aÝ  [        5       n[         R                  " S[
        R                  S:X  a  SOS	-  U S
S9u  p‰U(       a  [        U[
        R                  -   5      nOS/nU Ht  n
[	        [        X©5      5       H  nXg;  d  M
  UR                  U5        Uv •  M!     [	        [        U
SSU	5      5       H  nXg;  d  M
  UR                  U5        Uv •  M!     Mv     g [        U 5       H  nUv •  M	     g 7f)NÚ{z(.*){([^}]+)}(.*)Ú,z**/Ú\z**\z\*\*[%s]z/\\Ú/r   )ÚmaxsplitÚ Ú*z**)ÚreÚmatchÚgroupsÚsplitÚextended_iglobr   r   Úsetr   Ú	join_pathÚadd)ÚpatternÚmÚbeforeÚswitchÚafterÚcaser   ÚseenÚfirstÚrestÚroots              r$   r2   r2   *   sE  é € Ø
ˆgƒ~Ü�HŠHÐ(¨'Ó2ˆÞØ$%§H¡H£JÑ!ˆF˜EØŸ™ SÖ)�Ü*¨6©=¸5Ñ+@ÖA�DØ”Jó Bñ *ð ð �Óœ2Ÿ6™6 T›>¨f¸Ó.?Ü‹uˆÜ—h’h˜{¼¿¹À4»©gÈSÑQÐSZÐefÑg‰ˆÞÜ˜%¤"§&¡&™.Ó)‰Eà�DˆEÛˆDÜ&¤y°Ó'<Ö=�ØÕ#Ø—H‘H˜T”NØ”Jñ >ô '¤y°°s¸DÀ$Ó'GÖH�ØÕ#Ø—H‘H˜T”NØ”Jó Iò ô ˜'–NˆDØŒJò #ùs   ‚DFÄ6FÅ5Fc              #   óR   #   • SnU  H	  nSnUv •  M     U(       a  [        U5      eg 7f)NTF)Ú
ValueError)ÚitÚ	error_msgÚemptyÚvalues       r$   ÚnonemptyrF   K   s3   é € Ø€EÛˆØˆØŒñ ö Ü˜Ó#Ð#ð ùs   ‚%'c                 óà  • [         c  [        S5      e [         R                  R                  SS9nU R
                  R                  US   5        U R                  R                  US   5        U R                  R                  US   5        U R                  R                  US   5        U R                  R                  US   5        U R                  R                  US	   5        U R                  R                  US
   5        SU l        S H  n U R                  R                  U5        M!     g ! [         a"    [         R                  R                  5       n GN*f = f! [         a     M`  f = f)NzBYou first need to install Pythran to use the np_pythran directive.T)ÚpythonÚinclude_dirsÚextra_compile_argsÚextra_link_argsÚdefine_macrosÚundef_macrosÚlibrary_dirsÚ	librariesúc++)z-fwhole-programz-fvisibility=hidden)ÚpythranÚRuntimeErrorÚconfigÚmake_extensionÚ	TypeErrorrI   ÚextendrJ   rK   rL   rM   rN   rO   ÚlanguageÚremoverA   )ÚextÚpythran_extÚ
bad_options      r$   Úupdate_pythran_extensionr\   T   sD  € Ü�ÜÐ_Ó`Ð`ð6Ü—n‘n×3Ñ3¸4Ð3Ð@ˆð ×Ñ×Ñ˜K¨Ñ7Ô8Ø×Ñ×!Ñ! +Ð.BÑ"CÔDØ×Ñ×Ñ˜{Ð+<Ñ=Ô>Ø×Ñ×Ñ˜[¨Ñ9Ô:Ø×Ñ×Ñ˜K¨Ñ7Ô8Ø×Ñ×Ñ˜K¨Ñ7Ô8Ø‡M�M×Ñ˜ [Ñ1Ô2Ø€C„Ló Aˆ
ð	Ø×"Ñ"×)Ñ)¨*Ö5ò Aøô ó 6Ü—n‘n×3Ñ3Ó5‹ð6ûô  ó 	Úð	ús#   ”D0 ÄEÄ0(EÅEÅ
E-Å,E-c                 ó  ^• [        U 5      S:¼  a  U S   S:X  a  U S   S:X  a  U SS n SnOSn[        U 5      u  n mU4S	 jnU R                  U5       Vs/ s H!  o3R                  5       (       d  M  U" U5      PM#     sn$ s  snf )
zï
>>> parse_list("")
[]
>>> parse_list("a")
['a']
>>> parse_list("a b c")
['a', 'b', 'c']
>>> parse_list("[a, b, c]")
['a', 'b', 'c']
>>> parse_list('a " " b')
['a', ' ', 'b']
>>> parse_list('[a, ",a", "a,", ",", ]')
['a', ',a', 'a,', ',']
r
   r   Ú[r   Ú]r   r(   Ú c                 óJ   >• U R                  5       n U S   S;   a  TU SS    $ U $ )Nr   z'"r   r   ©Ústrip)ÚliteralÚliteralss    €r$   ÚunquoteÚparse_list.<locals>.unquote‚   s0   ø€ Ø—-‘-“/ˆØ�1‰:˜ÓØ˜G A b˜MÑ*Ð*àˆNó    )ÚlenÚstrip_string_literalsr1   rc   )ÚsÚ	delimiterrf   Úitemre   s       @r$   Ú
parse_listrn   m   s}   ø€ ô ˆ1ƒv�ƒ{�q˜‘t˜s“{ q¨¡u°£|Øˆa�ˆGˆØ‰	àˆ	Ü'¨Ó*�K€A€xõð '(§g¡g¨iÔ&8ÓIÒ&8˜d¿J¹J¿L‹M‰G�DŽMÑ&8ÑIÐIùÒIs   ÁA?Á0A?)ÚnameÚsourcesrL   rM   rO   rN   Úruntime_library_dirsrI   Úextra_objectsrJ   rK   Úexport_symbolsÚdependsrW   Ú
np_pythranc                 ó¨   • U S:X  a  gU S:X  a  gSS K nUR                  S[        S9  U R                  5       n U S;   a  gU S	;   a  g[	        S
U < 35      e)NÚTrueTÚFalseFr   z1The 'np_python' option requires 'True' or 'False')Úcategory)ÚyÚyesÚtÚtrueÚonÚ1)ÚnÚnoÚfÚfalseÚoffÚ0zinvalid truth value )ÚwarningsÚwarnÚDeprecationWarningÚlowerrA   )Úvalr†   s     r$   Ú_legacy_strtoboolr‹   ¢   s^   € ð ˆfƒ}ØØ	�‹ØãØ‡M�MÐEÔPb€MÑcØ
�)‰)‹+€CØ
Ð2Ó2ØØ	Ð5Ó	5Øå²SÐ:Ó;Ð;rh   c                   ó0   • \ rS rSrSS jrS rS rS rSrg)	ÚDistutilsInfoéµ   Nc           
      óv  ^• 0 U l         UGbg  [        U[        5      (       a  [        U5      OUnU GH=  mTR	                  5       mT(       d  M  TS   S:w  a    g TSS  R	                  5       m[        U4S jS 5       S 5      nUc  MV  T[        U5      S  R                  S5       Vs/ s H  oUR                  5       PM     snu  pgn[        R                  US 5      n	TR                  S5      (       a  U	c  MÅ  U	[        [        4;   aF  [        U5      nUS:X  a5  U V
s/ s H(  n
SU
;   a  [        U
R!                  SS5      5      OU
S 4PM*     nn
U	["        L a  [%        U5      nX€R                   U'   GM@     g Ub9  [         H.  nUS	;   a  M  ['        X&S 5      nU(       d  M   X€R                   U'   M0     g g s  snf s  sn
f )
Nr   Ú#r   c              3   óX   >#   • U  H  nTR                  U5      (       d  M  Uv •  M!     g 7f©N)r    )Ú.0ÚkÚlines     €r$   Ú	<genexpr>Ú)DistutilsInfo.__init__.<locals>.<genexpr>Â   s!   øé € ÐWÒ(@ 1ÀDÇOÁOÐTU×DVŸQ™QÒ(@ùs   ƒ*¡	*)z
distutils:úcython:Ú=r˜   rL   )ro   rp   ru   )ÚvaluesÚ
isinstanceÚstrr   ÚlstripÚnextri   Ú	partitionrc   Údistutils_settingsÚgetr    ÚlistÚtransitive_listrn   Útupler1   Úbool_orr‹   Úgetattr)ÚselfÚsourceÚexnÚsource_linesÚkindrk   ÚkeyÚ_rE   ÚtypeÚmacror•   s              @r$   Ú__init__ÚDistutilsInfo.__init__·   s©  ø€ ØˆŒØÒÜ/9¸&Ä#×/FÑ/Fœ8 FÔ+ÈFˆLÜ$�Ø—{‘{“}�ÞÙØ˜‘7˜c“>ÙØ˜A˜B�x—‘Ó(�ÜÔWÑ(@ÓWÐY]Ó^�ØÓ#Ø8<¼SÀ»Y¸ZÐ8H×8RÑ8RÐSVÔ8WÓ$XÒ8W°1§W¡W¦YÑ8WÑ$X‘M�C˜EÜ-×1Ñ1°#°tÓ<�DØ—‘ y×1Ñ1°d±lÁHØ¤¤oÐ6Ó6Ü *¨5Ó 1˜Ø /Ó1ñ 38ó%9â27¨ð ),¨u«ô &+¨5¯;©;°s¸AÓ+>Ô%?Ø;@À$¸-ò&Há27ð "ð %9ð œw’Ü 1°%Ó 8˜Ø',—K‘K Ô$ò) %ð* ‰_ß)�ØÐ:Ó:ÙÜ ¨$Ó/�ß�5Ø',—K‘K Ó$ò *ð ùò %Yùò%9s   Â&F1Ä/F6c                 óà  • Uc  U $ UR                   R                  5        HÊ  u  p#[        U   nU[        L a  X R                   ;  a  X0R                   U'   M6  U[        L aT  X R                   ;   a5  U R                   U   S S  nU H  nXe;  d  M
  UR                  U5        M     UnX0R                   U'   M“  U[        L d  Mž  U R                   R                  US5      U-  U R                   U'   MÌ     U $ ©NF)rš   Úitemsr    Útransitive_strr£   Úappendr¥   r¡   )r§   Úotherr¬   rE   r®   ÚallÚvs          r$   ÚmergeÚDistutilsInfo.mergeØ   sÎ   € Ø‰=ØˆKØŸ,™,×,Ñ,Ö.‰JˆCÜ% cÑ*ˆDØ”~Ò%¨#·[±[Ó*@Ø#(—‘˜CÓ ØœÒ(ØŸ+™+Ó%àŸ+™+ cÑ*©1Ð-�CÛ"˜Ø�<ØŸJ™J qžMñ #ð  �EØ#(—‘˜CÓ Øœ”Ø#'§;¡;§?¡?°3¸Ó#>ÀÑ#F�—‘˜CÓ ñ /ð ˆrh   c                 óP  • Uc  U $ [        5       nU R                  R                  5        Hx  u  p4[        U   nU[        [
        4;   aC  / nU H8  nXq;   a  X   n[        U[        5      (       a  Xg-  nM'  UR                  U5        M:     UnO	XA;   a  X   nXBR                  U'   Mz     U$ r’   )r�   rš   r´   r    r¢   r£   r›   r¶   )r§   ÚaliasesÚresolvedr¬   rE   r®   Únew_value_listr¹   s           r$   ÚsubsÚDistutilsInfo.subsì   s¨   € Ø‰?ØˆKÜ “?ˆØŸ+™+×+Ñ+Ö-‰JˆCÜ% cÑ*ˆDØœœoÐ.Ó.Ø!#�Û�AØ“|Ø#™J˜Ü! !¤T×*Ñ*Ø&Ñ+šà&×-Ñ-¨aÖ0ñ ð '‘àÓ#Ø#™N�EØ#(�O‰O˜CÓ ñ .ð  ˆrh   c                 óÂ   • U R                   R                  5        HA  u  p#[        U   nU[        [        4;   a  [        X5      [        U5      -   n[        XU5        MC     g r’   )rš   r´   r    r¢   r£   r¦   Úsetattr)r§   Ú	extensionr¬   rE   r®   s        r$   ÚapplyÚDistutilsInfo.apply  sO   € ØŸ+™+×+Ñ+Ö-‰JˆCÜ% cÑ*ˆDØœœoÐ.Ó.Ü 	Ó/´$°u³+Ñ=�Ü�I EÖ*ò	 .rh   )rš   ©NN)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r°   rº   rÀ   rÅ   Ú__static_attributes__© rh   r$   r�   r�   µ   s   † ô-òBò(õ,+rh   r�   z]
    (?P<comment> [#] ) |
    (?P<brace> [{}] ) |
    (?P<fstring> f )? (?P<quote> '+ | "+ )
z`
    (?P<escape> [\\]+ ) (?P<escaped_quote> ['"] ) |
    (?P<fstring> f )? (?P<quote> '+ | "+ )
z€
    (?P<braces> [{]+ | [}]+ ) |
    (?P<escape> [\\]+ ) (?P<escaped_quote> ['"] ) |
    (?P<fstring> f )? (?P<quote> '+ | "+ )
ÚcodeÚprefixc                 ót  ^ ^^^^^^^^• / m0 mSm[         mUUUU4S jmS[        S[        R                  S[        R                  S[        R                  4UU UU4S jjmSS[        R                  S[        R                  S[        R                  4UU UUUU4S	 jjjmT" S5        S
R                  T5      T4$ )z‹
Normalizes every string literal to be of the form '__Pyx_Lxxx',
returning the normalized code and a mapping of labels to
string literals.
r   c                 óJ   >• TS-  mT T S3nU TU'   TR                  U5        g )Nr   r­   )r¶   )rd   ÚlabelÚcounterre   Únew_coderÏ   s     €€€€r$   Úappend_new_labelÚ/strip_string_literals.<locals>.append_new_label'  s1   ø€ à�1‰ˆØ�(˜7˜) 1Ð%ˆØ!ˆ�‰Ø�‰˜Õrh   Ú
quote_typeÚstartÚ
is_fstringr   c                 óˆ  >• UnU(       a  [         O[        nUS:w  Ga$  U" TU5      nUc  T" TUS  5        Sn U$ UR                  5       nUS   (       a'  [        US   5      S-  S:X  a  US   U S   :X  a  US-  nO¾U(       a\  US   (       aR  [        US   5      S-  S:X  a  MŒ  US   S   S:X  a.  XS-
  :  a  T" TXS-
   5        TR	                  S5        T	" US	S
9=pO[US   R                  U 5      (       aB  UR                  S5      nX1:”  a
  T" TX 5        TR	                  U 5        U[        U 5      -  n U$ US:w  a  GM$  U$ )Nr   Úescaper
   r   Úescaped_quoter   Úbracesr'   T©Ú
in_fstringÚquote)Ú_FIND_FSTRING_TOKENÚ_FIND_STRING_TOKENÚendri   r¶   r    rØ   )
r×   rØ   rÙ   ÚcharposÚ
find_tokenÚtokenrÕ   rÎ   rÔ   Ú
parse_codes
         €€€€r$   Úparse_stringÚ+strip_string_literals.<locals>.parse_string.  s`  ø€ Ø%*ˆæ,6Õ(Ô<Nˆ
à˜ŒmÙ˜t WÓ-ˆEØ‰}á   e f Ô.Ø�Øð8 ˆð7 —i‘i“kˆGà�X�Ü�u˜X‘Ó'¨!Ñ+¨qÓ0°U¸?Ñ5KÈzÐZ[É}Ó5\à˜q‘L�Gøæ  h§ä�u˜X‘Ó'¨!Ñ+¨qÓ0áØ˜‘? 2Ñ&¨#Ó-Ø q™yÓ(Ù(¨¨e¸a±iÐ)@ÔAØ—O‘O CÔ(Ù&0°ÀTÑ&JÐJ�Eøà�w‘×*Ñ*¨:×6Ñ6àŸ+™+ gÓ.�Ø“?Ù$ T¨%Ð%:Ô;Ø—‘ 
Ô+Øœ3˜z›?Ñ*�ØàˆðE ˜ŽmðD ˆrh   rß   c                 ó(  >• U nUS:w  Ga‡  T" TU5      nUc  T	R                  TU S  5        Sn U$ UR                  5       =p$US   (       a  US   n[        U5      S:¼  a  US [        U5      S-   nU(       aR  [        U5      S:w  aC  [        U5      S:”  a  U[        U5      S-
  -  nUS S nT	R                  TX 5        T" XTUS   S9=pO¿US   (       aC  T	R                  TX 5        TR                  S	U5      nT" TXBS:w  a  UOS  5        US:X  a   U$ Un OrU(       ak  US
   (       aa  US
   S:X  a*  UR	                  5       S-   =p$T	R                  TX 5         U$ UR	                  5       S-   nT	R                  TX 5        T
" USS9=pUS:w  a  GM‡  U$ )Nr   rà   é   r
   é   Úfstring)rÙ   ÚcommentÚ
ÚbraceÚ}r   TrÞ   )r¶   rã   ri   ÚfindrØ   )rØ   rß   rä   ræ   rã   rà   rÕ   rÎ   rå   rÔ   rç   rè   s         €€€€€€r$   rç   Ú)strip_string_literals.<locals>.parse_codeW  s¹  ø€ Ø%*ˆð ˜ŒmÙ˜t WÓ-ˆEØ‰}Ø—‘  U V Ô-Ø�ØðF ˆðE "ŸI™I›KÐ'ˆGà�W�~Ø˜g™�Ü�u“: “?à! /¤3 u£:°¡>Ð2�EÞœS ›Z¨1›_Ü˜5“z A“~Øœs 5›z¨A™~Ñ-˜Ø % b q 	˜Ø—O‘O D¨ OÔ4Ù&2°5È%ÐPYÑJZÑ&[Ð[�Eøà�y×!Ø—‘  U Ô0ØŸ)™) D¨#Ó.�Ù   cÀ"³}©GÈ$Ð!OÔPØ˜b“=Øð ˆð  ‘æ  g§Ø˜‘> SÓ(à$)§K¡K£M°AÑ$5Ð5�GØ—O‘O D¨ OÔ4Øð ˆð	  Ÿ+™+›-¨!Ñ+�CØ—O‘O D¨ OÔ4Ù&0°ÀÑ&FÐF�EðM ˜ŽmðP ˆrh   r,   ©F)Ú_FIND_TOKENrœ   ÚcythonÚ
Py_ssize_tÚbintÚjoin)	rÎ   rÏ   rÕ   rÓ   rå   re   rÔ   rç   rè   s	   ``@@@@@@@r$   rj   rj     sª   ÿø€ ð €HØ€HØ!"€GÜ€J÷ð ð'¤ð '¬V×->Ñ->ð 'ÌFÏKÉKð 'Ô\b×\mÑ\m÷ 'ò 'ñR-œ&×+Ñ+ð -¼¿¹ð -ÔQW×QbÑQb÷ -õ -ñ^ ˆq„MØ�7‰7�8Ó˜hÐ&Ð&rh   a¥  (?:^ [ \t\f]* from     [ \t\f]+ cython\.cimports\.([\w.]+) [ \t\f]+ c?import ) |(?:^ [ \t\f]* from     [ \t\f]+ ([\w.]+) [ \t\f]+ cimport ) |(?:^ [ \t\f]* c?import [ \t\f]+ cython\.cimports\.([\w.]+) ) |(?:^ [ \t\f]* cimport  [ \t\f]+ ([\w.]+ (?:[ \t\f]* , [ \t\f]* [\w.]+)*) ) |(?:^ [ \t\f]* cdef     [ \t\f]+ extern [ \t\f]+ from [ \t\f]+ ['\"] ([^'\"]+) ['\"] ) |(?:^ [ \t\f]* include  [ \t\f]+ ['\"] ([^'\"]+) ['\"] )zf(?:^ [ \t\f]+ \( ([\w., \t\f]*) \) [ \t\f]* [#\n]) |(?:^ [ \t\f]+    ([\w., \t\f]*)    [ \t\f]* [#\n])c                 óx   • [        [        R                  R                  U 5      [	        [        U5      5      5      $ r’   )Únormalize_existing0r   r   Údirnamer¤   r3   )Ú	base_pathÚ	rel_pathss     r$   Únormalize_existingrÿ   ›  s%   € ÜœrŸw™wŸ™¨yÓ9¼5ÄÀYÃÓ;PÓQÐQrh   c                 óL  • / nSnU H˜  n[         R                  R                  U5      (       a  UR                  U5        M:  [	        X5      n[        U5      (       a2  UR                  [         R                  R                  U5      5        U nM‡  UR                  U5        Mš     X#4$ )aÝ  
Given some base directory ``base_dir`` and a list of path names
``rel_paths``, normalize each relative path name ``rel`` by
replacing it by ``os.path.join(base, rel)`` if that file exists.

Return a couple ``(normalized, needed_base)`` where ``normalized``
if the list of normalized file names and ``needed_base`` is
``base_dir`` if we actually needed ``base_dir``. If no paths were
changed (for example, if all paths were already absolute), then
``needed_base`` is ``None``.
N)r   r   Úisabsr¶   r4   r   Únormpath)Úbase_dirrþ   Ú
normalizedÚneeded_baseÚrelr   s         r$   rû   rû   Ÿ  sŒ   € ð €JØ€KÛˆÜ�7‰7�=‰=˜×ÑØ×Ñ˜cÔ"ÙÜ˜Ó'ˆÜ�t×ÑØ×ÑœbŸg™g×.Ñ.¨tÓ4Ô5Ø"ŠKà×Ñ˜cÖ"ñ ð Ð$Ð$rh   c                 ót   • [        U5      n/ nU  H$  n[        X15      nUc  M  UR                  U5        M&     U$ r’   )r¤   Úresolve_dependr¶   )rt   rI   r¾   Údependr   s        r$   Úresolve_dependsr
  »  s>   € Ü˜Ó&€LØ€HÛˆÜ˜fÓ3ˆØÓØ�O‰O˜DÖ!ñ ð €Orh   c                 ó´   • U S   S:X  a
  U S   S:X  a  g U H?  n[        X 5      n[        U5      (       d  M   [        R                  R	                  U5      s  $    g )Nr   Ú<r   Ú>)r4   r   r   r   r  )r	  rI   Údirr   s       r$   r  r  Å  sU   € àˆa�y�CÓ˜F 2™J¨#Ó-ØÛˆÜ˜Ó%ˆÜ�t×ÓÜ—7‘7×#Ñ# DÓ)Ò)ñ ð rh   c                 ó  • [         R                  R                  [         R                  R                  [	        U 5      5      5      nX:w  a<  [        U5      (       a,  [        U5      [         R                  R                  U5      4-   $ g)NrÍ   )r   r   rü   Úabspathrœ   r   ÚpackageÚbasename)Úfilenamer  s     r$   r  r  Ð  sX   € ä
�'‰'�/‰/œ"Ÿ'™'Ÿ/™/¬#¨h«-Ó8Ó
9€CØ
ƒœ>¨#×.Ñ.Ü�s‹|œrŸw™w×/Ñ/°Ó4Ð6Ñ6Ð6àrh   c                 ó¼   • [         R                  R                  [         R                  R                  U 5      5      S   nSR	                  [        U 5      U4-   5      $ )Nr   Ú.)r   r   Úsplitextr  rù   r  )r  Úmodules     r$   Úfully_qualified_namer  Ù  sE   € ä�W‰W×ÑœbŸg™g×.Ñ.¨xÓ8Ó9¸!Ñ<€FØ�8‰8”G˜HÓ%¨¨	Ñ1Ó2Ð2rh   c                 ón  ^• [         R                  " U SS9 nUR                  5       nS S S 5        [        W5      n[	        U5      u  p$UR                  SS5      R                  SS5      n/ n/ n/ n[        R                  U5       GH  nUR                  5       u  n	mp«pÍU	(       a  U	mU
(       a  U
nT(       a…  UR                  T5        [        R                  X(R                  5       S9nU(       aJ  UR                  5       u  nnU=(       d    UnUR                  U4S jUR                  S5       5       5        Mµ  M·  U(       a)  UR                  S	 UR                  S5       5       5        Mç  U(       a  UR                  XL   5        GM  UR                  XM   5        GM     XVXs4$ ! , (       d  f       GN„= f)
NÚignore)Úerror_handlingz\
r`   Ú	)Úposc              3   ód   >#   • U  H%  nS R                  TUR                  5       5      v •  M'     g7f)z{}.{}N)Úformatrc   )r“   rk   Úcimport_froms     €r$   r–   Ú%parse_dependencies.<locals>.<genexpr>û  s-   øé € ð  @Ú)> Að !(§¡¨|¸Q¿W¹W»Y× GÐ GÚ)>ùs   ƒ-0r(   c              3   ó@   #   • U  H  oR                  5       v •  M     g 7fr’   rb   )r“   Úxs     r$   r–   r!  ÿ  s   é € ÐGÒ/F¨!ŸG™GŸI˜IÒ/Fùs   ‚)r   Úopen_source_fileÚreadr�   rj   ÚreplaceÚdependency_regexÚfinditerr0   r¶   Údependency_after_from_regexÚsearchrã   rV   r1   )Úsource_filenameÚfhr¨   Údistutils_infore   ÚcimportsÚincludesÚexternsr7   Úpycimports_fromÚpycimports_listÚcimport_listÚexternÚincludeÚm_after_fromÚ	multilineÚone_lineÚ
subimportsr   s                     @r$   Úparse_dependenciesr:  ß  sx  ø€ ô
 
×	Ò	 ÀÒ	IÈRØ—‘“ˆ÷ 
Jä" 6Ó*€NÜ,¨VÓ4Ñ€FØ�^‰^˜F CÓ(×0Ñ0°°sÓ;€Fð €HØ€HØ€GÜ×&Ñ& v×.ˆØXY×X`ÑX`ÓXbÑUˆ˜ ÀfÞØ*ˆLÞØ*ˆLæØ�O‰O˜LÔ)Ü6×=Ñ=¸fÏ%É%Ë'Ð=ÐRˆLÞØ&2×&9Ñ&9Ó&;Ñ#�	˜8Ø&×2¨(�
Ø—‘ô  @Ø)3×)9Ñ)9¸#Ô)>ó @ö @ñ ö Ø�O‰OÑG¨|×/AÑ/AÀ#Ô/FÓGÖGÞØ�N‰N˜8Ñ+×,à�O‰O˜HÑ-×.ñ+ /ð, ˜wÐ6Ð6÷A 
JÖ	Iús   —F%Æ%
F4c                   óÈ   • \ rS rSrSS jrS r\S 5       r\S 5       rS r	S r
S r\SS
 j5       r\S 5       r\S 5       rS r\S 5       rS rS rS rSS jrS rS rSrg	)ÚDependencyTreei  c                 ó*   • Xl         X l        0 U l        g r’   )ÚcontextÚquietÚ_transitive_cache)r§   r>  r?  s      r$   r°   ÚDependencyTree.__init__	  s   € ØŒØŒ
Ø!#ˆÕrh   c                 óv   • [        U5      (       a  [        R                  R                  U5      n[	        U5      $ r’   )r   r   r   r  r:  )r§   r+  s     r$   r:  Ú!DependencyTree.parse_dependencies  s,   € Ü�×'Ñ'Ü Ÿg™g×.Ñ.¨Ó?ˆOÜ! /Ó2Ð2rh   c                 ó6  • [        5       nU R                  U5      S    Hö  n[        [        R                  R                  U5      U5      n[        U5      (       d  U R                  R                  X1S9nU(       as  S[        R                  R                  -   U;   a  [        R                  R                  U5      nUR                  U5        UR                  U R                  U5      5        MÏ  U R                  (       a  Mâ  [        SU< SU< S35        Mø     U$ )Nr   ©Úsource_file_pathr  zUnable to locate 'z' referenced from 'Ú')r3   r:  r4   r   r   rü   r   r>  Úfind_include_filer   r  r5   ÚupdateÚincluded_filesr?  Úprint)r§   r  r¸   r5  Úinclude_paths        r$   rJ  ÚDependencyTree.included_files  sÍ   € ô ‹eˆØ×.Ñ.¨xÓ8¸Ô;ˆGÜ$¤R§W¡W§_¡_°XÓ%>ÀÓHˆLÜ˜|×,Ñ,Ø#Ÿ|™|×=Ñ=¸gÐ=Ða�ÞØœŸ™Ÿ™Ñ$¨Ó4Ü#%§7¡7×#3Ñ#3°LÓ#A�LØ—‘˜Ô%Ø—
‘
˜4×.Ñ.¨|Ó<Ö=Ø—Z—Z‘ZÝÃhÓPWÐXÖYñ <ð ˆ
rh   c                 ó’  • U R                  U5      S S u  p#n[        U5      n[        U5      n[        5       nU R                  U5       HJ  nU R                  U5      u  pxn	UR	                  U5        UR	                  U5        UR	                  U	5        ML     [        X5      u  pJU
(       a  UR                  U
5        [        U5      XE4$ )Nrì   )r:  r3   rJ  Úcimports_externs_incdirsrI  rÿ   r5   r¤   )r§   r  r.  r/  r0  Úincdirsr5  Úincluded_cimportsÚincluded_externsÚincluded_incdirsÚincdirs              r$   rO  Ú'DependencyTree.cimports_externs_incdirs%  s¹   € ð '+×&=Ñ&=¸hÓ&GÈÈÐ&KÑ#ˆ˜GÜ�x“=ˆÜ�g“,ˆÜ“%ˆØ×*Ñ*¨8Ö4ˆGØDH×DaÑDaÐbiÓDjÑAÐÐ1AØ�O‰OÐ-Ô.Ø�N‰NÐ+Ô,Ø�N‰NÐ+Ö,ñ	 5ô
 -¨XÓ?‰ˆÞØ�K‰K˜ÔÜ�X‹ Ð0Ð0rh   c                 ó*   • U R                  U5      S   $ ©Nr   )rO  ©r§   r  s     r$   r.  ÚDependencyTree.cimports7  s   € Ø×,Ñ,¨XÓ6°qÑ9Ð9rh   c                 ó   • [        U5      $ r’   )r  rX  s     r$   r  ÚDependencyTree.package:  s   € Ü�xÓ Ð rh   c                 ó   • [        U5      $ r’   )r  rX  s     r$   r  Ú#DependencyTree.fully_qualified_name=  s   € Ü# HÓ-Ð-rh   Nc                 ó(  • US   S:H  nU(       a  U(       d  [        S5      eUb¾  UR                  S5      nU(       a  UR                  S5        [        U R	                  U5      5      nU(       a?  US   (       d5   UR                  5         UR                  S5        U(       a  US   (       d  M5  SR                  XT-   5      nU R                  R                  XbS9nU(       a  U$ U(       a  g U R                  R                  XS9$ ! [
         a     g f = f)Nr   r  zNew relative imports.rE  )	ÚNotImplementedErrorr1   Úpopr¢   r  Ú
IndexErrorrù   r>  Úfind_pxd_file)r§   r  r  Úis_relativeÚmodule_pathÚpackage_pathÚrelativeÚpxds           r$   Úfind_pxdÚDependencyTree.find_pxd@  sð   € à˜Q‘i 3Ñ&ˆÞžxÜ%Ð&=Ó>Ð>ØÑØ Ÿ,™, sÓ+ˆKÞØ—‘ Ô"Ü §¡¨XÓ 6Ó7ˆLÞ k°!§nð Ø ×$Ñ$Ô&ð —‘ Ô"ö  k°!§n¡nð —x‘x Ñ :Ó;ˆHØ—,‘,×,Ñ,¨XÐ,ÐQˆCÞØ�
ÞØØ�|‰|×)Ñ)¨&Ð)ÐLÐLøô "ó  Ùð ús   Á:D Ä
DÄDc                 ó>  • [         R                  R                  U5      u  p#US;   a  [        US-   5      (       a  US-   /nO/ nU R	                  U5       H;  nUS S S:X  d  US:X  a  M  U R                  XQ5      nUc  M*  UR                  U5        M=     [        U5      $ )N©ú.pyxú.pyz.pxdé   zcython.rö   )r   r   r  r   r.  rh  r¶   r¤   )r§   r  Úfilename_rootÚfilename_extÚpxd_listr  Úpxd_files          r$   Úcimported_filesÚDependencyTree.cimported_filesX  s›   € ä&(§g¡g×&6Ñ&6°xÓ&@Ñ#ˆØ˜?Ó*¬{¸=È6Ñ;Q×/RÑ/RØ%¨Ñ.Ð/‰HàˆHð —m‘m HÖ-ˆFØ�b�qˆz˜YÓ&¨&°HÓ*<ÙØ—}‘} VÓ6ˆHØÓ#Ø—‘ Ö)ñ .ô �X‹Ðrh   c                 óŒ   • U1nUR                  U R                  U5      5        UR                  U R                  U5      5        U$ r’   )rI  rs  rJ  )r§   r  Úall_depss      r$   Úimmediate_dependenciesÚ%DependencyTree.immediate_dependenciesi  s<   € à�:ˆØ�‰˜×,Ñ,¨XÓ6Ô7Ø�‰˜×+Ñ+¨HÓ5Ô6Øˆrh   c                 óV   • U R                  XR                  [        R                  5      $ r’   )Útransitive_mergerw  r3   ÚunionrX  s     r$   Úall_dependenciesÚDependencyTree.all_dependenciesp  s   € Ø×$Ñ$ X×/JÑ/JÌCÏIÉIÓVÐVrh   c                 ó@   • [         R                  R                  U5      $ r’   )r   r   ÚgetmtimerX  s     r$   Ú	timestampÚDependencyTree.timestamps  s   € ä�w‰w×Ñ Ó)Ð)rh   c                 ó(   • U R                  U5      U4$ r’   )r€  rX  s     r$   Úextract_timestampÚ DependencyTree.extract_timestampw  s   € Ø�~‰~˜hÓ'¨Ð1Ð1rh   c                 ó~   • [        U R                  U5       Vs/ s H  o R                  U5      PM     sn5      $ s  snf r’   )Úmaxr|  rƒ  )r§   r  r‚   s      r$   Únewest_dependencyÚ DependencyTree.newest_dependencyz  s5   € Ü°t×7LÑ7LÈXÔ7VÓWÒ7V°!×*Ñ*¨1Ö-Ñ7VÑWÓXÐXùÒWs   ™:c                 óØ  • U R                  U5      S   nUR                  nU R                  U5      u  pEn[        R                  " 5       nU(       aI  [        XW5      nSU;   a*  [        [        US   5      R                  U5      5      US'   O[        U5      US'   U(       aI  [        UR                  S/ 5      5      n[        Xg5       H  n	X˜;  d  M
  UR                  U	5        M     XƒS'   U$ )Nrì   rt   rI   )r:  rš   rO  r   r   r%   r¢   r3   r{  r¡   r¶   )
r§   r  ÚinfoÚkwdsr.  r0  rP  ÚbasedirrI   Úincs
             r$   Údistutils_info0ÚDependencyTree.distutils_info0}  sÐ   € Ø×&Ñ& xÓ0°Ñ3ˆØ�{‰{ˆØ%)×%BÑ%BÀ8Ó%LÑ"ˆ˜7Ü—)’)“+ˆæÜ$ WÓ6ˆGØ˜DÓ Ü"&¤s¨4°	©?Ó';×'AÑ'AÀ'Ó'JÓ"K��Y’ä"& w£-��Y‘ö Ü §¡¨¸Ó <Ó=ˆLÜ% gÖ7�ØÕ*Ø ×'Ñ'¨Ö,ñ 8ð $0�Ñ Øˆrh   c                 ó’   • U R                  XR                  [        R                  5      R	                  U5      R                  U5      $ r’   )rz  rŽ  r�   rº   rÀ   )r§   r  r½   r#   s       r$   r-  ÚDependencyTree.distutils_info“  s5   € Ø×%Ñ% h×0DÑ0DÄm×FYÑFYÓZß‰T�'‹]ß‰U�4‹[ð	rh   c                 ó¨   •  U R                   X#4   nU R                  XX40 U R                  5      S   $ ! [         a    0 =o@R                   X#4'    N>f = frW  )r@  ÚKeyErrorÚtransitive_merge_helperrs  )r§   ÚnodeÚextractrº   r<   s        r$   rz  ÚDependencyTree.transitive_merge˜  sn   € ð	?Ø×)Ñ)¨'¨.Ñ9ˆDð ×+Ñ+Ø˜5¨¨D×,@Ñ,@óBØBCñEð 	Eøô ó 	?Ø<>Ð>ˆD×)Ñ)¨'¨.Ó9ð	?ús   ‚3 ³AÁAc           	      ó
  • X;   a  XA   S 4$ U" U5      nX;   a  Xq4$  [        U5      XQ'   S nU" U5       H3  n	U R                  X’X4XV5      u  p«Ub  Ub  XX   X[   :  a  OUnU" Xz5      nM5     X�:X  a  S nUc  XtU'   Xx4XQ	 $ ! XQ	 f = fr’   )ri   r”  )r§   r•  r–  rº   r<   ÚstackÚoutgoingÚdepsÚlooprž   Úsub_depsÚsub_loops               r$   r”  Ú&DependencyTree.transitive_merge_helper   s·   € Ø‹<Ø‘:˜tÐ#Ð#Ù�t‹}ˆØ‹=Ø�:Ðð	Ü˜e›*ˆE‰KØˆDÙ  ž�Ø%)×%AÑ%AÀ$ÐQVÐ^cÓ%nÑ"�ØÑ'ØÑ'¨E©K¸%¹/Ó,IØà'˜Ù˜TÓ,’ñ 'ð ‹|Ø�Ø‰|Ø!�T‘
Ø�:à‘ø�‘ús   �AA> Á>B)r@  r>  r?  rô   r’   rÇ   )rÈ   rÉ   rÊ   rË   r°   r:  r   rJ  rO  r.  r  r  rh  rs  rw  r|  r€  rƒ  r‡  rŽ  r-  rz  r”  rÌ   rÍ   rh   r$   r<  r<    s»   † ô$ò
3ð
 ñó ðð" ñ1ó ð1ò":ò!ò.ð óMó ðMð. ñó ðð  ñó ðòWð ñ*ó ð*ò2òYòô,ò
Eõrh   r<  c                 óv   • [         c-  U c!  [        S/[        5       [        [        5      S9n [        XS9q [         $ )Nr  )Úoptions©r?  )Ú	_dep_treer   r   r   r   r<  )Úctxr?  s     r$   Úcreate_dependency_treer¥  ¼  s:   € äÑØ‰;Ü˜3˜%Ô!7Ó!9Ü"4´_Ó"EñGˆCä" 3Ñ4ˆ	ÜÐrh   c                 ó(  • SU;   aH  UR                  S/ 5      S/-   n[        US   U5      n[        [        X0R                  -   5      5      US'   U R
                  nU" S0 UD6n[        U S5      (       a  U R                  Ul        [        XS   S9nXV4$ )Nrt   rI   r  Úpy_limited_apiro   )Ú	distutilsÚmodule_namerÍ   )	r¡   r
  Úsortedr3   rt   Ú	__class__Úhasattrr§  Údict)Útemplater‹  rI   rt   r|   rY   Úmetadatas          r$   Údefault_create_extensionr°  È  s•   € Ø�DÓØ—x‘x °Ó3°s°eÑ;ˆÜ! $ y¡/°<Ó@ˆÜ ¤ W×/?Ñ/?Ñ%?Ó!@ÓAˆˆY‰à×Ñ€AÙ
‰)ˆd‰)€CÜˆxÐ)×*Ñ*Ø%×4Ñ4ˆÔÜ˜d°V±Ñ=€HØˆ?Ðrh   c                 ó  • Ub  [        SR                  U5      5        Uc  / nU c  / 0 4$ [        U [        5      (       d  [        U [        5      (       d  U /n SSKJn  S[        R                  ;   a<  U[        R                  S   R                  [        R                  S   R                  4nOU4nU  V	s1 s H!  n	[        X˜5      (       d  M  U	R                  iM#     n
n	[        X$S9nUR                  n[        5       n[        U[        5      (       d  U/nU H?  nUR                  [!        ["        R$                  R&                  [)        U5      5      5        MA     / n0 nUR*                  R,                  =(       d    [.        n[        5       nU  GH.  n[        U[        5      (       a  UnU" U/ 5      nSnS nUnGOª[        Xè5      (       Ga[  UR0                   Vs/ s H-  n["        R$                  R3                  U5      S   S	;   d  M+  UPM/     nnUnUR                  n[5        US
9nS nU(       a4  US   n[7        U5      S:”  a  [        SUR                  < SU< S35        GOU(       a¨  UR                  U:X  a˜  UR0                  =(       d6    UR9                  S["        R:                  5      UR<                  S:X  a  SOS-   /nU" U[?        SUUUR<                  S.UR@                  D65      u  n	nSU	l!        S U	l        URE                  U	5        GM„  URE                  U5        GM˜  [        S[G        U5      < S[I        U5      < SURJ                  < 35      n[M        U5      e[O        [Q        [)        U5      5      SU-  5       GH2  n["        R$                  R'                  U5      U;   a  M)  URS                  U5      nSU;   a	  UU
;   a  MH  O	U(       a  Un[T        RV                  " U5        UU;  d  Mp   URY                  UUU5      R@                  nUb1  UR@                  R]                  5        H  u  n n!U U;  d  M  U!UU '   M     UUS'   U/UR0                   V	s/ s H  o™U:w  d  M
  U	PM     sn	-   nSU;   a%  US    H  n"U"U;  d  M  URE                  U"5        M     UUS'   U(       a  SU;  a  UUS'   UR_                  SS5      n#U" UU5      u  n	n$U#=(       d    [a        U	SS5      U	l!        XÉl        U	RB                  (       a  [c        U	5        URE                  U	5        U$UU'   UU	R0                  ;  ao  ["        R$                  R3                  U5      S   U	R<                  S:X  a  SOS-   n% U	R0                  Re                  U%5        U	R0                  Ri                  SU5        URk                  U5        GM5     GM1     UU4$ s  sn	f s  snf ! [Z         a    U(       a   GM_  e f = fs  sn	f ! [f         a    [        SU-  5         N~f = f)NzƒWarning: passing language={0!r} to cythonize() is deprecated. Instead, put "# distutils: language={0}" in your .pyx or .pxd file(s)r   )Ú	ExtensionÚ
setuptoolszsetuptools.extensionr¢  r-   r   )rm  rl  )r©   z6Warning: Multiple cython sources found for extension 'z': z�
See https://cython.readthedocs.io/en/latest/src/userguide/sharing_declarations.html for sharing declarations among Cython files.r  rP   ú.cppú.c)ro   rp   rW   Fz6pattern is not of type str nor subclass of Extension (z) but of type z and class z'%s' doesn't match any filesro   rp   rW   ru   z@Warning: Cython source file not found in sources list, adding %srÍ   )6rK  r  r›   rœ   r	   Údistutils.extensionr²  ÚsysÚmodulesÚ
_Extensionro   r¥  Úshared_utility_qualified_namer3   r¢   rI  Úmapr   r   r  r2   r¡  Úcreate_extensionr°  rp   r  r�   ri   r&  r   rW   r­  rš   ru   r¶   Úreprr®   r«  rU   rF   rª  r  r   Ú$raise_error_if_module_name_forbiddenr-  Ú	Exceptionr´   r`  r¦   r\   rX   rA   Úinsertr5   )&ÚpatternsÚexcluder¤  r½   r?  rW   Úexclude_failuresr²  Úextension_classesr7   Úexplicit_modulesr›  rº  Ú
to_excluder6   Úmodule_listÚmodule_metadatar¼  r<   Úfilepatternr®  ro   r#   Úext_languagerk   Úcython_sourcesrp   r­   ÚmsgÚfiler©  r‹  r¬   rE   r¨   ru   r¯  Útarget_files&                                         r$   Úcreate_extension_listrÏ  ×  sš  € àÑÜð VßV\ÑV\Ð]eÓVfô	hà�ØˆØÑØ�2ˆvˆÜ	�Hœc×	"Ñ	"¬*°X¼x×*HÑ*HØ�:ˆå-Ø”s—{‘{Ó"ð Ü�K‰KÐ.Ñ/×:Ñ:Ü�K‰K˜Ñ%×/Ñ/ð
Ñð '˜LÐá(0ÓUª 1´J¸q×4T›˜Ÿœ©ÐÐUÜ! #Ñ3€DØ$'×$EÑ$EÐ!ä“€JÜ�gœt×$Ñ$Ø�)ˆÛˆØ×Ñœ#œbŸg™gŸo™o¬~¸gÓ/FÓGÖHñ ð €KØ€Oð —{‘{×3Ñ3×OÔ7OÐä‹5€DÜˆÜ�gœs×#Ñ#Ø!ˆKÙ  ¨"Ó-ˆHØˆDØˆDØ#ŠLÜ˜×3Ò3Ø)0¯ªó Lª AÜ!#§¡×!1Ñ!1°!Ó!4°QÑ!7¸?Ñ!J÷  ©ˆNð LàˆHØ—=‘=ˆDÜ  XÑ.ˆDØˆLÞØ,¨QÑ/�Ü�~Ó&¨Ó*ÝàLSÏLÌLÓZhðjô kùö /°7·<±<ÐC`Ó3`à!Ÿ/™/÷ ~Ø5×=Ñ=¸cÄ2Ç6Á6ÓJÐX_×XhÑXhÐlqÓXqÉfÐw{Ñ|ð.~�á'¨´ð 2Ø6Ø#Ø$×-Ñ-ñ2ð
 —k‘kñ2ó ‘��1ð  %�”Ø26�Ô/Ø×"Ñ" 1Ô%Úð ×"Ñ" 7Ô+ÚåÜ8<¸Y¾Ü8<¸W¾Ø8?×8IÓ8IðKó LˆCô ˜C“.Ð äœV¤N°;Ó$?Ó@ÐB`ÐcnÑBn×oˆDÜ�w‰w�‰˜tÓ$¨
Ó2ÙØ×3Ñ3°DÓ9ˆKØ�d‹{ØÐ"2Ó2Ùð 3æØ"�ä×6Ò6°{ÔCà $Õ&ðØ×.Ñ.¨t°W¸dÓC×JÑJ�Dð
 Ñ#Ø&*§k¡k×&7Ñ&7Ö&9™
˜˜UØ d�?Ø(-˜D ›Iñ ':ð  +��V‘à˜&¨x×/?Ò/?Ó#TÒ/?¨!ÈÑCS§AÑ/?Ñ#TÑT�Ø Ó$à"& y¤/˜Ø!¨Õ0Ø#ŸN™N¨6Ö2ñ #2ð #*��Y‘æ J°dÓ$:Ø'3�D˜Ñ$à!ŸX™X l°EÓ:�
ñ /¨x¸Ó>‘��8Ø)×L¬W°Q¸ÀeÓ-L�”Ø2OÔ/Ø—<—<Ü,¨QÔ/Ø×"Ñ" 1Ô%ð 08� Ñ,à˜qŸy™yÓ(ä"$§'¡'×"2Ñ"2°4Ó"8¸Ñ";ÈÏÉÐW\ÓI\¹vÐbfÑ"g�KðiØŸ	™	×(Ñ(¨Ô5ð —I‘I×$Ñ$ Q¨Ô-Ø—‘˜—ôy pñ] ðV ˜Ð'Ð'ùò{ Vùò4Løôj !ó Þ'Û Øðüò $Uøô< &ó iäÐ`ÐcgÑgÖhðiúsH   Â4WÃWÇ*W	ÈW	Ï5WÑ	W(
Ñ(W(
Õ.W-×W%×#W%×-XØXc	                 óH  ^5• Uc  / nSU	;  a  S/U	S'   SU	;   a  [        U	S   5        U	R                  SS5      n
[        c  SnO[        S00 U	D6nSUl        SUl        Uc"  [        R                  R                  S5      S:H  n[        S00 U	D6n[        S00 U	D6nSUl        [        R                  " U5      nUn	UR                  n[        U UUUUUUS	9u  n n[        XäS
9n[        U	SS5      m5U	R                  (       a[  U	R                   (       dJ  ["        R                   (       d5  U	R                  SL a  SOU	R                  n[%        U[        U	SS5      5      nOSn[        R&                  " 5       4U54S jjnU54S jn[(        R*                  " [,        5      n/ nU  GHÚ  nT5(       a  UR.                   H  nU" U5        M     UR0                   Vs/ s H-  n[        R2                  R5                  U5      S   S;   d  M+  UPM/     nn[7        U5      S:X  a  UR8                  nOSn[        USS5      n[        USS5      nU(       a  Un	OUR:                  S:X  a  Un	OUn	/ nUR0                   GHÿ  n[        R2                  R5                  U5      u  n n!U!S;   Gaý  U UR:                  S:X  d  U(       a  SOS-   n"U" U"5      n"U
(       a  UR=                  U5      n#[?        U"UU#5        [@        RB                  " U"5      (       a   [        R2                  RE                  U"5      n$OSn$U$URG                  U5      :  a  URG                  U5      Unn%Sn&O+URI                  U5      u  n%nSUURK                  U5      ;   -
  n&U(       d  U$U%:  aý  U(       dl  U(       de  UU:X  a#  [M        S[@        RN                  " U5      -  5        O<[M        S[@        RN                  " U5      < S[@        RN                  " U5      < S35        U(       dI  U(       aB  URQ                  UUR=                  U5      U	[S        UR:                  =(       d    SUU5      5      n'OSn'URU                  U&UU"U'UX—(       + UR                  UR8                  5      UU4
5        UU"   RU                  U5        OÄU(       a¬  UR8                  U:X  aœ  U" U5      n"[        U	U"SS9n([@        RV                  " U"5      (       d  [M        SUR8                   S U" S!35        ObU(       d  [@        RB                  " U"5      (       d.  SS"K,J-n)  U(       d  [M        S#UR8                   S!35        U)" U(5        OUn"T5(       a  U" U5        URU                  U"5        GM     UUl        GMÝ     UR]                  5         [7        U5      n*S$[7        [_        U*5      5      U*4-  R`                  n+[c        US5       V,V-s/ s H  u  n,n-U-SS U+" U,5      U4-   PM     nn,n-U*S::  a  Sn SS%K2J3n.  U(       a5  W." U[j        S&9 n/ [-        U/Rm                  [n        USS'95         SSS5        OU H  n0[w        U06   M     U(       Ga-  [y        5       n1UR{                  5        H­  u  n"n2[        R2                  R}                  U"5      (       d  U1R                  U25        M=  [        R2                  R�                  U"5      S):  d  Mb  [ƒ        U"S*S+S,9n3 U3R…                  [7        S-5      5      S-:X  a  U1R                  U25        U3R‡                  5         M¯     U1(       a[  U1 H  n4U R‰                  U45        M     [M        S.S/R‹                  [�        U1 V4s/ s H  n4U4R8                  PM     sn45      5      -  5        U(       a  UR�                  5         [�        R’                  R•                  5         U $ s  snf s  sn-n,f ! [h         a    Sn GNÓf = f! [p         a!    U/Rs                  5         U/Ru                  SS(9  e f = f! , (       d  f       GNÇ= f! U3R‡                  5         f = fs  sn4f )1a´  
Compile a set of source modules into C/C++ files and return a list of distutils
Extension objects for them.

:param module_list: As module list, pass either a glob pattern, a list of glob
                    patterns or a list of Extension objects.  The latter
                    allows you to configure the extensions separately
                    through the normal distutils options.
                    You can also pass Extension objects that have
                    glob patterns as their sources. Then, cythonize
                    will resolve the pattern and create a
                    copy of the Extension for every matching file.

:param exclude: When passing glob patterns as ``module_list``, you can exclude certain
                module names explicitly by passing them into the ``exclude`` option.

:param nthreads: The number of concurrent builds for parallel compilation
                 (requires the ``multiprocessing`` module).

:param aliases: If you want to use compiler directives like ``# distutils: ...`` but
                can only know at compile time (when running the ``setup.py``) which values
                to use, you can use aliases and pass a dictionary mapping those aliases
                to Python strings when calling :func:`cythonize`. As an example, say you
                want to use the compiler
                directive ``# distutils: include_dirs = ../static_libs/include/``
                but this path isn't always fixed and you want to find it when running
                the ``setup.py``. You can then do ``# distutils: include_dirs = MY_HEADERS``,
                find the value of ``MY_HEADERS`` in the ``setup.py``, put it in a python
                variable called ``foo`` as a string, and then call
                ``cythonize(..., aliases={'MY_HEADERS': foo})``.

:param quiet: If True, Cython won't print error, warning, or status messages during the
              compilation.

:param force: Forces the recompilation of the Cython modules, even if the timestamps
              don't indicate that a recompilation is necessary.

:param language: To globally enable C++ mode, you can pass ``language='c++'``. Otherwise, this
                 will be determined at a per-file level based on compiler directives.  This
                 affects only modules found based on file names.  Extension instances passed
                 into :func:`cythonize` will not be changed. It is recommended to rather
                 use the compiler directive ``# distutils: language = c++`` than this option.

:param exclude_failures: For a broad 'try to compile' mode that ignores compilation
                         failures and simply excludes the failed extensions,
                         pass ``exclude_failures=True``. Note that this only
                         really makes sense for compiling ``.py`` files which can also
                         be used without compilation.

:param show_all_warnings: By default, not all Cython warnings are printed.
                          Set to true to show all warnings.

:param annotate: If ``True``, will produce a HTML file for each of the ``.pyx`` or ``.py``
                 files compiled. The HTML file gives an indication
                 of how much Python interaction there is in
                 each of the source code lines, compared to plain C code.
                 It also allows you to see the C/C++ code
                 generated for each line of Cython code. This report is invaluable when
                 optimizing a function for speed,
                 and for determining when to :ref:`release the GIL <nogil>`:
                 in general, a ``nogil`` block may contain only "white" code.
                 See examples in :ref:`determining_where_to_add_types` or
                 :ref:`primes`.


:param annotate-fullc: If ``True`` will produce a colorized HTML version of
                       the source which includes entire generated C/C++-code.


:param compiler_directives: Allow to set compiler directives in the ``setup.py`` like this:
                            ``compiler_directives={'embedsignature': True}``.
                            See :ref:`compiler-directives`.

:param depfile: produce depfiles for the sources if True.
:param cache: If ``True`` the cache enabled with default path. If the value is a path to a directory,
              then the directory is used to cache generated ``.c``/``.cpp`` files. By default cache is disabled.
              See :ref:`cython-cache`.
NrL  r  Úcommon_utility_include_dirÚdepfileTÚCYTHON_FORCE_REGENr   )rÂ  r¤  r?  rÃ  rW   r½   r¢  Ú	build_dirÚ
cache_sizec           	      ó8  >• [         R                  R                  U 5      n[         R                  R                  U 5      (       a  Un UR	                  U5      (       a>  [        T[         R                  R                  [        X5      5      5      n[        X#5        g g r’   )	r   r   r  r  r    r4   rü   r!   Úcopy_once_if_newer)Úfilepathr?   Úfilepath_absÚmod_dirrÔ  s       €r$   Úcopy_to_build_dirÚ$cythonize.<locals>.copy_to_build_dirì  sm   ø€ Ü—w‘w—‘ xÓ0ˆÜ�7‰7�=‰=˜×"Ñ"Ø#ˆHØ×"Ñ" 4×(Ñ(ä 	Ü "§¡§¡´¸Ó0HÓ IóKˆGä˜|Õ5ð	 )rh   c                 ó€  >• T(       d  U $ [         R                  R                  U 5      (       aE  [         R                  R                  U 5      S   n U R	                  [         R
                  S5      S   n [         R                  R                  TU 5      n [         R                  R                  U 5      n[        U5        U $ )Nr   )	r   r   r  Ú
splitdriver1   r   rù   rü   Úsafe_makedirs_once)Úc_filer  rÔ  s     €r$   Úfile_in_build_dirÚ$cythonize.<locals>.file_in_build_dirö  sƒ   ø€ ÞØˆMÜ�7‰7�=‰=˜× Ñ Ü—W‘W×'Ñ'¨Ó/°Ñ2ˆFØ—\‘\¤"§&¡&¨!Ó,¨QÑ/ˆFÜ—‘—‘˜i¨Ó0ˆÜ�g‰g�o‰o˜fÓ%ˆÜ˜3ÔØˆrh   r   rk  ru   Fr§  rP   r´  rµ  r   r   r
   z Compiling %s because it changed.z
Compiling z because it depends on Úc)Úshared_c_file_pathrº  zHWarning: Shared module source file is not a Cython file - not creating 'z' as 'rG  )Úgenerate_shared_modulezGenerating shared module 'z[{0:%d}/%d] )ÚProcessPoolExecutor)Úmax_workersÚinitializer)Ú	chunksize)Úcancel_futureséÈ   Úrz	iso8859-1)Úencodingz#error zFailed compilations: %sz, rÍ   )Kr   r`  rQ   r   Úcplusru   r   Úenvironr¡   r   Úfrom_optionsrº  rÏ  r¥  r¦   ÚcacheÚannotater   r   r   ÚcollectionsÚdefaultdictr¢   rt   rp   r   r  ri   ro   rW   r|  r   r   Úfile_generated_by_this_cythonr  r€  r‡  rw  rK  Údecode_filenameÚtransitive_fingerprintr   r¶   Úis_cython_generated_fileÚSharedModulerå  Úsortrœ   r  Ú	enumerateÚconcurrent.futuresræ  ÚImportErrorÚ_init_multiprocessing_helperr»  Úcythonize_one_helperÚKeyboardInterruptÚterminate_workersÚshutdownÚcythonize_oner3   r´   ÚexistsrI  ÚgetsizeÚopenr%  ÚcloserX   rù   rª  Úcleanup_cacher·  ÚstdoutÚflush)6rÇ  rÂ  Únthreadsr½   r?  ÚforcerW   rÃ  Úshow_all_warningsr¡  rÒ  Úpythran_optionsÚ	c_optionsÚcpp_optionsr¤  rº  rÈ  r›  Ú
cache_pathrñ  rÛ  rá  Úmodules_by_cfileÚ
to_compiler7   Údepr¨   Ú
cy_sourcesÚfull_module_nameru   r§  Únew_sourcesr#   rY   rà  ÚdependenciesÚc_timestampÚdep_timestampÚpriorityÚfingerprintÚmodule_optionsrå  ÚNÚbuild_progress_indicatorÚiÚtaskræ  Ú	proc_poolÚargsÚfailed_modulesr¸  r‚   r  rÔ  s6                                                        @r$   Ú	cythonizer%  o  s_  ø€ ð` �ØˆØ˜WÓ$Ø#& %ˆ�ÑØ# wÓ.Ü�gÐ:Ñ;Ô<à�k‰k˜) TÓ*€Gä�Ø‰ä,Ñ7¨wÑ7ˆØ $ˆÔØ%)ˆÔ"à�}Ü—
‘
—‘Ð3Ó4¸Ñ;ˆä"Ñ- WÑ-€IÜ$Ñ/ wÑ/€KÀT°Ô1BÜ
×
Ò
˜yÓ
)€CØ€GØ$'×$EÑ$EÐ!Ü#8ØØØØØ)ØØñ$Ñ €K�ô " #Ñ3€DÜ˜ ¨dÓ3€IØ‡}‡}˜g×.×.´'×2B×2Bð
 %Ÿ]™]¨dÒ2‘T¸¿¹ˆ
Ü�j¤'¨'°<ÀÓ"FÓG‰àˆä)+¯ª«÷ 6õ	ô #×.Ò.¬tÓ4ÐØ€JÜˆÞØ—y”y�Ù! #Ö&ñ !ð "#§¢ó?Ú!*�vÜ�w‰w×Ñ Ó'¨Ñ*¨oÑ=÷ ¡ð 	ð ?ô ˆz‹?˜aÓà Ÿv™vÑð  $Ðä˜Q ¨eÓ4ˆ
Ü  Ð$4°eÓ<ˆæØ%‰GØ�Z‰Z˜5Ó Ø!‰GàˆGàˆØ—i•iˆFÜŸ™×(Ñ(¨Ó0‰IˆD�#Ø�oÔ%Ø¨1¯:©:¸Ó+>Æ*¡ÐRVÑW�ñ +¨6Ó2�ö Ø#'×#8Ñ#8¸Ó#@�LÜ! &¨&°,Ô?ô ×6Ò6°v×>Ñ>Ü"$§'¡'×"2Ñ"2°6Ó":‘Kà"$�Kð  §¡°Ó!7Ó7Ø)-¯©¸Ó)?À 3�MØ ‘Hà)-×)?Ñ)?ÀÓ)GÑ&�M 3Ø  C¨4×+FÑ+FÀvÓ+NÑ$NÑO�HÞ˜K¨-Ó7Þ ®Ø! S›=Ü!Ð"DÄu×G\ÒG\Ð]cÓGdÑ"dÕeå!Ü %× 5Ò 5°fÖ =Ü %× 5Ò 5°cÖ :ð#ô ö !¦UØ&+×&BÑ&BØ &¨×(=Ñ(=¸fÓ(EÀwÜ 0°·±×1B¸sÀNÐT^Ó _ó'™ð
 '+˜Ø×%Ñ%Ø  &¨&°+¸uØÔ!5°×7JÑ7JÈ1Ï6É6Ó7RØ(Ð*;ð'=ô >ð ! Ñ(×/Ñ/°Õ2Þ.°1·6±6Ð=ZÓ3Zá*¨6Ó2�Ü!3Ø°ÐVZñ"\�ä×5Ò5°f×=Ñ=ÜÐdÐef×ekÑekÐdlÐlrÐsyÐrzÐz{Ð|Õ}Þ¤%×"EÒ"EÀf×"MÑ"MÝDÞ ÜÐ :¸1¿6¹6¸(À!ÐDÔEÙ*¨>Ô:øà�ÞÙ% fÔ-à×Ñ˜v×&ñC  ðF  ˆ�	ñ{ ð~ ‡O�OÔÜˆJ‹€Að !/´#´c¸!³f³+¸qÐ1AÑ A×IÑIÐô ! ¨QÔ/ôâ/‰GˆAˆtð 	ˆQˆRˆÑ,¨QÓ/°Ð7Ô7Ù/ð ñ ð
 	ˆAƒvØˆðÝ:ö Ù Ø Ü4ò
ð ðÜ�Y—]‘]Ô#7¸Èq�]ÐQÕR÷
ð 
ó ˆDÜ˜4Ó ñ ÷ Ü›ˆØ/×5Ñ5Ö7‰OˆF�GÜ—7‘7—>‘> &×)Ñ)Ø×%Ñ% gÖ.Ü—‘—‘ Ó(¨3Õ.Ü˜ ¨{Ñ;�ðØ—v‘vœc )›nÓ-°Ó:à&×-Ñ-¨gÔ6à—G‘G–Iñ  8ö Û(�Ø×"Ñ" 6Ö*ñ )äÐ+¨d¯i©i¼Ù*8ó@:Ú*8 �—”©.ñ@:ó 9;ó /<ñ <ô =ö Ø×ÑÔô ‡J�J×ÑÔØÐùòi?ùó@øô ó Ø‹ðûô %ó Ø×+Ñ+Ô-Ø×"Ñ"°$Ð"Ñ7Øðú÷
ö 
ûð4 —G‘G•Iüò@:sT   Ç*^,Ç:^,×^1×-^7 Ø_8Ø_
Û/`
Ý`Þ7_ß_ß
+_5ß5_8ß8
`à
`ÚXML_RESULTSc                 ó   ^ • U 4S jnU$ )Nc                  ó:  >• [         R                   " 5       nSn T" U 6   Sn[         R                   " 5       U-
  n[        U S   5      nSU-   nSU-
  n[        [        R
                  R                  [        US-   5      S5       nUR                  SU S	U S
U SU SU(       a  SOS S3R                  5       5        S S S 5        g ! [         a     N¯f = f! , (       d  f       g = f! [         R                   " 5       U-
  n[        U S   5      nSU-   nSU-
  n[        [        R
                  R                  [        US-   5      S5       nUR                  SU S	U S
U SU SU(       a  SOS S3R                  5       5        S S S 5        f ! , (       d  f       f = f= f)NFTr   z
cythonize.r   z.xmlÚwzQ
                    <?xml version="1.0" ?>
                    <testsuite name="z" errors="0" failures="z" tests="1" time="z,">
                    <testcase classname="z(" name="cythonize">
                    r,   ÚfailurezV
                    </testcase>
                    </testsuite>
                    )
Útimer¿  r  r  r   r   rù   Úcompile_result_dirÚwriterc   )r#  r|   Úsuccessr  ro   ÚfailuresÚoutputÚfuncs          €r$   Úwith_recordÚ#record_results.<locals>.with_record¢  s¦  ø€ Ü—	’	“ˆAØˆGð!Ù�d‘Ø�ô —I’I“K !‘O�Ü-¨d°1©gÓ6�Ø# fÑ,�Ø˜w™;�Üœ"Ÿ'™'Ÿ,™,Ô'9¸4À&¹=ÓIÈ3ÔOÐSYØ—L‘Lð &&à&* VÐ+BÀ8À*ÐL^Ð_`Ð^að b*Ø*.¨ð 0Þ"‘R¨	Ð2ð 3ð	"÷ ™›ô!÷ PÐOøô ó ñ ð	ú÷ PÕOûô	 —I’I“K !‘O�Ü-¨d°1©gÓ6�Ø# fÑ,�Ø˜w™;�Üœ"Ÿ'™'Ÿ,™,Ô'9¸4À&¹=ÓIÈ3ÔOÐSYØ—L‘Lð &&à&* VÐ+BÀ8À*ÐL^Ð_`Ð^að b*Ø*.¨ð 0Þ"‘R¨	Ð2ð 3ð	"÷ ™›ô!÷ P×OÖOýsH   šC Â9CÃ
CÃC% ÃCÃC% Ã
C"Ã%A"FÅ9F	Æ 	FÆ	
FÆFrÍ   )r1  r2  s   ` r$   Úrecord_resultsr4  ¡  s   ø€ õ	!ð2 Ðrh   c                 ó   • U $ r’   rÍ   )r1  s    r$   r4  r4  ½  s   € Øˆrh   c                 ó†  • SSK JnJn  SSKJnJn  U(       dZ  U
(       a/  U(       a(  U
R                  X5      (       a  [        U	 SU  S35        O$[        U	 S[        R                  " U 5       35        Uc  [        U5      nXl        Xdl        [        R                  nU(       a  S[        l        Sn U" XXzUS9nUR                  S:”  a  S	nU(       a  U[        l        U(       aL  U(       a	  U" S U 5      e[.        R0                  R3                  U5      (       a  [.        R4                  " U5        g g g ! [         U4 aB  n["        R$                  R'                  S
U-  5        S	nSS KnUR+                  5          S nAN¯S nAf[,         a!    U(       a  e SS KnUR+                  5         S	n NÜf = f! U(       a  U[        l        f f = f)Nr
   )Úcompile_singler   )ÚCompileErrorÚ
PyrexErrorzFound compiled z	 in cachezCythonizing r   )r  rñ  r  r   z%s
)ÚCompiler.Mainr7  r   ÚCompiler.Errorsr8  r9  Úlookup_cacherK  r   rö  r   Úoutput_fileÚembedded_metadatar   ÚLEVELÚ
num_errorsÚOSErrorr·  Ústderrr-  Ú	tracebackÚ	print_excr¿  r   r   r  rX   )Úpyx_filerà  r  r?  r¡  Úraise_on_failurer>  r  r  Úprogressrñ  r7  r   r8  r9  Úold_warning_levelÚany_failuresÚresultÚerC  s                       r$   r  r  Â  ss  € ÷ @ß:æÞ–[ U×%7Ñ%7¸×%LÑ%LÜ�X�J˜o¨h¨Z°yÐAÕBä�X�J˜l¬5×+@Ò+@ÀÓ+JÐ*KÐLÔMØ�Ü$ _Ó5ˆØ ÔØ 1ÔäŸ™ÐÞØŒŒà€Lð-Ù ÐDTÐozÑ{ˆØ×Ñ˜qÓ ØˆLö Ø,ŒFŒLæÞÙ˜t XÓ.Ð.Ü�W‰W�^‰^˜F×#Ñ#Ü�IŠI�fÕð $ð øô! �ZÐ ó Ü�
‰
×Ñ˜ !™Ô$ØˆãØ×Ñ×ÑûÜó ÞØÛØ×ÑÔØŠðûö Ø,ŒF�Lð ús6   Â1D1 Ä1F(Ä=8E:Å5F+ Å:+F(Æ%F+ Æ'F(Æ(F+ Æ+G c                 óZ   • SS K n [        U 6 $ ! [         a    UR                  5         e f = frW  )rC  r  r¿  rD  )r7   rC  s     r$   rÿ  rÿ  õ  s3   € ÛðÜ˜aÐ Ð øÜó Ø×ÑÔØðús   † Ž*c                  óX   • SS K n U R                  U R                  U R                  5        g rW  )ÚsignalÚSIGINTÚSIG_IGN)rN  s    r$   rþ  rþ  þ  s   € ãØ
‡M�M�&—-‘- §¡Õ0rh   r’   )zexpected non-empty iterator)Ú__Pyx_Lr³   )NNNFNF)Nr   NFNNFF)	NFNTNNFr,   N)Xrö   ró  r   r.   r·  r+  Úglobr   Úior   Úos.pathr   r!   r   r   Úcollections.abcr	   rQ   r¿  r,   r   r   r   r   r   r   r   r   ÚCompilerr   r:  r   r   ÚCompiler.Optionsr   r   r   r   rù   r4   r×  rß  Úcfuncr¢   rœ   r%   r2   rF   r\   rn   Úobjectrµ   r£   r¥   r    r‹   r�   ÚdeclareÚcompileÚVERBOSEr*  rõ   râ   rá   rj   Ú	MULTILINEr'  r)  rÿ   rû   r
  r  r  r  r:  r<  r£  r¥  r°  rÏ  r%  rï  r¡   r,  r4  r  rÿ  rþ  rÍ   rh   r$   Ú<module>r^     sI  ðÛ ã Û 	ß Ó Ý Ý Ý 'ß *å $ðÛõ ÷M÷ Mñ Må Ý #Ý ÷ñ ñ ˜BŸG™GŸL™LÓ)€	Ù$Ð%>Ó?Ð Ù$ ]Ó3Ð ð ‡�ñ$¨T°#©Yô $ó ð$òôB$òò2Jñ< “€Ù“(€Ù
‹(€ð  Ø Ø Ø Ø+Ø+Ø+Ø+Ø Ø+Ø+Ø Ø+Ø*Ø#ñÐ ð& ‡�ñ<ó ð<÷$R+ñ R+ðj �nŠn˜V R§Z¢Zð 1ð ‡Z�Zó	&÷ ‘ó	€ð —^’^ F¨B¯JªJð 8ð ‡Z�Zó-÷ ‘óÐ ð
 —n’n V¨R¯ZªZð 9ð ‡Z�Zó	.÷ ‘ó	Ð ñk' ð k'¨Sõ k'ðb —:’:ð?ð ‡L�L�2—:‘:ÑóÐ ð !Ÿjšjð:à‡L�L�2—:‘:ÑóÐ òRð ñ%ó ð%ò6ð ñó ðð ñó ðð ñ3ó ð3ð
 ñ$7ó ð$7÷Npñ pðf €	ôòð aeØ+0ôT(ðp fjØ8=ômð`	 ‡:�:‡>�>�-× Ñ ØŸ™ MÑ2Ðóò8ð
 à9=Ø;?Ø;@Ø%)ó	/ó ð/òdó1øð_' ó ØƒGðús   ºJ, Ê,J8Ê7J8