Ë
    Ç[;jàw ã                   ó`+  — d dl Z  e j                  �d"i de“de“de“de“de“de“de“d	e“d
e“de“de“de“de“de“de“de“de“de“de“de“de“de“de“Ž d dlmZ d dlZd dlm	Z
 d dlmZmZ ddlmZmZmZ ddlmZ ddlmZ 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mZ dd%lmZmZmZ d&d'lmZ dd(lm Z  dd)lm!Z! d*Z" e j                  e# e#d+«      «      Z$ G d,„ d-«      Z%e jL                  �d#d.efd/„«       Z'e jL                  d.efd0„«       Z(e jL                  d.ed1efd2„«       Z)d.efd3„Z*e jL                  d.efd4„«       Z+e jL                  d.efd5„«       Z,e jL                  d.efd6„«       Z-e jL                  d.efd7„«       Z.d8d9d:œZ/e jL                  d.efd;„«       Z0d.efd<„Z1e jL                  d.efd=„«       Z2e jL                  d.efd>„«       Z3e jL                  d.efd?„«       Z4e jL                  d.efd@„«       Z5e jL                  d.efdA„«       Z6e jL                  d.efdB„«       Z7e jL                  d.efdC„«       Z8e jL                  d.efdD„«       Z9 e j                  e# e#dE«      «      Z:e jL                  d.efdF„«       Z;e jL                  d.efdG„«       Z<e jL                  d.efdH„«       Z=e jL                  d.efdI„«       Z>e jL                  d.efdJ„«       Z?e jL                  d.efdK„«       Z@e jL                  d.efdL„«       ZAe jL                  d.efdM„«       ZBe jL                  d.efdN„«       ZCe jL                  d.efdO„«       ZDe jL                  e$fd.edPe#fdQ„«       ZEe jL                  d.efdR„«       ZFe jL                  d.efdS„«       ZGe jL                  d.efdT„«       ZHe jL                  d.efdU„«       ZIe jL                  d.efdV„«       ZJe jL                  �d$d.edXe j–                  d1efdY„«       ZLe jL                  d1efdZ„«       ZMe jL                  d.efd[„«       ZNe jL                  d.efd\„«       ZOe jL                  d.ed1efd]„«       ZPe jL                  d.ed1eQfd^„«       ZRe jL                  d.efd_„«       ZSe jL                  d.efd`„«       ZTe jL                  d1eQfda„«       ZUe j¬                  �d%db„«       ZWe jL                  d.efdc„«       ZXe jL                  d.efdd„«       ZYe jL                  d.efde„«       ZZe jL                  d.efdf„«       Z[e jL                  d.efdg„«       Z\e jL                  dh„ «       Z]e jL                  d.ed1efdi„«       Z^e jL                  �d&d.edje_fdk„«       Z`e jL                  d1e j–                  fdl„«       Zae jL                  d.edme j–                  fdn„«       Zbe jL                  doe_d1e_fdp„«       Zce jL                  �d'd.ed1efdq„«       Zde jL                  d.ed1e_fdr„«       Zee jL                  d.edme j–                  dse j–                  dte jÌ                  d1eQf
du„«       Zge jL                  d.edme j–                  dse j–                  dve j–                  dte jÌ                  d1eQfdw„«       Zhe jL                  d.ed1efdx„«       Zie jL                  dye_d.efdz„«       Zje jL                  d.efd{„«       Zke jL                  d.efd|„«       Zle jL                  d.efd}„«       Zme jL                  d.efd~„«       Zne jL                  d.efd„«       Zoe jL                  d.efd€„«       Zpe jL                  �d'd.ed1eQfd�„«       Zqe jL                  �d'd.ed1eQfd‚„«       Zre jL                  �d'd.ed1eQfdƒ„«       Zse jL                  d.efd„„«       Zte jL                  d.efd…„«       Zue jL                  d.efd†„«       Zve jL                  d.efd‡„«       Zw e j                  e# e#dˆ«      «      Zxe jL                  d.efd‰„«       Zye jL                  d.efdŠ„«       Zze jL                  d.efd‹„«       Z{e jL                  d.efdŒ„«       Z|e jL                  d.efd�„«       Z}e jL                  d.efdŽ„«       Z~e jL                  �d(d.ed�e j–                  fd‘„«       Ze jL                  d.efd’„«       Z€e jL                  d.efd“„«       Z�e jL                  d.efd”„«       Z‚e jL                  d.efd•„«       Zƒe jL                  d.efd–„«       Z„e jL                  �d)d.ed—e j–                  fd˜„«       Z…e jL                  d.ed1efd™„«       Z†e jL                  d.edše j–                  d1efd›„«       Z‡e jL                  d.efdœ„«       Zˆe jL                  d.efd�„«       Z‰e jL                  d.efdž„«       ZŠe jL                  d.efdŸ„«       Z‹e jL                  d.efd „«       ZŒe jL                  d.efd¡„«       Z�e jL                  �d(d.ed¢e j–                  fd£„«       ZŽe jL                  �d*d.ed¤e j–                  d¢e j–                  d1efd¥„«       Z�e jL                  d.efd¦„«       Z�e jL                  d.efd§„«       Z‘ e j                  e# e#d¨«      «      Z’e jL                  d.ed©e_fdª„«       Z“e jL                  d.efd«„«       Z”e jL                  �d*d.ed¤e j–                  d¢e j–                  fd¬„«       Z•e jL                  d.efd­„«       Z–e jL                  d.efd®„«       Z—e jL                  d.efd¯„«       Z˜e jL                  d.efd°„«       Z™e jL                  �d(d.ed¢e j–                  fd±„«       Zše jL                  d.ed¢e j–                  d1eQfd²„«       Z›e jL                  d.ed¢e j–                  d1efd³„«       Zœe jL                  d.efd´„«       Z�e jL                  �d)d.ed—e j–                  fdµ„«       Zže jL                  �d)d.ed—e j–                  fd¶„«       ZŸe jL                  d.efd·„«       Z e jL                  d.efd¸„«       Z¡e jL                  d.efd¹„«       Z¢e jL                  �d(d.ed—e j–                  fdº„«       Z£e jL                  �d)d.ed—e j–                  fd»„«       Z¤e jL                   e%«       fd.efd¼„«       Z¥e jL                  �d(d.ed½e j–                  d1efd¾„«       Z¦e jL                  �d'd.ed1efd¿„«       Z§e j¬                  �d+d.edÀe j–                  fdÁ„«       Z¨e jL                  d.efdÂ„«       Z© e j                  e# e#dÃ«      «      Zªe jL                  �d'd.efdÄ„«       Z«e jL                  �d'd.edÀe j–                  fdÅ„«       Z¬e jL                  d.efdÆ„«       Z­e jL                  d.ed1e j–                  fdÇ„«       Z®e jL                  d.efdÈ„«       Z¯e jL                  d.ed1e j–                  fdÉ„«       Z°e jL                  d.ed1e j–                  fdÊ„«       Z±e jL                  d.ed1e j–                  fdË„«       Z²e jL                  d.ed1e j–                  fdÌ„«       Z³ e j                  e# e#dÍ«      «      Z´ e j                  edÎdÎdÏdÏdÏdÎdÏdÐdÑœ«      Zµ e j                  e# e#dÒ«      «      Z¶ e j                  e#e´e¶z   e#eµ«      z  «      Z· e j                  e# e#dÓ«      «      Z¸e jL                  d.ed1efdÔ„«       Z¹e jL                  d.efdÕ„«       Zºe j¬                   e%«       d�d�d�d�d�d�fd.edÖe j–                  d×e j–                  dØe j–                  dÙe j–                  dÀe j–                  dÚe j–                  fdÛ„«       Z»e jL                  d.efdÜ„«       Z¼e jL                  d.edØe j–                  fdÝ„«       Z½ e j                  e# e#dÞ«      «      Z¾e jL                  d.edÖe j–                  d×e j–                  dØe j–                  dÙe j–                  dÀe j–                  fdß„«       Z¿e jL                  d.ed1e j–                  fdà„«       ZÀe jL                  d.ed1e j–                  fdá„«       ZÁe jL                  d.edâe j–                  d1efdã„«       ZÂ e j                  e# e#dä«      «      ZÃe j¬                   e%«       d�d�d�d�dWfd.edåe j–                  dØe j–                  dæe j–                  dçe j–                  dèe j–                  d1eQfdé„«       ZÄe jL                  d.ed1e j–                  fdê„«       ZÅe jL                  	 	 	 �d,d.edåe j–                  dØe j–                  dÀe j–                  dçe j–                  dèe j–                  fdë„«       ZÆe jL                  d.efdì„«       ZÇe jL                  d.ed1e j–                  fdí„«       ZÈe jL                  d.efdî„«       ZÉe jL                  d.efdï„«       ZÊe jL                  d.efdð„«       ZËe jL                  d.efdñ„«       ZÌe jL                  d.edòeQfdó„«       ZÍe jL                  d.edòeQfdô„«       ZÎe jL                  d.efdõ„«       ZÏe jL                  d.efdö„«       ZÐe jL                  d.efd÷„«       ZÑe jL                  d.efdø„«       ZÒe jL                  d.ed1eQfdù„«       ZÓe jL                  d.efdú„«       ZÔe jL                  d.efdû„«       ZÕe jL                  d.ed1eQfdü„«       ZÖe jL                  d.efdý„«       Z×e jL                  �d-d.edþeQdÿe j–                  f�d „«       ZØe jL                  �d.d.ed©e jÌ                  dèe j–                  d1ef�d„«       ZÙe jL                  �d$d.edèe j–                  f�d„«       ZÚe jL                  d.ef�d„«       ZÛe jL                  d.ef�d„«       ZÜe jL                  d.ed1ef�d„«       ZÝe jL                  d.ef�d„«       ZÞe jL                  d.ef�d„«       Zße jL                  d.ef�d„«       Zàe jL                  d1ef�d	„«       Záe j¬                  de%fd.ef�d
„«       Zâ e j                  e e�jÆ                  �d«      �jÈ                  «      Zåe jL                  d.ed1ef�d„«       Zæe j¬                  e%fd.ef�d„«       Zçe jL                  d.ed1ef�d„«       Zèe jL                  d.ef�d„«       Zée jL                  d.ef�d„«       Zêe jL                  d.ef�d„«       Zëe jL                  d.ef�d„«       Zìe jL                  d.ef�d„«       Zíe jL                  d.ef�d„«       Zîe jL                  d.ef�d„«       Zïe jL                  d.ef�d„«       Zðe jL                  d.ef�d„«       Zñe jL                  d.ef�d„«       Zòe jL                  d.ef�d„«       Zóe jL                  d.ef�d„«       Zôe jL                  d.ef�d„«       Zõe jL                  d.ef�d„«       Zöe jL                  d.ef�d„«       Z÷e jL                  d.ed1ef�d„«       Zøe jL                  d.ef�d„«       Zùe j¬                  �d'�d e �jô                  f�d!„«       Zûy(/  é    NÚNodesÚ	ExprNodesÚEncodedStringÚbytes_literalÚStringEncodingÚFileSourceDescriptorÚlookup_unicodecharÚFutureÚOptionsÚerrorÚwarningÚBuiltinÚ
ModuleNodeÚUtilsÚ_unicodeÚ_bytesÚreÚ_parse_escape_sequencesÚ_parse_escape_sequences_rawÚpartialÚreduceÚ_CDEF_MODIFIERSÚCOMMON_BINOP_MISTAKES)ÚStringIO)Úlookup)r   r   é   )ÚPyrexScannerr   Útentatively_scan)r   )r   )ÚMatchCaseNodes)r   )r   )r   r   )r   )r   r   ÚCompileErroré   )r   )r
   )r   )ÚinlineÚnogilÚapi)Ú;ÚNEWLINEÚEOFc                   ó@   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZd„ Zd„ Zy)ÚCtxÚotherÚprivateFNc                 ó:   — | j                   j                  |«       y ©N)Ú__dict__Úupdate)ÚselfÚkwdss     ú`G:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Compiler/Parsing.pyÚ__init__zCtx.__init__6   s   € Ø�‰×Ñ˜TÕ"ó    c                 óŠ   — t        «       }|j                  }|j                  | j                  «       |j                  |«       |S r-   )r)   r.   r/   )r0   r1   ÚctxÚds       r2   Ú__call__zCtx.__call__9   s2   € Ü‹eˆØ�L‰LˆØ	�‰�—‘ÔØ	�‰�ŒØˆ
r4   )Ú__name__Ú
__module__Ú__qualname__ÚlevelÚ
visibilityÚ	cdef_flagÚtypedef_flagr$   Úoverridabler#   Ú	namespaceÚ	templatesÚallow_struct_enum_decoratorr3   r8   © r4   r2   r)   r)   )   s?   „ à€EØ€JØ€IØ€LØ
€CØ€KØ€EØ€IØ€IØ"'Ðò#ór4   r)   Úsc                 ó²   — | j                   dk(  r7| j                  j                  | j                  «      }| j	                  «        |S | j                  |«       y ©NÚIDENT)ÚsyÚcontextÚintern_ustringÚsystringÚnextr   )rE   ÚmessageÚnames      r2   Úp_identrP   A   s?   € à‡t�tˆw‚Ø�y‰y×'Ñ'¨¯
©
Ó3ˆØ	�‰ŒØˆà	�‰�Õr4   c                 ó  — g }| j                   dk(  rv|j                  | j                  j                  | j                  «      «       | j                  «        | j                   dk7  r	 |S | j                  «        | j                   dk(  rŒv|S )NrH   Ú,)rI   ÚappendrJ   rK   rL   rM   )rE   Únamess     r2   Úp_ident_listrU   K   sl   € à€EØ
�$‰$�'Š/Ø�‰�Q—Y‘Y×-Ñ-¨a¯j©jÓ9Ô:Ø	�‰ŒØ�4‰4�3Š;Øà€Lð 	
�‰Œð �$‰$�'‹/ð €Lr4   Úreturnc                 ób   — | j                  «       }| j                  }| j                  «        ||fS r-   )ÚpositionrI   rM   )rE   ÚposÚops      r2   Úp_binop_operatorr[   \   s(   € à
�*‰*‹,€CØ	
�‰€BØ‡F�F„HØˆsˆ7€Nr4   c                 ó   —  || «      }| j                   |v rwt        | «      \  }} || «      }t        j                  ||||«      }|dk(  r5t        j
                  | j                  j                  v rd|_        nd |_        | j                   |v rŒw|S )NÚ/T)	rI   r[   r   Ú
binop_noder
   ÚdivisionrJ   Úfuture_directivesÚtruedivision)rE   ÚopsÚ
p_sub_exprÚn1rZ   rY   Ún2s          r2   Úp_binop_exprrf   e   s‚   € Ù	�A‹€BØ
�$‰$�#‰+Ü" 1Ó%‰ˆˆCÙ˜‹]ˆÜ×!Ñ! # r¨2¨rÓ2ˆØ�Š9Ü�‰ !§)¡)×"=Ñ"=Ñ=Ø"&�•à"&�”ð �$‰$�#Š+ð €Ir4   c                 óþ   — | j                  «       }| j                  «        | j                  dk(  rg }d x}}nt        | dd¬«      \  }}}| j	                  d«       t        | «      }t        j                  |||||¬«      S )NÚ:F)Ú
terminatorÚ	annotated)ÚargsÚstar_argÚstarstar_argÚresult_expr)rX   rM   rI   Úp_varargslistÚexpectÚp_testr   Ú
LambdaNode)rE   rY   rk   rl   rm   Úexprs         r2   Ú	p_lambdefrt   u   s~   € ð �*‰*‹,€CØ‡F�F„HØ‡t�tˆs‚{ØˆØ"&Ð&ˆ‘<ä'4Ø˜#¨ô(0Ñ$ˆˆh˜à‡H�HˆS„MÜ�!‹9€DÜ×ÑØ�DØ¨LØôð r4   c                 ó\   — t        | «      }| j                  dk(  r| j                  d«       |S )Nú:=zAinvalid syntax: assignment expression not allowed in this context)Úp_test_allow_walrus_afterrI   r   )rE   rs   s     r2   rq   rq   Š   s+   € ô % QÓ'€DØ‡t�tˆt‚|Ø	�‰ÐSÔTØ€Kr4   c                 ó.  — | j                   dk(  rt        | «      S | j                  «       }t        | «      }| j                   dk(  rP| j	                  «        t        | «      }| j                  d«       t        | «      }t        j                  ||||¬«      S |S )NÚlambdaÚifÚelse)ÚtestÚtrue_valÚ	false_val)	rI   rt   rX   Ú	p_or_testrM   rp   rq   r   ÚCondExprNode)rE   rY   rs   r|   r*   s        r2   rw   rw   ˜   sz   € à‡t�tˆxÒÜ˜‹|ÐØ
�*‰*‹,€CÜ�Q‹<€DØ‡t�tˆt‚|Ø	�‰ŒÜ˜‹|ˆØ	�‰�ÔÜ�q“	ˆÜ×%Ñ% c°¸tÈuÔUÐUàˆr4   c                 óþ   — t        | «      }| j                  dk(  rb| j                  «       }|j                  s| j	                  dd¬«       | j                  «        t        | «      }t        j                  |||¬«      S |S )Nrv   z=Left-hand side of assignment expression must be an identifierF©Úfatal©ÚlhsÚrhs)	rw   rI   rX   Úis_namer   rM   rq   r   ÚAssignmentExpressionNode)rE   r…   rX   r†   s       r2   Úp_namedexpr_testr‰   ¨   si   € ô $ AÓ
&€CØ‡t�tˆt‚|Ø—:‘:“<ˆØ�{Š{Ø�G‰GÐSÐ[`ˆGÔaØ	�‰ŒÜ�Q‹iˆÜ×1Ñ1°(ÀÈÔMÐMØ€Jr4   ÚorÚand)z||ú&&c                 ó$   — t        | dt        «      S )NrŠ   )Úp_rassoc_binop_exprÚ
p_and_test©rE   s    r2   r   r   À   s   € ä˜q $¬
Ó3Ð3r4   c                 ó„  —  || «      }| j                   |k(  rS| j                  «       }| j                   }| j                  «        t        | ||«      }t	        j
                  ||||«      }|S | j                   t        v rCt        | j                      |k(  r-t        | j                  «       d| j                   ›d|›d�d¬«       |S )NzFound the C operator 'z%', did you mean the Python operator 'z'?r   ©r<   )rI   rX   rM   rŽ   r   r^   r   r   )rE   rZ   Ú	p_subexprrd   rY   re   s         r2   rŽ   rŽ   Æ   s§   € Ù	�1‹€BØ‡t�tˆr‚zØ�j‰j‹lˆØ�T‰TˆØ	�‰ŒÜ   B¨	Ó2ˆÜ×!Ñ! # r¨2¨rÓ2ˆð €Ið 
�‰Ô&Ñ	&Ô+@ÀÇÁÑ+FÈ"Ò+Lä�—
‘
”ØWX×W[ÓW[Ò]_Ð`Øõ	ð €Ir4   c                 ó$   — t        | dt        «      S )Nr‹   )rŽ   Ú
p_not_testr�   s    r2   r�   r�   Ø   s   € ô ˜q %¬Ó4Ð4r4   c                 ó¶   — | j                   dk(  r@| j                  «       }| j                  «        t        j                  |t        | «      ¬«      S t        | «      S )NÚnot©Úoperand)rI   rX   rM   r   ÚNotNoder•   Úp_comparison©rE   rY   s     r2   r•   r•   à   sB   € à‡t�tˆu‚}Ø�j‰j‹lˆØ	�‰ŒÜ× Ñ  ´
¸1³Ô>Ð>ä˜A‹Ðr4   c                 ó  — t        | «      }| j                  t        v ra| j                  «       }t	        | «      }t        | «      }t        j                  ||||¬«      }| j                  t        v rt        | «      |_        |S )N)ÚoperatorÚoperand1Úoperand2)	Úp_starred_exprrI   Úcomparison_opsrX   Úp_cmp_opr   ÚPrimaryCmpNodeÚp_cascaded_cmpÚcascade)rE   rd   rY   rZ   re   s        r2   r›   r›   í   sl   € ä	˜Ó	€BØ‡t�tŒ~ÑØ�j‰j‹lˆÜ�a‹[ˆÜ˜AÓˆÜ×%Ñ% cØ b°Rô9ˆà�4‰4”>Ñ!Ü'¨Ó*ˆBŒJØ€Ir4   c                 óL   — | j                   dk(  rt        | «      S t        | «      S ©NÚ*)rI   r¡   rq   r�   s    r2   Úp_test_or_starred_exprrª   û   s"   € à‡t�tˆs‚{Ü˜aÓ Ð ä�a‹yÐr4   c                 óL   — | j                   dk(  rt        | «      S t        | «      S r¨   )rI   r¡   r‰   r�   s    r2   Ú p_namedexpr_test_or_starred_exprr¬     s#   € à‡t�tˆs‚{Ü˜aÓ Ð ä Ó"Ð"r4   c                 ó´   — | j                  «       }| j                  dk(  rd}| j                  «        nd}t        | «      }|rt	        j
                  ||«      }|S )Nr©   TF)rX   rI   rM   Ú
p_bit_exprr   ÚStarredUnpackingNode)rE   rY   Ústarredrs   s       r2   r¡   r¡     sN   € à
�*‰*‹,€CØ‡t�tˆs‚{ØˆØ	�‰�àˆÜ�a‹=€DÙÜ×-Ñ-¨c°4Ó8ˆØ€Kr4   c                 óÆ   — | j                  «       }t        | «      }t        | «      }t        j                  |||¬«      }| j
                  t        v rt        | «      |_        |S )N)rž   r    )	rX   r£   r¡   r   ÚCascadedCmpNoderI   r¢   r¥   r¦   )rE   rY   rZ   re   Úresults        r2   r¥   r¥     sT   € à
�*‰*‹,€CÜ	�!‹€BÜ	˜Ó	€BÜ×&Ñ& sØ "ô&€Fà‡t�tŒ~ÑÜ'¨Ó*ˆŒØ€Mr4   c                 ó:  — | j                   dk(  r$| j                  «        | j                  d«       d}n`| j                   dk(  r5| j                  «        | j                   dk(  r| j                  «        d}nd}n| j                   }| j                  «        |dk(  rd}|S )Nr—   ÚinÚnot_inÚisÚis_notú<>ú!=)rI   rM   rp   ©rE   rZ   s     r2   r£   r£   %  s{   € à‡t�tˆu‚}Ø	�‰ŒØ	�‰�ŒØ‰Ø	
�‰�ŠØ	�‰ŒØ�4‰4�5Š=Ø�F‰FŒHØ‰Bà‰Bà�T‰TˆØ	�‰ŒØ	ˆT‚zØˆØ€Ir4   )
Ú<Ú>ú==ú>=ú<=r¹   rº   rµ   r·   r—   c                 ó$   — t        | dt        «      S )N)Ú|)rf   Ú
p_xor_exprr�   s    r2   r®   r®   B  ó   € ä˜˜6¤:Ó.Ð.r4   c                 ó$   — t        | dt        «      S )N)Ú^)rf   Ú
p_and_exprr�   s    r2   rÃ   rÃ   I  rÄ   r4   c                 ó$   — t        | dt        «      S )N)Ú&)rf   Úp_shift_exprr�   s    r2   rÇ   rÇ   P  s   € ä˜˜6¤<Ó0Ð0r4   c                 ó$   — t        | dt        «      S )N)ú<<ú>>)rf   Úp_arith_exprr�   s    r2   rÊ   rÊ   W  s   € ä˜˜<¬Ó6Ð6r4   c                 ó$   — t        | dt        «      S )N©Ú+Ú-)rf   Úp_termr�   s    r2   rÎ   rÎ   ^  s   € ä˜˜:¤vÓ.Ð.r4   c                 ó$   — t        | dt        «      S )N)r©   Ú@r]   Ú%z//)rf   Úp_factorr�   s    r2   rÓ   rÓ   e  s   € ä˜Ð5´xÓ@Ð@r4   c                 ó   — t        | «      S r-   )Ú	_p_factorr�   s    r2   r×   r×   l  s   € ô �Q‹<Ðr4   c                 óÔ  — | j                   }|dv rL| j                   }| j                  «       }| j                  «        t        j                  ||t        | «      «      S | j                  sv|dk(  rB| j                  «       }| j                  «        t        | «      }t        j                  ||¬«      S |dk(  rt        | «      S |dk(  r| j                  dk(  rt        | «      S t        | «      S )N)rÑ   rÒ   Ú~rÉ   r˜   r¼   rH   Úsizeof)rI   rX   rM   r   Ú	unop_noder×   Úin_python_fileÚAmpersandNodeÚ
p_typecastrL   Úp_sizeofÚp_power)rE   rI   rZ   rY   Úargs        r2   rÙ   rÙ   r  sÀ   € à	
�‰€BØ	ˆ_ÑØ�T‰TˆØ�j‰j‹lˆØ	�‰ŒÜ×"Ñ" 3¨¬H°Q«KÓ8Ð8Ø×ÒØ�Š9Ø—*‘*“,ˆCØ�F‰FŒHÜ˜1“+ˆCÜ×*Ñ*¨3¸#Ô>Ð>Ø�3ŠYÜ˜a“=Ð Ø�7Š]˜qŸz™z¨XÒ5Ü˜A“;ÐÜ�1‹:Ðr4   c                 óB  — | j                  «       }| j                  «        t        | «      }t        |t        j
                  «      }t        |t        j                  t        j                  t        j                  f«      }|s|s|j                  €| j                  d«       t        | d¬«      }| j                  dk(  r| j                  «        d}nd}| j                  d«       t        | «      }|rt        j                   |||¬«      S t        j"                  |||||¬«      S )	NzUnknown typeT©ÚemptyÚ?Fr½   )Úbase_type_noder™   )Ú	base_typeÚ
declaratorr™   Ú	typecheck)rX   rM   Úp_c_base_typeÚ
isinstancer   ÚMemoryViewSliceTypeNodeÚTemplatedTypeNodeÚCConstOrVolatileTypeNodeÚCTupleBaseTypeNoderO   r   Úp_c_declaratorrI   rp   r×   r   ÚCythonArrayNodeÚTypecastNode)rE   rY   ré   Úis_memsliceÚis_other_unnamed_typerê   rë   r™   s           r2   rà   rà   ‡  sö   € ð �*‰*‹,€CØ‡F�F„HÜ˜aÓ €IÜ˜Y¬×(EÑ(EÓF€KÜ& yÜ×ÑÜ×&Ñ&Ü× Ñ ð3ó Ðñ
 Ñ0°i·n±nÐ6LØ	�‰�ÔÜ ¨Ô.€JØ‡t�tˆs‚{Ø	�‰ŒØ‰	àˆ	Ø‡H�HˆS„MÜ�q‹k€GÙÜ×(Ñ(¨¸YÐPWÔXÐXä×!Ñ! #ØØØØô	ð r4   c                 óF  — | j                  «       }| j                  «        | j                  d«       t        | «      r#t	        | «      }t        j                  ||¬«      }n0t        | «      }t        | d¬«      }t        j                  |||¬«      }| j                  d«       |S )NÚ(r˜   Trå   ©ré   rê   Ú))
rX   rM   rp   Úlooking_at_exprrq   r   ÚSizeofVarNoderì   rò   ÚSizeofTypeNode)rE   rY   r™   Únoderé   rê   s         r2   rá   rá   §  s…   € ð �*‰*‹,€CØ‡F�F„HØ‡H�HˆS„Mô �qÔÜ˜“)ˆÜ×&Ñ& s°gÔ>‰ä! !Ó$ˆ	Ü# A¨TÔ2ˆ
Ü×'Ñ'¨Ø!°
ô<ˆà‡H�HˆS„MØ€Kr4   Ústatement_terminatorsc                 ó„  — | j                  «       }| j                  «        d}| j                  dk(  rd}| j                  «        | j                  dk7  r'| j                  |vr|rt        | «      n
t	        | «      }n|r| j                  d|d¬«       d }|rt        j                  ||¬«      S t        j                  ||¬«      S )NFÚfromTrú   z''yield from' requires a source argument©rY   rƒ   ©rã   )	rX   rM   rI   rq   Ú
p_testlistr   r   ÚYieldFromExprNodeÚYieldExprNode)rE   rÿ   rY   Úis_yield_fromrã   s        r2   Úp_yield_expressionr  ¼  s¨   € ð �*‰*‹,€CØ‡F�F„HØ€MØ‡t�tˆv‚~ØˆØ	�‰ŒØ‡t�tˆs‚{�q—t‘tÐ#8Ñ8á(Œf�QŒi¬j¸«m‰áØ�G‰GÐ=Ø 5ð ô *àˆÙÜ×*Ñ*¨3°CÔ8Ð8ä×&Ñ& s°Ô4Ð4r4   c                 óZ   — t        | «      }t        j                  |j                  |¬«      S )N©rs   )r  r   ÚExprStatNoderY   )rE   Ú
yield_exprs     r2   Úp_yield_statementr  Ó  s%   € ô $ AÓ&€JÜ×Ñ˜jŸn™n°:Ô>Ð>r4   c                 óx  — | j                   dk(  r>d|j                  v r| j                  d«       |j                  | _        t        | |d¬«      S |r| j                  d«       y | j                   dk(  rt	        | d¬«      S | j                   d	k(  r| j                  «        t        | d¬«      S | j                  d
«       y )NÚdefÚpxdúdef statement not allowed hereT)Úis_async_defú7Decorators can only be followed by functions or classesÚfor©Úis_asyncÚwithz2expected one of 'def', 'for', 'with' after 'async')rI   r<   r   Úp_def_statementÚp_for_statementrM   Úp_with_items)rE   r6   Ú
decoratorss      r2   Úp_async_statementr  Ú  s˜   € ð 	‡t�tˆu‚}à�C—I‘IÑØ�G‰GÐ4Ô5Ø—)‘)ˆŒÜ˜q *¸4Ô@Ð@Ù	Ø	�‰ÐIÕJØ	
�‰�ŠÜ˜q¨4Ô0Ð0Ø	
�‰�ŠØ	�‰ŒÜ˜A¨Ô-Ð-à	�‰ÐDÕEr4   c                 ó  — | j                   dk(  r!| j                  «       d   dk(  rt        | «      S d }| j                  dk(  r | j	                  «       }| j                  «        t        | «      }| j                  dv rt        | |«      }| j                  dv rŒ|rt        j                  ||¬«      }| j                  dk(  rC| j	                  «       }| j                  «        t        | «      }t        j                  |d||«      }|S )NÚnewr   rH   Úawait)rø   Ú[Ú.r  ú**)rL   ÚpeekÚ
p_new_exprrI   rX   rM   Úp_atomÚ	p_trailerr   ÚAwaitExprNoder×   r^   )rE   Ú	await_posrd   rY   re   s        r2   râ   râ   ñ  sÔ   € à‡z�z�UÒ˜qŸv™v›x¨™{¨gÒ5Ü˜!‹}ÐØ€IØ‡t�tˆw‚Ø—J‘J“Lˆ	Ø	�‰ŒÜ	�‹€BØ
�$‰$�/Ñ
!Ü�q˜"Óˆð �$‰$�/Ò
!áÜ×$Ñ$ Y°BÔ7ˆØ‡t�tˆt‚|Ø�j‰j‹lˆØ	�‰ŒÜ�a‹[ˆÜ×!Ñ! # t¨R°Ó4ˆØ€Ir4   c                 óš   — | j                  «       }| j                  «        t        | «      }t        | t	        j
                  ||¬«      «      S )N)Úcppclass)rX   rM   rì   Úp_callr   ÚNewExprNode)rE   rY   r*  s      r2   r$  r$    s<   € ð �*‰*‹,€CØ‡F�F„HÜ˜QÓ€HÜ�!”Y×*Ñ*¨3¸8ÔDÓEÐEr4   c                 óô   — | j                  «       }| j                  dk(  rt        | |«      S | j                  dk(  rt        | |«      S | j	                  «        t        | «      }t        j                  |||¬«      S )Nrø   r   ©ÚobjÚ	attribute)rX   rI   r+  Úp_indexrM   rP   r   ÚAttributeNode)rE   Únode1rY   rO   s       r2   r&  r&    si   € à
�*‰*‹,€CØ‡t�tˆs‚{Ü�a˜ÓÐØ	
�‰�ŠÜ�q˜%Ó Ð à	�‰ŒÜ�q‹zˆÜ×&Ñ& sØ ô'ð 	'r4   TÚallow_genexpc                 ó¸  — | j                  «        g }g }d}d}| j                  dk7  �rÒ| j                  dk(  rQ|r!| j                  d| j                  «       ¬«       | j                  «        |j	                  t        | «      «       d}�nA| j                  dk(  r.| j                  «        |j	                  t        | «      «       d}�nt        | «      }| j                  dk(  rž| j                  «        |j                  s| j                  d	|j                  ¬«       | j                  j                  |j                  «      }t        j                  |j                  |¬
«      }t        | «      }|j	                  ||f«       nL|r| j                  d|j                  ¬«       |r|s|d   j	                  |«       n|j	                  |g«       d}| j                  dk7  rn!| j                  «        | j                  dk7  r�ŒÒ| j                  dv r9|r7|s5|s3t        |«      dk(  r%t        |d   «      dk(  rt        | |d   d   «      gg}| j!                  d«       |xs g g|fS )NFrú   r©   ú%Non-keyword arg following keyword arg©rY   Tr"  Ú=z!Expected an identifier before '='©ÚvalueéÿÿÿÿrR   ©r  Úasyncr   r   )rM   rI   r   rX   rS   rq   r‰   r‡   rY   rJ   rK   rO   r   ÚIdentifierStringNodeÚlenÚp_genexprp   )	rE   r4  Úpositional_argsÚkeyword_argsÚstarstar_seenÚlast_was_tuple_unpackrã   Úencoded_nameÚkeywords	            r2   Úp_call_parse_argsrG  (  s  € ð ‡F�F„HØ€OØ€LØ€MØ!ÐØ
�$‰$�#‹+Ø�4‰4�3Š;ÙØ—‘Ð?ÀQÇZÁZÃ\�ÔRØ�F‰FŒHØ×"Ñ"¤6¨!£9Ô-Ø$(Ò!Ø�T‰T�TŠ\Ø�F‰FŒHØ×Ñ¤ q£	Ô*Ø ŠMä" 1Ó%ˆCØ�t‰t�sŠ{Ø—‘”Ø—{’{Ø—G‘GÐ?Ø #§¡ð ô )à Ÿy™y×7Ñ7¸¿¹ÓA�Ü#×8Ñ8Ø—G‘G <ô1�ä˜Q“i�Ø×#Ñ# W¨c NÕ3áØ—G‘GÐCÈÏÉ�GÔQÙ"Ñ+@Ø# BÑ'×.Ñ.¨sÕ3à#×*Ñ*¨C¨5Ô1Ø(-Ð%Ø�4‰4�3Š;ØØ	�‰ŒðC �$‰$�#Œ+ðF 	‡t�tÐÑ¡LÙÑ$9Ü�?Ó# qÒ(¬S°ÀÑ1CÓ-DÈÒ-IÜ$,¨Q°ÀÑ0BÀ1Ñ0EÓ$FÐ#GÐ"H�Ø‡H�HˆS„MØÒ"˜r˜d LÐ0Ð0r4   c                 ón  — d }|D �cg c]@  }t        |t        «      rt        j                  | |¬«      nt        j                  | |¬«      ‘ŒB }}t        t        t        j                  | d«      |«      }|�r8g }g }|D ]º  }	t        |	t        «      r7|	\  }
}|j                  t        j                  |
j                  |
|¬«      «       ŒJ|	j                  r|j                  |	j                  «       Œr|r6|j                  t        j                  |d   j                  |d¬«      «       g }|j                  |	«       Œ¼ |r4|j                  t        j                  |d   j                  |d¬«      «       |r=t!        |«      dk(  r|d   j                  r	|d   }||fS t        j"                  | |¬	«      }||fS c c}w )
N©rk   r  rÑ   ©rY   Úkeyr:  r   T)Úkey_value_pairsÚreject_duplicatesr   )rB  )rí   Úlistr   Ú	TupleNodeÚAsTupleNoder   r   r^   ÚtuplerS   ÚDictItemNoderY   Úis_dict_literalÚextendrL  ÚDictNoder?  ÚMergedDictNode)rY   rA  rB  Úkeyword_dictrã   Ú	subtuplesÚ	arg_tupleÚkwargsÚ
dict_itemsÚitemrK  r:  s               r2   Úp_call_build_packed_argsr]  [  s¤  € à€Lñ #óá"ˆCô /9¸¼dÔ.CŒ	×Ñ˜C cÕ*Ì×I^ÑI^Ð_bÐhkÔIlÑlØ"ð ð ô
 ”wœy×3Ñ3°S¸#Ó>À	ÓJ€IâØˆØˆ
Û ˆDÜ˜$¤Ô&Ø!‘
��UØ×!Ñ!¤)×"8Ñ"8¸S¿W¹WÈ#ÐUZÔ"[Õ\Ø×%Ò%à×!Ñ! $×"6Ñ"6Õ7áØ—M‘M¤)×"4Ñ"4Ø" 1™×)Ñ)¸:ÐY]ô#_ô `à!#�JØ—‘˜dÕ#ð !ñ Ø�M‰Mœ)×,Ñ,Ø˜1‘×!Ñ!°:ÐQUôWô Xñ Ü�6‹{˜aÒ F¨1¡I×$=Ò$=à% a™y�ð
 �lÐ"Ð"ô  )×7Ñ7¸È&ÔQ�à�lÐ"Ð"ùòIs   ‡AF2c                 ó  — | j                  «       }t        | «      \  }}|s<t        |«      dk(  r.t        |d   t        «      rt        j                  |||d   ¬«      S t        |||«      \  }}t        j                  ||||¬«      S )Nr   r   )Úfunctionrk   )r_  rA  rB  )	rX   rG  r?  rí   rN  r   ÚSimpleCallNoder]  ÚGeneralCallNode)rE   r_  rY   rA  rB  rY  rW  s          r2   r+  r+  †  sŠ   € ð �*‰*‹,€CÜ$5°aÓ$8Ñ!€O�\áœC Ó0°AÒ5¼*À_ÐUVÑEWÔY]Ô:^Ü×'Ñ'¨°hÀ_ÐUVÑEWÔXÐXä":¸3ÀÐQ]Ó"^Ñˆ	�<Ü×(Ñ(Ø˜(°IÈLôZð 	Zr4   c                 ót  — | j                  «       }| j                  «        t        | «      \  }}|r3t        |d   «      dk(  r"|d   \  }}t	        j
                  ||||¬«      }nCt        ||«      }|r|d   }	nt	        j                  ||¬«      }	t	        j                  |||	¬«      }| j                  d«       |S )Nr   r!   )ÚbaseÚstartÚstoprI  ©rc  ÚindexÚ])
rX   rM   Úp_subscript_listr?  r   ÚSliceIndexNodeÚmake_slice_nodesrO  Ú	IndexNoderp   )
rE   rc  rY   Ú
subscriptsÚis_single_valuerd  re  r³   Úindexesrg  s
             r2   r1  r1  ˜  s³   € ð �*‰*‹,€CØ‡F�F„HÜ"2°1Ó"5Ñ€J�Ùœ3˜z¨!™}Ó-°Ò2Ø  ‘m‰ˆˆtÜ×)Ñ)¨#Ø ¨tô5‰ô # 3¨
Ó3ˆÙØ˜A‘J‰Eä×'Ñ'¨°GÔ<ˆEÜ×$Ñ$ SØ ô(ˆà‡H�HˆS„MØ€Mr4   c                 óä   — d}t        | «      g}| j                  dk(  rPd}| j                  «        | j                  dk(  r	 ||fS |j                  t        | «      «       | j                  dk(  rŒP||fS )NTrR   Frh  )Úp_subscriptrI   rM   rS   )rE   rn  Úitemss      r2   ri  ri  ®  sq   € à€OÜ˜‹^Ð€EØ
�$‰$�#Š+ØˆØ	�‰ŒØ�4‰4�3Š;Øà�/Ð!Ð!ð 	�‰”[ “^Ô$ð �$‰$�#‹+ð �/Ð!Ð!r4   c                 óÞ   — t        | d«      }| j                  dk7  r|gS | j                  «        t        | d«      }| j                  dk7  r||gS | j                  «        t        | d«      }|||gS )N)rh   rh   )rh   rR   rh  )Úp_slice_elementrI   rM   )rE   rd  re  Ústeps       r2   rq  rq  ½  sn   € ô
 ˜A˜vÓ&€EØ‡t�tˆs‚{ØˆwˆØ‡F�F„HÜ˜1˜oÓ.€DØ‡t�tˆs‚{Ø�tˆ}ÐØ‡F�F„HÜ˜1˜oÓ.€DØ�4˜ÐÐr4   c                 ó6   — | j                   |vrt        | «      S y r-   )rI   rq   )rE   Ú
follow_sets     r2   rt  rt  Î  s   € ð 	‡t�t�:ÑÜ�a‹yÐàr4   c                 ó&   — | j                  d«       y )Nú...)rp   r�   s    r2   Úexpect_ellipsisrz  Ø  s   € à‡H�HˆU…Or4   c                 ó”   — g }|D ]@  }t        |«      dk(  r|j                  |d   «       Œ&|j                  t        | g|¢­Ž «       ŒB |S )Nr   r   )r?  rS   Úmake_slice_node)rY   rm  r³   Ú	subscripts       r2   rk  rk  Ý  sL   € ð €FÛˆ	Üˆy‹>˜QÒØ�M‰M˜) A™,Õ'à�M‰Mœ/¨#Ð:°	Ò:Õ;ð	  ð
 €Mr4   c                 ó¾   — |st        j                  | «      }|st        j                  | «      }|st        j                  | «      }t        j                  | |||¬«      S )N)rd  re  ru  )r   ÚNoneNodeÚ	SliceNode)rY   rd  re  ru  s       r2   r|  r|  ì  sW   € áÜ×"Ñ" 3Ó'ˆÙÜ×!Ñ! #Ó&ˆÙÜ×!Ñ! #Ó&ˆÜ×Ñ˜sØ˜d¨4ô1ð 1r4   c                 ó–  — | j                  «       }| j                  }|dk(  rp| j                  «        | j                  dk(  rt        j                  |g ¬«      }n&| j                  dk(  rt        | «      }nt        | «      }| j                  d«       |S |dk(  rt        | «      S |dk(  rt        | «      S |dk(  rt        | «      S |dk(  r t        | «       t        j                  |«      S |d	k(  rt        | «      S |d
k(  r3| j                  }| j                  «        t        j                  ||¬«      S |dk(  r6| j                  d d }| j                  «        t        j                   ||¬«      S |dk(  s|dk(  rt#        | «      S |dk(  r5t%        | «      }|€&t'        | | j                  «      }| j                  «        |S | j)                  d«       y )Nrø   rú   rI  Úyieldr   Ú{Ú`ry  ÚINTÚFLOATr9  ÚIMAGr;  ÚBEGIN_STRINGÚBEGIN_FT_STRINGrH   z!Expected an identifier or literal)rX   rI   rM   r   rO  r  Úp_testlist_comprp   Úp_list_makerÚp_dict_or_set_makerÚp_backquote_exprrz  ÚEllipsisNodeÚp_int_literalrL   Ú	FloatNodeÚImagNodeÚp_atom_stringÚp_atom_ident_constantsÚp_namer   )rE   rY   rI   r³   r:  s        r2   r%  r%  ú  s“  € à
�*‰*‹,€CØ	
�‰€BØ	ˆS‚yØ	�‰ŒØ�4‰4�3Š;Ü×(Ñ(¨°RÔ8‰FØ�T‰T�WŠ_Ü'¨Ó*‰Fä$ QÓ'ˆFØ	�‰�ŒØˆØ	ˆsŠÜ˜A‹ÐØ	ˆsŠÜ" 1Ó%Ð%Ø	ˆsŠÜ Ó"Ð"Ø	ˆuŠÜ˜ÔÜ×%Ñ% cÓ*Ð*Ø	ˆuŠÜ˜QÓÐØ	ˆwŠØ—
‘
ˆØ	�‰ŒÜ×"Ñ" 3°Ô6Ð6Ø	ˆvŠØ—
‘
˜3˜B�ˆØ	�‰ŒÜ×!Ñ! #¨uÔ5Ð5Ø	ˆ~Ò	 Ð'8Ò!8Ü˜QÓÐØ	ˆwŠÜ'¨Ó*ˆØˆ>Ü˜A˜qŸz™zÓ*ˆFØ�F‰FŒHØˆà	�‰Ð3Õ4r4   c                 ó¾  — | j                  «       }t        | «      \  }}}|st        j                  |||¬«      S |}|dk(  rt        j                  ||¬«      S |dk(  rt        j                  |||¬«      S |dk(  rt        j
                  ||¬«      S |dk(  rt        j                  ||¬«      S |dk(  rt        j                  ||¬«      S | j                  d	|› d
�«       y )N)r:  Úbytes_valueÚcr9  ÚuÚbÚf©ÚvaluesÚtzinvalid string kind 'Ú')	rX   Úp_cat_string_literalr   ÚUnicodeNodeÚCharNodeÚ	BytesNodeÚJoinedStrNodeÚTemplateStringNoder   )rE   rY   Úkindr–  Úunicode_valueÚ	kind_chars         r2   r’  r’  '  sÞ   € ð �*‰*‹,€CÜ';¸AÓ'>Ñ$€Dˆ+�}ÙÜ×$Ñ$ S°È;ÔWÐWØ $€IØ�CÒÜ×!Ñ! #¨[Ô9Ð9Ø	�cÒ	Ü×$Ñ$ S°È;ÔWÐWØ	�cÒ	Ü×"Ñ" 3¨kÔ:Ð:Ø	�cÒ	Ü×&Ñ& s°=ÔAÐAØ	�cÒ	ä×+Ñ+¨C¸ÔFÐFð 	
�‰Ð'¨ v¨QÐ/Õ0r4   c                 óX  — | j                  «       }| j                  }|dk(  rt        j                  |«      }nb|dk(  rt        j                  |d¬«      }nE|dk(  rt        j                  |d¬«      }n(|dk(  r"| j
                  st        j                  |«      }ny| j                  «        |S )	z‡
    Returns None if it isn't a special-cased named constant.
    Only calls s.next() if it successfully matches a named constant.
    ÚNoneÚTrueTr9  ÚFalseFÚNULLN)rX   rL   r   r  ÚBoolNoderÞ   ÚNullNoderM   )rE   rY   rO   r³   s       r2   r“  r“  ?  s‘   € ð �*‰*‹,€CØ�:‰:€DØˆv‚~Ü×#Ñ# CÓ(‰Ø	�ŠÜ×#Ñ# C¨tÔ4‰Ø	�ŠÜ×#Ñ# C¨uÔ5‰Ø	�Š × 0Ò 0Ü×#Ñ# CÓ(‰àØ‡F�F„HØ€Mr4   c                 óœ  — | j                  «       }t        j                  t        | j                  «      }| j                  «        d}d}|d   dv r|d   dv r|dz  }n|dz  }|d d }|d   dv rŒd }|rd}n"|r |dk(  s| j                  j                  d	k\  rd}| j                  r|rt        |d
«       d}t        j                  |||||¬«      S )NÚ r;  ÚUuLlÚLlÚLÚUTÚLLé   z4illegal integer literal syntax in Python source fileF)Úis_c_literalr:  ÚunsignedÚlongness)rX   ÚcythonÚcastÚstrrL   rM   rJ   Úlanguage_levelrÞ   r   r   ÚIntNode)rE   rY   r:  r¸  r¹  r·  s         r2   r�  r�  V  sä   € à
�*‰*‹,€CÜ—‘œS !§*¡*Ó-€EØ‡F�F„HØ€HØ€HØ
�‰)�vÑ
Ø�‰9˜ÑØ˜‰O‰Hà˜‰OˆHØ�c�r�
ˆð �‰)�vÒ
ð €LÙØ‰Ù	Ø�tÒ˜qŸy™y×7Ñ7¸1Ò<ØˆLØ×ÒÙÜ�#ÐMÔNØˆÜ×Ñ˜SØ,8Ø%*Ø(0Ø(0ô	2ð 2r4   c                 óÚ   — | j                  «       }| j                  s9|| j                  v r+| j                  j                  |«      }t	        ||«      }|�|S t        j                  ||¬«      S )N©rO   )rX   Úcompile_time_exprÚcompile_time_envÚlookup_hereÚwrap_compile_time_constantr   ÚNameNode)rE   rO   rY   r:  rþ   s        r2   r”  r”  w  sc   € à
�*‰*‹,€CØ×Ò 4¨1×+=Ñ+=Ñ#=Ø×"Ñ"×.Ñ.¨tÓ4ˆÜ)¨#¨uÓ5ˆØÐØˆKÜ×Ñ˜c¨Ô-Ð-r4   c           
      ó|  — |€t        j                  | «      S |t        u rt        j                  | «      S t	        |t
        «      rt        j                  | |¬«      S t	        |t        «      r!t        j                  | t        |«      |¬«      S t	        |t        «      r!t        j                  | t        |«      |¬«      S t	        |t        «      ršt        j                  | t        |j                  «      t        d|j                  «      ¬«      }|j                  rMt        j                   | dt        j                  | t        |j                  «      |j                  ¬«      ||¬«      }|S t	        |t"        «      r t        j$                  | t'        |«      ¬«      S t	        |t(        «      r$t+        |d«      }t        j,                  | ||¬«      S t	        |t.        «      r5|D �cg c]  }t1        | |«      ‘Œ }}d |v ry t        j2                  | |¬«      S t5        | d|›d	|j6                  j8                  ›d
�«       y c c}w )Nr9  )r:  Úconstant_resultg        rÑ   )rÇ  ÚasciirI  z(Invalid type for compile-time constant: z (type rú   )r   r  ÚEllipsisrŽ  rí   Úboolr­  Úintr¾  ÚreprÚfloatr�  Úcomplexr‘  ÚimagÚrealr^   r¼  r   r   Úbytesr   r¢  rQ  rÄ  rO  r   Ú	__class__r9   )rY   r:  rþ   Úbvaluerã   rk   s         r2   rÄ  rÄ  ‚  sÍ  € à€}Ü×!Ñ! #Ó&Ð&Ø	”(Ñ	Ü×%Ñ% cÓ*Ð*Ü	�Eœ4Ô	 Ü×!Ñ! #¨UÔ3Ð3Ü	�Eœ3Ô	Ü× Ñ  ¬D°«KÈÔOÐOÜ	�Eœ5Ô	!Ü×"Ñ" 3¬d°5«kÈ5ÔQÐQÜ	�Eœ7Ô	#Ü×!Ñ! #¬T°%·*±*Ó-=ÌwÐWZÐ\a×\fÑ\fÓOgÔhˆØ�:Š:ô ×'Ñ'Ø�Sœ)×-Ñ-¨c¼¸e¿j¹jÓ9IÐ[`×[eÑ[eÔfÐhlØ %ô'ˆDð ˆÜ	�Eœ3Ô	Ü×$Ñ$ S´¸eÓ0DÔEÐEÜ	�Eœ5Ô	!Ü˜u gÓ.ˆÜ×"Ñ" 3¨fÀeÔLÐLÜ	�Eœ5Ô	!Ù@EÓFÁ¸Ô*¨3°Õ4ÀˆÐFØ�4‰<àÜ×"Ñ" 3¨TÔ2Ð2ä	‰#Ú˜Ÿ™×1Ó1ð3ô 4àùò Gs   Ç H9c           	      ó@  — | j                  «       }t        | «      \  }}}|dk(  s| j                  dk7  r| j                  dk7  r|||fS |g|g|g}}}d x}}| j                  dk(  s| j                  dk(  rÃ| j                  «       }t        | «      \  }}	}
|dk(  rt        |d«       ŒO||k7  r:||hddhddhfv rd}n+|dk(  s|dk(  rt        |d	«       Œzt        |d
|›d|›d�«       ŒŽ|j	                  |	«       |j	                  |
«       |j	                  |«       | j                  dk(  rŒ³| j                  dk(  rŒÃ|dv s	|dk(  r)d |vr%t        dj                  |«      | j                  «      }|dv r+t        dj                  |D �cg c]  }|€Œ|‘Œ	 c}«      «      }|dk(  r[g }t        ||«      D ]J  \  }}t        |t        «      r||z  }Œ|j	                  t        j                  |t        |«      ¬«      «       ŒL |dk(  rg }|D ]  }|j                  |«       Œ |||fS c c}w )Nr—  rˆ  r‰  zCCannot concatenate char literal with another string or char literalrš  r˜  r°  r�  z:cannot mix t-string literals with string or bytes literalsz8Cannot mix string literals of different types, expected z'', got z'')r™  r—  r°  r4   ©r˜  r°  r9  )rX   Úp_string_literalrI   r   rS   r   ÚjoinÚsource_encodingr   Úziprí   rN  r   r   rT  )rE   rY   r¥  r–  r¦  ÚbstringsÚustringsÚ	positionsÚ	next_kindÚnext_bytes_valueÚnext_unicode_valuer˜  s               r2   rŸ  rŸ  ¨  sA  € ð
 �*‰*‹,€CÜ'7¸Ó':Ñ$€Dˆ+�}Øˆs‚{�q—t‘t˜~Ò-°!·$±$Ð:KÒ2KØ�[ -Ð/Ð/Ø%0 M°M°?ÀSÀE˜	ˆh€HØ"&Ð&€K�-Ø
�$‰$�.Ò
  A§D¡DÐ,=Ò$=Ø�j‰j‹lˆÜ:JÈ1Ó:MÑ7ˆ	Ð#Ð%7Ø˜ÒÜ�#Ð\Ô]ØØ˜$Òà�iÐ  c¨3 Z°#°r°Ð$;Ñ;Ø‘Ø˜’ 	¨SÒ 0Ü�cÐWÔXØä‘cÚš)ð%ô &àØ�‰Ð(Ô)Ø�‰Ð*Ô+Ø×Ñ˜Ôð' �$‰$�.Ó
  A§D¡DÐ,=Ó$=ð* ˆ~Ñ ¨¢°¸XÑ1Eä# C§H¡H¨XÓ$6¸×8IÑ8IÓJˆØˆyÑÜ% b§g¡g¹(Ó.T¹(°QÀaÁmªq¸(Ñ.TÓ&UÓVˆØˆs‚{ØˆÜ˜( IÖ.‰FˆAˆsÜ˜!œTÔ"Ø Ñ"‘ð ×$Ñ$¤Y×%:Ñ%:¸3ÄmÐTUÓFVÔ%WÕXð /ð ˆs‚{ØˆÛˆAØ× Ñ  Õ#ð à�˜mÐ+Ð+ùò /Us   Æ HÆHÚrequired_typec                 óÐ   — | j                   dk7  ry | j                  «       }t        | |«      \  }}}|dk(  r|dk(  r| j                  d|«       |S |dk(  r|S | j                  d«       y )Nrˆ  r˜  rš  zf-string not allowed herer™  z#internal parser configuration error)rI   rX   rÖ  r   )rE   rà  rY   r¥  r–  r¦  s         r2   Úp_opt_string_literalrâ  Ü  sn   € à‡t�tˆ~ÒØØ
�*‰*‹,€CÜ'7¸¸=Ó'IÑ$€Dˆ+�}Ø˜ÒØ�3Š;Ø�G‰GÐ/°Ô5ØÐØ	˜#Ò	ØÐà	�‰Ð5Õ6r4   c                 óT   — t        j                  t        | «      }|D ]	  }|dk\  sŒ	 y y)Nô   Â€TF)rº  r»  r¼  )ÚstringrE   r—  s      r2   Úcheck_for_non_ascii_charactersræ  ì  s+   € ä�‰”C˜Ó €AÛˆØ�‹;Ùð ð r4   Úis_rawc                 óŽ  — | j                   }| j                  }|}| j                  j                  dk\  }|dk(  r|j	                  |«       |S |dk(  rC|r/|s|dk7  st        |«      dk  s|d   dvr|j	                  |«       |S d}t        |||| «       |S |d	k(  r|j	                  d
«       |S |dk(  r| j                  d|¬«       |S y)z„
    Returns a string of non-escaped characters (if handled) or none.
    If passed an escape sequence returns an empty string.
    r¶  ÚCHARSÚESCAPEr˜  r!   r   ÚUur°  r&   Ú
r'   zUnclosed string literalr7  N)rI   rL   rJ   r½  rS   r?  Ú_append_escape_sequencer   )	rE   rY   Úcharsr¥  rç  rI   Úsystrr³   Úis_python3_sources	            r2   Úp_string_literal_shared_readrñ  õ  sç   € ð 
�‰€BØ�J‰J€EØ€FØ%&§Y¡Y×%=Ñ%=ÀÑ%BÐà	ˆW‚}Ø�‰�UÔð €Mð 
ˆxŠáÑ(¨D°CªK¼3¸u»:Èº>ÈUÐSTÉXÐ]aÑMaØ�L‰L˜Ôð €Mð ˆFÜ# D¨%°¸Ô:ð €Mð 
ˆyŠØ�‰�TÔð
 €Mð	 
ˆuŠØ	�‰Ð)¨sˆÔ3ð €Mð r4   rL   c                 óˆ  — |j                  d«      j                  «       }t        |«      dk  st        |«      dk(  r|dv r|S t        |«      }t        |«      t        |«      k7  rt	        | d«       |j                  d«       t        |«      }t        |«      dk\  rt	        | d|d   › d	|d   › d
�«       yt	        | d|› �«       y)Nz"'r   r!   Ú	rbrurfrtrz!Duplicate string prefix characterÚrzString prefixes r   ú and z cannot be combinedzInvalid string prefix r°  )ÚrstripÚlowerr?  Úsetr   ÚdiscardÚsorted)rY   rL   Úkind_stringÚunique_string_prefixess       r2   Ú_validate_kind_stringrý    sÖ   € à—/‘/ %Ó(×.Ñ.Ó0€KÜ
ˆ;Ó˜1Ò¤ [Ó!1°QÒ!6¸;È+Ñ;UØÐä  Ó-ÐÜ
Ð!Ó"¤c¨+Ó&6Ò6ÜˆcÐ6Ô7Ø×"Ñ" 3Ô'Ü#Ð$:Ó;ÐÜ
Ð!Ó" aÒ'ÜˆcÐ%Ð&<¸QÑ&?Ð%@ÀÐF\Ð]^ÑF_ÐE`Ð`sÐtÔuð ô 	ˆcÐ+¨K¨=Ð9Ô:Ør4   c                 ó   — | j                   dk(  r|�J ‚t        | «      S | j                  «       }| j                  j                  dk\  }d}t        || j                  «      }d|v }d|v rt        |«      dk7  rt        |d«       d}nd|v rd}n	d	|v rd	}nd
}|d
k(  rJ|€Ht        j                  | j                  j                  v r"t        j                  | j                  «      }d	}ne|�|dv r|}|dv rt        j                  «       }nD|d
k(  r t        j                  | j                  «      }nt        j                   | j                  «      }	 | j#                  «        t%        | ||||¬«      }	|	�6|s3|r1t        j                  | j                  j                  v rt'        |	«      }ŒY| j                   dk(  rn-| j                  d| j                   ›d| j                  ›d�«       Œ•|dk(  r0d }
|j)                  «       }t        |«      dk7  rgt        |d|z  «       nW|j+                  «       \  }}
|rB|r@t        j                  | j                  j                  v r|dk(  r| j                  d|¬«       d }| j#                  «        |||
fS )Nr‰  r¶  Frô  r—  r   z+Invalid string prefix for character literalr™  r˜  r°  Úub)r˜  rš  ©rç  Ú
END_STRINGúUnexpected token rh   z in string literalzinvalid character literal: %rz0bytes can only contain ASCII literal characters.r7  )rI   Úp_ft_string_literalrX   rJ   r½  rý  rL   r?  r   r
   Úunicode_literalsr`   r   ÚStrLiteralBuilderrØ  ÚUnicodeLiteralBuilderÚBytesLiteralBuilderrM   rñ  ræ  ÚgetcharÚ
getstrings)rE   Úkind_overriderY   rð  Ú has_non_ascii_literal_charactersrû  rç  r¥  rî  Úhandled_charsr¦  r–  s               r2   rÖ  rÖ  $  si  € ð 	‡t�tÐ Ò ØÐ$Ð$Ð$Ü" 1Ó%Ð%Ø
�*‰*‹,€CØ%&§Y¡Y×%=Ñ%=ÀÑ%BÐØ',Ð$Ü'¨¨Q¯Z©ZÓ8€Kà Ð,€Fà
ˆkÑô ˆ{Ó˜qÒ Ü�#ÐDÔEØ‰Ø	�Ñ	Ø‰Ø	�Ñ	Ø‰àˆàˆr‚z�mÐ+´×0GÑ0GÈ1Ï9É9×KfÑKfÑ0fÜ×0Ñ0°×1BÑ1BÓCˆØ‰àÐ$¨¸$Ñ)>Ø ˆDØ�:ÑÜ"×8Ñ8Ó:‰EØ�RŠZÜ"×4Ñ4°Q×5FÑ5FÓG‰Eä"×6Ñ6°q×7HÑ7HÓIˆEà
Ø	�‰ŒÜ4Øˆs�E˜4Øôˆð Ð$Ù4Ù%¬&×*AÑ*AÀQÇYÁY×E`ÑE`Ñ*`Ü3QÐR_Ó3`Ð0ØØ�4‰4�<ÒØà�GŠGØ—“�a—j“jð"ô #ð ð  ˆs‚{ØˆØ—m‘m“oˆÜˆ{Ó˜qÒ Ü�#Ð6¸ÑDÕEà%*×%5Ñ%5Ó%7Ñ"ˆ�]Ù,Ù%¬&×*AÑ*AÀQÇYÁY×E`ÑE`Ñ*`à�sŠ{Ø—‘ÐJÐPS�ÔTØˆKØ‡F�F„HØ�+˜}Ð-Ð-r4   c                 óÌ   — g }	 | j                  «        | j                  }|dv r&|dk(  r| j                  «        dj                  |«      S |j                  | j                  «       Œb)N)ÚEND_FT_STRING_EXPRr'   Nr  r°  )rM   rI   r×  rS   rL   )rE   ÚstringsrI   s      r2   Úp_read_ft_string_expressionr  s  sa   € à€GØ
Ø	�‰ŒØ�T‰TˆØð  ñ  ð Ð)Ò)Ø—‘”Ø—7‘7˜7Ó#Ð#Ø�‰�q—z‘zÔ"ð r4   Úis_single_quotedÚtf_string_kindc           	      ó  — g }d x}x}}d }d}	| j                  «       }
|
d   |
d   |
d   dz   f}t        | «      }|j                  «       st        |
d|› d�«       g }�nè| }t	        t        |«      |
d   | | j                  |¬«      } | xj                  dz  c_        | j                  dk(  r| j                  «        | j                  d	k(  rt        | t        h d
£z  ¬«      }nt        | «      }| j                  dk(  rd}	| j                  «        | j                  dk(  rï| j                  «       }| j                  «        | j                  }|dv rt        | j                  «       d«       n¤t        j                  j!                  |«      s.t        | j                  «       d|z  «       | j                  «        nW| j                  «       d   |d   dz   k7  r+t        | j                  «       d«       | j                  «        n| j                  «        |	s|dk(  r¬|�|j#                  dd«      \  }}|dk(  rUt        j$                  |t'        j(                  |j+                  «       j+                  d«      j+                  «       «      ¬«      }|	r9|j-                  t        j$                  |t'        j(                  |«      ¬«      «       | j                  dk(  s| j                  dk(  r0| j                  «        | j                  dk(  rŒ | j                  dk(  rŒ0| j                  dk7  r*t        | j                  «       d|› d| j                  › �«       |} | j                  dk(  r7| j                  «       }t/        | ||dd¬«      }t        j0                  ||¬«      }|	r|€|€d}|�t'        j(                  |«      }|dk(  r+|j-                  t        j2                  |
||||¬«      «       |S |j-                  t        j                  |
|||¬ «      «       |S )!NFr   r   r!   z empty expression not allowed in z-string)Úparent_scannerrØ  Úinitial_posÚINDENTr‚  >   Ú!rh   Ú})rÿ   r8  Tr  )r  rh   r°  zmissing conversion characterz!invalid conversion character '%s'zDf-string: conversion type must come right after the exclamation markr�  )rY   r:  r&   ÚDEDENTr'   zUnexpected characters after z-string expression: rh   rš  ©Úis_format_stringr  r›  rô  )r:  Úconversion_charÚformat_specÚexpression_str)r:  r  r  )rX   r  Ústripr   r   r   rØ  Úbracket_nesting_levelrI   rM   r  rÿ   Úp_testlist_star_exprrL   r   ÚFormattedValueNodeÚfind_conversion_funcÚrsplitr   r   r   rö  rS   Úp_ft_string_middlesr£  ÚTStringInterpolationNode)rE   rç  r  r  r³   r  r  rs   Út_string_expressionÚself_documentingÚbracket_posÚexpr_posÚexpr_stringÚoriginal_scannerÚprevious_posÚ_rY   Úformat_spec_contentss                     r2   Úp_ft_string_replacement_fieldr0  ‚  s´  € ð €FØ+/Ð/€OÐ/�k DØÐØÐà—*‘*“,€KØ˜A‘ ¨A¡°¸A±¸qÑ0@ÐA€HÜ-¨aÓ0€KØ×ÑÔÜˆkØ0°Ð0@ÀÐHô	JàŠàÐÜÜ�[Ó!Ø˜‰NØØ×-Ñ-Ø ô
ˆð 	
×Ò 1Ñ$ÕØ�4‰4�8ÒØ�F‰FŒHØ�4‰4�7Š?Ü%ØÜ&;ºoÑ&MôO‰Dô (¨Ó*ˆDà�4‰4�3Š;Ø#ÐØ�F‰FŒHà�4‰4�3Š;àŸ:™:›<ˆLØ�F‰FŒHØŸj™jˆOà .Ñ0Ü�a—j‘j“lÐ$BÕCÜ×1Ñ1×FÑFÀÔWÜ�a—j‘j“lÐ$GÈ/Ñ$YÔZØ—‘•Ø—‘“˜a‘ \°!¡_°qÑ%8Ò9Ü�a—j‘j“lÐ$jÔkØ—‘•à—‘”á˜~°Ò4ØÐ*Ø!,×!3Ñ!3°C¸Ó!;‘�˜QØ Ò$Ü&/×&;Ñ&;Ø Ü(×6Ñ6°{×7IÑ7IÓ7K×7RÑ7RÐSVÓ7W×7^Ñ7^Ó7`Óaô'Ð#ñ  Ø—‘Ü×)Ñ)Ø$Ü,×:Ñ:¸;ÓGôôð �d‰d�iÒ 1§4¡4¨8Ò#3Ø�F‰FŒHð �d‰d�iÓ 1§4¡4¨8Ó#3à�4‰4�5Š=ÜØ—
‘
“Ø.¨~Ð.>Ð>RÐST×S]ÑS]ÐR^Ð_ôað ˆà‡t�tˆs‚{à�j‰j‹lˆô  3°1°fÐ>NÐaeÐvyÔzÐÜ×-Ñ-ØØ'ô
ˆñ ˜OÐ3¸Ð8KØˆàÐ"Ü(×6Ñ6°ÓGˆØ˜ÒØ�‰”i×8Ñ8Ø˜t°_Ø#Ð4Gô
ô 	ð €Mð	 	�‰”i×2Ñ2Ø˜t°_Ø#ô
ô 	ð €Mr4   r  c           
      óŽ  — g }t        j                  «       }| j                  «       }	 | j                  «        | j                  }t        | ||d|¬«      }	|	�Œ0|j                  rH|j                  t        j                  ||j                  «       ¬«      «       t        j                  «       }|dk(  rAt        | |||¬«      }
|j                  |
«       | j                  dk(  s| j                  d«       ŒÊ|dk(  r	 |S | j                  dk(  r|r;	 |S t        | j                  «       d| j                  ›d	| j                  ›d
|›d�«       �Œ)Nr˜  r   r9  rƒ  )r  r  ÚEND_FT_STRINGr  rh   z in z-string literal)r   r  rX   rM   rI   rñ  rî  rS   r   r   Ú	getstringr0  rT  Úexpectedr   rL   )rE   rç  r  r  r  ÚmiddlesÚbuilderrY   rI   r  Úfieldss              r2   r%  r%  ï  s(  € ð
 €GÜ×2Ñ2Ó4€GØ
�*‰*‹,€CØ
Ø	�‰ŒØ�T‰Tˆä4Øˆs�G˜SØôˆð Ð$Øà�=Š=Ø�N‰Nœ9×0Ñ0°¸G×<MÑ<MÓ<OÔPÔQÜ$×:Ñ:Ó<ˆGØ�Š9Ü2Ø�6Ð+¸NôLˆFà�N‰N˜6Ô"Ø—4‘4˜3’;Ø—
‘
˜3”ØØ�?Ò"Øð €Nð �T‰T�SŠ[ÙØð €Nô	 Ø—
‘
”à—“�a—j“j¢.ð2ô3ñ7 r4   c                 ó>  — t        | j                  «       | j                  «      }d|v rdnd}d|v }| j                  j                  d«      }t	        |«      dk7  }t        | ||d|¬«      }| j                  dk7  r| j                  |«       | j                  «        |d |fS )	Nr�  rš  rô  Ú
rRbBuUfFtTr¶  Fr  r2  )	rý  rX   rL   Úlstripr?  r%  rI   r4  rM   )rE   rû  r  rç  Úquotesr  r5  s          r2   r  r    s˜   € ô (¨¯
©
«°a·j±jÓA€KØ,/°;Ñ,>¡SÀC€NØ Ð,€FØ�Z‰Z×Ñ˜|Ó,€FÜ$'¨£K°1Ñ$4ÐÜ! ! VÐ-=ÐPUÐftÔu€GØ‡t�tˆÒØ	�
‰
�6ÔØ‡F�F„HØ˜4 Ð(Ð(r4   Úescape_sequencec           	      óx  — t        |«      dk  r|j                  d«       y |d   }|dv r|j                  t        |dd  d«      «       y |dv r|j                  |«       y |dv r%|j                  t	        j
                  |«      «       y |dk(  ry |d	k(  rDt        |«      d
k(  r|j                  t        |dd  d«      «       y |j                  d|z  d¬«       y |dv r�| dv r‹d}|dk(  rd }	 t        |dd «      }t        |«      }nNt        |«      dv r+t        |dd  d«      }|dkD  r-|j                  d|z  «       d}n|j                  d|z  d¬«       |dk\  r|j                  ||«       y y |j                  |«       y # t        $ r4 |j                  dt        |dd «      j                  d«      z  d¬«       Y Œgw xY w)Nr!   Ú\r   Ú01234567é   z'"\Úabfnrtvrì  Úxé   é   zInvalid hex escape '%s'Fr‚   ÚNUu)r˜  rš  r°  r;  ÚNr¶  z!Unknown Unicode character name %sr˜  )é   é
   iÿÿ zInvalid unicode escape '%s'r   )r?  rS   Úappend_charvalrË  r   Úchar_from_escape_sequencer   r	   ÚordÚKeyErrorrÌ  r:  Úappend_uescape)r¥  r6  r<  rE   r—  ÚchrvalÚuchars          r2   rí  rí  '  s×  € ä
ˆ?Ó˜aÒØ�‰�tÔØØ˜Ñ€AØˆJ�Ø×Ñœs ?°1°2Ð#6¸Ó:Õ;Ø	
ˆg‰Ø�‰�qÕØ	
ˆi‰Ø�‰”~×?Ñ?ÀÓPÕQØ	
ˆdŠØØ	
ˆcŠÜˆÓ 1Ò$Ø×"Ñ"¤3 °q°rÐ':¸BÓ#?Õ@à�G‰GÐ-°Ñ?ÀuˆGÕMØ	
ˆe‰˜ Ñ.ØˆØ�Š8ØˆEðNÜ*¨?¸1¸RÐ+@ÓA�Ü˜U›‘ô �Ó! WÑ,Ü˜¨¨Ð,¨bÓ1ˆFØ˜ÒØ—‘Ð5¸ÑGÔHØ‘à�G‰GÐ1°OÑCÈ5ˆGÔQØ�QŠ;Ø×"Ñ" 6¨?Õ;ð ð 	�‰�Õ'øô ò NØ—‘Ð;Ü˜_¨Q¨rÐ2Ó3×:Ñ:¸3Ó?ñ@ØGLð ö NðNús   Ã)E< Å<:F9Æ8F9c                 ó°  — | j                  «       }| j                  «        | j                  dk(  r(| j                  d«       t	        j
                  |g ¬«      S t        | «      }| j                  dv r�|j                  r| j                  d«       t	        j                  ||¬«      }t        | |«      }| j                  d«       t	        j                  |||t        j                  | j                  j                  dk\  ¬«      S | j                  dk(  r| j                  «        t!        | |«      }n|g}| j                  d«       t	        j
                  ||¬«      S )	Nrh  rI  r<  ú2iterable unpacking cannot be used in comprehensionr
  r¶  )ÚlooprS   ÚtypeÚhas_local_scoperR   )rX   rM   rI   rp   r   ÚListNoder¬   Ú
is_starredr   ÚComprehensionAppendNodeÚ
p_comp_forÚComprehensionNoder   Ú	list_typerJ   r½  Ú%p_namedexpr_test_or_starred_expr_list)rE   rY   rs   rS   rR  Úexprss         r2   r‹  r‹  X  s  € ð �*‰*‹,€CØ‡F�F„HØ‡t�tˆs‚{Ø	�‰�ŒÜ×!Ñ! #¨BÔ/Ð/ä+¨AÓ.€DØ‡t�tÐÑØ�?Š?Ø�G‰GÐHÔIÜ×2Ñ2°3¸TÔBˆÜ˜!˜VÓ$ˆØ	�‰�ŒÜ×*Ñ*Ø�d 6´×0AÑ0AàŸI™I×4Ñ4¸Ñ9ô;ð 	;ð 	‡t�tˆs‚{Ø	�‰ŒÜ5°a¸Ó>‰à�ˆØ‡H�HˆS„MÜ×Ñ˜c¨Ô.Ð.r4   c                 óp   — | j                   dv rt        | |«      S | j                   dk(  rt        | |«      S |S )Nr<  rz   )rI   rX  Ú	p_comp_if)rE   Úbodys     r2   Úp_comp_iterr`  w  s;   € à‡t�tÐÑÜ˜!˜TÓ"Ð"Ø	
�‰�ŠÜ˜˜DÓ!Ð!ð ˆr4   c                 ó  — | j                  «       }d}| j                  dk(  rd}| j                  «        | j                  d«       t	        | d|¬«      }|j                  d t        | |«      |¬«       t        j                  |fi |¤ŽS )NFr=  Tr  ©Úallow_testlistr  )Úelse_clauser_  r  )	rX   rI   rM   rp   Úp_for_boundsr/   r`  r   ÚForStatNode)rE   r_  rY   r  Úkws        r2   rX  rX  ‚  su   € à
�*‰*‹,€Cà€HØ‡t�tˆw‚ØˆØ	�‰Œð ‡H�HˆU„OÜ	�a¨¸Ô	A€BØ‡I�I˜$¤[°°DÓ%9ÀH€IÔMÜ×Ñ˜SÑ' BÑ'Ð'r4   c                 óÊ   — | j                  «       }| j                  «        t        | «      }t        j                  |t        j
                  ||t        | |«      ¬«      gd ¬«      S )N©Ú	conditionr_  ©Ú
if_clausesrd  )rX   rM   r   r   Ú
IfStatNodeÚIfClauseNoder`  )rE   r_  rY   r|   s       r2   r^  r^  ’  s^   € ð �*‰*‹,€CØ‡F�F„Hô �Q‹<€DÜ×Ñ˜CÜ×(Ñ(¨¸$Ü0;¸A¸tÓ0DôFð Gàôð r4   c                 ó�
  — | j                  «       }| j                  «        | j                  dk(  r'| j                  «        t        j                  |g ¬«      S g }d}d}	 | j                  dv r©|dk(  r| j                  dk(  rdnd	}nA|t        | j                  «      k7  r)| j                  d
| j                  ›d|dk(  rdnd›d�«       | j                  «        | j                  dk(  r| j                  d«       t        | «      }|j                  |«       d}n“t        | «      }|dk(  r| j                  dk(  rd	nd}|d	k(  r@| j                  d«       |}t        | «      }t        j                  |j                  ||¬«      }|r|d   j                  |«       n|j                  |g«       d}| j                  dk(  r | j                  «        | j                  dk(  rnn�Œ|| j                  dv �rst        |«      dk(  �r	t        |d   t        «      röt        |d   «      dk(  rå|d   d   }|d	k(  rqt        |t        j                  «      sJ t        |«      «       ‚t         j"                  }t        j$                  |j                  |j&                  |j(                  ¬«      }	n1t         j*                  }t        j,                  |j                  |¬«      }	t/        | |	«      }
| j                  d«       t        j0                  ||
|	|¬«      S t        |«      dk(  r%t        |d   t        «      s| j                  d«       n| j                  d«       t        j                  |g ¬«      S | j                  d«       |dk(  ròg }g }|D ]l  }t        |t        «      r|j3                  |«       Œ%|r5|j                  t        j4                  |d   j                  |¬«      «       g }|j                  |«       Œn |r3|j                  t        j4                  |d   j                  |¬«      «       t        |«      dk(  r|d   j6                  r|d   S t        j8                  ||t         j*                  ¬«      S g }g }|D ]l  }t        |t        «      r|j3                  |«       Œ%|r5|j                  t        j                  |d   j                  |¬«      «       g }|j                  |«       Œn |r3|j                  t        j                  |d   j                  |¬«      «       t        |«      dk(  r|d   j:                  r|d   S t        j<                  ||d¬«      S )Nr  ©rL  r   FT©r©   r"  r©   r   r!   zunexpected zitem found in rø  Údictz literalzexpected expression, found '*'rh   )rK  r:  r;  rR   r<  )Úkey_exprÚ
value_exprr
  )rR  rS   rS  rQ  rI  )rk   rS  )rB  rM  )rX   rM   rI   r   rU  r?  r   r¡   rS   rq   rp   rR  rY   rí   rN  rS  r   Ú	dict_typeÚDictComprehensionAppendNoderK  r:  Úset_typerW  rX  rY  rT  ÚSetNodeÚis_set_literalÚMergedSequenceNoderS  rV  )rE   rY   ÚpartsÚtarget_typeÚlast_was_simple_itemr\  rK  r:  Úcomprehension_typerS   rR  rr  Ú	set_itemsÚpartr[  s                  r2   rŒ  rŒ  ©  sm  € ð �*‰*‹,€CØ‡F�F„HØ‡t�tˆs‚{Ø	�‰ŒÜ×!Ñ! #°rÔ:Ð:à€EØ€KØ ÐØ
Ø�4‰4�;Ñà˜aÒØ#$§4¡4¨3¢;™a°A‘Ø¤ A§D¡D£	Ò)Ø—’Ø—D“D ;°!Ò#3™%¸Ñ?ðAô Bà�F‰FŒHØ�t‰t�sŠ{Ø—‘Ð8Ô9Ü! !Ó$ˆDØ�L‰L˜ÔØ#(Ñ ä˜!“9ˆDØ˜aÒØ#$§4¡4¨3¢;™a°A�Ø˜aÒà—‘˜”Ø�Ü˜q›	�Ü ×-Ñ-¨c¯g©g¸3ÀeÔL�Ù#Ø�b‘	× Ñ  Õ&à—‘˜d˜VÔ$Ø'+Ð$à�4‰4�3Š;Ø�F‰FŒHØ�t‰t�sŠ{ØàñG ðJ 	‡t�tÐÒäˆu‹:˜‹?œz¨%°©(´DÔ9¼cÀ%ÈÁ(»mÈqÒ>PØ˜‘8˜A‘;ˆDØ˜aÒÜ! $¬	×(>Ñ(>Ô?ÐKÄÀdÃÓKÐ?Ü%,×%6Ñ%6Ð"Ü"×>Ñ>Ø—H‘H t§x¡x¸D¿J¹JôH‘ô &-×%5Ñ%5Ð"Ü"×:Ñ:¸4¿8¹8È$ÔO�Ü˜a Ó(ˆDØ�H‰H�SŒMÜ×.Ñ.¨s¸ÀfÐSeÔfÐfô �5‹z˜QŠ¤z°%¸±(¼DÔ'AØ—‘ÐLÕMð —‘˜”Ü×%Ñ% c¸2Ô>Ð>à‡H�HˆS„MØ�aÒàˆØˆ	ÛˆDÜ˜$¤Ô%Ø× Ñ  Õ&áØ—L‘L¤×!2Ñ!2°9¸Q±<×3CÑ3CÈ)Ô!TÔUØ "�IØ—‘˜TÕ"ð ñ Ø�L‰Lœ×*Ñ*¨9°Q©<×+;Ñ+;À)ÔLÔMÜˆu‹:˜Š?˜u Q™x×6Ò6Ø˜‘8ˆOÜ×+Ñ+¨C°eÄ'×BRÑBRÔSÐSð ˆØˆ
ÛˆDÜ˜$¤Ô%Ø×!Ñ! $Õ'áØ—L‘L¤×!3Ñ!3°J¸q±M×4EÑ4EÐWaÔ!bÔcØ!#�JØ—‘˜TÕ"ð ñ Ø�L‰Lœ×+Ñ+¨J°q©M×,=Ñ,=ÈzÔZÔ[Üˆu‹:˜Š?˜u Q™x×7Ò7Ø˜‘8ˆOÜ×'Ñ'¨¸%ÐSXÔYÐYr4   c                 ó’  — | j                  «       }| j                  «        t        | «      g}| j                  dk(  r:| j                  «        |j	                  t        | «      «       | j                  dk(  rŒ:| j                  d«       t        |«      dk(  r|d   }nt        j                  ||¬«      }t        j                  ||¬«      S )NrR   r„  r   r   rI  r  )
rX   rM   rq   rI   rS   rp   r?  r   rO  ÚBackquoteNode)rE   rY   rk   rã   s       r2   r�  r�    sš   € ð �*‰*‹,€CØ‡F�F„HÜ�1‹Iˆ;€DØ
�$‰$�#Š+Ø	�‰ŒØ�‰”F˜1“IÔð �$‰$�#‹+ð ‡H�HˆS„MÜ
ˆ4ƒy�A‚~Ø�1‰g‰ä×!Ñ! #¨dÔ3ˆÜ×"Ñ" 3¨cÔ2Ð2r4   c                 óÖ   — |�|gng }| j                   t        vrO|j                  t        | «      «       | j                   dk7  r	 |S | j	                  «        | j                   t        vrŒO|S ©NrR   )rI   Úexpr_terminatorsrS   rq   rM   ©rE   rs   r\  s      r2   Úp_simple_expr_listr‡  )  sa   € à Ð,�4‘&°"€EØ
�$‰$Ô&Ñ
&Ø�‰”f˜Q“iÔ!Ø�4‰4�3Š;Øà€Lð 	
�‰Œð	 �$‰$Ô&Ò
&ð
 €Lr4   c                 óÖ   — |�|gng }| j                   t        vrO|j                  t        | «      «       | j                   dk7  r	 |S | j	                  «        | j                   t        vrŒO|S r„  )rI   r…  rS   rª   rM   r†  s      r2   Úp_test_or_starred_expr_listr‰  4  sc   € à Ð,�4‘&°"€EØ
�$‰$Ô&Ñ
&Ø�‰Ô+¨AÓ.Ô/Ø�4‰4�3Š;Øà€Lð 	
�‰Œð	 �$‰$Ô&Ò
&ð
 €Lr4   c                 óÖ   — |�|gng }| j                   t        vrO|j                  t        | «      «       | j                   dk7  r	 |S | j	                  «        | j                   t        vrŒO|S r„  )rI   r…  rS   r¬   rM   r†  s      r2   r[  r[  ?  sc   € à Ð,�4‘&°"€EØ
�$‰$Ô&Ñ
&Ø�‰Ô5°aÓ8Ô9Ø�4‰4�3Š;Øà€Lð 	
�‰Œð	 �$‰$Ô&Ò
&ð
 €Lr4   c                 óÀ   — | j                  «       }t        | «      }| j                  dk(  r3| j                  «        t	        | |«      }t        j                  ||¬«      S |S ©NrR   rI  )rX   rq   rI   rM   r‡  r   rO  ©rE   rY   rs   r\  s       r2   r  r  L  sN   € à
�*‰*‹,€CÜ�!‹9€DØ‡t�tˆs‚{Ø	�‰ŒÜ" 1 dÓ+ˆÜ×"Ñ" 3¨uÔ5Ð5àˆr4   c                 óÀ   — | j                  «       }t        | «      }| j                  dk(  r3| j                  «        t	        | |«      }t        j                  ||¬«      S |S rŒ  )rX   rª   rI   rM   r‰  r   rO  r�  s       r2   r!  r!  Z  sO   € à
�*‰*‹,€CÜ! !Ó$€DØ‡t�tˆs‚{Ø	�‰ŒÜ+¨A¨tÓ4ˆÜ×"Ñ" 3¨uÔ5Ð5àˆr4   c                 óô   — | j                  «       }t        | «      }| j                  dk(  r3| j                  «        t	        | |«      }t        j                  ||¬«      S | j                  dv rt        | |«      S |S )NrR   rI  r<  )rX   r¬   rI   rM   r[  r   rO  r@  r�  s       r2   rŠ  rŠ  h  si   € à
�*‰*‹,€CÜ+¨AÓ.€DØ‡t�tˆs‚{Ø	�‰ŒÜ5°a¸Ó>ˆÜ×"Ñ" 3¨uÔ5Ð5Ø	
�‰Ð!Ñ	!Ü˜˜4Ó Ð àˆr4   c           
      óØ   — t        | t        j                  |j                  t	        j
                  |j                  |¬«      ¬«      «      }t	        j                  |j                  |¬«      S )Nr  r
  )rR  )rX  r   r  rY   r   r  ÚGeneratorExpressionNode)rE   rs   rR  s      r2   r@  r@  v  sP   € ô �aœ×+Ñ+Ø�‰œ×0Ñ0°·±¸tÔDôFó G€Dä×,Ñ,¨T¯X©X¸DÔAÐAr4   )rú   rh  r  rh   r8  r&   r'   c                 ó†   — | j                  «       }| j                  «        t        | «      }t        j                  ||¬«      S ©N)rT   )rX   rM   rU   r   Ú
GlobalNode©rE   rY   rT   s      r2   Úp_global_statementr–  ˆ  s4   € ð �*‰*‹,€CØ‡F�F„HÜ˜‹O€EÜ×Ñ˜C¨Ô/Ð/r4   c                 ó†   — | j                  «       }| j                  «        t        | «      }t        j                  ||¬«      S r“  )rX   rM   rU   r   ÚNonlocalNoder•  s      r2   Úp_nonlocal_statementr™  ‘  s2   € à
�*‰*‹,€CØ‡F�F„HÜ˜‹O€EÜ×Ñ˜c¨5Ô1Ð1r4   c           	      óÈ  — t        | «      }d}| j                  dk(  rF|j                  s|j                  s|j                  r"d}| j                  «        t        | «      |_        | j                  dk(  r)|j                  r| j                  d|j                  ¬«       |g}| j                  dk(  rW| j                  «        | j                  dk(  rt        | «      }nt        | «      }|j                  |«       | j                  dk(  rŒWt        |«      dk(  �rst        j                  d	| j                  «      �r,|d
   }t!        |t"        j$                  «      rVt#        j&                  |j                  |j(                  t+        |j                  |j,                  |j.                  «      ¬«      }nOt!        |t"        j0                  t"        j&                  t"        j2                  f«      st        |j                  d«       | j                  d d }| j                  «        | j                  dk(  rt        | «      }nt5        | «      }t7        j8                  |j                  |||¬«      S |d
   }t7        j:                  |j                  |¬«      S |d   }t        |«      dk(  r&t7        j<                  |j                  |d
   ||¬«      S t7        j>                  |j                  |d d |¬«      S )NFrh   Tr8  zqa starred assignment target must be in a list or tuple - maybe you meant to use an index assignment: var[0] = ...r7  r‚  r   z([-+*/%^&|]|<<|>>|\*\*|//|@)=r   rf  z&Illegal operand for inplace operation.r;  )rž   r…   r†   r
  r!   )r…   r†   Úfirst)Úlhs_listr†   ) r!  rI   r‡   Úis_subscriptÚis_attributerM   Úp_annotationÚ
annotationrV  r   rY   r  rS   r?  r   Úmatchrí   r   rj  rl  rc  r|  rd  re  r2  rÅ  r  r   ÚInPlaceAssignmentNoder  ÚSingleAssignmentNodeÚCascadedAssignmentNode)rE   rs   Úhas_annotationÚ	expr_listr…   rž   r†   s          r2   Úp_expression_or_assignmentr§  ™  s@  € ä Ó"€DØ€NØ‡t�tˆs‚{˜Ÿš¨×(9Ò(9¸T×=NÒ=NØˆØ	�‰ŒÜ& q›/ˆŒà‡t�tˆs‚{�t—’ð 	
�‰ð Nà—H‘Hð 	ô 	ð �€IØ
�$‰$�#Š+Ø	�‰ŒØ�4‰4�7Š?Ü% aÓ(‰Dä'¨Ó*ˆDØ×Ñ˜Ôð �$‰$�#‹+ô ˆ9ƒ~˜ÓÜ�8‰8Ð4°a·d±dÕ;Ø˜A‘,ˆCÜ˜#œy×7Ñ7Ô8ä×)Ñ)Ø—G‘GØŸ™Ü)¨#¯'©'°3·9±9¸c¿h¹hÓGôI‘ô   ¤i×&=Ñ&=¼y×?RÑ?RÔT]×TfÑTfÐ%gÔhÜ�c—g‘gÐGÔHØ—t‘t˜C˜R�yˆHØ�F‰FŒHØ�t‰t�wŠÜ(¨Ó+‘ä  “m�Ü×.Ñ.¨s¯w©wÀÈsÐX[Ô\Ð\Ø˜‰|ˆÜ×!Ñ! $§(¡(°Ô6Ð6à
�B‰-€CÜ
ˆ9ƒ~˜ÒÜ×)Ñ)¨#¯'©'°yÀ±|ÈÐTbÔcÐcä×+Ñ+¨C¯G©G¸iÈÈ¸nÐRUÔVÐVr4   c                 ód  — | j                  «       }d}| j                  «        | j                  dk(  rI| j                  «        t        | «      }| j                  dk(  r!| j                  «        | j                  dv }nd }g }| j                  dvrt|j	                  t        | «      «       | j                  dk(  rK| j                  «        | j                  dv rd}n*|j	                  t        | «      «       | j                  dk(  rŒKt        j                  ||¬«      }t        j                  |||| ¬«      S )NFrÍ   rR   ©r&   r'   TrI  )rY  ÚstreamÚappend_newline)	rX   rM   rI   rq   rS   r   rO  r   ÚPrintStatNode)rE   rY   Úends_with_commarª  rk   rY  s         r2   Úp_print_statementr®  Í  sþ   € ð �*‰*‹,€CØ#(€OØ‡F�F„HØ‡t�tˆt‚|Ø	�‰ŒÜ˜“ˆØ�4‰4�3Š;Ø�F‰FŒHØŸd™dÐ&8Ð8‰OàˆØ€DØ‡t�tÐ%Ñ%Ø�‰”F˜1“IÔØ�d‰d�cŠkØ�F‰FŒHØ�t‰tÐ)Ñ)Ø"&�ØØ�K‰Kœ˜q›	Ô"ð �d‰d�c‹kô ×#Ñ# C¨dÔ3€IÜ×Ñ˜sØ FØ*Ð*ô,ð ,r4   c                 óP  — | j                  «       }| j                  «        t        | «      }t        |t        j
                  «      r?d}|j                  }t        |«      dvr)| j                  dt        |«      z  |d¬«       |g}nd}|g}| j                  dk(  rx|r| j                  dd¬«       | j                  «        |j                  t        | «      «       | j                  d	k(  r*| j                  «        |j                  t        | «      «       t        j                  ||¬
«      S )NT)r!   r¶  z.expected tuple of length 2 or 3, got length %dFr  rµ   z@tuple variant of exec does not support additional 'in' argumentsr‚   rR   rI  )rX   rM   r®   rí   r   rO  rk   r?  r   rI   rS   rq   r   ÚExecStatNode)rE   rY   ÚcodeÚtuple_variantrk   s        r2   Úp_exec_statementr³  ê  sõ   € ð �*‰*‹,€CØ‡F�F„HÜ�a‹=€DÜ�$œ	×+Ñ+Ô,àˆØ�y‰yˆÜˆt‹9˜FÑ"Ø�G‰GÐDÄsÈ4ÃyÑPØ 5ð ô *à�6‰DàˆØˆvˆØ‡t�tˆt‚|ÙØ�G‰GÐVØð ô !à	�‰ŒØ�‰”F˜1“IÔØ�4‰4�3Š;Ø�F‰FŒHØ�K‰Kœ˜q›	Ô"Ü×Ñ˜c¨Ô-Ð-r4   c                 ó†   — | j                  «       }| j                  «        t        | «      }t        j                  ||¬«      S )NrI  )rX   rM   r‡  r   ÚDelStatNode)rE   rY   rk   s      r2   Úp_del_statementr¶    s5   € ð �*‰*‹,€CØ‡F�F„Hä˜aÓ €DÜ×Ñ˜S¨Ô.Ð.r4   FÚwith_newlinec                 ó˜   — | j                  «       }| j                  d«       |r| j                  dd¬«       t        j                  |«      S )NÚpassúExpected a newlineT©Úignore_semicolon)rX   rp   Úexpect_newliner   ÚPassStatNode)rE   r·  rY   s      r2   Úp_pass_statementr¿    sA   € à
�*‰*‹,€CØ‡H�HˆVÔÙØ	×ÑÐ-ÀÐÔEÜ×Ñ˜cÓ"Ð"r4   c                 ól   — | j                  «       }| j                  «        t        j                  |«      S r-   )rX   rM   r   ÚBreakStatNoderœ   s     r2   Úp_break_statementrÂ    s)   € ð �*‰*‹,€CØ‡F�F„HÜ×Ñ˜sÓ#Ð#r4   c                 ól   — | j                  «       }| j                  «        t        j                  |«      S r-   )rX   rM   r   ÚContinueStatNoderœ   s     r2   Úp_continue_statementrÅ  "  s)   € ð �*‰*‹,€CØ‡F�F„HÜ×!Ñ! #Ó&Ð&r4   c                 ó°   — | j                  «       }| j                  «        | j                  t        vrt	        | «      }nd }t        j                  ||¬«      S )Nr9  )rX   rM   rI   rÿ   r  r   ÚReturnStatNode)rE   rY   r:  s      r2   Úp_return_statementrÈ  *  sF   € ð �*‰*‹,€CØ‡F�F„HØ‡t�tÔ(Ñ(Ü˜1“‰àˆÜ×Ñ ¨UÔ3Ð3r4   c                 óô  — | j                  «       }| j                  «        d }d }d }d }| j                  t        vrŠt	        | «      }| j                  dk(  rF| j                  «        t	        | «      }| j                  dk(  rF| j                  «        t	        | «      }n*| j                  dk(  r| j                  «        t	        | «      }|s|s|rt        j                  |||||¬«      S t        j                  |«      S )NrR   r  )Úexc_typeÚ	exc_valueÚexc_tbÚcause)rX   rM   rI   rÿ   rq   r   ÚRaiseStatNodeÚReraiseStatNode)rE   rY   rÊ  rË  rÌ  rÍ  s         r2   Úp_raise_statementrÐ  6  sÔ   € ð �*‰*‹,€CØ‡F�F„HØ€HØ€IØ€FØ€EØ‡t�tÔ(Ñ(Ü˜!“9ˆØ�4‰4�3Š;Ø�F‰FŒHÜ˜q›	ˆIØ�t‰t�sŠ{Ø—‘”Ü ›‘Ø�T‰T�VŠ^Ø�F‰FŒHÜ˜1“IˆEÙ‘9¡Ü×"Ñ" 3ØØ!ØØô	ð 	ô ×$Ñ$ SÓ)Ð)r4   c                 óØ  — | j                  «       }| j                  }| j                  «        t        | d¬«      g}| j                  dk(  r<| j                  «        |j	                  t        | d¬«      «       | j                  dk(  rŒ<g }t
        j                  | j                  j                  v }|D ]¢  \  }}}}|dk(  rt        j                  ||||¬«      }	nkt        j                  |t        j                  ||xs |¬«      t        j                  |t        j                  ||¬«      t!        |«      |rdnd d ¬	«      ¬
«      }	|j	                  |	«       Œ¤ t        j"                  ||¬«      S )NT©Ú
as_allowedrR   Úcimport)Úmodule_nameÚas_nameÚis_absoluterÀ  r9  r   ©rÕ  Úis_import_as_namer<   Úimported_namesr„   ©Ústats)rX   rI   rM   Úp_dotted_namerS   r
   Úabsolute_importrJ   r`   r   ÚCImportStatNoder£  r   rÅ  Ú
ImportNoder>  rÊ  ÚStatListNode)
rE   rY   r¥  rr  rÜ  r×  Útarget_nameÚdotted_namerÖ  Ústats
             r2   Úp_import_statementrå  T  s;  € ð �*‰*‹,€CØ�4‰4€DØ‡F�F„HÜ˜1¨Ô.Ð/€EØ
�$‰$�#Š+Ø	�‰ŒØ�‰”] 1°Ô6Ô7ð �$‰$�#‹+ð €EÜ×(Ñ(¨A¯I©I×,GÑ,GÐG€KÛ27Ñ.ˆˆ[˜+ wØ�9ÒÜ×(Ñ(ØØ'ØØ'ô	)‰Dô ×-Ñ-ØÜ×&Ñ& s°Ò1G¸KÔHÜ×(Ñ(ØÜ )× >Ñ >¸sÈ+Ô VÜ&*¨7£mÙ*™!°Ø#'ô)ô*ˆDð 	�‰�TÕð# 38ô$ ×Ñ˜c¨Ô/Ð/r4   Úfirst_statementc           
      ó:  — | j                  «       }| j                  «        | j                  dv rHd}| j                  dv r:|t        | j                  «      z  }| j                  «        | j                  dv rŒ7nd }|�:| j                  dv r,| j                  «       | j                  j                  d«      }}n<|€(t        j                  | j                  j                  v rd}t        | d¬«      \  }}}}| j                  dvr| j                  d«       | j                  }| j                  «        |dk(  }d}	| j                  d	k(  r>| j                  «       | j                  j                  d	«      d fg}
| j                  «        n-| j                  d
k(  rd}	| j                  «        t        | «      g}
| j                  dk(  rL| j                  «        |	r| j                  dk(  rn*|
j                  t        | «      «       | j                  dk(  rŒL|	r| j                  d«       |dk(  r—|s| j                  d«       nn|r| j                  d«       nZ|
D ]U  \  }}}|dk(  r| j                  d|«        n8	 t        t        |«      }| j                  j                  j!                  |«       ŒW t#        j$                  |«      S |rt#        j&                  ||||
¬«      S g }g }|
D ]X  \  }}}|j                  t)        j*                  ||¬«      «       |j                  |t)        j,                  ||xs |¬«      f«       ŒZ t#        j.                  |t)        j0                  |t)        j*                  ||¬«      d||¬«      |¬«      S # t        $ r | j                  d|z  |«       Y  Œ÷w xY w)N)r!  ry  r   ©ÚimportrÔ  r°  FrÒ  zExpected 'import' or 'cimport'rÔ  r©   rø   TrR   rú   Ú
__future__z?from __future__ imports must occur at the beginning of the filezinvalid syntaxÚbracesznot a chancez future feature %s is not defined)rÕ  Úrelative_levelrÚ  r9  rÀ  rØ  )Úmodulerr  )rX   rM   rI   r?  rJ   rK   r
   rÞ  r`   rÝ  r   Úp_imported_namerS   rp   ÚgetattrÚAttributeErrorÚaddr   r¾  ÚFromCImportStatNoder   r>  rÅ  ÚFromImportStatNoderà  )rE   ræ  rY   r<   Údotted_name_posrã  r.  r¥  Ú
is_cimportÚis_parenthesizedrÚ  Úname_posrO   rÖ  Ú	directiveÚimported_name_stringsrr  s                    r2   Úp_from_import_statementrú  u  s;  € ð �*‰*‹,€CØ‡F�F„HØ‡t�tˆ|ÑàˆØ�d‰d�lÑ"Ø”S˜Ÿ™“YÑˆEØ�F‰FŒHð �d‰d�lÓ"ð ˆØÐ˜QŸT™TÐ%:Ñ:à'(§z¡z£|°Q·Y±Y×5MÑ5MÈbÓ5Q˜‰àˆ=œV×3Ñ3°q·y±y×7RÑ7RÑRØˆEÜ/<¸QÈ5Ô/QÑ,ˆ˜!˜[¨!Ø‡t�tÐ(Ñ(Ø	�‰Ð0Ô1Ø�4‰4€DØ‡F�F„Hà˜Ñ"€JØÐØ‡t�tˆs‚{ØŸ:™:›<¨¯©×)AÑ)AÀ#Ó)FÈÐMÐNˆØ	�‰�à�4‰4�3Š;Ø#ÐØ�F‰FŒHÜ)¨!Ó,Ð-ˆØ
�$‰$�#Š+Ø	�‰ŒÙ §¡¨¢ØØ×Ñœo¨aÓ0Ô1ð	 �$‰$�#‹+ñ
 Ø	�‰�ŒØ�lÒ"ÙØ�G‰GÐUÕVÙØ�G‰GÐ$Õ%ã-;Ñ)�˜4 Ø˜8Ò#Ø—G‘G˜N¨HÔ5ÙðÜ '¬°Ó 5�Ið —	‘	×+Ñ+×/Ñ/°	Õ:ð .<ô ×!Ñ! #Ó&Ð&Ù	Ü×(Ñ(Ø˜[Ø Ø)ô+ð 	+ð
 !#ÐØˆÛ)7Ñ%ˆX�t˜WØ!×(Ñ(Ü×.Ñ.¨x¸tÔDôFà�L‰LØ”y×)Ñ)¨(¸ºÀDÔIÐJõLð *8ô
 ×'Ñ'¨Ü×)Ñ)¨/Ü'×<Ñ<¸SÈ+ÔVØ$)ØØ!6ô	8ð
 ôð 	øô% &ò Ø—G‘GÐ>ÀÑEÀxÔPÚðús   É+M8Í8NÎNc                 óX   — | j                  «       }t        | «      }t        | «      }|||fS r-   )rX   rP   Ú	p_as_name)rE   rY   rO   rÖ  s       r2   rî  rî  Æ  s,   € à
�*‰*‹,€CÜ�1‹:€DÜ˜‹l€GØ��wÐÐr4   rÓ  c                 óJ  — | j                  «       }t        | «      }d }|g}| j                  dk(  r:| j                  «        |j	                  t        | «      «       | j                  dk(  rŒ:|rt        | «      }||| j                  j                  dj                  |«      «      |fS )Nr!  )	rX   rP   rI   rM   rS   rü  rJ   rK   r×  )rE   rÓ  rY   râ  rÖ  rT   s         r2   rÝ  rÝ  Î  s‡   € à
�*‰*‹,€CÜ˜!“*€KØ€GØˆM€EØ
�$‰$�#Š+Ø	�‰ŒØ�‰”W˜Q“ZÔ ð �$‰$�#‹+ñ Ü˜A“,ˆØ�˜aŸi™i×6Ñ6°s·x±xÀ³ÓGÈÐQÐQr4   c                 óv   — | j                   dk(  r*| j                  dk(  r| j                  «        t        | «      S y )NrH   Úas)rI   rL   rM   rP   r�   s    r2   rü  rü  Ü  s.   € à‡t�tˆw‚˜1Ÿ:™:¨Ò-Ø	�‰ŒÜ�q‹zÐàr4   c                 óâ   — | j                  «       }| j                  «        t        | «      }| j                  dk(  r| j                  «        t        | «      }nd }t	        j
                  |||¬«      S )NrR   )rj  r:  )rX   rM   rq   rI   r   ÚAssertStatNode)rE   rY   Úcondr:  s       r2   Úp_assert_statementr  å  sX   € ð �*‰*‹,€CØ‡F�F„HÜ�!‹9€DØ‡t�tˆs‚{Ø	�‰ŒÜ�q“	‰àˆÜ×Ñ ¨t¸5ÔAÐAr4   c                 ó2  — | j                  «       }| j                  «        t        | «      g}| j                  dk(  r:| j                  «        |j	                  t        | «      «       | j                  dk(  rŒ:t        | «      }t        j                  |||¬«      S )NÚelifrk  )rX   rM   Úp_if_clauserI   rS   Úp_else_clauser   rm  )rE   rY   rl  rd  s       r2   Úp_if_statementr  ó  s}   € ð �*‰*‹,€CØ‡F�F„HÜ˜a“.Ð!€JØ
�$‰$�&Š.Ø	�‰ŒØ×Ñœ+ a›.Ô)ð �$‰$�&‹.ô   Ó"€KÜ×Ñ˜CØ¨{ô<ð <r4   c                 ó~   — | j                  «       }t        | «      }t        | «      }t        j                  |||¬«      S )Nri  )rX   r‰   Úp_suiter   rn  )rE   rY   r|   r_  s       r2   r  r    s:   € à
�*‰*‹,€CÜ˜AÓ€DÜ�1‹:€DÜ×Ñ˜cØ ô'ð 'r4   c                 óX   — | j                   dk(  r| j                  «        t        | «      S y )Nr{   )rI   rM   r
  r�   s    r2   r  r  
  s#   € à‡t�tˆv‚~Ø	�‰ŒÜ�q‹zÐàr4   c                 ó¶   — | j                  «       }| j                  «        t        | «      }t        | «      }t	        | «      }t        j                  ||||¬«      S )N)rj  r_  rd  )rX   rM   r‰   r
  r  r   ÚWhileStatNode)rE   rY   r|   r_  rd  s        r2   Úp_while_statementr    sR   € ð �*‰*‹,€CØ‡F�F„HÜ˜AÓ€DÜ�1‹:€DÜ Ó"€KÜ×Ñ˜sØ Ø!ô#ð #r4   r  c                 óÞ   — | j                  «       }| j                  «        t        | d|¬«      }t        | «      }t	        | «      }|j                  |||¬«       t        j                  |fi |¤ŽS )NTrb  )r_  rd  r  )rX   rM   re  r
  r  r/   r   rf  )rE   r  rY   rg  r_  rd  s         r2   r  r     sa   € ð �*‰*‹,€CØ‡F�F„HÜ	�a¨°xÔ	@€BÜ�1‹:€DÜ Ó"€KØ‡I�I�4 [¸8€IÔDÜ×Ñ˜SÑ' BÑ'Ð'r4   rc  c                 óÞ  — t        | «      }| j                  dk(  r+| j                  «        t        | ||¬«      }t	        ||¬«      S | j
                  �s	|�s| j                  dk(  r| j                  «        t        | «      }n|d }}t        | «      }| j                  «       }t        | «      }| j                  «       }	t        | «      }
t        | «      }t        | «      }|€t        j                  ||¬«      }n>|j                  st        |j                  d«       n||j                   k7  rt        |d«       |d   |
d   k7  rt        |	d	«       t	        ||||
||¬
«      S | j#                  d«       i S )Nrµ   r  )ÚtargetÚiteratorr  rÀ  z4Target of for-from statement must be a variable namez5Variable name in for-from range does not match targetr   z,Relation directions in for-from do not match)r  Úbound1Ú	relation1Ú	relation2Úbound2ru  )Úp_for_targetrI   rM   Úp_for_iteratorrr  rÞ   r®   Úp_for_from_relationrX   rP   Úp_for_from_stepr   rÅ  r‡   r   rY   rO   rp   )rE   rc  r  r  r  r  Úrel1Ú	name2_posÚname2Úrel2_posÚrel2r  ru  s                r2   re  re  ,  sK  € ä˜!‹_€FØ‡t�tˆt‚|Ø	�‰ŒÜ! ! ^¸hÔGˆÜ˜6¨HÔ5Ð5Ø×Ó¢hØ�4‰4�6Š>Ø�F‰FŒHÜ “]‰Fð $ T�FˆFÜ" 1Ó%ˆØ—J‘J“Lˆ	Ü˜“
ˆØ—:‘:“<ˆÜ" 1Ó%ˆÜ˜A“ˆÜ˜qÓ!ˆØˆ>Ü×'Ñ'¨	¸%Ô@‰Fà—>’>Ü�f—j‘jØJõLà˜&Ÿ+™+Ò%Ü�iØKôMà�‰7�d˜1‘gÒÜ�(Ø>ô@ä˜VØ#Ø $Ø $Ø#Øôð 	ð 	
�‰�ŒØˆ	r4   c                 ó†   — | j                   t        v r| j                   }| j                  «        |S | j                  d«       y )Nz#Expected one of '<', '<=', '>' '>=')rI   Úinequality_relationsrM   r   r»   s     r2   r  r  Y  s3   € à‡t�tÔ#Ñ#Ø�T‰TˆØ	�‰ŒØˆ	à	�‰Ð5Õ6r4   c                 óz   — | j                   dk(  r,| j                  dk(  r| j                  «        t        | «      }|S y )NrH   Úby)rI   rL   rM   r®   )rE   ru  s     r2   r  r  c  s2   € à‡t�tˆw‚˜1Ÿ:™:¨Ò-Ø	�‰ŒÜ˜!‹}ˆØˆàr4   )r¼   rÀ   r½   r¿   ri   c                 ó`  — | j                  «       }t        | «      }| j                  dk(  rƒ| j                  «        |g}| j                  |k7  rJ|j	                  t        | «      «       | j                  dk7  rn | j                  «        | j                  |k7  rŒJt        j                  ||¬«      S |S rŒ  )rX   r¡   rI   rM   rS   r   rO  )rE   ri   rY   rs   r\  s        r2   Úp_targetr%  q  sŽ   € à
�*‰*‹,€CÜ˜!Ó€DØ‡t�tˆs‚{Ø	�‰ŒØ�ˆØ�d‰d�jÒ Ø�L‰Lœ¨Ó*Ô+Ø�t‰t�sŠ{ØØ�F‰FŒHð	 �d‰d�jÓ ô
 ×"Ñ" 3¨uÔ5Ð5àˆr4   c                 ó   — t        | d«      S )Nrµ   )r%  r�   s    r2   r  r  ‚  s   € ä�A�tÓÐr4   c                 ó¨   — | j                  «       }|rt        | «      }nt        | «      } |rt        j                  nt        j
                  ||¬«      S )N)Úsequence)rX   r  r   r   ÚAsyncIteratorNodeÚIteratorNode)rE   rc  r  rY   rs   s        r2   r  r  ‡  sC   € à
�*‰*‹,€CÙÜ˜!‹}‰ä˜‹|ˆØO©8ŒI×'Ò'¼×9OÑ9OÐQTÐ_cÔdÐdr4   c                 ó>  — | j                  «       }| j                  «        t        | «      }g }d }| j                  dv r�| j                  dk(  r*|j	                  t        | «      «       | j                  dk(  rŒ*| j                  dk(  r| j                  «        t        | «      }t        j                  ||||¬«      }| j                  dk7  r|S | j                  dk(  r3| j                  «        t        | «      }t        j                  |||¬«      S | j                  d«       y )N)Úexceptr{   r,  r{   )r_  Úexcept_clausesrd  Úfinally)r_  Úfinally_clausezExpected 'except' or 'finally')
rX   rM   r
  rI   rS   Úp_except_clauser   ÚTryExceptStatNodeÚTryFinallyStatNoder   )rE   rY   r_  r-  rd  r/  s         r2   Úp_try_statementr3  ‘  sö   € ð �*‰*‹,€CØ‡F�F„HÜ�1‹:€DØ€NØ€KØ‡t�tÐ!Ñ!Ø�d‰d�hÒØ×!Ñ!¤/°!Ó"4Ô5ð �d‰d�hÓà�4‰4�6Š>Ø�F‰FŒHÜ! !›*ˆKÜ×&Ñ& sØ¨.Ø%ô'ˆð �4‰4�9ÒØˆKà‡t�tˆyÒØ	�‰ŒÜ  ›ˆÜ×'Ñ'¨Ø¨.ô:ð 	:ð 	
�‰Ð0Õ1r4   c                 ó¨  — | j                  «       }| j                  «        d }d }d}| j                  dk7  rùt        | «      }t	        |t
        j                  «      r|j                  }n|g}| j                  dk(  s7| j                  dk(  rD| j                  dk(  r5| j                  j                  dk(  r| j                  «        t        | «      }nb| j                  dk(  rS| j                  dk(  rD| j                  «        | j                  «       }t        | «      }t        j                  ||¬«      }d}t        | «      }t        j                  |||||¬	«      S )
NFrh   rR   rH   rÿ  r!   rÀ  T)Úpatternr  r_  Úis_except_as)rX   rM   rI   rq   rí   r   rO  rk   rL   rJ   r½  rP   rÅ  r
  r   ÚExceptClauseNode)rE   rY   rÊ  rË  r6  Úpos2rO   r_  s           r2   r0  r0  ®  s  € ð �*‰*‹,€CØ‡F�F„HØ€HØ€IØ€LØ‡t�tˆs‚{Ü˜!“9ˆä�h¤	× 3Ñ 3Ô4Ø—}‘}‰Hà �zˆHØ�4‰4�3Š;˜1Ÿ4™4 7š?¨q¯z©z¸TÒ/AØ Ÿy™y×7Ñ7¸1Ò<Ø�F‰FŒHÜ˜q›	‰IØ�T‰T�WŠ_ §¡¨tÒ!3à�F‰FŒHØ—:‘:“<ˆDÜ˜1“:ˆDÜ!×*Ñ*¨4¸Ô=ˆIØˆLÜ�1‹:€DÜ×!Ñ! #Ø YØ ,ô0ð 0r4   c                 ó  — | j                  «       }| j                  «        t        | d«      d   }| j                  d«       | j                  r’|}| j
                  j                  ||«      }|rq| j                  j                  |«       t        |«      }|j                  «       5 }t        ||| |j                  | j                  ¬«      }t        ||«      }	d d d «       |	S y t        j                   |«      S # 1 sw Y   	S xY w)Nr˜  r!   z!Syntax error in include statement)rØ  Úparse_comments)rX   rM   rÖ  r½  Úcompile_time_evalrJ   Úfind_include_fileÚincluded_filesrS   r   Úget_file_objectr   Úencodingr:  Úp_statement_listr   r¾  )
rE   r6   rY   Úunicode_include_file_nameÚinclude_file_nameÚinclude_file_pathÚsource_descrš  Ús2Útrees
             r2   Úp_include_statementrG  Î  så   € à
�*‰*‹,€CØ‡F�F„HÜ 0°°CÓ 8¸Ñ ;ÐØ×ÑÐ8Ô9Ø×ÒØ5ÐØŸI™I×7Ñ7Ð8IÈ3ÓOÐÙØ×Ñ×#Ñ#Ð$5Ô6Ü.Ð/@ÓAˆKØ×,Ñ,Ô.°!Ü! ! [°!ÀQÇZÁZÐ`a×`pÑ`pÔq�Ü'¨¨CÓ0�÷ /ð ˆKàä×!Ñ! #Ó&Ð&÷ /ð ˆKús   Â#1C4Ã4C>c                 óŒ   — | j                  «        | j                  dk(  r| j                  st        | «      }|S t	        | «      }|S )NÚtemplate)rM   rL   rÞ   Úp_with_templater  )rE   rþ   s     r2   Úp_with_statementrK  ä  s@   € à‡F�F„HØ‡z�z�ZÒ¨×(8Ò(8Ü˜qÓ!ˆð €Kô ˜A‹ˆØ€Kr4   c                 ó|  — d}d}| j                   dk(  rdt        | «      5 }| j                  «        t        | |«      }| j	                  d«       | j                   dk7  r| j                  d«       ddd«        }|st        | |«      }t        | «      }t        |«      D ]  \  }}} ||fd|i|¤Ž}Œ |S # 1 sw Y   ŒFxY w)	a•  
    Copied from CPython:
    | 'with' '(' a[asdl_withitem_seq*]=','.with_item+ ','? ')' ':' b=block {
        _PyAST_With(a, b, NULL, EXTRA) }
    | 'with' a[asdl_withitem_seq*]=','.with_item+ ':' tc=[TYPE_COMMENT] b=block {
        _PyAST_With(a, b, NEW_TYPE_COMMENT(p, tc), EXTRA) }
    Therefore the first thing to try is the bracket-enclosed
    version and if that fails try the regular version
    FrD   rø   rú   rh   r°  Nr_  )rI   r   rM   Úp_with_items_listrp   r   r
  Úreversed)	rE   r  Úbrackets_succeededrr  Úerrorsr_  ÚclsrY   r1   s	            r2   r  r  î  s»   € ð ÐØ€EØ‡t�tˆs‚{Ü˜aÔ  FØ�F‰FŒHÜ% a¨Ó2ˆEØ�H‰H�SŒMØ�t‰t�sŠ{ð —‘˜”÷ !ð "(˜ZÐÙä! ! XÓ.ˆÜ�1‹:€DÜ" 5ž/‰ˆˆS�$á�3Ñ*˜TÐ* TÑ*‰ð *ð €K÷! !Ð ús   ŸAB2Â2B;c                 ó¨   — g }	 |j                  t        | |«      «       | j                  dk7  r	 |S | j                  «        | j                  dk(  r	 |S ŒP)NrR   rú   )rS   Úp_with_itemrI   rM   )rE   r  rr  s      r2   rM  rM  	  sU   € à€EØ
Ø�‰”[  HÓ-Ô.Ø�4‰4�3Š;Øð
 €Lð	 	
�‰ŒØ�4‰4�3Š;àØ€Lð r4   c                 ó2  — | j                  «       }| j                  sŸ| j                  dk(  r�| j                  dv r‚|r| j	                  d«       | j                  }| j                  «        d }| j                  dk(  r,| j                  «        t        | «      }| j                  d«       t        j                  |||dœfS t        | «      }d }| j                  dk(  r*| j                  dk(  r| j                  «        t        | «      }t        j                  ||||dœfS )	NrH   )r#   Úgilzwith gil/nogil cannot be asyncrø   rú   )Ústaterj  rÿ  )Úmanagerr  r  )rX   rÞ   rI   rL   r   rM   rq   rp   r   ÚGILStatNoder¡   ÚWithStatNode)rE   r  rY   rV  rj  rW  r  s          r2   rS  rS  	  sé   € ð �*‰*‹,€CØ×Ò §¡¨¢°A·J±JÐBRÑ4RÙØ�G‰GÐ4Ô5Ø—
‘
ˆØ	�‰Œð ˆ	Ø�4‰4�3Š;Ø�F‰FŒHÜ˜q›	ˆIØ�H‰H�SŒMä× Ñ  #°ÀYÑ'OÐOÐOä˜“)ˆØˆØ�4‰4�7Š?˜qŸz™z¨TÒ1Ø�F‰FŒHÜ# AÓ&ˆFÜ×!Ñ! 3°GÀvÐ[cÑ(dÐdÐdr4   c                 óŽ  — | j                  «       }g }| j                  «        | j                  d«       |j                  | j                  «       | j                  «        | j                  dk(  rK| j                  «        |j                  | j                  «       | j                  «        | j                  dk(  rŒK| j                  d«       | j
                  dk(  ra| j                  «        | j                  d«       | j                  «        t        «       }||_	        t        | ||«      }| j                  «        |S t        |d«       y )Nr   rR   rh  rh   z-Syntax error in template function declaration)rX   rM   rp   rS   rL   rI   r½  Úexpect_indentr)   rB   Úp_c_func_or_var_declarationÚexpect_dedentr   )rE   rY   rB   Úbody_ctxÚfunc_or_vars        r2   rJ  rJ  ;	  sñ   € à
�*‰*‹,€CØ€IØ‡F�F„HØ‡H�HˆS„MØ×Ñ�Q—Z‘ZÔ Ø‡F�F„HØ
�*‰*˜Ò
Ø	�‰ŒØ×Ñ˜Ÿ™Ô$Ø	�‰Œð �*‰*˜Ó
ð ‡H�HˆS„MØ‡t�tˆs‚{Ø	�‰ŒØ	×ÑÐHÔIØ	�‰ÔÜ“5ˆØ&ˆÔÜ1°!°S¸(ÓCˆØ	�‰ÔØÐäˆcÐBÕCr4   c                 ó.  — | j                   dk(  rt        | «      }|S | j                   dk(  rt        | «      }|S | j                   dk(  rt        | «      }|S | j                   dk(  rt	        | «      }|S | j                   dk(  rt        | «      }|S | j                   dk(  rt        | «      }|S | j                   dk(  rt        | «      }|S | j                   dk(  rt        | «      }|S | j                   d	k(  rt        | «      }|S | j                   d
v rt        | «      }|S | j                   dk(  rt        | |¬«      }|S | j                   dk(  rt        | «      }|S | j                   dk(  rt        | «      }|S | j                   dk(  rt        | «      }|S t        | «      }|S )NÚglobalÚnonlocalÚprintÚexecÚdelÚbreakÚcontinuerV   Úraiserè  r  ©ræ  r‚  Úassertr¹  )rI   r–  r™  r®  r³  r¶  rÂ  rÅ  rÈ  rÐ  rå  rú  r  r  r¿  r§  )rE   ræ  rþ   s      r2   Úp_simple_statementrk  U	  sÀ  € ð 	‡t�tˆxÒÜ! !Ó$ˆð: €Kð9 
�‰�Ò	Ü# AÓ&ˆð6 €Kð5 
�‰�ŠÜ  Ó#ˆð2 €Kð1 
�‰�ŠÜ Ó"ˆð. €Kð- 
�‰�ŠÜ˜qÓ!ˆð* €Kð) 
�‰�ŠÜ  Ó#ˆð& €Kð% 
�‰�Ò	Ü# AÓ&ˆð" €Kð! 
�‰�Ò	Ü! !Ó$ˆð €Kð 
�‰�ŠÜ  Ó#ˆð €Kð 
�‰Ð&Ñ	&Ü! !Ó$ˆð €Kð 
�‰�ŠÜ& q¸OÔLˆð €Kð 
�‰�ŠÜ  Ó#ˆð €Kð 
�‰�Ò	Ü! !Ó$ˆð
 €Kð	 
�‰�ŠÜ Ó"ˆð €Kô *¨!Ó,ˆØ€Kr4   c                 óþ  — t        | |¬«      }|j                  }g }t        |t        j                  «      s|j                  |«       | j                  dk(  rj| j                  «        | j                  dv rnKt        | |¬«      }t        |t        j                  «      rŒV|j                  |«       d}| j                  dk(  rŒj|st        j                  |«      }n+t        |«      dk(  r|d   }nt        j                  ||¬«      }| j                  dvr[t        |t        j                  «      rA|j                  j                  r+|j                  j                  dk(  r| j                  d	|«       | j                  d
«       |S )Nri  r%   r©  Fr   r   rÛ  Úcdefz@The 'cdef' keyword is only allowed in Cython files (pyx/pxi/pxd)z%Syntax error in simple statement list)rk  rY   rí   r   r¾  rS   rI   rM   r?  rá  r  rs   r‡   rO   r   r½  )rE   r6   ræ  rä  rY   rÜ  s         r2   Úp_simple_statement_listrn  y	  s3  € ô ˜a°?ÔC€DØ
�(‰(€CØ€EÜ�dœE×.Ñ.Ô/Ø�‰�TÔØ
�$‰$�#Š+à	�‰ŒØ�4‰4Ð%Ñ%ØÜ! !°ÔGˆÜ�dœE×.Ñ.Ô/ØØ�‰�TÔØˆð �$‰$�#‹+ñ Ü×!Ñ! #Ó&‰Ü	ˆU‹�qŠØ�Q‰x‰ä×!Ñ! #¨uÔ5ˆà‡t�tÐ%Ñ%ä�dœE×.Ñ.Ô/Ø�y‰y× Ò  T§Y¡Y§^¡^°vÒ%=Ø—‘ÐZÐ\_Ô`Ø×ÑÐ<Ô=à€Kr4   c                 óP   — | j                   }d| _         t        | «      }|| _         |S )Nr   )rÁ  r  )rE   Úoldrs   s      r2   Úp_compile_time_exprrq  ž	  s+   € à
×
Ñ
€CØ€AÔÜ�a‹=€DØ€AÔØ€Kr4   c                 óV  — | j                  «       }| j                  }| j                  «        t        | «      }| j	                  d«       t        | «      }| j                  r#|j                  |«      }|j                  ||«       | j                  dd¬«       t        j                  |«      S )Nr8  rº  Tr»  )rX   rÂ  rM   rP   rp   rq  r;  Úcompile_time_valueÚdeclarer½  r   r¾  )rE   rY   ÚdenvrO   rs   r:  s         r2   Úp_DEF_statementrv  §	  s‹   € à
�*‰*‹,€CØ×Ñ€DØ‡F�F„HÜ�1‹:€DØ‡H�HˆS„MÜ˜qÓ!€DØ×ÒØ×'Ñ'¨Ó-ˆà�‰�T˜5Ô!Ø×ÑÐ)¸DÐÔAÜ×Ñ˜cÓ"Ð"r4   c                 óÞ  — | j                  «       }| j                  }|}| j                  }d }	 | j                  «        t	        | «      }|xr t        |j                  |«      «      | _        t        | |«      }| j                  r|}d}| j                  dk7  rnŒk| j                  dk(  r'| j                  «        || _        t        | |«      }|r|}|st        j                  |«      }|| _        |S )Nr   ÚELIFÚELSE)rX   r;  rÂ  rM   rq  rÊ  rs  r
  rI   r   r¾  )	rE   r6   rY   Ú
saved_evalÚcurrent_evalru  r³   rs   r_  s	            r2   Úp_IF_statementr|  ·	  sâ   € à
�*‰*‹,€CØ×$Ñ$€JØ€LØ×Ñ€DØ€FØ
Ø	�‰ŒÜ" 1Ó%ˆØ*ÒR¬t°D×4KÑ4KÈDÓ4QÓ/RˆÔÜ�q˜#‹ˆØ×ÒØˆFØˆLØ�4‰4�6Š>Øð ð 	‡t�tˆv‚~Ø	�‰ŒØ*ˆÔÜ�q˜#‹ˆÙØˆFÙÜ×#Ñ# CÓ(ˆØ$€AÔØ€Mr4   c                 ób  — |j                   }| j                  «       }d }| j                  dk(  r+|j                  dvr| j	                  d«       t        | |«      S | j                  dk(  r?| j                  j                  j                  dd«      rt        |dd¬	«       t        | «      S | j                  d
k(  r@| j                  j                  j                  dd«      rt        |dd¬	«       t        | |«      S | j                  dk(  r†|j                  dvr| j	                  d«       |j                  | _        t        | «      }|j                  s]| j                  dvrO| j                  dk(  r| j                  dk(  rn0| j	                  d«       n| j                  dk(  r|rt        | d¬«      S d}| j                  dk(  rd}| j!                  «        n#| j                  dk(  rd}d}| j!                  «        |rÊ|j                  dvr| j	                  d«       |j                  | _        t#        | | ||¬«      «      }|�‚t$        j&                  t$        j(                  t$        j*                  f}|j                  r#|t$        j,                  t$        j.                  fz  }t1        ||«      s| j	                  d«       ||_        |S |j4                  r| j	                  dd¬«       y | j                  dk(  rKd|j                  v r |j                  d k7  r| j	                  d!«       |j                  | _        t7        | |«      S | j                  d"k(  r+|j                  d#vr| j	                  d$«       t9        | |«      S | j                  d%k(  r+|j                  dvr| j	                  d&«       t;        | |«      S |j                  d'k(  r)| j                  dk(  r| j                  d(k(  rt=        | «      S | j                  dk(  r|j                  d(k7  rt        | d¬«      S |j                  d)v r t?        | «      }|�|S | j	                  d*«       | j                  d+k(  rtA        | «      S | j                  d,k(  rtC        | «      S | j                  d-k(  rtE        | «      S | j                  d.k(  rtG        | «      S | j                  d/k(  rtI        | «      S | j                  dk(  r| j!                  «        tK        | ||«      S | j                  dk(  r}| j                  dk(  rn| j                  }	| j                  «       }
| j!                  «        | j                  dk(  rtK        | ||«      S |r| j	                  d«       | jM                  d|	|
«       | j                  dk(  r| j                  d0k(  rtO        | |«      }|�|S tQ        | ||¬1«      S )2NÚctypedef©rí  Ú
module_pxdz#ctypedef statement not allowed hereÚDEFzwarn.deprecated.DEFFz¼The 'DEF' statement  will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310r   r’   ÚIFzwarn.deprecated.IFTz¸The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310rÕ   )rí  ÚclassÚc_classr_  Úpropertyr€  Úc_class_pxdr*   zdecorator not allowed here)r  rm  Úcpdefrƒ  r=  rH   r=  r  r¹  )r·  rm  r‡  )rí  r€  r_  r„  r†  zcdef statement not allowed here)r@   ú%'api' not allowed with this statementr‚   r  r  r†  r  rƒ  )rí  r_  rƒ  r*   z!class definition not allowed hereÚincludez"include statement not allowed herer„  r…  )r†  r…  z%Executable statement not allowed hererz   Úwhiler  Útryr  r¡  ri  ))r>   rX   rI   r<   r   Úp_ctypedef_statementrJ   Úcompiler_directivesÚgetr   rv  r|  Úp_decoratorsrC   rL   r¿  rM   Úp_cdef_statementr   ÚCFuncDefNodeÚCVarDefNodeÚCClassDefNodeÚCStructOrUnionDefNodeÚCEnumDefNoderí   r  r$   r  Úp_class_statementrG  Úp_property_declÚp_ignorable_statementr  r  r  r3  rK  r  Úput_backÚp_match_statementrn  )rE   r6   ræ  r>   rY   r  r@   rþ   ÚtupÚ
ident_nameÚ	ident_posÚmatch_statements               r2   Úp_statementrŸ  Ô	  sÑ  € à Ÿ]™]€IØ
�*‰*‹,€CØ€JØ‡t�tˆzÒØ�9‰9Ð4Ñ4Ø�G‰GÐ9Ô:ô $ A sÓ+Ð+Ø	
�‰�Šð �9‰9×(Ñ(×,Ñ,Ð-BÀEÔJÜ�CðGàNOõQô ˜qÓ!Ð!Ø	
�‰�ŠØ�9‰9×(Ñ(×,Ñ,Ð-AÀ4ÔHÜ�CðGàNOõQô ˜a Ó%Ð%Ø	
�‰�ŠØ�9‰9ÐxÑxØ�G‰GÐ0Ô1Ø—)‘)ˆŒÜ! !“_ˆ
Ø×.Ò.°1·4±4Ð?iÑ3iØ�t‰t�wŠ 1§:¡:°Ò#8Øà—‘ÐQÕRØ	
�‰�Š™Iä °Ô5Ð5à€KØ‡t�tˆv‚~Øˆ	Ø	�‰�Ø	
�‰�ŠØˆ	ØˆØ	�‰ŒÙØ�9‰9ÐZÑZØ�G‰GÐ5Ô6Ø—)‘)ˆŒÜ  3©¸Ô(DÓEˆØÐ!Ü×%Ñ%¤u×'8Ñ'8¼%×:MÑ:MÐNˆCØ×.Ò.Øœ×3Ñ3´U×5GÑ5GÐHÑH�Ü˜d CÔ(Ø—‘ÐQÔRØ(ˆDŒOØˆà�7Š7Ø�G‰GÐ;À5ˆGÕIØ�T‰T�UŠ]ð ˜Ÿ™Ñ"¨¯©°mÒ)CØ—‘Ð8Ô9Ø—i‘iˆAŒGÜ" 1 jÓ1Ð1Ø�T‰T�WŠ_Ø�y‰yÐ HÑHØ—‘Ð;Ô<Ü$ Q¨
Ó3Ð3Ø�T‰T�YÒØ�y‰yÐ 8Ñ8Ø—‘Ð<Ô=Ü& q¨#Ó.Ð.Ø�Y‰Y˜)Ò#¨¯©°ª¸A¿J¹JÈ*Ò<TÜ" 1Ó%Ð%Ø�T‰T�VŠ^ §	¡	¨ZÒ 7Ü# A°DÔ9Ð9à�y‰yÐ7Ñ7Ü,¨QÓ/�ØÐ#Ø�KØ—‘Ð?Ô@Ø�t‰t�tŠ|Ü% aÓ(Ð(Ø—‘˜’Ü(¨Ó+Ð+Ø—‘˜’Ü& qÓ)Ð)Ø—‘˜’Ü& qÓ)Ð)Ø—‘˜’Ü'¨Ó*Ð*Ø—‘˜’Ø—‘”Ü(¨¨C°Ó<Ð<à—4‘4˜7’? q§z¡z°WÒ'<Ø!"§¡�JØ !§
¡
£�Ià—F‘F”HØ—t‘t˜u’}Ü0°°C¸ÓDÐDÙ#ØŸ™Ð YÔZØ—J‘J˜w¨
°IÔ>Ø—4‘4˜7’? q§z¡z°WÒ'<ä&7¸¸3Ó&?�OØ&Ð2Ø.Ð.Ü.¨q°#ÀÔWÐWr4   c                 óZ  — | j                  «       }g }| j                  dvrKt        | ||¬«      }t        |t        j
                  «      rŒ7|j                  |«       d}| j                  dvrŒK|st	        j
                  |«      S t        |«      dk(  r|d   S t	        j                  ||¬«      S )N©r  r'   ri  Fr   r   rÛ  )	rX   rI   rŸ  rí   r   r¾  rS   r?  rá  )rE   r6   ræ  rY   rÜ  rä  s         r2   r@  r@  N
  sŸ   € ð �*‰*‹,€CØ€EØ
�$‰$Ð'Ñ
'Ü˜1˜c°_ÔEˆÜ�dœE×.Ñ.Ô/ØØ�‰�TÔØˆð �$‰$Ð'Ò
'ñ Ü×!Ñ! #Ó&Ð&Ü	ˆU‹�qŠØ�Q‰xˆä×!Ñ! #¨uÔ5Ð5r4   c                 ó$   — t        | |d¬«      d   S )NF©Úwith_doc_onlyr   )Úp_suite_with_docstring©rE   r6   s     r2   r
  r
  a
  s   € ä! ! S¸Ô>¸qÑAÐAr4   r¤  c                 ó²  — | j                  d«       d }| j                  dk(  rJ| j                  «        | j                  «        |rt	        | «      }t        | |«      }| j                  «        nX|j                  r| j                  dd¬«       |j                  dv rt        | |«      }nt        | «      }| j                  dd¬	«       |st        |«      \  }}||fS )
Nrh   r&   rˆ  Fr‚   )rí  rƒ  r_  r*   zSyntax error in declarationsTr»  )rp   rI   rM   r[  Úp_doc_stringr@  r]  r$   r   r<   rn  r¿  r½  Ú_extract_docstring)rE   r6   r¤  Údocr_  s        r2   r¥  r¥  f
  s½   € à‡H�HˆS„MØ
€CØ‡t�tˆyÒØ	�‰ŒØ	�‰ÔÙÜ˜q“/ˆCÜ  3Ó'ˆØ	�‰Õà�7Š7Ø�G‰GÐ;À5ˆGÔIØ�9‰9Ð@Ñ@Ü*¨1¨cÓ2‰Dä# AÓ&ˆDØ×ÑÐ;ÈdÐÔSÙÜ& tÓ,‰	ˆˆTØ�ˆ9Ðr4   c                 óN  — g }g }d}| j                   |v�r| j                   dk(  s| j                   dk(  r| j                  dd¬«       d}| j                   dk(  rÎ| j                  «       d   dk(  r¸| j                  }| j	                  «        | j	                  «        t        | «      rt        | «      }n>t        | |¬	«      }	t        | d
¬«      }
t        j                  |	j                  |	|
¬«      }d
}t        j                  |j                  |¬«      }|j                  ||f«       d
}n–t        | «      rt        | «      }n>t        | |¬	«      }	t        | d
¬«      }
t        j                  |	j                  |	|
¬«      }d
}|j                  |«       |dz  }t        |«      dkD  r| j                  d|j                  ¬«       | j                   dk7  r8| j                   |vr%|r#| j                  ddj!                  |«      z  «       	 ||fS | j	                  «        | j                   |vr�Œ||fS )zÜ
    Parses positional and keyword arguments. end_sy_set
    should contain any s.sy that terminate the argument list.
    Argument expansion (* and **) are not allowed.

    Returns: (positional_args, keyword_args)
    r   r©   r"  z$Argument expansion not allowed here.Fr‚   rH   r8  ©rB   Trå   rù   r9  r   r6  r7  rR   zUnmatched %sz or )rI   r   r#  rL   rM   rû   rq   rì   rò   r   ÚCComplexBaseTypeNoderY   r   r>  rS   r?  r×  )rE   Ú
end_sy_setrB   rA  rB  Úpos_idxÚparsed_typeÚidentrã   ré   rê   Úkeyword_nodeÚwas_keywords                r2   Úp_positional_and_keyword_argsr´  ~
  sð  € ð €OØ€LØ€Gà
�$‰$�jÒ
 Ø�4‰4�3Š;˜!Ÿ$™$ $š,Ø�G‰GÐ:À%ˆGÔHàˆØ�4‰4�7Š?˜qŸv™v›x¨™{¨cÒ1Ø—J‘JˆEØ�F‰FŒHØ�F‰FŒHÜ˜qÔ!Ü˜Q“i‘ä)¨!¸ÔC�	Ü+¨A°TÔ:�
Ü×0Ñ0°·±Ø )¸
ôD�à"�Ü$×9Ñ9¸#¿'¹'ÈÔOˆLØ×Ñ ¨sÐ 3Ô4Ø‰Kô ˜qÔ!Ü˜Q“i‘ä)¨!¸ÔC�	Ü+¨A°TÔ:�
Ü×0Ñ0°·±Ø )¸
ôD�à"�Ø×"Ñ" 3Ô'Ø�q‰LˆGÜ�<Ó  1Ò$Ø—‘Ð?ØŸG™Gð ô %ð �4‰4�3Š;Ø�t‰t˜:Ñ%ÙØ—G‘G˜N¨V¯[©[¸Ó-DÑDÔEØà˜LÐ(Ð(ð 	
�‰ŒðS �$‰$�jÓ
 ðT ˜LÐ(Ð(r4   Únonemptyc                 óV   — | j                   dk(  rt        | |¬«      S t        | ||¬«      S )Nrø   r¬  ©rµ  rB   )rI   Úp_c_complex_base_typeÚp_c_simple_base_type)rE   rµ  rB   s      r2   rì   rì   ¸
  s)   € à‡t�tˆs‚{Ü$ Q°IÔ>Ð>ä# A°ÀIÔNÐNr4   c                 ó–   — | j                   dk(  r0| j                  t        v r| j                  }| j                  «        |S t	        d«      S )NrH   r°  )rI   rL   Úcalling_convention_wordsrM   r   )rE   r³   s     r2   Úp_calling_conventionr¼  À
  s;   € à‡t�tˆw‚˜1Ÿ:™:Ô)AÑAØ—‘ˆØ	�‰ŒØˆä˜RÓ Ð r4   )Ú	__stdcallÚ__cdeclÚ
__fastcallc                 óˆ  — | j                  «       }| j                  «        t        | |¬«      }t        | d¬«      }t	        j
                  |||¬«      }| j                  dk(  rš|g}| j                  dk(  rq| j                  «        | j                  dk(  rnQt        | |¬«      }t        | d¬«      }|j                  t	        j
                  |||¬«      «       | j                  dk(  rŒqt	        j                  ||¬«      }| j                  d«       | j                  dk(  r&t        | «      rt        | |«      }|S t        | ||«      }|S )	Nr¬  Trå   rù   rR   rú   )Ú
componentsr   )rX   rM   rì   rò   r   r­  rI   rS   rñ   rp   Úis_memoryviewslice_accessÚp_memoryviewslice_accessÚp_buffer_or_template)rE   rB   rY   ré   rê   Ú	type_noderÁ  s          r2   r¸  r¸  Î
  s   € ð �*‰*‹,€CØ‡F�F„HÜ˜a¨9Ô5€IÜ ¨Ô.€JÜ×*Ñ*Ø�y¨Zô9€Ià‡t�tˆs‚{Ø�[ˆ
Ø�d‰d�cŠkØ�F‰FŒHØ�t‰t�sŠ{ØÜ% a°9Ô=ˆIÜ'¨°Ô6ˆJØ×Ñœe×8Ñ8Ø˜y°ZôAô Bð �d‰d�c‹kô ×,Ñ,¨S¸zÔJˆ	à‡H�HˆS„MØ‡t�tˆs‚{Ü$ QÔ'Ü0°°IÓ>ˆIð Ðô -¨Q°	¸9ÓEˆIØÐr4   c           
      óZ  — d}d}d}d}g }| j                  «       }dx}	}
| j                  dk(  ra| j                  dk(  r|	rt        |d«       d}	n!| j                  dk(  r|
rt        |d	«       d}
nn | j	                  «        | j                  dk(  rŒa|	s|
rkt        | ||¬
«      }t        |t        j                  «      r*t        j                  ||j                  |	|
¬«      |_
        |S t        j                  |||	|
¬«      S | j                  dk7  rt        |d| j                  z  «       t        | «      rØd}| j                  dk(  rE| j                  t        v r3t        | j                     \  }}| j                  }| j	                  «        nNt        | «      \  }}| j                  dk(  r/| j                  t        v r| j                  }| j	                  «        nd}| j                  dk(  �r³| j                  dk(  �r£d}| j	                  «        �n�t        | «      rj| j                  }| j	                  «        | j                  dk(  �rX|j!                  |«       | j	                  «        t#        | «      }| j                  dk(  rŒ<�n| j                  }| j                  «       }| j	                  «        |rì| j                  dk7  rÝ| j                  dk(  r«| j                  «       }| j	                  «        | j                  dk(  s?| j                  dk(  s0| j                  dk(  s!| j                  dk(  r&| j                  t$        v r| j'                  dd|«       nL| j'                  dd|«       | j'                  d||«       d }n#| j                  dvr| j'                  d||«       d }t        j(                  ||||||||¬«      }| j                  dk(  r%t+        | «      rt-        | |«      }nt/        | ||«      }| j                  dk(  r3| j	                  «        t#        | «      }t        j0                  |||¬«      }|S )NFr   r   rH   ÚconstzDuplicate 'const'TÚvolatilezDuplicate 'volatile'r·  )ré   Úis_constÚis_volatilez"Expected an identifier, found '%s'rË  rÎ  r!  rø   r©   r"  rÉ   )r©   r"  r   rÉ   )rO   Úmodule_pathÚis_basic_c_typeÚsignedrÎ  r¹  rB   r   )ré   rO   )rX   rI   rL   r   rM   rì   rí   r   rî   rð   rè   Úlooking_at_base_typeÚspecial_basic_c_typesÚp_sign_and_longnessÚbasic_c_type_namesÚlooking_at_dotted_namerS   rP   r»  r™  ÚCSimpleBaseTypeNoderÂ  rÃ  rÄ  ÚCNestedBaseTypeNode)rE   rµ  rB   Úis_basicrÍ  r¹  rÎ  rË  rY   rÉ  rÊ  ré   rO   r÷  Úold_posrÅ  s                   r2   r¹  r¹  ì
  s  € à€HØ€FØ€HØ€GØ€KØ
�*‰*‹,€Cð #Ð"€Hˆ{Ø
�$‰$�'Š/Ø�:‰:˜Ò Ùœ˜sÐ$7Ô8Ø‰HØ�Z‰Z˜:Ò%ÙœE #Ð'=Ô>Ø‰KàØ	�‰Œð �$‰$�'‹/ñ ‘;Ü! !¨hÀ)ÔLˆ	Ü�i¤×!>Ñ!>Ô?ä',×'EÑ'EÀcØ#×2Ñ2¸XÐS^ô(`ˆIÔ$àÐÜ×-Ñ-¨cØ¨(ÀôMð 	Mð 	‡t�tˆw‚ÜˆcÐ7¸!¿$¹$Ñ>Ô?Ü˜AÔàˆØ�4‰4�7Š?˜qŸz™zÔ-BÑBÜ4°Q·Z±ZÑ@ÑˆF�HØ—:‘:ˆDØ�F‰F�Hä2°1Ó5ÑˆF�HØ�t‰t�wŠ 1§:¡:Ô1CÑ#CØ—z‘z�Ø—‘•à�Ø�4‰4�7‹?˜qŸz™z¨YÓ6ØˆGØ�F‰FŽHÜ	 Ô	"à�z‰zˆØ	�‰ŒØ�d‰d�c‹kØ×Ñ˜tÔ$Ø�F‰FŒHÜ˜1“:ˆDð �d‰d�c�kð
 �z‰zˆØ—:‘:“<ˆØ	�‰ŒÙ˜Ÿ™ šà�t‰t�sŠ{ØŸ*™*›,�Ø—‘”Ø—D‘D˜C’K 1§4¡4¨4¢<°1·4±4¸3²;ØŸD™D GšO°·
±
Ô>VÑ0VØ—J‘J˜s C¨Õ1à—J‘J˜s C¨Ô1Ø—J‘J˜w¨¨hÔ7Ø‘DØ—‘Ð2Ñ2Ø—
‘
˜7 D¨(Ô3Ø�ä×)Ñ)¨#Ø ;Ø"¨VØ hØô	€Ið 	‡t�tˆs‚{Ü$ QÔ'Ü0°°IÓ>‰Iä,¨Q°	¸9ÓEˆIà‡t�tˆs‚{Ø	�‰ŒÜ�q‹zˆÜ×-Ñ-¨c¸yÐQUÔVˆ	àÐr4   c                 ó’  — | j                  «       }| j                  «        t        | d|«      \  }}| j                  d«       | j                  dk(  rt        | ||«      }t        j                  ||D ��cg c]'  \  }}t        j                  |j                  ||¬«      ‘Œ) c}}¬«      }t        j                  ||||¬«      }	|	S c c}}w )N)rh  rh  r   rJ  rp  )rA  rB  rè   )rX   rM   r´  rp   rI   rÄ  r   rU  rR  rY   r   rï   )
rE   rè   rB   rY   rA  rB  rK  r:  rW  r³   s
             r2   rÄ  rÄ  O  sÄ   € ð �*‰*‹,€CØ‡F�F„Hô 	& a¨°Ó;ñ "€O�\ð ‡H�HˆS„Mà‡t�tˆs‚{Ü-¨a°ÀÓKˆä×%Ñ% cñ +ô
á*‘
��Uô ×"Ñ" s§w¡w°C¸uÖEØ*ò
ô€Lô
 ×$Ñ$ SØ)Ø#Ø'ô)€Fð €Mùó
s   Á3,Cc                 ó¢  — | j                   | j                  | j                  «       fg}| j                  «        d}| j                  dk(  rd}nf| j                   dk(  rW|j	                  | j                   | j                  | j                  «       f«       | j                  «        | j                   dk(  rd}|d d d…   D ]  } | j
                  |Ž  Œ |S )NFrh   Tr…  r;  )rI   rL   rX   rM   rS   r™  )rE   ÚsavedÚretvalÚsvs       r2   rÂ  rÂ  j  s«   € ð �d‰d�A—J‘J §
¡
£Ð-Ð.€EØ‡F�F„HØ€FØ‡z�z�SÒØ‰Ø	
�‰�ŠØ�‰�a—d‘d˜AŸJ™J¨¯
©
«Ð5Ô6Ø	�‰ŒØ�4‰4�3Š;ØˆFà‘D�b�DŒkˆØˆ�
‰
�BŠð ð €Mr4   c                 ó  — | j                  «       }| j                  «        t        | «      \  }}|D ]"  }t        |«      dk  sŒ| j	                  d«       Œ$ | j                  d«       t        ||«      }t        j                  |||¬«      }|S )Nr!   zDAn axis specification in memoryview declaration does not have a ':'.rh  )rè   Úaxes)	rX   rM   ri  r?  r   rp   rk  r   rî   )rE   rè   rY   rm  r.  r}  ro  r³   s           r2   rÃ  rÃ  �  s�   € ð �*‰*‹,€CØ‡F�F„HÜ$ QÓ'�M€J�ãˆ	Üˆy‹>˜AÓØ�G‰GÐZÕ[ð  ð ‡H�HˆS„MÜ˜s JÓ/€GÜ×*Ñ*¨3Ø+Øô€Fð €Mr4   c                 óH   — | j                   dk(  xr | j                  t        vS rG   )rI   rL   r»  r�   s    r2   Úlooking_at_namerß  “  s   € à�4‰4�7‰?ÒI˜qŸz™zÔ1IÐIÐIr4   c                 óV  — | j                   t        v ry| j                  dk(  �rd}| j                   }| j                  «       }g }| j	                  «        | j                  dk(  r\| j	                  «        |j                  | j                   | j                  «       f«       | j                  d«       | j                  dk(  rŒ\| j                  | j                   | j                  «       f}| j                  dk(  rd}nÕ| j                  dk(  s| j                  dk(  r.| j	                  «        | j                  dv } | j                  |Ž  n‰| j                  dk(  r/| j	                  «        | j                  dk(  } | j                  |Ž  nK| j                  d	k(  r<| j	                  «        | j                  d
k(  xs t        | «       } | j                  |Ž  |j                  «        |D ]+  } | j                  dg|¢­Ž  | j                  dd|d   «       Œ- | j                  d||«       | xr |d   S y)NFrH   r!  Tr©   r"  )rú   rh  rø   r   rh  r   r   )
rL   Úbase_type_start_wordsrI   rX   rM   rS   rp   r™  rû   Úreverse)rE   Úis_typerO   r÷  Údotted_pathrÙ  Úps          r2   rû   rû   ˜  sÂ  € à‡z�zÔ*Ñ*ØØ	
�‰�‹ØˆØ�z‰zˆØ—:‘:“<ˆØˆØ	�‰Œà�d‰d�cŠkØ�F‰FŒHØ×Ñ §
¡
¨A¯J©J«LÐ9Ô:Ø�H‰H�WÔð �d‰d�c‹kð
 —‘�a—j‘j !§*¡*£,Ð.ˆØ�4‰4�7Š?Ø‰GØ�T‰T�SŠ[˜AŸD™D DšLØ�F‰FŒHØ—d‘d˜jÐ(ˆGØˆA�J‰J˜ÒØ�T‰T�SŠ[Ø�F‰FŒHØ—d‘d˜c‘kˆGØˆA�J‰J˜ÒØ�T‰T�SŠ[Ø�F‰FŒHØ—d‘d˜c‘kÒ;¬¸Ó);Ð%;ˆGØˆA�J‰J˜Ñà×ÑÔÛˆAØˆA�J‰J�wÐ# Ó#Ø�J‰J�s˜C  1¡Õ&ð ð 	
�
‰
�7˜D (Ô+Øˆ{Ò'˜u Q™xÐ'àr4   c                 óH   — | j                   dk(  xr | j                  t        v S rG   )rI   rL   rá  r�   s    r2   rÎ  rÎ  Ã  s!   € ð �4‰4�7‰?ÒB˜qŸz™zÔ-BÐBÐBr4   c                 óÂ   — | j                   dk(  rP| j                  }| j                  «       }| j                  «        | j                   dk(  }| j	                  d||«       |S y)NrH   r!  F)rI   rL   rX   rM   r™  )rE   rO   r÷  r³   s       r2   rÒ  rÒ  É  sO   € à‡t�tˆw‚Ø�z‰zˆØ—:‘:“<ˆØ	�‰ŒØŸd™d c™kˆØ	�
‰
�7˜D (Ô+Øˆàr4   )ÚvoidÚcharrË  rÍ  ÚdoubleÚbint)r   r   )r!   r   )r   r   )Ú
Py_UNICODEÚPy_UCS4Ú	Py_hash_tÚ
Py_ssize_tÚssize_tÚsize_tÚ	ptrdiff_tÚPy_tss_t)ÚshortÚlongrÍ  r¸  )ÚstructÚunionÚenumÚpackedc                 óL  — d}d}| j                   dk(  rŽ| j                  t        v r|| j                  dk(  rd}n8| j                  dk(  rd}n&| j                  dk(  rd}n| j                  d	k(  r|dz  }| j                  «        | j                   dk(  r| j                  t        v rŒ|||fS )
Nr   r   rH   r¸  rÍ  r!   rô  r;  rõ  )rI   rL   Úsign_and_longness_wordsrM   )rE   rÍ  r¹  s      r2   rÐ  rÐ  ò  sš   € à€FØ€HØ
�$‰$�'Š/˜aŸj™jÔ,CÑCØ�:‰:˜Ò#Ø‰FØ�Z‰Z˜8Ò#Ø‰FØ�Z‰Z˜7Ò"Ø‰HØ�Z‰Z˜6Ò!Ø˜‰MˆHØ	�‰Œð �$‰$�'Š/˜aŸj™jÔ,CÒCð �8ÐÐr4   c                 ób   — t        | d«      }|�t        |«      }| j                  |_        |S d }|S )Nr˜  )râ  r   rØ  r?  )rE   ÚliteralÚcnames      r2   Úp_opt_cnamerÿ    s>   € ä" 1 cÓ*€GØÐÜ˜gÓ&ˆØ×*Ñ*ˆŒð €Lð ˆØ€Lr4   ræ   rã  Úcmethod_flagÚ
assignableÚcalling_convention_allowedc           	      óà  — | j                  «       }| j                  dk(  r�| j                  «        | j                  dk(  st        | «      rAt	        j
                  || j                  j                  d«      d ¬«      }	t        | |||	|«      }
n5t        | |||||d¬«      }
| j                  d«       nt        | ||||||«      }
|sB|
j                  r6| j                  dk7  r't        | j                  «       d|
j                  z  «       | j                  dv r\| j                  «       }| j                  d	k(  rt        | |
«      }
n| j                  «        t        | |||
|«      }
d
}| j                  dv rŒ\|
S )Nrø   rú   r°  )rO   rþ  T)ræ   rã  r   rµ  r  z&%s on something that is not a function©r   rø   r   r   )rX   rI   rM   rß  r   ÚCNameDeclaratorNoderJ   rK   Úp_c_func_declaratorrò   rp   Úp_c_simple_declaratorÚcalling_conventionr   Úp_c_array_declarator)rE   r6   ræ   rã  r   r  rµ  r  rY   rc  r³   s              r2   rò   rò     sH  € ð �*‰*‹,€CØ‡t�tˆs‚{Ø	�‰ŒØ�4‰4�3Š;œ/¨!Ô,Ü×,Ñ,¨S°q·y±y×7OÑ7OÐPRÓ7SÐ[_Ô`ˆDÜ(¨¨C°°d¸LÓI‰Fä# A s°EÀWØ3?Ø/7ØAEôGˆFð �H‰H�S�Mä& q¨#¨u°g¸|Ø'1°8ó=ˆá%¨&×*CÒ*CÈÏÉÐPSÊÜˆa�j‰j‹lÐDØ×'Ñ'ñ(ô 	)à
�$‰$�*Ñ
Ø�j‰j‹lˆØ�4‰4�3Š;Ü)¨!¨VÓ4‰Fà�F‰FŒHÜ(¨¨C°°f¸lÓKˆFØˆð �$‰$�*Ò
ð €Mr4   c                 óÎ   — | j                  «       }| j                  «        | j                  dk7  rt        | «      }nd }| j	                  d«       t        j                  |||¬«      S )Nrh  )rc  Ú	dimension)rX   rM   rI   r  rp   r   ÚCArrayDeclaratorNode)rE   rc  rY   Údims       r2   r	  r	  4  sO   € à
�*‰*‹,€CØ‡F�F„HØ‡t�tˆs‚{Ü˜‹m‰àˆØ‡H�HˆS„MÜ×%Ñ% c°$ÀCÔHÐHr4   c                 ó|  — t        | ||d¬«      }t        | «      }| j                  d«       t        | «      }t	        | |j
                  dk(  «      \  }}	}
|r|
rt        | j                  «       dd¬«       |xs t        | «      }t        | «      }t        j                  ||||||	|xs |j                  xs |||
¬«	      S )	Nr   )r   Únonempty_declaratorsrú   Úexternz§The keyword 'nogil' should appear at the end of the function signature line. Placing it before 'except' or 'noexcept' will be disallowed in a future version of Cython.r!   r’   )rc  rk   Úhas_varargsÚexception_valueÚexception_checkr#   Úwith_gilÚhas_explicit_exc_clause)Úp_c_arg_listÚp_optional_ellipsisrp   Úp_nogilÚp_exception_value_clauser=   r   rX   Ú
p_with_gilr   ÚCFuncDeclaratorNoder#   )rE   rY   r6   rc  r   rk   Úellipsisr#   Úexc_valÚ	exc_checkÚ
exc_clauser  s               r2   r  r  @  sÄ   € ô ˜˜3¨|Ø/0ô2€Dä" 1Ó%€HØ‡H�HˆS„MÜ�A‹J€EÜ%=¸aÀÇÁÐS[ÑA[Ó%\Ñ"€GˆY˜
Ù‘ÜØ�J‰J‹Lðð õ	
ð Ò”W˜Q“Z€EÜ˜!‹}€HÜ×$Ñ$ SØ˜D°Ø!°YØÒ.˜Ÿ™Ò. h¸8Ð]gôið ir4   )rÑ   rÒ   r©   r]   rÖ   z++z--rÛ   rÂ   rÉ   rÆ   rÌ   rÍ   rR   r¾   rº   r¿   r½   rÀ   r¼   ú[]ú()r  r8  rÊ  c           	      óL  — | j                  «       }t        | «      }| j                  dv r¾| j                  dk(  }	| j                  «        | j                  «       }
| j                  dk(  xr | j                  dk(  }|r| j                  «        t        | ||||||¬«      }|rt        j                  |
|¬«      }|	rt        j                  ||¬«      }t        j                  ||¬«      }�n°| j                  dk(  s%| j                  dk(  rs| j                  j                  r]| j                  dk(  rt        j                  nt        j                  }| j                  «        t        | ||||||¬«      } |||¬«      }�nd }| j                  dk(  ru| j                  }|rt        | j                  «       d	«       | j                  «        t        | «      }|d
k7  rM| j                  dk(  r>|r<| j                  «        t        | «      }n |rt        | j                  «       d«       d}d }|€ |j                   �|r|j                   dz   |z   }|d
k(  �r8|j"                  dk(  �r(|�r%| j                  }|D �cg c]	  }|dv sŒd‘Œ c}r½| j                  «        |dk(  r| j%                  d«       d}np|dk(  r| j%                  d«       d}nW|dv r%| j                  |k(  r|dz  }| j                  «        n.| j                  dk(  r|| j                  z  }| j                  «        |t&        vr| j                  d|z  d¬«       ||z  }nG|dk(  rB| j                  }|t&        vr| j                  d|z  d¬«       |dz   |z   }| j                  «        t        j(                  ||||¬«      }||_        |S c c}w )Nrq  r"  rÇ  rH   )ræ   rã  r   r  rµ  )rc  rÉ   rŒ   zDeclarator should be emptyrž   r8  zEmpty declaratorr°  ú::r  z+-*/<=>!%&|([^~,r   rø   rú   r!  r   rh  r   )rÒ   rÑ   rÂ   rÉ   r!   z,Overloading operator '%s' not yet supported.Fr‚   Ú )rO   rþ  Údefault)rX   r¼  rI   rM   rL   rò   r   ÚCConstDeclaratorNodeÚCPtrDeclaratorNoderJ   ÚcppÚ CppRvalueReferenceDeclaratorNodeÚCReferenceDeclaratorNoder   rÿ  rq   rA   r=   rp   Úsupported_overloaded_operatorsr  r  )rE   r6   ræ   rã  r   r  rµ  rY   r  Ú	is_ptrptrÚ	const_posrÉ  rc  r³   Ú
node_classr†   rO   rþ  rZ   r—  s                       r2   r  r  c  s5  € ð �*‰*‹,€CÜ-¨aÓ0ÐØ‡t�tˆ{Ñà—D‘D˜D‘Lˆ	Ø	�‰Œà—J‘J“Lˆ	Ø—:‘: Ñ(Ò<¨Q¯T©T°W©_ˆÙØ�F‰FŒHä˜a ¨E¸7Ø+7Ø)3¸hôHˆñ Ü×-Ñ-¨i¸dÔCˆDÙÜ×+Ñ+¨C°dÔ;ˆDÜ×)Ñ)¨#°DÔ9ŠØ	
�‰�Š˜Ÿ™ š¨!¯)©)¯-ª-Ø?@¿t¹tÀtº|”U×;Ò;ÔQV×QoÑQoˆ
Ø	�‰ŒÜ˜a ¨E¸7Ø+7Ø)3¸hôHˆñ ˜C dÔ+ŠàˆØ�4‰4�7Š?Ø—:‘:ˆDÙÜ�a—j‘j“lÐ$@ÔAØ�F‰FŒHÜ “NˆEØ�zÒ! a§d¡d¨c¢k±jØ—‘”Ü˜Q“i‘áÜ�a—j‘j“lÐ$6Ô7ØˆDØˆEØˆ=˜SŸ]™]Ð6¹8Ø—M‘M DÑ(¨4Ñ/ˆEØ�:Ó #§.¡.°HÓ"<ÂØ—‘ˆBÙÓ9™2�a Ð&8Ò!8’˜2Ò9Ø—‘”à˜’9Ø—H‘H˜S”MØ‘BØ˜3’YØ—H‘H˜S”MØ‘BØÐ/Ñ/°A·D±D¸B²JØ˜!‘G�BØ—F‘F•HØ—T‘T˜S’[Ø˜!Ÿ$™$‘J�BØ—F‘F”HØÔ;Ñ;Ø—G‘GÐJÈRÑOØ"'ð ô )à˜‘
‘Ø�w’Ø—Z‘Z�ØÔ;Ñ;Ø—G‘GÐJÈRÑOØ"'ð ô )à˜c‘z B‘�Ø—‘”Ü×*Ñ*¨3Ø °#ô7ˆà 2€FÔØ€Mùò; :s   É*	N!É4N!c                 ób   — | j                   dk(  r | j                  dk(  r| j                  «        yy)NrH   r#   TF©rI   rL   rM   r�   s    r2   r  r  ¶  s'   € à‡t�tˆw‚˜1Ÿ:™:¨Ò0Ø	�‰ŒØàr4   c                 óf   — | j                   dk(  r"| j                  «        | j                  d«       yy)Nr  rU  TF)rI   rM   Úexpect_keywordr�   s    r2   r  r  ¿  s*   € à‡t�tˆv‚~Ø	�‰ŒØ	×Ñ˜ÔØàr4   Ú	is_externc                 óD  — d}d}|rdnd}| j                   dk(  r%| j                  dk(  rd}| j                  «        d}�n^| j                   dk(  �rNd}| j                  «        | j                   dk(  rd}| j                  «        �n| j                   dk(  rÛd}| j                  «       d	   }| j                  «        | j                   dk(  rb| j                  }|d
k(  r4| j                  «       d	   |dz   k(  r¬t	        | j                  «       d«       n‘t        | |«      }| j                  «        nt| j                   dk(  ret        j                  | j                  «       d¬«      }| j                  «        n/| j                   dk(  rd}| j                  «        nd}t        | «      }|||fS )a†  
    Parse exception value clause.

    Maps clauses to exc_check / exc_value / exc_clause as follows:
     ______________________________________________________________________
    |                             |             |             |            |
    | Clause                      | exc_check   | exc_value   | exc_clause |
    | ___________________________ | ___________ | ___________ | __________ |
    |                             |             |             |            |
    | <nothing> (default func.)   | True        | None        | False      |
    | <nothing> (cdef extern)     | False       | None        | False      |
    | noexcept                    | False       | None        | True       |
    | except <val>                | False       | <val>       | True       |
    | except? <val>               | True        | <val>       | True       |
    | except *                    | True        | None        | True       |
    | except +                    | '+'         | None        | True       |
    | except +*                   | '+'         | '*'         | True       |
    | except +<PyErr>             | '+'         | <PyErr>     | True       |
    | ___________________________ | ___________ | ___________ | __________ |

    Note that the only reason we need `exc_clause` is to raise a
    warning when `'except'` or `'noexcept'` is placed after the
    `'nogil'` keyword.
    FNTrH   Únoexceptr,  r©   rÑ   r!   r#   r   zf'except +nogil' defines an exception handling function. Use 'except + nogil' for the 'nogil' modifier.r9  rç   )	rI   rL   rM   rX   r   r”  r   r¡  rq   )rE   r3  r  r  r  Úplus_char_posrO   s          r2   r  r  É  sZ  € ð4 $€JØ€GÙ"‘¨€Ià‡t�tˆw‚˜1Ÿ:™:¨Ò3Øˆ
Ø	�‰ŒØŠ	Ø	
�‰�Ó	Øˆ
Ø	�‰ŒØ�4‰4�3Š;ØˆIØ�F‰FŽHØ�T‰T�SŠ[ØˆIØŸJ™J›L¨™OˆMØ�F‰FŒHØ�t‰t�wŠØ—z‘z�Ø˜7’?Ø—z‘z“| A‘¨-¸!Ñ*;Ò;Ü˜aŸj™j›lð GõHô % Q¨›o�GØ—F‘F•HØ—‘˜’Ü#×,Ñ,¨Q¯Z©Z«\ÀÔE�Ø—‘•à�t‰t�sŠ{Ø �	Ø—‘•à!�	ä˜Q“iˆGà�I˜zÐ)Ð)r4   )r©   r"  ry  rú   rh   r]   Ú	in_pyfuncr  Úkw_onlyrj   c                 óâ   — g }|}| j                   t        vrX|j                  t        | ||||||¬«      «       | j                   dk7  r	 |S | j	                  «        d}| j                   t        vrŒX|S )N)rµ  r8  rj   rR   r   )rI   Úc_arg_list_terminatorsrS   Úp_c_arg_declrM   )	rE   r6   r7  r   r  r8  rj   rk   Úis_self_args	            r2   r  r    s{   € ð €DØ€KØ
�$‰$Ô,Ñ
,Ø�‰”L  C¨°KØ+°wØ!ô#ô 	$ð �4‰4�3Š;Øð €Kð 	
�‰ŒØˆð �$‰$Ô,Ò
,ð €Kr4   c                 ó:   — | j                   dk(  rt        | «       yy)Nry  TF)rI   rz  r�   s    r2   r  r  &  s   € à‡t�tˆu‚}Ü˜ÔØàr4   c                 ó˜  — | j                  «       }dx}}	d }
d }| j                  rt        j                  |d g dddd|d ¬«	      }nt	        | |¬«      }t        | ||¬«      }| j                  dv rƒ| j                  sw| j                  }| j                  «        | j                  dk(  r | j                  dk(  r| j                  «        n| j                  d«       |st        |d	|z  «       |d
k(  }	|dk(  }|r*| j                  dk(  r| j                  «        t        | «      }| j                  dk(  r„| j                  «        d|j                  v r[| j                  dv r&t        j                  |«      }
| j                  «        n2d|j                  v rt        | «      }
nt        |d«       nt        | «      }
t        j                   |||||	|
||¬«      S )NFr   )rO   rË  rÌ  rÍ  rÎ  r¹  r<  rB   ©rµ  )r—   rŠ   rH   r©  zExpected 'None'z*'%s None' only allowed in Python functionsrŠ   r—   rh   r8  r  )r©   rç   r"   z;default values cannot be specified in pxd files, use ? or *)ré   rê   Únot_noneÚor_noner%  r   r8  )rX   rÞ   r   rÓ  rì   rò   rI   rM   rL   r   rŸ  r<   r   r  Ú	modifiersrq   ÚCArgDeclNode)rE   r6   r7  r   rµ  r8  rj   rY   r@  rA  r%  r   ré   rê   r¥  s                  r2   r;  r;  /  sœ  € ð �*‰*‹,€CØÐ€HˆwØ€GØ€JØ×Òä×-Ñ-¨cØ rØ#¨aØ¨Ø&°Dô	:‰	ô " !¨hÔ7ˆ	Ü  3°8Ô<€JØ‡t�tˆ}Ñ Q×%5Ò%5Ø�t‰tˆØ	�‰ŒØ�4‰4�7Š?˜qŸz™z¨VÒ3Ø�F‰F�Hà�G‰GÐ%Ô&ÙÜ�#ÐCÀdÑJÔKØ˜$‘,ˆØ˜5‘=ˆÙ�Q—T‘T˜S’[Ø	�‰ŒÜ! !“_ˆ
Ø‡t�tˆs‚{Ø	�‰ŒØ�C—I‘IÑØ�t‰t�zÑ!ä#×,Ñ,¨SÓ1�Ø—‘•Ø˜SŸ]™]Ñ*Ü  ›)‘ä�cÐXÕYä˜Q“iˆGÜ×Ñ˜cØØØØØØØôð r4   c                 óf   — | j                  «       }t        | «      }t        j                  ||¬«      S )a  An annotation just has the "test" syntax, but also stores the string it came from

    Note that the string is *allowed* to be changed/processed (although isn't here)
    so may not exactly match the string generated by Python, and if it doesn't
    then it is not a bug.
    r
  )rX   rq   r   ÚAnnotationNode)rE   rY   rs   s      r2   rŸ  rŸ  f  s+   € ð �*‰*‹,€CÜ�!‹9€DÜ×#Ñ# C¨dÔ3Ð3r4   c                 ób   — | j                   dk(  r | j                  dk(  r| j                  «        yy)NrH   r$   TFr0  r�   s    r2   Úp_apirG  s  s'   € à‡t�tˆw‚˜1Ÿ:™:¨Ò.Ø	�‰ŒØàr4   c                 óš  — t        | |j                  «      |_        |j                  xs t        | «      |_        |j                  r'|j                  dvrt	        |d|j                  z  «       |j                  dk(  r| j
                  dk(  rt        | ||«      S | j
                  dk(  r| j                  «        t        | ||«      S t        | «      r+d|_	        |j                  rt	        |d«       t        | |«      S | j
                  dk(  r$|j                  rt	        |d«       t        | |«      S | j
                  d	k(  r?|j                  d
vrt	        |d«       |j                  rt	        |d«       t        | ||«      S | j
                  dk(  r| j                  dk(  rt        | ||«      S | j
                  dk(  r`| j                  t         v rN|j                  d
vrt	        |d«       |j                  r| j                  dk7  rt	        |d«       t#        | ||«      S | j
                  dk(  r| j                  dk(  rt%        | ||«      S t'        | ||«      S )N)r+   ÚpubliczCannot combine 'api' with '%s'r  r  ré  Tz$cdef blocks cannot be declared cpdefrh   rƒ  r  z*Extension type definition not allowed herez(Extension types cannot be declared cpdefrH   r*  z/C struct/union/enum definition not allowed hererø  z'C struct/union cannot be declared cpdefÚfused)Úp_visibilityr=   r$   rG  r   rI   Úp_cdef_extern_blockrM   r  r#   r@   Úp_cdef_blockr<   Úp_c_class_definitionrL   Úp_cpp_class_definitionÚstruct_enum_unionÚp_struct_enumÚp_fused_definitionr\  ©rE   rY   r6   s      r2   r�  r�  |  sé  € ä! ! S§^¡^Ó4€C„NØ�g‰gÒ!œ˜q›€C„GØ
‡w‚wØ�>‰>Ð!6Ñ6Ü�#Ð7¸#¿.¹.ÑHÔIØ�‰˜(Ò"¨¯©°ªÜ" 1 c¨3Ó/Ð/Ø	
�‰�Ò	Ø	�‰ŒÜ" 1 c¨3Ó/Ð/Ü	�ŒØˆŒ	Ø�?Š?Ü�#Ð=Ô>Ü˜A˜sÓ#Ð#Ø	
�‰�ŠØ�?Š?Ü�#Ð=Ô>Ü˜A˜sÓ#Ð#Ø	
�‰�ŠØ�9‰9Ð4Ñ4Ü�#ÐCÔDØ�?Š?Ü�#ÐAÔBÜ# A s¨CÓ0Ð0Ø	
�‰�Š˜QŸZ™Z¨:Ò5Ü% a¨¨cÓ2Ð2Ø	
�‰�Š˜QŸZ™ZÔ+<Ñ<Ø�9‰9Ð4Ñ4Ü�#ÐHÔIØ�?Š?Ø�z‰z˜VÒ#Ü�cÐDÔEÜ˜Q  SÓ)Ð)Ø	
�‰�Š˜QŸZ™Z¨7Ò2Ü! ! S¨#Ó.Ð.ä*¨1¨c°3Ó7Ð7r4   c                 ó(   — t        |  |d¬«      «      S )NT)r>   )r
  r¦  s     r2   rM  rM  ¦  s   € ä�1‘c dÔ+Ó,Ð,r4   c                 ó¼  — |j                   rt        |d«       d }| j                  d«       | j                  dk(  r| j	                  «        nt        | d«      d   } |dd¬«      }| j                  d	k(  r$| j	                  «        t        | d«      d   |_        t        | «      rd|_	        t        | |d«      \  }}t        j                  |||||j                  ¬
«      S )Nz+cdef extern blocks cannot be declared cpdefr  r©   r˜  r!   Tr  )r>   r=   rA   )Úinclude_fileÚverbatim_includer_  rA   )r@   r   rp   rI   rM   rÖ  rL   rA   r  r#   r¥  r   ÚCDefExternNode)rE   rY   r6   rV  rW  r_  s         r2   rL  rL  «  sÇ   € à
‡‚ÜˆcÐ@ÔAØ€LØ‡H�HˆVÔØ‡t�tˆs‚{Ø	�‰�ä'¨¨3Ó/°Ñ2ˆÙ
˜$¨XÔ
6€CØ‡z�z�[Ò Ø	�‰ŒÜ(¨¨CÓ0°Ñ3ˆŒÜˆq„zØˆŒ	ô 4°A°s¸DÓAÑÐ�dä×Ñ Ø#Ø+ØØ—M‘Mô	#ð #r4   c                 ót  — | j                  «        d}| j                  j                  r?| j                  dk(  s| j                  dk(  r!| j                  dk(  rd}| j                  «        | j                  dk(  rH| j                  }| j                  «        t        | «      }|€6|j                  �*|j                  dz   |z   }nd x}}|r| j                  d«       |r<| j                  dk(  r-| j                  «        t        | «      }| j                  d	«       nt        j                  |d
g dddd¬«      }| j                  d«       g }d }| j                  dk7  rt        | ||«       ne| j                  «        | j                  «        t        | «      }| j                  dvrt        | ||«       | j                  dvrŒ| j                  «        |s|j                   dk7  rt        |d«       t        j"                  |||||||j$                  |j                   |j&                  |j(                  |j*                  dk(  |¬«      S )NFrƒ  rH   rö  Tr#  zUnnamed scoped enum not allowedrø   rú   rË  r   r   )rO   rË  rÌ  rÍ  rÎ  r¹  rh   r&   r¡  r  zDEmpty enum definition not allowed outside a 'cdef extern from' blockr€  )rO   rþ  Úscopedrr  Úunderlying_typer?   r=   Úcreate_wrapperr$   Úin_pxdrª  )rM   rJ   r(  rI   rL   rÿ  rA   r   rì   rp   r   rÓ  Úp_c_enum_liner[  r¨  r]  r=   r•  r?   r@   r$   r<   )	rE   rY   r6   rZ  rO   rþ  r[  rr  rª  s	            r2   Úp_c_enum_definitionr_  Æ  sâ  € ð ‡F�F„Hà€FØ‡y�y‡}‚}˜!Ÿ$™$ 'š/¨a¯d©d°gªoÀ!Ç*Á*ÐPXÒBXØˆØ	�‰Œà‡t�tˆw‚Ø�z‰zˆØ	�‰ŒÜ˜A“ˆØˆ=˜SŸ]™]Ð6Ø—M‘M DÑ(¨4Ñ/‰EàÐˆˆuÙØ�G‰GÐ5Ô6á�!—$‘$˜#’+Ø	�‰ŒÜ'¨Ó*ˆØ	�‰��ä×3Ñ3ØØØØ"ØØØô
ˆð ‡H�HˆS„MØ€Eà
€CØ‡t�tˆyÒÜ�a˜˜eÕ$à	�‰ŒØ	�‰ÔÜ˜1‹oˆà�d‰dÐ+Ñ+Ü˜!˜S %Ô(ð �d‰dÐ+Ò+ð 	
�‰Ôá�S—^‘^ xÒ/ÜˆcÐYÔZä×ÑØ�$˜eØ˜UØ'Ø×%Ñ%°#·.±.Ø—‘Ø�G‰G˜CŸI™I¨Ñ5¸3ô@ð @r4   rr  c                 ó  — | j                   dk7  rYt        | ||«       | j                   dk(  rM| j                  «        | j                   dv rn.t        | ||«       | j                   dk(  rŒ<n| j                  «        | j                  d«       y )Nr¹  rR   r©  zSyntax error in enum item list)rI   Úp_c_enum_itemrM   r½  )rE   r6   rr  s      r2   r^  r^    sp   € à‡t�tˆv‚~Ü�a˜˜eÔ$Ø�d‰d�cŠkØ�F‰FŒHØ�t‰tÐ)Ñ)ØÜ˜!˜S %Ô(ð	 �d‰d�cŒkð 	
�‰ŒØ×ÑÐ5Õ6r4   c                 ó8  — | j                  «       }t        | «      }t        | «      }|€|j                  �|j                  dz   |z   }d }| j                  dk(  r| j                  «        t        | «      }|j                  t        j                  ||||¬«      «       y )Nr#  r8  )rO   rþ  r:  )
rX   rP   rÿ  rA   rI   rM   rq   rS   r   ÚCEnumDefItemNode)rE   r6   rr  rY   rO   rþ  r:  s          r2   ra  ra    s„   € à
�*‰*‹,€CÜ�1‹:€DÜ˜‹N€EØ€}˜Ÿ™Ð2Ø—‘ Ñ$ tÑ+ˆØ€EØ‡t�tˆs‚{Ø	�‰ŒÜ�q“	ˆØ	‡L�L”×'Ñ'¨Ø˜U¨Eô3õ 4r4   c                 ól  — d}| j                   dk(  rAd}| j                  «        | j                  dk7  s| j                   dk7  r| j                  d«       | j                   }| j                  «        t	        | «      }t        | «      }|€|j                  �|j                  dz   |z   }d }| j                  dk(  �r$| j                  «        g }| j                  dk(  r$| j                  «        | j                  d	d¬
«       nÁ| j                  d«       | j                  «        t        |j                  ¬«      }| j                  dk7  rk| j                  dk7  r+|j                  t        | | j                  «       |«      «       n!| j                  «        | j                  d	«       | j                  dk7  rŒk| j                  «        |s-|j                  dk7  rt!        |d«       n| j                  d«       t#        j$                  ||||||j&                  |j                  |j(                  |j*                  dk(  |¬«
      S )NFrù  TrH   rö  r#  rh   r¹  rº  r»  r&   )r=   r  r  zOEmpty struct or union definition not allowed outside a 'cdef extern from' blockz*Syntax error in struct or union definitionr€  )	rO   rþ  r¥  Ú
attributesr?   r=   r$   r]  rù  )rL   rM   rI   r4  rP   rÿ  rA   r½  rp   r[  r)   r=   rS   r\  rX   r]  r   r   r”  r?   r$   r<   )	rE   rY   r6   rù  r¥  rO   rþ  re  r^  s	            r2   Úp_c_struct_or_union_definitionrf  #  sÉ  € à€FØ‡z�z�XÒØˆØ	�‰ŒØ�4‰4�7Š?˜aŸj™j¨HÒ4Ø�J‰J�xÔ à�:‰:€DØ‡F�F„HÜ�1‹:€DÜ˜‹N€EØ€}˜Ÿ™Ð2Ø—‘ Ñ$ tÑ+ˆØ€JØ‡t�tˆsƒ{Ø	�‰ŒØˆ
Ø�4‰4�6Š>Ø�F‰FŒHØ×ÑÐ1ÀDÐÕIà�H‰H�YÔØ�O‰OÔÜ c§n¡nÔ5ˆHØ—$‘$˜(Ò"Ø—4‘4˜6’>Ø×%Ñ%Ü3°A°q·z±z³|ÀXÓNõPð —F‘F”HØ×$Ñ$Ð%9Ô:ð —$‘$˜(Ó"ð �O‰OÔá˜cŸn™n°Ò8Ü�#ÐhÕià	×ÑÐEÔFä×&Ñ& sØ˜U¨4¸jØ×'Ñ'°c·n±nØ�g‰g §	¡	¨\Ñ 9ÀFôLð Lr4   c                 ó  — |j                   dvrt        |d«       | j                  «        t        | «      }| j	                  d«       | j                  «        | j                  «        g }| j                  dk7  rZ| j                  dk7  r|j                  t        | «      «       n| j                  «        | j                  «        | j                  dk7  rŒZ| j                  «        |st        |d«       t        j                  |||¬«      S )z5
    c(type)def fused my_fused_type:
        ...
    r  z&Fused type definition not allowed hererh   r  r¹  zNeed at least one type)rO   Útypes)r<   r   rM   rP   rp   r½  r[  rI   rS   rì   r]  r   ÚFusedTypeNode)rE   rY   r6   rO   rh  s        r2   rR  rR  Q  sÎ   € ð ‡y�yÐ0Ñ0ÜˆcÐ;Ô<à‡F�F„HÜ�1‹:€Dà‡H�HˆS„MØ×ÑÔØ‡O�OÔà€EØ
�$‰$�(Ò
Ø�4‰4�6Š>à�L‰Lœ qÓ)Õ*à�F‰FŒHà	×ÑÔð �$‰$�(Ó
ð ‡O�OÔáÜˆcÐ+Ô,ä×Ñ˜s¨°UÔ;Ð;r4   c                 óT   — | j                   dk(  rt        | ||«      S t        | ||«      S )Nrø  )rL   r_  rf  rS  s      r2   rQ  rQ  u  s,   € à‡z�z�VÒÜ" 1 c¨3Ó/Ð/ä-¨a°°cÓ:Ð:r4   c                 óÄ   — |}| j                   dk(  rN| j                  dv r@| j                  }|dk7  r||k7  r| j                  d|›d|›d�d¬«       | j                  «        |S )	NrH   )r  rI  Úreadonlyr+   z Conflicting visibility options 'z' and 'rž  Fr‚   )rI   rL   r   rM   )rE   Úprev_visibilityr=   s      r2   rK  rK  }  sc   € à €JØ‡t�tˆw‚˜1Ÿ:™:Ð)IÑIØ—Z‘Zˆ
Ø˜iÒ'¨J¸/Ò,IØ�GŠGÚ"¢Jð0Ø7<ð ô >à	�‰ŒØÐr4   c                 ó–   — | j                   dk(  r9| j                  dv r+| j                  }| j                  «        |gt        | «      z   S g S )NrH   )r"   )rI   rL   rM   Úp_c_modifiers)rE   Úmodifiers     r2   ro  ro  ‰  sA   € à‡t�tˆw‚˜1Ÿ:™:¨Ñ4Ø—:‘:ˆØ	�‰ŒØˆzœM¨!Ó,Ñ,Ð,Ø€Ir4   c                 óÜ  — |j                   dv }t        | «      }t        | d|j                  ¬«      }t	        |  ||¬«      |dd¬«      }|j
                  |_        | j                  dk(  r1| j                  dk(  r"|j                   dk(  r| j                  «        d}nd	}| j                  d
k(  r.| j                  dd	¬«       | j                  «        t        | «       | j                  dk(  rƒ|j                   dvr|j                  s| j                  d«       t        | t        d¬«      «      \  }}	t        j                  ||j                  |||	|||j                   |j
                  |¬«
      }
|
S |r||_        |g}| j                  dk(  rQ| j                  «        | j                  dk(  rn1t	        | ||dd¬«      }|j%                  |«       | j                  dk(  rŒQ| j&                  dz   }| j)                  dd¬«       |j                   dv r| j&                  |k(  rt+        | «      }nd }t        j,                  ||j                  |||j                   dv ||j                   ||j
                  ¬«	      }
|
S )N)r„  r†  Tr·  )rB  )r   r  rµ  rH   rÇ  Ú	cpp_classFú->z~Return type annotation is not allowed in cdef/cpdef signatures. Please define it before the function name, as in C signatures.r‚   rh   )rí  r„  r€  r†  rr  z&C function definition not allowed herer_  r’   )	r=   ré   rê   r_  rª  rB  r$   r@   Úis_const_methodrR   r&   r   z&Syntax error in C variable declarationr»  )r€  r†  )r=   ré   Údeclaratorsr]  rª  r$   rB  r@   )r<   ro  rì   rB   rò   r@   rI   rL   rM   r   rq   r¥  r)   r   r‘  r=   r$   rt  rS   Ú
start_liner½  r¨  r’  )rE   rY   r6   r   rB  ré   rê   rt  rª  Úsuiter³   ru  Údoc_lines                r2   r\  r\  ’  s=  € à #§	¡	Ð-GÐ G€LÜ˜aÓ €IÜ˜a¨$¸C¿M¹MÔJ€IÜ ¡3°Ô#;ÈLØ+/¸4ôA€Jà Ÿ_™_€JÔà‡t�tˆw‚˜1Ÿ:™:¨Ò0°S·Y±YÀ+Ò5MØ	�‰ŒØ‰àˆà‡t�tˆt‚|à	�‰ðMàð 	ô 	ð 	
�‰ŒÜˆqŒ	à‡t�tˆs‚{Ø�9‰9Ð[Ñ[Ðdg×dqÒdqØ�G‰GÐ<Ô=Ü+¨A¬s¸Ô/DÓE‰
ˆˆUÜ×#Ñ# CØŸ™Ø!Ø#ØØØ!Ø—'‘'ØŸ/™/Ø-ô	/ˆðL €Mñ3 Ø)8ˆJÔ&Ø!�lˆØ�d‰d�cŠkØ�F‰FŒHØ�t‰t�yÒ ØÜ'¨¨3¸|Ø37À$ôHˆJà×Ñ˜zÔ*ð �d‰d�c‹kð —<‘< !Ñ#ˆØ	×ÑÐAÐTXÐÔYØ�9‰9Ð2Ñ2°q·|±|ÀxÒ7OÜ˜q“/‰CàˆCÜ×"Ñ" 3ØŸ™Ø!Ø%Ø—Y‘YÐ"?Ð?ØØ—'‘'Ø!ØŸ/™/ô+ˆð €Mr4   c           	      óB  — | j                  «       }| j                  «        t        | |j                  «      }t	        | «      } |d|¬«      }|rd|_        | j                  dk(  rt        | ||«      S | j                  dk(  r| j                  t        v rt        | ||«      S | j                  dk(  r| j                  dk(  rt        | ||«      S t        | d¬«      }t        | |dd¬«      }| j                  dd¬	«       t        j                   ||||||j"                  d
k(  ¬«      S )NT)r?   r=   rƒ  rH   rJ  r?  )rã  rµ  z"Syntax error in ctypedef statementr»  r€  )ré   rê   r=   r$   r]  )rX   rM   rK  r=   rG  r$   rI   rN  rL   rP  rQ  rR  rì   rò   r½  r   ÚCTypeDefNoder<   )rE   r6   rY   r=   r$   ré   rê   s          r2   rŒ  rŒ  ×  s	  € ð �*‰*‹,€CØ‡F�F„HÜ˜a §¡Ó0€JÜ
�‹(€CÙ
˜4¨jÔ
9€CÙ
ØˆŒØ‡t�tˆw‚Ü# A s¨CÓ0Ð0Ø	
�‰�Š˜QŸZ™ZÔ+<Ñ<Ü˜Q  SÓ)Ð)Ø	
�‰�Š˜QŸZ™Z¨7Ò2Ü! ! S¨#Ó.Ð.ä! !¨dÔ3ˆ	Ü# A s°DÀ4ÔHˆ
Ø	×ÑÐ=ÐPTÐÔUÜ×!Ñ!Ø˜YØ#Ø#¨3Ø—Y‘Y ,Ñ.ô	0ð 	0r4   c                 ó  — g }| j                   dk(  rr| j                  «       }| j                  «        t        | «      }|j	                  t        j                  ||¬«      «       | j                  d«       | j                   dk(  rŒr|S )NrÕ   )Ú	decoratorz"Expected a newline after decorator)rI   rX   rM   r‰   rS   r   ÚDecoratorNoder½  )rE   r  rY   r|  s       r2   r�  r�  ò  so   € à€JØ
�$‰$�#Š+Ø�j‰j‹lˆØ	�‰ŒÜ$ QÓ'ˆ	Ø×Ñœ%×-Ñ-¨c¸YÔGÔHØ	×ÑÐ=Ô>ð �$‰$�#‹+ð Ðr4   c                 óv   — | j                   dk(  r)|t        v r!| j                  d|z  d¬«       t        | «      S |S )zqStep over incorrectly placed cdef modifiers (@see _CDEF_MODIFIERS) to provide a good error message for them.
    rH   zTCannot use cdef modifier '%s' in Python function signature. Use a decorator instead.Fr‚   )rI   r   r   rP   )rE   rO   s     r2   Ú_reject_cdef_modifier_in_pyr  þ  s=   € ð 	‡t�tˆw‚˜4¤?Ñ2à	�‰ÐfÐimÑmÐuzˆÔ{Ü�q‹zÐØ€Kr4   r  r  c                 ó®  — |r|d   j                   n| j                  «       }|r| j                  «        | j                  «        t	        | t        | «      «      }| j                  dd| j                  dk(  r| j                  n| j                  z  «       t        | d¬«      \  }}}| j                  d«       t	        | | j                  «       d }| j                  dk(  r1| j                  «        t        | «      }t	        | | j                  «       t        | t        d¬	«      «      \  }	}
|r| j                  «        t        j                  ||||||	|
|||¬
«
      S )Nr   rø   z~Expected '(', found '%s'. Did you use cdef syntax in a Python declaration? Use decorators and Python type annotations instead.rH   rú   )ri   rs  r_  r’   )	rO   rk   rl   rm   rª  r_  r  r  Úreturn_type_annotation)rY   rX   Úenter_asyncrM   r  rP   rp   rI   rL   ro   rŸ  r¥  r)   Ú
exit_asyncr   ÚDefNode)rE   r  r  rY   rO   rk   rl   rm   r�  rª  r_  s              r2   r  r  	  s  € ñ  *ˆ*�Q‰-×
Ò
¨q¯z©z«|€CáØ	�‰ŒØ‡F�F„HÜ& q¬'°!«*Ó5€DØ‡H�HØð	>àŸ$™$ 'š/ˆA�JŠJ¨q¯t©tñ	5ô6ô
 $1°¸sÔ#CÑ €Dˆ(�LØ‡H�HˆS„MÜ  1§:¡:Ô.Ø!ÐØ‡t�tˆt‚|Ø	�‰ŒÜ!-¨a£ÐÜ# A q§z¡zÔ2ä& q¬#°JÔ*?Ó@�I€CˆÙØ	�‰Œä�=‰=Ø�$˜T¨HÀ<Ø�d zÀØ5ô7ð 7r4   c           	      óP  — t        | dd|¬«      }d }d }| j                  dk(  r›t        |«      dk(  r| j                  d«       | j	                  «        |D ]	  }d|_        Œ | j                  dk(  r/| j	                  «        |j                  t        | dd|¬«      «       n | j                  |k7  r| j                  d«       | j                  d	k(  r‹| j	                  «        | j                  d
k(  rt        | |¬«      }| j                  dk(  r0| j	                  «        |j                  t        | ddd|¬«      «       n | j                  |k7  r| j                  d«       | j                  dk(  r| j	                  «        t        | |¬«      }| j                  dk(  r| j	                  «        |||fS )NT)r7  r  rj   r]   r   zTGot zero positional-only arguments despite presence of positional-only specifier '/'r   rR   z-Syntax error in Python function argument listr©   rH   )rj   )r7  r  r8  rj   r"  )r  rI   r?  r   rM   Úpos_onlyrT  Úp_py_arg_decl)rE   ri   rj   rk   rl   rm   rã   s          r2   ro   ro   *  se  € ä˜ TÀØ$-ô/€Dà€HØ€LØ‡t�tˆs‚{Üˆt‹9˜Š>Ø�G‰Gð 4ô 5à	�‰ŒãˆCØˆC�Lð à�4‰4�3Š;Ø�F‰FŒHØ�K‰KœØ˜T¸È)ôUõ Và�T‰T�ZÒØ�G‰GÐCÔDØ‡t�tˆs‚{Ø	�‰ŒØ�4‰4�7Š?Ü$ Q°)Ô<ˆHØ�4‰4�3Š;Ø�F‰FŒHØ�K‰KœØ˜d¸ÀtÐYbôdõ eà�T‰T�ZÒØ�G‰GÐCÔDØ‡t�tˆt‚|Ø	�‰ŒÜ$ Q°)Ô<ˆØ‡t�tˆs‚{Ø	�‰ŒØ�(˜LÐ)Ð)r4   c                 óÄ   — | j                  «       }t        | «      }d }|r*| j                  dk(  r| j                  «        t	        | «      }t        j                  |||¬«      S )Nrh   )rO   r   )rX   rP   rI   rM   rŸ  r   ÚPyArgDeclNode)rE   rj   rY   rO   r   s        r2   r‡  r‡  P  sO   € à
�*‰*‹,€CÜ�1‹:€DØ€JÙ�Q—T‘T˜S’[Ø	�‰ŒÜ! !“_ˆ
Ü×Ñ˜s¨4¸jÔIÐIr4   c                 ó¾  — | j                  «       }| j                  «        t        t        | «      «      }| j                  |_        d }d }| j                  dk(  r t        | d¬«      \  }}t        |||«      \  }}|€t        j                  |g ¬«      }t        | t        d¬«      «      \  }}	t        j                  ||||||	|| j                  j                   dk\  ¬«      S )	Nrø   F©r4  rI  rƒ  r’   r¶  )rO   ÚbasesrB  rª  r_  r  Úforce_py3_semantics)rX   rM   r   rP   rØ  r?  rI   rG  r]  r   rO  r¥  r)   r   ÚPyClassDefNoderJ   r½  )
rE   r  rY   Ú
class_namerY  rW  rA  rB  rª  r_  s
             r2   r–  r–  [  sÒ   € ð �*‰*‹,€CØ‡F�F„HÜœw q›zÓ*€JØ×+Ñ+€JÔØ€IØ€LØ‡t�tˆs‚{Ü(9¸!È%Ô(PÑ%ˆ˜Ü":¸3ÀÐQ]Ó"^Ñˆ	�<ØÐä×'Ñ'¨°"Ô5ˆ	Ü& q¬#°GÔ*<Ó=�I€CˆÜ×ÑØ�*ØØ!Ø�d zØŸI™I×4Ñ4¸Ñ9ô;ð ;r4   c                 ó¢  — | j                  «        g }t        | «      }| j                  dk(  r<| j                  «        |j                  |«       t        | «      }| j                  dk(  rŒ<|r|j                  dk7  rt        |d«       |r:| j                  dk(  r+| j                  dk(  r| j                  «        t        | «      }n|}d }d }d }d }	| j                  dk(  r3t        | d¬«      \  }
}|r| j                  d	«       t        ||
|«      \  }}|€t        j                  |g ¬
«      }| j                  dk(  rC|j                  dvr&|j                  st        | j                  «       d«       t        | «      \  }}}	| j                  dk(  r.|j                  dk(  rd}nd}t        | t!        |¬«      «      \  }}n| j#                  d«       d }d }|j                  dk(  r|st        |d«       |rŠt        |d«       n}|j                  dk(  r|st        |d«       |s^t        |d«       nQ|j                  dk(  r)|j                  r6|st        |d«       |s&t        |d«       nt        |d|j                  z  «       t%        j&                  ||j                  |j(                  |j                  dj+                  |«      ||||||	|j                  dk(  ||¬«      S )Nr!  r  z6Qualified class name only allowed for 'extern' C classrH   rÿ  rø   Fr‹  z$C classes cannot take keyword bases.rI  r   )rI  r  zBName options only allowed for 'public', 'api', or 'extern' C classrh   r€  r†  r„  r’   z"Syntax error in C class definitionz)Module name required for 'extern' C classz?Type object name specification not allowed for 'extern' C classrI  z>Object struct name specification required for 'public' C classz<Type object name specification required for 'public' C classr+   z;Object struct name specification required for 'api' C classz9Type object name specification required for 'api' C classzInvalid class visibility '%s')r=   r?   r$   rÕ  r�  rÖ  rŒ  Úobjstruct_nameÚtypeobj_nameÚ
check_sizer]  rª  r_  )rM   rP   rI   rS   r=   r   rL   rG  r]  r   rO  r$   rX   Úp_c_class_optionsr<   r¥  r)   r½  r   r“  r?   r×  )rE   rY   r6   rË  r�  rÖ  r‘  r’  rŒ  r“  rA  rB  r.  Ú
body_levelrª  r_  s                   r2   rN  rN  s  s„  € ð ‡F�F„HØ€KÜ˜“€JØ
�$‰$�#Š+Ø	�‰ŒØ×Ñ˜:Ô&Ü˜Q“Zˆ
ð �$‰$�#‹+ñ �s—~‘~¨Ò1ÜˆcÐKÔLÙ�q—t‘t˜w’¨1¯:©:¸Ò+=Ø	�‰ŒÜ˜!“*‰àˆØ€NØ€LØ€EØ€JØ‡t�tˆs‚{Ü(9¸!È%Ô(PÑ%ˆ˜ÙØ�G‰GÐ:Ô;Ü+¨C°À,ÓO‰ˆˆqØ€}Ü×#Ñ# C¨bÔ1ˆà‡t�tˆs‚{Ø�>‰>Ð!5Ñ5¸c¿gºgÜ�!—*‘*“,Ð dÔeÜ3DÀQÓ3GÑ0ˆ˜ jØ‡t�tˆs‚{Ø�9‰9˜Ò$Ø&‰Jà"ˆJÜ*¨1¬c¸
Ô.CÓD‰	ˆ‰Tà	×ÑÐ=Ô>ØˆØˆØ
‡~�~˜Ò!ÙÜ�#ÐBÔCÙÜ�#ÐXÕYØ	�‰˜8Ò	#ÙÜ�#ÐWÔXÙÜ�#ÐUÕVØ	�‰˜9Ò	$Ø�7Š7Ù!Ü�cÐXÔYÙÜ�cÐVÕWäˆcÐ2°S·^±^ÑCÔDÜ×Ñ˜sØ—^‘^Ø×'Ñ'Ø�g‰gØ—h‘h˜{Ó+ØØØØ'Ø#ØØ—‘˜lÑ*ØØôð r4   c                 óò  — d }d }d }| j                  d«       	 | j                  dk7  rn¹| j                  dk(  r| j                  «        t	        | «      }nm| j                  dk(  r| j                  «        t	        | «      }nB| j                  dk(  r3| j                  «        t	        | «      }|dvr| j                  d|z  «       | j                  dk7  rn| j                  «        ŒÉ| j                  d	d
«       |||fS )Nr   rH   ÚobjectrS  r“  )ÚignoreÚwarnr   z/Expected one of ignore, warn or error, found %rrR   rh  z)Expected 'object', 'type' or 'check_size')rp   rI   rL   rM   rP   r   )rE   r‘  r’  r“  s       r2   r”  r”  À  sÜ   € à€NØ€LØ€JØ‡H�HˆS„MØ
Ø�4‰4�7Š?ØØ�:‰:˜Ò!Ø�F‰FŒHÜ$ Q›Z‰NØ�Z‰Z˜6Ò!Ø�F‰FŒHÜ" 1›:‰LØ�Z‰Z˜<Ò'Ø�F‰FŒHÜ  ›ˆJØÐ!<Ñ<Ø—‘ÐIÈJÑVÔWØ�4‰4�3Š;ØØ	�‰Œð! ð" ‡H�HˆSÐ=Ô>Ø˜<¨Ð3Ð3r4   c                 óÀ   — | j                  «       }| j                  «        t        | «      }t        | t	        d¬«      d¬«      \  }}t        j                  ||||¬«      S )Nr…  r’   Tr£  )rO   rª  r_  )rX   rM   rP   r¥  r)   r   ÚPropertyNode)rE   rY   rO   rª  r_  s        r2   r—  r—  Û  sP   € à
�*‰*‹,€CØ‡F�F„HÜ�1‹:€DÜ&Ø	Œ3�ZÔ °ô6�I€Cˆä×Ñ˜c¨°#¸DÔAÐAr4   c                 ó¬   — | j                   dk(  rE| j                  «       }t        | «      }| j                  dd¬«       t	        j
                  ||¬«      S y)zO
    Parses any kind of ignorable statement that is allowed in .pxd files.
    rˆ  zSyntax error in stringTr»  r
  N)rI   rX   r%  r½  r   r  )rE   rY   Ústring_nodes      r2   r˜  r˜  å  sN   € ð
 	‡t�tˆ~ÒØ�j‰j‹lˆÜ˜Q“iˆØ	×ÑÐ1ÀDÐÔIÜ×!Ñ! #¨KÔ8Ð8Ør4   c                 ó®   — | j                   dk(  rF| j                  «       }t        | «      \  }}}| j                  dd¬«       |dv r|S t	        |d«       |S y )Nrˆ  zSyntax error in doc stringTr»  rÕ  ú2Python 3 requires docstrings to be unicode strings)rI   rX   rŸ  r½  r   )rE   rY   r¥  Úbytes_resultÚunicode_results        r2   r¨  r¨  ò  s`   € à‡t�tˆ~ÒØ�j‰j‹lˆÜ-AÀ!Ó-DÑ*ˆˆl˜NØ	×ÑÐ5ÈÐÔMØ�9ÑØ!Ð!Ü�ÐIÔJØÐàr4   c                 ól  — d}| €nØt        | t        j                  «      rD| j                  j                  r¨| j                  }t        j
                  | j                  g ¬«      } nzt        | t        j
                  «      r`| j                  rT| j                  }t        |d   t        j                  «      r+|d   j                  j                  r|d   j                  }|d= |€d}|| fS t        |t        j                  «      r&t        | j                  d«       |j                  }|| fS |j                  }|| fS )z®
    Extract a docstring from a statement or from the first statement
    in a list.  Remove the statement if found.  Return a tuple
    (plain-docstring or None, node).
    NrÛ  r   rŸ  )rí   r   r  rs   Úis_string_literalrá  rY   rÜ  r   r¢  r   r:  )rþ   Údoc_noderÜ  rª  s       r2   r©  r©     s
  € ð €HØ€|ØÜ	�Dœ%×,Ñ,Ô	-Ø�9‰9×&Ò&Ø—y‘yˆHÜ×%Ñ% d§h¡h°bÔ9‰DÜ	�Dœ%×,Ñ,Ô	-°$·*²*Ø—
‘
ˆÜ�e˜A‘h¤× 2Ñ 2Ô3Ø�Q‰x�}‰}×.Ò.Ø  ™8Ÿ=™=�Ø˜!�HàÐØˆð �ˆ9Ðô 
�Hœi×1Ñ1Ô	2Ü�—‘ØDô	Fà�n‰nˆð �ˆ9Ðð �n‰nˆØ�ˆ9Ðr4   c                 óÊ   — t        |  ||¬«      d¬«      }| j                  dk7  r>| j                  dt        | j                  «      ›dt        | j                  «      ›d�«       |S )Nr’   Tri  r'   úSyntax error in statement [rR   rh  )r@  rI   r   rÌ  rL   )rE   r<   r6   r_  s       r2   Úp_coder§     sL   € ä˜A™s¨5Ô1À4ÔH€DØ‡t�tˆu‚}Ø	�ŠÜ�—‘�Jœ˜QŸZ™ZÕ(ð*ô 	+à€Kr4   z$^#\s*cython\s*:\s*((\w|[.])+\s*=.*)$c           
      ó\  — i }| j                   dk(  �rR| j                  «       }t        | j                  «      }|�r	|j	                  d«      j                  «       }	 t        j                  |d¬«      }|D ]‚  }||vrŒt        j                  j                  |«      t        u r||xx   ||   z  cc<   ||   ||<   ŒF||   ||   k(  rt        |d|›�«       Œa| j                  d	|›d
||   ›d||   ›�|¬«       Œ„ d|v r| j                   j#                  |d   «       d|v r|d   | j                   _        |j'                  |«       | j                  «        | j                   dk(  r�ŒR|S # t        $ r;}| j                  |j                  d   d¬«       | j                  «        Y d }~�Œ£d }~ww xY w)NÚcommentliner   T)Úignore_unknownr   Fr‚   zDuplicate directive found: z3Conflicting settings found for top-level directive ú: rõ  r7  r½  Úlegacy_implicit_noexcept)rI   rX   Ú!_match_compiler_directive_commentrL   Úgroupr  r   Úparse_directive_listÚ
ValueErrorr   rk   rM   Údirective_typesrŽ  rN  r   rJ   Úset_language_levelr¬  r/   )rE   r³   rY   ÚmÚdirectives_stringÚnew_directivesÚerO   s           r2   Úp_compiler_directive_commentsr·  -  s™  € à€FØ
�$‰$�-Ó
Ø�j‰j‹lˆÜ-¨a¯j©jÓ9ˆÚØ !§¡¨£
× 0Ñ 0Ó 2ÐðÜ!(×!=Ñ!=Ð>OÐ`dÔ!e�ó '�Ø˜vÑ%ØÜ×,Ñ,×0Ñ0°Ó6¼$Ñ>Ø˜4“L N°4Ñ$8Ñ8“LØ+1°$©<�N 4Ò(Ø# DÑ)¨V°D©\Ò9Ü™CÁDÐ!JÕKà—G’GÚ˜f T›l¨N¸4Ò,@ðBØGJð õ Lð 'ð   >Ñ1à—	‘	×,Ñ,¨^Ð<LÑ-MÔNØ)¨^Ñ;Ø5CÐD^Ñ5_�—	‘	Ô2ð �M‰M˜.Ô)à	�‰ŒðC �$‰$�-Ô
ðD €Møô7 ò Ø—‘˜Ÿ™˜q™	¨�Ô/Ø—‘”Ýûðús   ÁE' Å'	F+Å00F&Æ&F+c                 ó®  — | j                  «       }t        | «      }d| _        | j                  j                  €| j                  j                  d«       |rdnd}t        | «      }t        |  ||¬«      d¬«      }| j                  dk7  r>| j                  d	t        | j                  «      ›d
t        | j                  «      ›d�«       t        |||||¬«      S )NFÚ3r€  rí  r’   Tri  r'   r¦  rR   rh  )rª  r_  Úfull_module_nameÚdirective_comments)rX   r·  r:  rJ   r½  r²  r¨  r@  rI   r   rÌ  rL   r   )	rE   r  rº  r6   rY   r»  r<   rª  r_  s	            r2   Úp_moduler¼  U  s²   € à
�*‰*‹,€Cä6°qÓ9ÐØ€AÔà‡y�y×ÑÐ'Ø	�	‰	×$Ñ$ SÔ)á‰L X€EÜ
�q‹/€CÜ˜A™s¨Ô/ÀÔF€DØ‡t�tˆu‚}Ø	�ŠÜ�—‘�Jœ˜QŸZ™ZÕ(ð*ô 	+ä�c ¨TØ)9Ø+=ô?ð ?r4   c                 ó’   — t        | «      }| j                  dk(  r(| j                  d«       | j                  d«       d}||fS d}||fS )Nr8  r©   FT)rP   rI   rp   )rE   rO   Úrequireds      r2   Úp_template_definitionr¿  j  sN   € ä�1‹:€DØ‡t�tˆs‚{Ø	�‰�ŒØ	�‰�ŒØˆð �ˆ>Ðð ˆØ�ˆ>Ðr4   c           
      ó  — | j                  «        t        | «      }t        | «      }|€|j                  �|j                  dz   |z   }| j                  dk(  rt        |d«       | j                  dk(  r‹| j                  «        t        | «      g}| j                  dk(  r:| j                  «        |j                  t        | «      «       | j                  dk(  rŒ:| j                  d«       |D ��cg c]  \  }}|‘Œ	 }}}nd }d }| j                  dk(  r{| j                  «        t        | |¬«      g}	| j                  dk(  r<| j                  «        |	j                  t        | |¬«      «       | j                  dk(  rŒ<| j                  d	«       ng }	| j                  dk(  rt        | j                  «       d
«       t        | «      }
| j                  dk(  rç| j                  «        | j                  d«       | j                  «        t        | «       g }t        |j                  d|
xs |j                   ¬«      }||_        | j                  dk7  r\| j                  dk7  r|j                  t%        | |«      «       n!| j                  «        | j'                  d«       | j                  dk7  rŒ\| j)                  «        nd }| j'                  d«       t+        j,                  ||||	|j                  |j.                  dk(  ||¬«      S c c}}w )Nr#  r!  z*Qualified class name not allowed C++ classr   rR   rh  rø   r¬  rú   z&Name options not allowed for C++ classrh   r&   rr  )r=   r<   r#   r  r¹  rº  z$Syntax error in C++ class definitionr€  )rO   rþ  Úbase_classesr=   r]  re  rB   )rM   rP   rÿ  rA   rI   r   r¿  rS   rp   rì   rX   r  r[  r¨  r)   r=   r#   rB   Úp_cpp_class_attributer½  r]  r   ÚCppClassNoder<   )rE   rY   r6   r�  rþ  rB   rO   r¾  Útemplate_namesrÁ  r#   re  r^  s                r2   rO  rO  v  sz  € ð ‡F�F„HÜ˜“€JÜ˜‹N€EØ€}˜Ÿ™Ð2Ø—‘ Ñ$ zÑ1ˆØ‡t�tˆs‚{ÜˆcÐ?Ô@Ø‡t�tˆs‚{Ø	�‰ŒÜ*¨1Ó-Ð.ˆ	Ø�d‰d�cŠkØ�F‰FŒHØ×ÑÔ2°1Ó5Ô6ð �d‰d�c‹kð 	
�‰�ŒÙ5>Ô?±Y¡> 4¨š$°YˆÒ?àˆ	ØˆØ‡t�tˆs‚{Ø	�‰ŒÜ% a°^ÔDÐEˆØ�d‰d�cŠkØ�F‰FŒHØ×Ñ¤¨a¸^Ô LÔMð �d‰d�c‹kð 	
�‰��àˆØ‡t�tˆs‚{Üˆa�j‰j‹lÐDÔEÜ�A‹J€EØ‡t�tˆs‚{Ø	�‰ŒØ	�‰�ÔØ	�‰Ôô 	�QŒØˆ
Ü C§N¡N¸+ÈUÒM_ÐVY×V_ÑV_Ô`ˆØ+ˆÔØ�d‰d�hÒØ�t‰t�vŠ~Ø×!Ñ!Ô"7¸¸8Ó"DÕEà—‘”Ø× Ñ Ð!5Ô6ð �d‰d�hÓð 	
�‰Õàˆ
Ø	×ÑÐ?Ô@Ü×Ñ˜cØØØ#Ø—^‘^Ø—‘˜lÑ*ØØôð ùóK @s   Ã,K=c                 ó‚  — | j                  «       }d }| j                  dk(  rt        | «      }| j                  dk(  rt	        | ||«      S | j                  dk(  rt        | |«      S | j                  dk(  r;| j                  t        v r)| j                  dk7  rt	        | ||«      S t        | ||«      S t        | ||«      }|�‚t        j                  t        j                  t        j                  f}|j                  r#|t        j                  t        j                  fz  }t!        ||«      s| j#                  d«       ||_        |S )NrÕ   r*  r~  rH   rø  r  )rX   rI   r�  rL   rO  rŒ  rP  rQ  r\  r   r‘  r’  r“  rC   r”  r•  rí   r   r  )rE   r6   rY   r  rþ   r›  s         r2   rÂ  rÂ  ¶  s  € à
�*‰*‹,€CØ€JØ‡t�tˆs‚{Ü! !“_ˆ
Ø‡z�z�ZÒÜ% a¨¨cÓ2Ð2Ø	
�‰�zÒ	!Ü# A sÓ+Ð+Ø	
�‰�Š˜QŸZ™ZÔ+<Ñ<Ø�:‰:˜ÒÜ)¨!¨S°#Ó6Ð6ä   C¨Ó-Ð-ä*¨1¨c°3Ó7ˆØÐ!Ü×$Ñ$¤e×&7Ñ&7¼×9LÑ9LÐLˆCØ×.Ò.Ø”u×2Ñ2´E×4FÑ4FÐFÑF�Ü˜d CÔ(Ø—‘ÐQÔRØ(ˆDŒOØˆr4   c                 ó  — | j                   dk(  r| j                  dk(  sJ ‚| j                  «       }t        | «      5 }| j	                  «        t        | «      }d }| j                   dk(  r|g}| j                   dk(  rJ| j	                  «        | j                   dk(  rn*|j                  t        | «      «       | j                   dk(  rŒJ|�t        j                  ||¬«      }| j                  d«       d d d «       ry | j                  «        | j                  «        g }| j                   dk7  r+|j                  t        | |«      «       | j                   dk7  rŒ+| j                  «        t        j                   ||¬«      S # 1 sw Y   Œ�xY w)NrH   r¡  rR   rh   rI  r  )ÚsubjectÚcases)rI   rL   rX   r   rM   r‰   rS   rq   r   rO  rp   r½  r[  Úp_case_blockr]  r   Ú	MatchNode)rE   r6   rY   rP  rÇ  ÚsubjectsrÈ  s          r2   rš  rš  Ñ  s@  € à�4‰4�7Š?˜qŸz™z¨WÒ4Ð4Ð4Ø
�*‰*‹,€CÜ	˜!Ô	 Ø	�‰ŒÜ" 1Ó%ˆØˆØ�4‰4�3Š;Ø�yˆHØ�d‰d�cŠkØ�F‰FŒHØ�t‰t�sŠ{ØØ�O‰OœF 1›IÔ&ð	 �d‰d�c‹kð
 ÐÜ×)Ñ)¨#°HÔ=ˆGØ	�‰�Œ÷ 
ñ Øð ×ÑÔØ‡O�OÔØ€EØ
�$‰$�(Ò
Ø�‰”\ ! SÓ)Ô*ð �$‰$�(Ó
à‡O�OÔÜ×#Ñ# C°ÀÔFÐF÷7 
Ð	ús   ¼BE>Ã*E>Å>Fc                 óX  — | j                   dk(  r| j                  dk(  s| j                  d«       | j                  «        | j	                  «       }t        | «      }d }| j                   dk(  r| j                  «        t        | «      }t        | |«      }t        j                  ||||¬«      S )NrH   Úcaserz   )r5  r_  Úguard)
rI   rL   r4  rM   rX   Ú
p_patternsrq   r
  r   ÚMatchCaseNode)rE   r6   rY   r5  rÎ  r_  s         r2   rÉ  rÉ  ó  s…   € à�D‰D�GŠO §
¡
¨fÒ 4Ø	�
‰
�6ÔØ‡F�F„HØ
�*‰*‹,€CÜ˜‹m€GØ€EØ‡t�tˆt‚|Ø	�‰ŒÜ�q“	ˆÜ�1�c‹?€Dä×'Ñ'¨°WÀ4ÈuÔUÐUr4   c                 ó²  — g }d}| j                  «       }	 t        | «      5 }t        | «      }d d d «       r5|rnu|d   }| j                  |j                  d   |j                  d   ¬«       |j                  «       | j                  dk(  r!d}| j                  «        | j                  dv rnnŒ™|rt        j                  ||¬«      S |d   S # 1 sw Y   Œ¡xY w)	NFTr   r   r7  rR   )rh   rz   ©Úpatterns)
rX   r   Úp_maybe_star_patternr   rk   rS   rI   rM   r   ÚMatchSequencePatternNode)rE   rÓ  ÚseqrY   rP  r5  r¶  s          r2   rÏ  rÏ    sÎ   € ð €HØ
€CØ
�*‰*‹,€CØ
Ü˜aÔ  FÜ*¨1Ó-ˆG÷ !áÙØà˜1‘I�Ø—‘˜Ÿ™˜q™	 q§v¡v¨a¡y�Ô1Ø�‰˜Ô à�4‰4�3Š;ØˆCØ�F‰FŒHØ�t‰t�{Ñ"Øàð# ñ& Ü×6Ñ6°sÀXÔNÐNà˜‰{Ð÷+ !Ð ús   ¡CÃCc                 ó  — | j                   dk(  re| j                  «        d }| j                  dk7  rt        | «      }n| j                  «        t	        j
                  | j                  «       |d¬«      }|S t        | «      }|S )Nr©   r.  T)r  Úis_star)rI   rM   rL   Úp_pattern_capture_targetr   ÚMatchAndAssignPatternNoderX   Ú	p_pattern)rE   r  r5  s      r2   rÔ  rÔ  #  sn   € ð 	‡t�tˆs‚{à	�‰ŒØˆØ�:‰:˜ÒÜ-¨aÓ0‰Fà�F‰FŒHÜ ×:Ñ:Ø�J‰J‹L °ô
ˆð ˆä˜A“,ˆØˆr4   c                 óT  — g }| j                  «       }	 |j                  t        | «      «       | j                  dk7  rn| j	                  «        Œ;t        |«      dkD  rt        j                  ||¬«      }n|d   }| j                  dk(  rò| j                  dk(  rã| j	                  «        t        | «      5 }|j                  j                  t        | «      «       d d d «       rV| j                  dk(  rG| j	                  «        t        j                  |d   j                  d   |d   j                  d   ¬«      S |rAt        | «      5  t        | «      }t        j                  |j                   d	¬«      cd d d «       S |S # 1 sw Y   Œ¦xY w# 1 sw Y   nxY w| j#                  |d   «       Œ/)
NrÂ   r   )Úalternativesr   rH   rÿ  r.  ©ÚwhatzInvalid pattern target)rX   rS   Úp_closed_patternrI   rM   r?  r   ÚOrPatternNoderL   r   Ú
as_targetsrÙ  r   Ú	ErrorNoderk   rq   rY   r   )rE   rÓ  rY   r5  rP  rs   s         r2   rÛ  rÛ  7  sX  € ð €HØ
�*‰*‹,€CØ
Ø�‰Ô(¨Ó+Ô,Ø�4‰4�3Š;ØØ	�‰Œð	 ô ˆ8ƒ}�qÒÜ ×.Ñ.ØØ!ô
‰ð
 ˜1‘+ˆà‡t�tˆw‚˜1Ÿ:™:¨Ò-Ø	�‰ŒÜ˜aÔ  FØ×Ñ×%Ñ%Ô&>¸qÓ&AÔB÷ !á�a—d‘d˜c’kØ�F‰FŒHä—?‘? 6¨!¡9§>¡>°!Ñ#4¸6À!¹9¿>¹>È!Ñ;LÔMÐMÙÜ! !Õ$Ü˜a“y�Ü—‘ t§x¡xÐ6NÔO÷ %Ñ$ð €N÷ !Ð ú÷ %Ð$úð �G‰G�F˜1‘IÔøs   Â3%E=Å,F	Å=FÆ	Fc                 óJ  — | j                   dk(  rD| j                  dk(  r5| j                  «       }| j                  «        t	        j
                  |«      S | j                   dk(  rt        | «      S | j                   dk(  rt        | «      S | j                   dk(  r8t        | «      5 }t        | «      }|s|cddd«       S 	 ddd«       t        | «      S t        | «      5 }t        | «      }|s|cddd«       S 	 ddd«       t        | «      5 }t        | «      }|s|cddd«       S 	 ddd«       t        | «      5 }t        | «      }|s|cddd«       S 	 ddd«       t        | «      S # 1 sw Y   t        | «      S xY w# 1 sw Y   Œ„xY w# 1 sw Y   ŒcxY w# 1 sw Y   t        | «      S xY w)a	  
    The PEG parser specifies it as
    | literal_pattern
    | capture_pattern
    | wildcard_pattern
    | value_pattern
    | group_pattern
    | sequence_pattern
    | mapping_pattern
    | class_pattern

    For the sake avoiding too much backtracking, we know:
    * starts with "{" is a sequence_pattern
    * starts with "[" is a mapping_pattern
    * starts with "(" is a group_pattern or sequence_pattern
    * wildcard pattern is just identifier=='_'
    The rest are then tried in order with backtracking
    rH   r.  rƒ  r   rø   N)rI   rL   rX   rM   r   rÚ  Úp_mapping_patternÚp_sequence_patternr   Úp_group_patternÚp_literal_patternÚp_capture_patternÚp_value_patternÚp_class_pattern)rE   rY   rP  r³   s       r2   rà  rà  [  sr  € ð( 	‡t�tˆw‚˜1Ÿ:™:¨Ò,Ø�j‰j‹lˆØ	�‰ŒÜ×7Ñ7¸Ó<Ð<Ø	
�‰�ŠÜ  Ó#Ð#Ø	
�‰�ŠÜ! !Ó$Ð$Ø	
�‰�ŠÜ˜aÔ  FÜ$ QÓ'ˆFÙØ÷ !Ñ à÷ !ô " !Ó$Ð$ä	˜!Ô	 Ü" 1Ó%ˆÙØ÷ 
Ñ	à÷ 
ô 
˜!Ô	 Ü" 1Ó%ˆÙØ÷ 
Ñ	à÷ 
ô 
˜!Ô	 Ü  Ó#ˆÙØ÷ 
Ñ	à÷ 
ô ˜1ÓÐ÷% !ô " !Ó$Ð$úç	Ð	ú÷ 
Ð	ú÷ 
ô ˜1ÓÐús0   Â"E!ÃE7ÄFÄ4FÅ!E4Å7F ÆFÆF"c           	      óÔ  — d}d}| j                   dk(  r.| j                   }| j                  «       }| j                  «        d}| j                   }| j                  «       }d }|dk(  rt        | «      }n8|dk(  r3| j                  }| j                  «        t        j                  ||¬«      }|�|dk(  rt        j                  |¬«      }|�¶| j                   d	v r¨| j                   }| j                  «        | j                   d
k7  r| j                  d«       nk| j                  «       }| j                  d d }| j                  «        t        j                  |||t        j                  | j                  «       |¬«      ¬«      }|€Z|d
k(  rU| j                  d d }| j                  «        t        j                  |||z   ¬«      }|dk(  rt        j                  |¬«      }|�t        j                  ||¬«      S |r| j                  d«       |dk(  r"t        | «      }t        j                  ||¬«      S |dk(  r%t        | «      }	|	rt        j                  ||	d¬«      S | j                  d«       y )NFr°  rÒ   Tr…  r†  r9  r˜   rÐ   r‡  zExpected imaginary numberr;  )rŸ   r    zExpected a numberrˆ  rH   )r:  Úis_is_checkzFailed to match literal)rI   rX   rM   r�  rL   r   r�  ÚUnaryMinusNoder   r^   r‘  r   ÚMatchValuePatternNoder’  r“  )
rE   Únext_must_be_a_numberÚsignÚsign_posrI   rY   Úresr:  Úadd_posr³   s
             r2   rè  rè  �  s  € ð "ÐØ€DØ‡t�tˆs‚{Ø�t‰tˆØ—:‘:“<ˆØ	�‰ŒØ $Ðà	
�‰€BØ
�*‰*‹,€Cà
€CØ	ˆU‚{Ü˜AÓ‰Ø	ˆwŠØ—
‘
ˆØ	�‰ŒÜ×!Ñ! #¨UÔ3ˆà
€˜4 3š;Ü×&Ñ& x¸Ô=ˆà
€˜1Ÿ4™4 :Ñ-Ø�t‰tˆØ	�‰ŒØ�4‰4�6Š>Ø�G‰GÐ/Õ0à—j‘j“lˆGØ—J‘J˜s �OˆEØ�F‰FŒHÜ×&Ñ&ØØØÜ"×+Ñ+¨A¯J©J«LÀÔFô	ˆCð €{�r˜V’|Ø—
‘
˜3˜B�ˆØ	�‰ŒÜ× Ñ  ¨D°©JÔ7ˆØ�3Š;Ü×*Ñ*¨8¸SÔAˆCà
€Ü×3Ñ3°C¸sÔCÐCáØ	�‰Ð#Ô$Ø	ˆ^ÒÜ˜AÓˆä×3Ñ3°C¸sÔCÐCØ	ˆwŠô (¨Ó*ˆÙÜ!×7Ñ7¸À6ÐW[Ô\Ð\à‡G�GÐ%Õ&r4   c                 ó^   — t        j                  | j                  «       t        | «      ¬«      S )N)r  )r   rÚ  rX   rÙ  r�   s    r2   ré  ré  Ð  s&   € ä×3Ñ3Ø	�
‰
‹Ü'¨Ó*ôð r4   c                 ó8  — | j                   dk7  r| j                  d«       | j                  «       }t        | | j                  «      }| j                  «        | j                   dk7  r| j                  d«       | j                   dk(  rS| j                  «       }| j                  «        t        | «      }t        j                  |||¬«      }| j                   dk(  rŒS| j                   dv r| j                  d| j                   z  «       t        j                  ||¬«      S )NrH   úExpected identifierr!  r.  )rø   r8  zUnexpected symbol '%s'r9  )rI   r   rX   r”  rL   rM   rP   r   r2  r   rï  )rE   rY   ró  Úattr_posÚattrs        r2   rê  rê  Ø  sÔ   € à‡t�tˆw‚Ø	�‰Ð%Ô&Ø
�*‰*‹,€CÜ
��A—J‘JÓ
€CØ‡F�F„HØ‡t�tˆs‚{Ø	�‰�ŒØ
�$‰$�#Š+Ø—:‘:“<ˆØ	�‰ŒÜ�q‹zˆÜ×%Ñ% h°CÀ4ÔHˆð	 �$‰$�#‹+ð
 	‡t�tˆzÑØ	�‰Ð(¨1¯4©4Ñ/Ô0Ü×/Ñ/°¸3Ô?Ð?r4   c                 ó`   — | j                  d«       t        | «      }| j                  d«       |S )Nrø   rú   )rp   rÛ  )rE   r5  s     r2   rç  rç  ë  s&   € à‡H�HˆS„MÜ˜‹l€GØ‡H�HˆS„MØ€Nr4   c                 óè  — | j                   }| j                  «       }|dv rÁ|dk(  rdnd}| j                  «        g }| j                   |k7  ro|j                  t	        | «      «       | j                   dk(  r| j                  «        n%|dk(  rt        |«      dk(  r| j                  d«       n| j                   |k7  rŒo| j                  |«       t        j                  ||¬	«      S | j                  d
«       y )Nr  r   rh  rú   rR   rø   r   z3tuple-like pattern of length 1 must finish with ','rÒ  zExpected '[' or '(')
rI   rX   rM   rS   rÔ  r?  r   rp   r   rÕ  )rE   ÚopenerrY   ÚcloserrÓ  s        r2   ræ  ræ  ó  sÇ   € à�T‰T€FØ
�*‰*‹,€CØ�ÑØ #š‘¨3ˆØ	�‰ŒàˆØ�d‰d�fŠnØ�O‰OÔ0°Ó3Ô4Ø�t‰t�sŠ{Ø—‘•à˜S’=¤S¨£]°aÒ%7Ø—G‘GÐQÔRØð �d‰d�f‹nð 	
�‰�ÔÜ×6Ñ6°sÀXÔNÐNà	�‰Ð%Õ&r4   c           	      ó�  — | j                  «       }| j                  d«       | j                  dk(  r%| j                  «        t	        j
                  |«      S d }g }d }| j                  dk7  râ|r|s| j                  «       }| j                  dk(  r| j                  «        t        | «      }nst        | «      5 }t        | «      }|j                  }d d d «       rt        | «      }|j                  }| j                  d«       t        | «      }|j                  |f«       | j                  dk7  rn | j                  «        | j                  dk7  rŒâ| j                  d«       |�t        j                  |d¬«      S t	        j
                  ||D �	cg c]  }	|	d   ‘Œ	 c}	|D �	cg c]  }	|	d	   ‘Œ	 c}	|¬
«      S # 1 sw Y   ŒæxY wc c}	w c c}	w )Nrƒ  r  r"  rh   rR   z7** pattern must be the final part of a mapping pattern.rÞ  r   r   )ÚkeysÚvalue_patternsÚdouble_star_capture_target)rX   rp   rI   rM   r   ÚMatchMappingPatternNoderÙ  r   rè  r:  rê  rÛ  rS   r   rã  )
rE   rY   r  Úitems_patternsÚstar_star_arg_posrP  r5  rK  r:  Úkvs
             r2   rå  rå  
  s‘  € à
�*‰*‹,€CØ‡H�HˆS„MØ‡t�tˆs‚{à	�‰ŒÜ×5Ñ5°cÓ:Ð:à!%ÐØ€NØÐØ
�$‰$�#Š+Ù%Ñ.?Ø !§
¡
£ÐØ�4‰4�4Š<Ø�F‰FŒHÜ)AÀ!Ó)DÑ&ô " !Ô$¨Ü+¨AÓ.�Ø—m‘m�÷ %ñ Ü)¨!Ó,�Ø—m‘m�Ø�H‰H�SŒMÜ˜a“LˆEØ×!Ñ! 3¨ ,Ô/Ø�4‰4�3Š;ØØ	�‰Œð' �$‰$�#‹+ð( ‡H�HˆS„MàÐ$Ü�‰ØØLô
ð 	
ô ×1Ñ1ØÙ .Ó/¡˜"��1“ Ñ/Ù*8Ó9©. B˜"˜Q›%¨.Ñ9Ø%?ô	ð ÷' %Ð$üò* 0ùÚ9s   Â5F2ÆF>
ÆGÆ2F;c                 ó@  — | j                  «       }t        | | j                  «      }| j                  «        | j                  dk(  rS| j                  «       }| j                  «        t        | «      }t        j                  |||¬«      }| j                  dk(  rŒS|}| j                  d«       | j                  dk(  r'| j                  «        t        j                  ||¬«      S g }g }d }| j                  dk7  r¡t        | «      5 }	|j                  t        | «      «       d d d «       	s|r?| j                  «       }n.t        | «      5 }	|j                  t        | «      «       d d d «       | j                  dk7  rn | j                  «        | j                  dk7  rŒ¡| j                  d«       |�t        j                   |d¬«      S t        j                  ||||D �
cg c]  }
|
d	   ‘Œ	 c}
|D �
cg c]  }
|
d
   ‘Œ	 c}
¬«      S # 1 sw Y   ŒâxY w# 1 sw Y   Œ«xY wc c}
w c c}
w )Nr!  r.  rø   rú   )Úclass_rR   z+Positional patterns follow keyword patternsrÞ  r   r   )r  Úpositional_patternsÚkeyword_pattern_namesÚkeyword_pattern_patterns)rX   r”  rL   rM   rI   rP   r   r2  rp   r   ÚClassPatternNoder   rS   rÛ  Úp_keyword_patternr   rã  )rE   rY   ró  rø  rù  r  r  Úkeyword_patternsÚkeyword_patterns_errorrP  r  s              r2   rë  rë  9  sÔ  € ð �*‰*‹,€CÜ
��A—J‘JÓ
€CØ‡F�F„HØ
�$‰$�#Š+Ø—:‘:“<ˆØ	�‰ŒÜ�q‹zˆÜ×%Ñ% h°CÀ4ÔHˆð	 �$‰$�#‹+ð
 €Fà‡H�HˆS„MØ‡t�tˆs‚{à	�‰ŒÜ×.Ñ.¨s¸6ÔBÐBð ÐØÐØ!ÐØ
�$‰$�#Š+Ü˜aÔ  FØ×&Ñ&¤y°£|Ô4÷ !áÙØ)*¯©«Ñ&ä! !Ô$¨Ø ×'Ñ'Ô(9¸!Ó(<Ô=÷ %à�4‰4�3Š;ØØ	�‰Œð �$‰$�#‹+ð ‡H�HˆS„MàÐ)Ü�‰Ø"Ø>ô
ð 	
ô ×*Ñ*Ø�fØ1Ù1AÓ BÑ1A¨2  A£Ð1AÑ BÙ4DÓ#EÑ4D¨b B q£EÐ4DÑ#Eô	ð ÷% !Ð ú÷ %Ð$üò !CùÚ#Es$   ÄG>ÅH
ÇHÇ*HÇ>HÈ
Hc                 óÎ   — | j                   dk7  r| j                  d«       t        | | j                  «      }| j	                  «        | j                  d«       t        | «      }||fS )NrH   r÷  r8  )rI   r   r”  rL   rM   rp   rÛ  )rE   rã   r:  s      r2   r  r  k  sQ   € à‡t�tˆw‚Ø	�‰Ð%Ô&Ü
��A—J‘JÓ
€CØ‡F�F„HØ‡H�HˆS„MÜ�a‹L€EØ�ˆ:Ðr4   c                 ó*  — | j                   dk7  r| j                  d«       | j                  dk(  r| j                  d«       t        | | j                  «      }| j	                  «        | j                   dv r| j                  d| j                   z  «       |S )NrH   r÷  r.  z$Pattern capture target cannot be '_')r!  rø   r8  zIllegal next symbol '%s')rI   r   rL   r”  rM   )rE   r  s     r2   rÙ  rÙ  v  su   € ð 	‡t�tˆw‚Ø	�‰Ð%Ô&Ø‡z�z�SÒØ	�‰Ð6Ô7Ü�A�q—z‘zÓ"€FØ‡F�F„HØ‡t�tˆÑØ	�‰Ð*¨Q¯T©TÑ1Ô2Ø€Mr4   r<   c                 ót  — d|z  }| j                  |«       |r| j                  |› d�«       |s| j                  d«       y t        |«      t        u rM| j                  d|d   › d|d   › d�«       |d	d  D ]  }t        | ||dz   «       Œ | j                  |› d
�«       y t	        |t
        j                  «      rw	 |j                  }| j                  |› d|j                  › d�«       t        |j                  j                  «       «      D ]"  \  }}|dk7  sŒ|dk7  sŒt        | ||dz   |«       Œ$ y t        |«      t        u r=| j                  d«       |D ]  }t        | ||dz   «       Œ | j                  |› d�«       y | j                  |› |› d�«       y # t        $ r |j                  j                  }Y Œðw xY w)Nz  r«  zNone
rø   r   z @ r   rì  r!   z)
ÚtagrY   z[
z]
)ÚwriterS  rQ  Úprint_parse_treerí   r   ÚNoder  rð  rÒ  r9   rY   rú  r.   rr  rN  )	rš  rþ   r<   rK  Úindr\  r  rO   r:  s	            r2   r  r  ‹  s‘  € à�e‰|€CØ‡G�GˆC„LÙ
Ø	�‰�3�%�r�
ÔÙØ	�‰�ÕÜ	ˆd‹”uÑ	Ø	�‰�!�D˜‘G�9˜C  Q¡˜y¨Ð+Ô,Ø˜˜“HˆDÜ˜Q  e¨A¡gÕ.ð à	�‰�3�%�s�ÕÜ	�Dœ%Ÿ*™*Ô	%ð	*Ø—(‘(ˆCð 	
�‰�3�%�s˜4Ÿ8™8˜* BÐ'Ô(Ü! $§-¡-×"5Ñ"5Ó"7Ö8‰KˆD�%Ø�u‹} ¨£Ü   E¨5°©7°DÕ9ñ 9ô 
ˆd‹”tÑ	Ø	�‰�ŒÛˆDÜ˜Q  e¨A¡gÕ.ð à	�‰�3�%�s�Õà	�‰�3�%˜�v˜RÐ Õ!øô ò 	*Ø—.‘.×)Ñ)ŠCð	*ús   Â:F ÆF7Æ6F7rD   )zExpected an identifier)T)NN)r˜  r-   )F)r   )TF)FN)FFFT)NF)rú   T)ürº  rt  r—  rQ  rr  Úior   r   Úunicodedatar   r	   Ú	functoolsr   r   ÚScanningr   r   r   r°  r   r   r   r   r   r   r   r   ÚErrorsr   r   r    r   r
   r   r   Ú	frozensetrÿ   r)   ÚcfuncrP   rU   r[   rf   rt   rq   rw   r‰   r   r   rŽ   r�   r•   r›   rª   r¬   r¡   r¥   r£   r¢   r®   rÃ   rÇ   rÊ   rÎ   rÓ   r×   rÙ   rà   rá   r  r  r  râ   r$  r&  rë  rG  r]  r+  r1  ri  rN  rq  rt  rz  rk  Úccallr|  r%  r’  r“  r�  r”  rÄ  rŸ  r¼  râ  ræ  rñ  rý  rÖ  r  rí  r0  r%  r  rí  r‹  r`  rX  r^  rŒ  r�  r‡  r‰  r[  r  r!  rŠ  r@  r…  r–  r™  r§  r®  r³  r¶  r¿  rÂ  rÅ  rÈ  rÐ  rå  rú  rî  rÝ  rü  r  r  r  r  r  r  re  r  r  r!  r%  r  r  r3  r0  rG  rK  r  rM  rS  rJ  rk  rn  rq  rv  r|  rŸ  r@  r
  r¥  r´  rì   r¼  r»  r¸  r¹  rÄ  rÂ  rÃ  rß  rû   rÎ  rÒ  rÑ  rÏ  rû  rá  rP  rÐ  rÿ  rò   r	  r  r+  r  r  r  r  r:  r  r  r;  rŸ  rG  r�  rM  rL  r_  r^  ra  rf  rR  rQ  rK  ro  r\  rŒ  r�  r  r  ro   r‡  r–  rN  r”  r—  r˜  r¨  r©  r§  Úcompiler¡  r­  r·  r¼  r¿  rO  rÂ  rš  rÉ  rÏ  rÔ  rÛ  rà  rè  ré  rê  rç  ræ  rå  rë  r  rÙ  rõ  r  rD   r4   r2   Ú<module>r      s6  ðó Ø €‡�ó B‘Vð B¡vð B¹Vð BÙ#ðBÙ4:ðBá$*ðBá?EðBñ ðBñ '-ðBñ 5;ðBñ EKðBñ ð	Bñ +1ð	Bñ 9?ð	Bñ JPð	Bñ Y_ð	Bñ
 ðBñ
 39ðBñ
 W]ðBñ ðBñ '-ðBñ  %ðBñ =AñBõ Û 	Ý 4ß %ç JÑ JÝ Ý Ý Ý Ý ß 8Ý "ß 0Ñ 0Ý Ý Ý ð -€Ø&˜Ÿ™ y±)ð =ó 3ó Ð ÷ñ ð0 ‡�òˆ|ò ó ðð ‡�ð�Lò ó ðð  ‡�ð˜ð ¨ò ó ðð�Ló ð  ‡�ð�ò ó ðð( ‡�ð
ˆlò 
ó ð
ð ‡�ð ò ó ðð ‡�ð˜ò ó ðð*  $¨5Ñ1Ð à‡�ð4�ò 4ó ð4ð
˜<ó ð$ ‡�ð5�,ò 5ó ð5ð ‡�ð�,ò ó ðð ‡�ð
�Lò 
ó ð
ð ‡�ð˜lò ó ðð ‡�ð#¨ò #ó ð#ð ‡�ð
�lò 
ó ð
ð ‡�ð�lò ó ðð ‡�ð�ò ó ðð(  �—‘ 	©9ð 6ó ,ó €ð ‡�ð/�,ò /ó ð/ð ‡�ð/�,ò /ó ð/ð ‡�ð1�,ò 1ó ð1ð ‡�ð7�Lò 7ó ð7ð ‡�ð/�Lò /ó ð/ð ‡�ðAˆlò Aó ðAð ‡�ð�ò ó ðð
 ‡�ð�ò ó ðð( ‡�ð�,ò ó ðð> ‡�ð�ò ó ðð( ‡�ØK`ñ 5˜,ð 5¸yò 5ó ð5ð, ‡�ð?˜ò ?ó ð?ð ‡�ðF˜ò Fó ðFð, ‡�ðˆ|ò ó ðð( ‡�ðF�,ò Fó ðFð ‡�ð
'�ò 
'ó ð
'ð, ‡�ò/1˜ð /1°V·[±[ð /1ÈEò /1ó ð/1ðd ‡�ð'#ÀEò '#ó ð'#ðT ‡�ð
Zˆlò 
Zó ð
Zð" ‡�ðˆ|ò ó ðð* ‡�ð	"˜ð 	"¨ò 	"ó ð	"ð ‡�ð�<ð  Dò ó ðð  ‡�ð�|ò ó ðð ‡�ð�|ò ó ðð ‡�ð¨ò ó ðð ‡�ó1ó ð1ð ‡�ð)5ˆlò )5ó ð)5ðX ‡�ð1�\ò 1ó ð1ð. ‡�ð˜lò ó ðð, ‡�ð2�\ò 2ó ð2ð@ ‡�ð.ˆlò .ó ð.ð ‡�ñ"ó ð"ðJ ‡�ð0,˜Lð 0,¨Uò 0,ó ð0,ðf ‡�ò7˜Lð 7¸ò 7ó ð7ð ‡�ð¨f¯k©kò ó ðð ‡�ðØðà—‘òó ðð: ‡�ð¨ð °ò ó ðð  ‡�òK.˜ð K.¸Uò K.ó ðK.ð\ ‡�ð# <ð #°Cò #ó ð#ð ‡�ðj \ð jØ(.¯©ðjØGMÇ{Á{ðjà06·±ðjàCGòjó ðjðX ‡�ð&˜<ð &Ø &§¡ð&Ø?E¿{¹{ð&à*0¯+©+ð&ð )/¯©ð&ð <@ò&ó ð&ðP ‡�ð)˜<ð )¨Eò )ó ð)ð ‡�ð&(¸Cð &(ÀLò &(ó ð&(ð` ‡�ð/�Lò /ó ð/ð< ‡�ð�<ò ó ðð ‡�ð(�,ò (ó ð(ð ‡�ð�ò ó ðð, ‡�ðjZ˜<ò jZó ðjZð\ ‡�ð3˜ò 3ó ð3ð  ‡�ò˜,ð °dò ó ðð ‡�ò <ð ¸tò ó ðð ‡�ò¨\ð Èò ó ðð ‡�ð�,ò ó ðð ‡�ð˜Lò ó ðð ‡�ð
�|ò 
ó ð
ð ‡�ðB�ò Bó ðBð "�6—>‘> )©Yð 8/ó .0ó 1Ð ð ‡�ð0˜,ò 0ó ð0ð ‡�ð2˜Lò 2ó ð2ð ‡�ð0W ,ò 0Wó ð0Wðf ‡�ð,˜ò ,ó ð,ð8 ‡�ð.˜ò .ó ð.ð8 ‡�ð/�|ò /ó ð/ð ‡�ò#˜ð #°F·K±Kò #ó ð#ð ‡�ð$˜ò $ó ð$ð ‡�ð'˜Lò 'ó ð'ð ‡�ð4˜,ò 4ó ð4ð ‡�ð*˜ò *ó ð*ð: ‡�ð0˜,ò 0ó ð0ð@ ‡�òM˜|ð M¸f¿k¹kò Mó ðMð` ‡�ð �|ð  ¨ò  ó ð ð ‡�ð
R�\ð 
R¨v¯{©{ð 
R¸uò 
Ró ð
Rð ‡�ð�ò ó ðð ‡�ð
B˜,ò 
Bó ð
Bð ‡�ð
<�lò 
<ó ð
<ð ‡�ð'�<ò 'ó ð'ð ‡�ð�\ò ó ðð ‡�ð	#˜ò 	#ó ð	#ð ‡�ò(�|ð (¨v¯{©{ò (ó ð(ð ‡�ò)�Lð )°&·+±+ð )ÐPV×P[ÑP[ð )Ðhlò )ó ð)ðX ‡�ð7˜<ò 7ó ð7ð ‡�ð�|ò ó ðð &�v—~‘~ i±ð <ó 2ó Ð ð ‡�ð�ð ¨#ò ó ðð  ‡�ð�Lò ó ðð ‡�òe�lð e°F·K±Kð eÐRX×R]ÑR]ò eó ðeð ‡�ð2�|ò 2ó ð2ð8 ‡�ð0�|ò 0ó ð0ð> ‡�ð'˜<ò 'ó ð'ð* ‡�ð˜ò ó ðð ‡�ò�Lð ¨F¯K©Kò ó ðð@ ‡�ð
˜ð 
°·±ð 
Àò 
ó ð
ð ‡�ðe�<ð e¨6¯;©;ð e¸5ò eó ðeð: ‡�ðD�|ò Dó ðDð2 ‡�ò ˜,ð  ¸¿¹ò  ó ð ðF ‡�ò!˜|ð !À6Ç;Á;ò !ó ð!ðH ‡�ð˜<ò ó ðð ‡�ð#�|ò #ó ð#ð ‡�ð�lò ó ðð8 ‡�òvX�<ð vX°v·{±{ò vXó ðvXðr ‡�ò6˜ð 6¸F¿K¹Kò 6ó ð6ð$ ‡�Ù!$£ñ Bˆ|ò Bó ðBð ‡�ò˜lð ÀÇÁð ÐX]ò ó ðð. ‡�ò6) \ð 6)ÐTYò 6)ó ð6)ðr ‡�òO�\ð O¨V¯[©[ò Oó ðOð ‡�ð!˜Lò !ó ð!ð *˜6Ÿ>™>¨)±Yð @*ó 6+ó ,Ð ð ‡�ò˜\ò ó ðð: ‡�ò_˜Lð _°F·K±Kò _ó ð_ðD ‡�ð˜Lò ó ðð4 ‡�ð ð °&·+±+ò ó ðð, ‡�ð ò ó ðð" ‡�ðJ�|ð J¨¯©ò Jó ðJð ‡�ð'�|ð '¨¯©ò 'ó ð'ðT ‡�ðC˜Lð C¨V¯[©[ò Có ðCð
 ‡�ð	˜lð 	¨v¯{©{ò 	ó ð	ð $�V—^‘^ I©yð :6ó 07ó 8Ð ð '˜Ÿ™ tàØØØØØØØñ
.ó 
Ð ð )˜&Ÿ.™.¨±Ið ?+ó 5,ó -Ð ð '˜Ÿ™ØØØñáÐ%Ó&ñ'ó(Ð ð #�F—N‘N 9©ið 9)ó /*ó +Ð ð ‡�ð˜<ð ¨Eò ó ðð  ‡�ð�<ò ó ðð ‡�Ù*-«%Ø(-ÀeÐinØ-2ÈEØ=Bñ"�lð "Ø Ÿ+™+ð"Ø8>¿¹ð"Ø[a×[fÑ[fð"à%Ÿ{™{ð"à>D¿k¹kð"ð 06¯{©{ò"ó ð"ðJ ‡�ðI˜Lò Ió ðIð ‡�ði˜<ð iÀvÇ{Á{ò ió ðið2 "0 §¡°	¹9ð Fó <ó "Ð ð ‡�ðO˜\ð OØ!'§¡ðOØ7=·{±{ðOØRX×R]ÑR]ðOà&,§k¡kðOà=C¿[¹[òOó ðOðd ‡�ðˆ|ð  §¡ò ó ðð ‡�ð�,ð  6§;¡;ò ó ðð ‡�ðA* ð A*¸¿¹ð A*Èò A*ó ðA*ðH (˜Ÿ™¨	±9ð >%ó 4&ó 'Ð ð ‡�Ù(+«Ø*/ÈUØ5:ÐSXØ*.ñ�Lð Ø"ŸK™KðØ?E¿{¹{ðà'-§{¡{ðàEKÇ[Á[ðð #ŸK™Kðð 48òó ðð& ‡�ð˜<ð ¨F¯K©Kò ó ðð ‡�Ø[`Ø).ØHLò3�Lð 3°&·+±+ð 3ÈVÏ[É[ð 3Ø!Ÿ;™;ð3à Ÿ+™+ð3à:@¿+¹+ò3ó ð3ðl ‡�ð	4�Lò 	4ó ð	4ð ‡�ðˆ\ð ˜fŸk™kò ó ðð ‡�ð&8˜ò &8ó ð&8ðR ‡�ð-�Lò -ó ð-ð ‡�ð#˜<ò #ó ð#ð4 ‡�ð<@˜<ò <@ó ð<@ð~ ‡�ð
7�\ð 
7¨tò 
7ó ð
7ð ‡�ð4�\ð 4¨tò 4ó ð4ð ‡�ð*L lò *Ló ð*LðZ ‡�ð <˜,ò  <ó ð <ðF ‡�ð;�\ò ;ó ð;ð ‡�ð�Lò ó ðð ‡�ð�\ð  dò ó ðð ‡�ðA <ò Aó ðAðH ‡�ð0˜Lò 0ó ð0ð4 ‡�ð�Lð  Tò ó ðð ‡�ð <ò ó ðð ‡�ò7�|ð 7°ð 7ÈFÏKÉKó 7ó ð7ð@ ‡�ò"*�\ð "*¨v¯~©~ð "*ÐPV×P[ÑP[ð "*Ðgló "*ó ð"*ðJ ‡�òJ�\ð J¨f¯k©kó Jó ðJð ‡�ð;˜ó ;ó ð;ð. ‡�ðI˜Ló Ió ðIðX ‡�ð4˜ð 4¨%ó 4ó ð4ð4 ‡�ðB�|ó Bó ðBð ‡�ð	˜\ó 	ó ð	ð ‡�ð
�Ló 
ó ð
ð ‡�ð ó ó ðð> ‡�Ø"&¨Cñ ˆló ó ðð %3 F§N¡N°6¸:¸2¿:º:Ù+ó<-ß-2ªUó%4Ð !ð ‡�ð$ \ð $°dó $ó ð$ðN ‡�Ø9<ñ ?�ó ?ó ð?ð( ‡�ð˜\ð ¨eó ó ðð ‡�ð<˜ló <ó ð<ð~ ‡�ð˜\ó ó ðð4 ‡�ðG˜ó Gó ðGðB ‡�ðV�Ló Vó ðVð ‡�ð�,ó ó ðð> ‡�ð˜Ló ó ðð& ‡�ð �ó  ó ð ðF ‡�ð.˜ó .ó ð.ðb ‡�ð?'˜ó ?'ó ð?'ðD ‡�ð˜ó ó ðð ‡�ð@�|ó @ó ð@ð$ ‡�ð�|ó ó ðð ‡�ð'˜,ó 'ó ð'ð, ‡�ð+˜ó +ó ð+ð\ ‡�ð.�|ó .ó ð.ðb ‡�ð˜ð ¨%ó ó ðð ‡�ð
 ó 
ó ð
ð( ‡�ó" V§[¢[ó "ó ñ"r4   