§
    ‹ŠtjA±  ã                   ó¶  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d dl
Z
d dlZ
d dl
mZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z<m=Z=m>Z> d dl?m@Z@mAZAmBZBmCZD d dlEmFZF d d	lGmHZHmIZI d
ZJdhZK eLejM        ejN        z   ejO        z   ¦  «        ZPd„ ZQe jR        de j!        de j        de j        de j8        de j*        de j        de jS        de jT        de jU        de j        de j        diZVe jR        de j!        de j        de j        de j8        de j*        de j        de jS        de jT        d e jU        d!e j        d"e j        d#iZWeV X                    e jY        d$e jZ        d%e j[        d&e j\        d'e j]        d(i¦  «         eW X                    e jY        d)e jZ        d*e j[        d+e j\        d,e j]        d-i¦  «         eV X                    e j^        d.i¦  «          G d/„ d0e_¦  «        Z` G d1„ d2e`¦  «        Za G d3„ d4ea¦  «        Zb G d5„ d6e`¦  «        Zcd7„ Zdd8„ Zed9„ Zfd:„ Zgd;„ ZhdRd=„Zid>ejfd?„Zk G d@„ dA¦  «        ZldB„ ZmdSdC„ZndDZodTdE„ZpdTdF„ZqdG„ ZrdH„ ZsdI„ Zt G dJ„ dKel¦  «        Zu G dL„ dMel¦  «        Zv G dN„ dOel¦  «        Zw ew¦   «         Zx ev¦   «         Zy eu¦   «         ZzdUdQ„Z{dS )Vé    N)Ú
namedtuple)Údedent)Ú_jit_internal),ÚApplyÚAssertÚAssignÚ	AttributeÚ	AugAssignÚBinOpÚBreakÚClassDefÚConstÚContinueÚDeclÚDefÚDeleteÚDictCompÚDictLiteralÚDotsÚEmptyTypeAnnotationÚExprStmtÚFalseLiteralÚForÚIdentÚIfÚListCompÚListLiteralÚNoneLiteralÚParamÚPassÚPropertyÚRaiseÚReturnÚSelectÚ	SliceExprÚStarredÚStmtÚStringLiteralÚ	SubscriptÚ	TernaryIfÚTrueLiteralÚTupleLiteralÚUnaryOpÚVarÚWhileÚWithÚWithItem)Ú_is_drop_fnÚFunctionModifiersÚis_static_fnÚshould_drop)Úget_source_lines_and_fileÚmake_source_contextÚ	parse_defÚ	ParsedDef)ÚDATACLASS_MAGIC_METHODS)Úget_qualified_nameÚmonkeytype_traceÚ__jitÚprintc                 óH   — |                       t          ¦  «        p| t          v S ©N)Ú
startswithÚ_reserved_prefixÚ_reserved_names©Únames    úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/jit/frontend.pyÚis_reserved_namerG   T   s   € Ø�?Š?Õ+Ñ,Ô,ÐG°½Ð0GÐGó    zfunction definitionsz	for loopszdel statementszclass definitionszwith statementszraise statementsÚ
assertionszimport statementszglobal variableszbreak statementszcontinue statementsÚdefÚforÚdelÚclassÚwithÚraiseÚassertÚimportÚfromÚglobalÚbreakÚcontinuezasync function definitionszasync for loopszasync with statementsz
try blocksznonlocal variablesz	async defz	async forz
async withÚtryÚnonlocalzannotated assignmentsc                   ó"   — e Zd Zdd„Zdefd„ZdS )ÚFrontendErrorÚreturnNc                 ót   — || _         || _        t          j                             | j         ¦  «        | _        d S r@   )Úsource_rangeÚmsgÚtorchÚ_CÚErrorReportÚerror_report)Úselfr\   r]   s      rF   Ú__init__zFrontendError.__init__–   s4   € Ø(ˆÔØˆŒõ "œH×0Ò0°Ô1BÑCÔCˆÔÐÐrH   c                 óh   — | j         | j                             ¦   «                              ¦   «         z   S r@   )r]   ra   ÚwhatÚlstrip)rb   s    rF   Ú__str__zFrontendError.__str__ž   s*   € ØŒx˜$Ô+×0Ò0Ñ2Ô2×9Ò9Ñ;Ô;Ñ;Ð;rH   ©rZ   N)Ú__name__Ú
__module__Ú__qualname__rc   Ústrrg   © rH   rF   rY   rY   •   sG   € € € € € ðDð Dð Dð Dð<˜ð <ð <ð <ð <ð <ð <rH   rY   c                   ó   — e Zd ZdS )ÚNotSupportedErrorN©ri   rj   rk   rm   rH   rF   ro   ro   ¢   ó   € € € € € Ø€DrH   ro   c                   ó"   ‡ — e Zd Zddˆ fd„Zˆ xZS )ÚUnsupportedNodeErrorÚ rZ   Nc                 ój  •— t          |¦  «        }t          t                               |d¦  «        ¦  «        }|                     |j        |j        |j        |z   ¦  «        }t                               ||j        ¦  «        }|› d|r|dz   nd› d�}t          ¦   «          
                    ||¦  «         d S )Nú rt   zaren't supported)ÚtypeÚlenÚnode_start_tokensÚgetÚ
make_rangeÚlinenoÚ
col_offsetÚpretty_node_namesri   Úsuperrc   )
rb   ÚctxÚoffending_nodeÚreasonÚ	node_typeÚ	range_lenr\   Úfeature_namer]   Ú	__class__s
            €rF   rc   zUnsupportedNodeError.__init__§   sµ   ø€ å˜Ñ(Ô(ˆ	ÝÕ)×-Ò-¨i¸Ñ=Ô=Ñ>Ô>ˆ	Ø—~’~ØÔ!ØÔ%ØÔ%¨	Ñ1ñ
ô 
ˆõ
 )×,Ò,¨Y¸	Ô8JÑKÔKˆØÐPÐP°Ð > ¨¡ ¸BÐPÐPÐPˆÝ‰Œ×Ò˜ sÑ+Ô+Ð+Ð+Ð+rH   )rt   rh   )ri   rj   rk   rc   Ú__classcell__)r†   s   @rF   rs   rs   ¦   sB   ø€ € € € € ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,rH   rs   c                   ó   — e Zd ZdS )ÚFrontendTypeErrorNrp   rm   rH   rF   r‰   r‰   µ   rq   rH   r‰   c                 ó>   ‡ — ˆ fd„|D ¦   «         }t          |¦  «        S )Nc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   )Úbuild_withitem)Ú.0Úir€   s     €rF   ú
<listcomp>z#build_withitems.<locals>.<listcomp>º   s#   ø€ Ð3Ð3Ð3¨�^˜C Ñ#Ô#Ð3Ð3Ð3rH   )Úlist)r€   Úitemss   ` rF   Úbuild_withitemsr’   ¹   s(   ø€ Ø3Ð3Ð3Ð3¨UÐ3Ñ3Ô3€EÝ�‰;Œ;ÐrH   c                 óZ   ‡ — ˆ fd„|D ¦   «         }t          t          d |¦  «        ¦  «        S )Nc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   )Ú
build_stmt)r�   Úsr€   s     €rF   r�   zbuild_stmts.<locals>.<listcomp>¿   s#   ø€ Ð/Ð/Ð/ A�Z˜˜QÑÔÐ/Ð/Ð/rH   )r�   Úfilter)r€   Ústmtss   ` rF   Úbuild_stmtsr™   ¾   s4   ø€ Ø/Ð/Ð/Ð/¨Ð/Ñ/Ô/€EÝ•�t˜UÑ#Ô#Ñ$Ô$Ð$rH   c                 ó   — t          j        | d„ ¬¦  «        }t          | dg ¦  «        }g }|D ]à}|d         |vrÔt          |d         j        ¦  «        sºt          |d         j        d|d         › d�|¬¦  «        }|d         j        r't          |d         j        d|d         › d	�|¬¦  «        nd
}|                     t          | 	                    ¦   «         t          | 	                    ¦   «         |d         ¦  «        ||¦  «        ¦  «         Œá|S )aj  
    Get a list of Property objects representing the properties of a class.

    Args:
        cls:  The class to get properties of.
        self_name: The name of the class that the properties should belong to.
    Returns:
        A list of Property objects corresponding to the properties of cls. Property
        here refers to the subclass of TreeView.
    c                 ó,   — t          | t          ¦  «        S r@   )Ú
isinstanceÚproperty)Úms    rF   ú<lambda>z&get_class_properties.<locals>.<lambda>Î   s   € ½
À1ÅhÑ8OÔ8O€ rH   ©Ú	predicateÚ__jit_unused_properties__r   é   Ú__Ú_getter)Ú	self_nameÚ_setterN)ÚinspectÚ
getmembersÚgetattrr5   ÚfgetÚget_jit_defÚfsetÚappendr!   Úranger   )Úclsr¦   ÚpropsÚunused_propertiesÚ
propertiesÚpropÚgetterÚsetters           rF   Úget_class_propertiesr·   Ã   s/  € õ Ô˜sÐ.OÐ.OÐPÑPÔP€Eå Ð%@À"ÑEÔEÐð €JØð ð ˆØ�Œ7Ð+Ð+Ð+µKÀÀQÄÄÑ4MÔ4MÐ+Ý Ø�Q””Ð3 4¨¤7Ð3Ð3Ð3¸yðñ ô ˆFð
 ˜”7”<ð•˜D œGœLÐ*?¨t°A¬wÐ*?Ð*?Ð*?È9ÐUÑUÔUÐUàð ð
 ×ÒÝ˜Ÿš™œ­¨v¯|ª|©~¬~¸tÀA¼wÑ)GÔ)GÈÐQWÑXÔXñô ð øð ÐrH   c                 óò   ‡ ‡— g Šdˆˆ fd„}|j         D ]c}t          |t          j        ¦  «        r |t          j        |¦  «         Œ3t          |t          j        ¦  «        r |t          j        |¦  «         Œd‰S )NrZ   c                 ój   •— 	 ‰                       | ‰|¦  «        ¦  «         d S # t          $ r Y d S w xY wr@   )r®   ro   )ÚbuilderÚentryÚassignsr€   s     €€rF   Úmaybe_build_assignz-get_class_assigns.<locals>.maybe_build_assignè   sN   ø€ ð	Ø�NŠN˜7˜7 3¨Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/øÝ ð 	ð 	ð 	ØˆDˆDð	øøøs   ƒ$ ¤
2±2rh   )Úbodyrœ   Úastr   ÚStmtBuilderÚbuild_AssignÚ	AnnAssignÚbuild_AnnAssign)r€   Úcls_astr½   r»   r¼   s   `   @rF   Úget_class_assignsrÅ   å   s    øø€ Ø€Gðð ð ð ð ð ð ð ”ð Cð CˆÝ�e�SœZÑ(Ô(ð 	CØÐ�{Ô7¸Ñ?Ô?Ð?Ð?Ý˜�sœ}Ñ-Ô-ð 	CØÐ�{Ô:¸EÑBÔBÐBøØ€NrH   c                 óB  ‡ ‡‡— t          j        ‰ ˆ fd„¬¦  «        }ˆ fd„Št          ‰ t          j        j                             ¦   «         ¦  «        \  }}}d                     |¦  «        }t          |¦  «        }t          j
        |¦  «        }|j        d         }	t          |	t          j        ¦  «        s$t          dt          |	¦  «        j        › �¦  «        ‚t#          j        ‰ ¦  «        rŠd„ |	j        D ¦   «         }
t'          |¦  «        D ]i\  }\  }}t)          j        |¦  «        }|rK||
vrG |‰ ¦  «        }||f||<   t-          ‰ |¦  «        }t.          j                             ||j        ¦  «         Œjˆˆfd„|D ¦   «         }t7          ‰ ‰¦  «        }t9          |                     d	d
¦  «        d         ¦  «        t9          |                     d	d
¦  «        d         ¦  «        z
  }t=          ||||d¦  «        }t?          ||	¦  «        }tA          ||	||‰|¦  «        S )ap  Get definitions for each method within the current class independently.

    Args:
        cls: The class to get definition of.
        self_name: The name of the class that the properties should belong to.

    Returns:
        torch._C._jit_tree_views.ClassDef: A representation of the class,
            the methods in the class and their definition as a tree.
    c                 ó¼   •— t          j        | ¦  «        st          j        | ¦  «        o3t          ‰| j        ¦  «         o| j        ‰j        v ot          | ¦  «         S r@   )r¨   ÚismethodÚ
isfunctionr4   ri   Ú__dict__r2   ©rž   r°   s    €rF   rŸ   z#get_jit_class_def.<locals>.<lambda>  s`   ø€ �WÔ-¨aÑ0Ô0ÐIµGÔ4FÀqÑ4IÔ4Ið Ý˜S !¤*Ñ-Ô-Ð-ðàŒJ˜#œ,Ð&ðõ ˜A‘”Ðð rH   r    c                 óV   •— t          j        | ¦  «        ot          | dd ¦  «        ‰k    S )NÚ__self__)r¨   rÈ   rª   )Úfnr°   s    €rF   Úis_classmethodz)get_jit_class_def.<locals>.is_classmethod  s*   ø€ ÝÔ Ñ#Ô#ÐL­°°JÀÑ(EÔ(EÈÒ(LÐLrH   rt   r   zExpected class definition, got c                 ól   — h | ]1}t          |t          j        ¦  «        r|j        t          v ¯*|j        ’Œ2S rm   )rœ   r¿   ÚFunctionDefrE   r:   ©r�   Úmethods     rF   ú	<setcomp>z$get_jit_class_def.<locals>.<setcomp>$  sJ   € ð 
ð 
ð 
àÝ˜&¥#¤/Ñ2Ô2ð
ð ”Õ6Ð6Ð6ð ŒKð 7Ð6Ð6rH   c           
      óN   •— g | ]!\  }}t          ||‰ ‰|¦  «        ¬ ¦  «        ‘Œ"S ))r¦   rÏ   )r¬   )r�   rE   ÚobjrÏ   r¦   s      €€rF   r�   z%get_jit_class_def.<locals>.<listcomp>3  sI   ø€ ð ð ð áˆT�3õ 	�C˜¨À>À>ÐRUÑCVÔCVÐWÑWÔWðð ð rH   ú
r£   F)!r¨   r©   r6   r^   r_   r`   Ú
call_stackÚjoinr   r¿   Úparser¾   rœ   r   ÚAssertionErrorrw   ri   ÚdataclassesÚis_dataclassÚ	enumerater:   rz   rª   r   ÚloaderÚcacheÚsourcer·   rx   Úsplitr7   rÅ   Úbuild_class_def)r°   r¦   ÚmethodsÚsourcelinesÚfile_linenoÚfilenamerá   Ú
dedent_srcÚpy_astÚ	class_astÚ	overridesrŽ   rE   Ú_Úsynthesizer_fnÚ
parsed_defÚfuncÚmethod_defsr³   Úleading_whitespace_lenr€   r¼   rÏ   s   ``                    @rF   Úget_jit_class_defrò   ÷   s‡  øøø€ õ Ô Øðð ð ð ðñ ô €GðMð Mð Mð Mð Mõ *CØ�UŒXÔ!×,Ò,Ñ.Ô.ñ*ô *Ñ&€K�˜hð �WŠW�[Ñ!Ô!€Få˜‘”€JÝŒY�zÑ"Ô"€Fà”˜A”€IÝ�i¥¤Ñ.Ô.ð 
ÝØH­d°9©o¬oÔ.FÐHÐHñ
ô 
ð 	
õ Ô Ñ$Ô$ð Dð
ð 
à#œ.ð
ñ 
ô 
ˆ	õ & gÑ.Ô.ð 	Dð 	D‰LˆA‰y��aå4Ô8¸Ñ>Ô>ˆNØð D $¨iÐ"7Ð"7Ø+˜^¨CÑ0Ô0�
Ø! :Ð-�˜‘
Ý˜s DÑ)Ô)�ÝÔ$×*Ò*¨4°Ô1BÑCÔCÐCøðð ð ð ð à"ðñ ô €Kõ & c¨9Ñ5Ô5€Jå  §¢¨d°AÑ!6Ô!6°qÔ!9Ñ:Ô:½SØ×Ò˜˜qÑ!Ô! !Ô$ñ>ô >ñ Ðõ Ø�˜+Ð'=¸uñô €Cõ    YÑ/Ô/€Gå˜3 	¨;¸
ÀIÈwÑWÔWÐWrH   Fc                 ó|  — t          | t          ¦  «        st          | ¦  «        n| }t          j        j                             |j        ¦  «        }|j        j	        d         }|rV|j
        j
        d         j        }t          j        |› d|› �¦  «        j	        d         }|j	                             d|¦  «         t          | ¦  «        röt          j        d¦  «        }	t          |	j	        ¦  «        dk    s%t          |	j	        d         t          j        ¦  «        st#          d|j        › d|j        › �¦  «        ‚|	j	        d         }
|
j	        |_	        dx|j
        _        |j
        _        |j
        j
        |j
        j        z   D ]}|
j
        j
        d         j        |_        Œt1          | ¦  «        rd|_        d|_        t          j        j                             ¦   «         }d}t:          r9t          | t          ¦  «        s$t=          | ¦  «        }|                     |¦  «        }tA          |j!        |||||¬¦  «        S )	af  
    Build a JIT AST (TreeView) from the given function.

    Args:
        fn: A function object to compile or a pre-parsed ParsedDef object
        def_name: The name to give to the resulting AST object. This is not
            always the same as `fn.__name__`, for example:
                def _forward(self):
                    ...
                forward = _forward
            In this case, the `__name__` attribute of the function object is "_forward",
            but we want the result AST to have the name "forward".
        self_name: If this function is a method, what the type name of `self` is.
    r   ú = zLdef unused_fn(self: Any):
	raise RuntimeError("Cannot call @unused methods")r£   z&Expected a single top-level function: ú:N)r¦   Úpdt_arg_types)"rœ   Ú
_ParsedDefr8   r^   ÚjitÚannotationsÚget_type_linerá   r¿   r¾   ÚargsÚargrÚ   Úinsertr5   rx   rÑ   ÚRuntimeErrorrç   ræ   ÚkwargÚvarargÚ
kwonlyargsÚ
annotationr2   ÚreturnsÚtype_commentÚ_scriptÚ_get_type_trace_dbr<   r;   Úget_args_typesÚ	build_defr€   )rÎ   Údef_namer¦   rÏ   rî   Ú	type_lineÚfn_defÚarg_nameÚassign_stmtÚunused_fn_defÚ
unused_defrü   Útype_trace_dbrö   Úqualnames                  rF   r¬   r¬   D  s*  € õ '1°µZÑ&@Ô&@ÐH•˜2‘”�Àb€JÝ”	Ô%×3Ò3°JÔ4EÑFÔF€IØŒ^Ô  Ô#€Fàð +Ø”;Ô# AÔ&Ô*ˆå”i 8Ð ;Ð ;°	Ð ;Ð ;Ñ<Ô<ÔAÀ!ÔDˆØŒ×Ò˜1˜kÑ*Ô*Ð*õ �2�„ð 'Ýœ	Ø\ñ
ô 
ˆõ ˆ}Ô!Ñ"Ô" aÒ'Ð'­zØÔ˜qÔ!¥3¤?ñ0
ô 0
Ð'õ Øg¸Ô9LÐgÐgÈzÔOeÐgÐgñô ð ð #Ô'¨Ô*ˆ
Ø ”oˆŒà15Ð5ˆŒÔ˜FœKÔ.Ø”;Ô# f¤kÔ&<Ñ<ð 	@ð 	@ˆCà'œ_Ô1°!Ô4Ô?ˆCŒNˆNÝ�r‰?Œ?ð 	'à!ˆFŒNØ"&ˆFÔõ ”IÔ%×8Ò8Ñ:Ô:€MØ€MÝð ?¥
¨2­zÑ :Ô :ð ?Ý% bÑ)Ô)ˆØ%×4Ò4°XÑ>Ô>ˆåØŒØØØØØ#ðñ ô ð rH   rZ   c                 ó�  — t          | j        d         j        t          j        ¦  «        r›| j        d         j        j        }t          |t          j        ¦  «        rj|j        }|j        }|dk    rVt          |t          j        ¦  «        r<|j        dk    r1t          |j        t          j	        ¦  «        r|j        j
        dk    rdS dS )Nr   Ú_IgnoreContextManagerrø   r^   TF)rœ   r‘   Úcontext_exprr¿   ÚCallrï   r	   ÚattrÚvalueÚNameÚid)ÚstmtÚfunctionÚ	attr_nameÚ
attr_values       rF   Ú#is_torch_jit_ignore_context_managerr  ‡  s²   € å�$”*˜Q”-Ô,­c¬hÑ7Ô7ð $à”:˜a”=Ô-Ô2ˆÝ�h¥¤Ñ.Ô.ð 		$Ø œˆIØ!œˆJØÐ3Ò3Ð3½
Ø�CœMñ9ô 9Ð3ð ”? eÒ+Ð+µ
¸:Ô;KÍSÌXÑ0VÔ0VÐ+Ø!Ô'Ô*¨gÒ5Ð5Ø#˜tØˆ5rH   c                   ó   — e Zd Zd„ ZdS )ÚBuilderc                 óz   — t          | d|j        j        z   d ¦  «        }|€t          ||¦  «        ‚ |||¦  «        S )NÚbuild_)rª   r†   ri   rs   )rb   r€   ÚnoderÓ   s       rF   Ú__call__zBuilder.__call__š  sD   € Ý˜˜x¨$¬.Ô*AÑAÀ4ÑHÔHˆØˆ>Ý& s¨DÑ1Ô1Ð1Øˆv�c˜4Ñ Ô Ð rH   N)ri   rj   rk   r$  rm   rH   rF   r   r   ™  s#   € € € € € ð!ð !ð !ð !ð !rH   r   c                 óÂ   — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          t          ||¦  «        d„ |D ¦   «         ||¦  «        S )NrM   c                 ó,   — g | ]}t          |¦  «        ‘ŒS rm   )r'   rÒ   s     rF   r�   z#build_class_def.<locals>.<listcomp>¦  s   € ÐAÐAÐA¨v�d 6™lœlÐAÐAÐArH   )r{   r|   r}   rx   r   r   )r€   Úpy_defrä   r³   r¦   r¼   Úrs          rF   rã   rã   ¡  se   € Ø�ŠØŒ�vÔ(¨&Ô*;½cÀ'¹l¼lÑ*Jñ	ô 	€Aõ Ýˆa�ÑÔÐAÐA¸ÐAÑAÔAÀ:Èwñô ð rH   c                 ó  — |j         }|                      |j        |j        |j        t	          d¦  «        z   ¦  «        }t          | |j        ||¦  «        }d }	t          |dd ¦  «        �t          | |j	        ¦  «        }	t          |||	¦  «        }
|d u}|�@t          j                             |¦  «        }t          j                             |
||¦  «        }
t          t!          ||¦  «        |
t#          | |¦  «        ¦  «        S )NrJ   r  )r¾   r{   r|   r}   rx   Úbuild_param_listrû   rª   Ú
build_exprr  r   r^   r_   Úparse_type_commentÚmerge_type_from_type_commentr   r   r™   )r€   r'  r
  r	  r¦   rö   r¾   r(  Ú
param_listÚreturn_typeÚdeclÚ	is_methodÚtype_comment_decls                rF   r  r  ª  sî   € ØŒ;€DØ�Š�v”} fÔ&7¸Ô9JÍSÐQVÉZÌZÑ9WÑXÔX€Aå! # v¤{°I¸}ÑMÔM€JØ€KÝˆv�y $Ñ'Ô'Ð3Ý   f¤nÑ5Ô5ˆå��:˜{Ñ+Ô+€DØ Ð%€IØÐÝ!œH×7Ò7¸	ÑBÔBÐÝŒx×4Ò4ØØØñ
ô 
ˆõ �u�Q˜Ñ!Ô! 4­°S¸$Ñ)?Ô)?Ñ@Ô@Ð@rH   zfCompiled functions can't take variable number of arguments or use keyword-only arguments with defaultsc                 óÔ  ‡ ‡‡— |j         �Z|j         }‰                      |j        |j        dz
  |j        t	          |j        ¦  «        z   ¦  «        }t          |t          ¦  «        ‚|j        �Z|j        }‰                      |j        |j        dz
  |j        t	          |j        ¦  «        z   ¦  «        }t          |t          ¦  «        ‚t	          |j	        ¦  «        dk    rC|j	        D ];}|�7t          ‰ |¦  «                             ¦   «         }t          |t          ¦  «        ‚Œ<ˆfd„|j        D ¦   «         }ˆfd„|j        D ¦   «         }ˆ ˆfd„|D ¦   «         }	|	ˆ ˆfd„|D ¦   «         z  }	|	S )Nr£   r   c                 ój   •— g | ]/}|‰r't          ‰|j                 ¦  «        r‰|j                 nd f‘Œ0S r@   ©Úboolrü   ©r�   rü   rö   s     €rF   r�   z$build_param_list.<locals>.<listcomp>Ü  s^   ø€ ð ð ð ð ð àðÝ!% m°C´GÔ&<Ñ!=Ô!=ðˆM˜#œ'Ô"Ð"àð		
ðð ð rH   c                 ój   •— g | ]/}|‰r't          ‰|j                 ¦  «        r‰|j                 nd f‘Œ0S r@   r5  r7  s     €rF   r�   z$build_param_list.<locals>.<listcomp>å  s^   ø€ ð  ð  ð  ð ð àðÝ!% m°C´GÔ&<Ñ!=Ô!=ðˆM˜#œ'Ô"Ð"àð		
ð ð  ð  rH   c           	      ó>   •— g | ]\  }}t          ‰|‰d |¬¦  «        ‘ŒS )F©Ú
kwarg_onlyÚpdt_arg_type©Úbuild_param©r�   rü   Úarg_typer€   r¦   s      €€rF   r�   z$build_param_list.<locals>.<listcomp>ï  s@   ø€ ð ð ð áˆC�õ 	�C˜˜i°EÈÐQÑQÔQðð ð rH   c           	      ó>   •— g | ]\  }}t          ‰|‰d |¬¦  «        ‘ŒS )Tr:  r=  r?  s      €€rF   r�   z$build_param_list.<locals>.<listcomp>ó  s@   ø€ ð ð ð áˆC�õ 	�C˜˜i°DÀxÐPÑPÔPðð ð rH   )rÿ   r{   r|   r}   rx   rü   ro   Ú_vararg_kwarg_errr   Úkw_defaultsr+  r¯   rû   r  )
r€   Úpy_argsr¦   rö   ÚexprÚ	ctx_rangerü   Úarg_and_typesÚarg_and_types_kwonlyargsÚresults
   ` ``      rF   r*  r*  Æ  sÔ  øøø€ Ø„}Ð ØŒ}ˆØ—N’NØŒK˜œ¨1Ñ,¨d¬oÅÀDÄHÁÄÑ.Mñ
ô 
ˆ	õ   	Õ+<Ñ=Ô=Ð=Ø„~Ð!ØŒ~ˆØ—N’NØŒK˜œ¨1Ñ,¨d¬oÅÀDÄHÁÄÑ.Mñ
ô 
ˆ	õ   	Õ+<Ñ=Ô=Ð=Ý
ˆ7ÔÑÔ !Ò#Ð#ð Ô&ð 	Fð 	FˆCØˆÝ& s¨CÑ0Ô0×6Ò6Ñ8Ô8�	Ý'¨	Õ3DÑEÔEÐEð ð
ð ð ð ð ”<ðñ ô €Mð ð  ð  ð  ð Ô%ð ñ  ô  Ððð ð ð ð à*ðñ ô €Fð ð ð ð ð ð à5ðñ ô ñ €Fð €MrH   c                 ó²  — |j         }|                      |j        |j        |j        t	          |¦  «        z   ¦  «        }t          |dd ¦  «        �t          | |j        ¦  «        }nU|rt          t          ||¦  «        ¦  «        }n5|�$|dk    rt          t          ||¦  «        ¦  «        }nt          |¦  «        }t          |t          ||¦  «        |¦  «        S )Nr  rb   )rü   r{   r|   r}   rx   rª   r+  r  r.   r   r   r   )r€   Úpy_argr¦   r;  r<  rE   r(  Úannotation_exprs           rF   r>  r>  ú  sÇ   € àŒ:€DØ�Š�v”} fÔ&7¸Ô9JÍSÐQUÉYÌYÑ9VÑWÔW€AÝˆv�| TÑ*Ô*Ð6Ý$ S¨&Ô*;Ñ<Ô<ˆˆØ	ð 1Ý�e A |Ñ4Ô4Ñ5Ô5ˆˆØ	Ð	 4¨6¢> >Ý�e A yÑ1Ô1Ñ2Ô2ˆˆå-¨aÑ0Ô0ˆÝ�¥%¨¨4¡.¤.°*Ñ=Ô=Ð=rH   c                 óª  ‡‡— t          dddg¦  «        Št          dddg¦  «        Šˆˆfd„}dt          fd„}d„ }d	„ } ||j        d
         j        j        ¦  «        \  }}d || |¦  «        z   }d|z   }	|	dd                     d„ |D ¦   «         ¦  «        z   dz   z  }	 ||¦  «        \  }
}|	|
dz   z  }	t          j        |	¦  «        j        d
         }|j        |_        t          j        |¦  «        j        d
         }|j         	                    |¦  «         dt          j
        |¦  «        › d�}t          j        t          ¦   «         ¦  «        }t          ||¦  «         ||         t          ¦   «         |<    ||¦  «        }d|› d� ||¦  «        z   dz   }t          |¦  «        d
k    r	|dz   |z   }n|}t          j        |¦  «        j        d
         }|S )NÚ	InputTyperE   ÚannÚ
OutputTypec                 ó  •— g }g }| D ]w}|j         }|j        j        }|                     d¦  «        \  }}|dk    r|                      ‰||¦  «        ¦  «         |dk    r|                      ‰||¦  «        ¦  «         Œx||fS )Nrõ   ÚinpÚout)rü   r  râ   r®   )	rû   ÚinputsÚoutputsrü   Úvar_nameÚvar_annÚvar_decl_typerN  rP  s	          €€rF   Úprocess_ins_outsz6build_ignore_context_manager.<locals>.process_ins_outs  s¡   ø€ ð ˆØˆØð 	>ð 	>ˆCØ”wˆHØ”i”oˆGØ%,§]¢]°3Ñ%7Ô%7Ñ"ˆM˜7Ø Ò%Ð%Ø—’˜i˜i¨°'Ñ:Ô:Ñ;Ô;Ð;Ø Ò%Ð%Ø—’˜z˜z¨(°GÑ<Ô<Ñ=Ô=Ð=øØ�wˆÐrH   rZ   c                 óP   — t          j        dd| j        ¦  «        }|› d|j        › �S )Nz[^a-zA-Z0-9_]rì   )ÚreÚsubrç   r|   )r€   r  rÎ   s      rF   Úcreate_unique_name_extz<build_ignore_context_manager.<locals>.create_unique_name_ext  s0   € õ ŒVÐ$ c¨3¬<Ñ8Ô8ˆØÐ$Ð$�t”{Ð$Ð$Ð$rH   c                 óf  — d}d}t          | ¦  «        dk    r|dz  }t          | ¦  «        dk    r d| d         j        z   }|| d         j        z  }t          | ¦  «        dk    rLd}|dd	                     d
„ | D ¦   «         ¦  «        z   dz   z  }|d	                     d„ | D ¦   «         ¦  «        z  }||fS )Nrt   zreturn r   z -> Noner£   z -> z	 -> tupleú[ú, c                 ó   — g | ]	}|j         ‘Œ
S rm   )rO  ©r�   Úvars     rF   r�   zObuild_ignore_context_manager.<locals>.build_return_ann_stmt.<locals>.<listcomp>-  s   € Ð/KÐ/KÐ/K¸C°´Ð/KÐ/KÐ/KrH   ú]c                 ó   — g | ]	}|j         ‘Œ
S rm   rD   rb  s     rF   r�   zObuild_ignore_context_manager.<locals>.build_return_ann_stmt.<locals>.<listcomp>.  s   € Ð.KÐ.KÐ.K¸C¨s¬xÐ.KÐ.KÐ.KrH   )rx   rO  rE   rÙ   )rU  Úreturn_type_annÚreturn_statement_strs      rF   Úbuild_return_ann_stmtz;build_ignore_context_manager.<locals>.build_return_ann_stmt#  sÑ   € ØˆØ(ÐÝˆw‰<Œ<˜1ÒÐØ˜zÑ)ˆOÝˆw‰<Œ<˜1ÒÐØ$ w¨q¤z¤~Ñ5ˆOØ  G¨A¤J¤OÑ3Ð Ýˆw‰<Œ<˜!ÒÐØ)ˆOØ˜s T§Y¢YÐ/KÐ/KÀ7Ð/KÑ/KÔ/KÑ%LÔ%LÑLÈsÑRÑRˆOØ  D§I¢IÐ.KÐ.KÀ7Ð.KÑ.KÔ.KÑ$LÔ$LÑLÐ ØÐ 4Ð4Ð4rH   c                 ó@   — d                      d„ | D ¦   «         ¦  «        S )Nr`  c                 ó   — g | ]	}|j         ‘Œ
S rm   rD   )r�   rü   s     rF   r�   zDbuild_ignore_context_manager.<locals>.build_args.<locals>.<listcomp>2  s   € Ð3Ð3Ð3 s˜#œ(Ð3Ð3Ð3rH   )rÙ   )rû   s    rF   Ú
build_argsz0build_ignore_context_manager.<locals>.build_args1  s#   € Ø�yŠyÐ3Ð3¨dÐ3Ñ3Ô3Ñ4Ô4Ð4rH   r   Úfunc_ignore_z
def ú(r`  c                 ó2   — g | ]}|j         d z   |j        z   ‘ŒS )z :)rE   rO  rb  s     rF   r�   z0build_ignore_context_manager.<locals>.<listcomp>:  s%   € ÐEÐEÐE°s˜œ D™¨3¬7Ñ2ÐEÐEÐErH   ú)z: passz§# Backward compat: These used to be imported into the outer global scope so some
# code may still expect them.
from typing import List, Dict, Tuple

@torch.jit.ignore
r×   ztorch.jit.frontend.rô   )r   rl   r‘   r  ÚkeywordsrÙ   r¿   rÚ   r¾   r®   ÚunparseÚcopyÚglobalsÚexecrx   )r€   r  rY  r]  rh  rk  rT  rU  Úignore_function_nameÚignore_function_strÚ
return_annÚreturn_stmtÚignore_functionÚignore_func_strÚgÚassign_str_lhsÚassign_str_rhsÚ
assign_strÚ
assign_astrN  rP  s                      @@rF   Úbuild_ignore_context_managerr€  	  sZ  øø€ Ý˜;¨°¨Ñ8Ô8€IÝ˜L¨6°5¨/Ñ:Ô:€Jðð ð ð ð ð ð %­Sð %ð %ð %ð %ð5ð 5ð 5ð5ð 5ð 5ð 'Ð& t¤z°!¤}Ô'AÔ'JÑKÔK�O€FˆGð *Ð,BÐ,BÀ3ÈÑ,MÔ,MÑMÐØ"Ð%9Ñ9ÐØØˆd�iŠiÐEÐE¸fÐEÑEÔEÑFÔFÑFÈÑLñÐð 4Ð3°GÑ<Ô<Ñ€J�Ø˜:¨Ñ0Ñ0Ðõ ”iÐ 3Ñ4Ô4Ô9¸!Ô<€Oð  œ9€OÔõ ”)˜KÑ(Ô(Ô-¨aÔ0€KØÔ×Ò Ñ,Ô,Ð,ðõ „ˆ_ÑÔðð ð €Oõ 	Œ	•'‘)”)ÑÔ€AÝˆ˜!ÑÔÐà&'Ð(<Ô&=…G�I„IÐ"Ñ#ð  �Z Ñ(Ô(€Nð 	6Ð2Ð5Ð5Ð5¸
¸
À6Ñ8JÔ8JÑJÈSÑPð õ ˆ7�|„|�aÒÐØ# eÑ+¨nÑ<ˆ
ˆ
à#ˆ
Ý”˜:Ñ&Ô&Ô+¨AÔ.€JØÐrH   c                 óx   — | €i S t          j        | ¦  «        }d„ |j                             ¦   «         D ¦   «         S )a   
    Get a dictionary of default arguments for a function.

    Args:
        fn: Callable - The function to inspect for default arguments.
    Returns:
        (Dict[str, Any]): mapping argument names to their default values if
        :attr:`fn` is not None, else empty dictionary.
    Nc                 óT   — i | ]%\  }}|j         t          j        j        u¯||j         “Œ&S rm   )Údefaultr¨   Ú	ParameterÚempty)r�   ÚkÚvs      rF   ú
<dictcomp>z$get_default_args.<locals>.<dictcomp>v  s=   € ð ð ð áˆAˆqØŒ9�GÔ-Ô3Ð3Ð3ð 	
ˆ1Œ9à3Ð3Ð3rH   )r¨   Ú	signatureÚ
parametersr‘   )rÎ   r‰  s     rF   Úget_default_argsr‹  g  sN   € ð 
€zØˆ	åÔ! "Ñ%Ô%€Iðð àÔ(×.Ò.Ñ0Ô0ðñ ô ð rH   c                 óR   ‡ — t          j        ‰ ˆ fd„¬¦  «        }d„ |D ¦   «         }|S )aC  
    Get default arguments for all methods in a class (except for static methods).

    Args:
        cls: type - The class type to inspect for default arguments.
    Returns:
        A Dict[str, Dict[str, Any]] which maps each method name to a Dict[str, Any]
        that maps each argument name to its default value.
    c                 óœ   •— t          j        | ¦  «        st          j        | ¦  «        o#t          ‰| j        ¦  «         o| j        ‰j        v S r@   )r¨   rÈ   rÉ   r4   ri   rÊ   rË   s    €rF   rŸ   z,get_default_args_for_class.<locals>.<lambda>‹  sM   ø€ �WÔ-¨aÑ0Ô0ÐIµGÔ4FÀqÑ4IÔ4Ið 'Ý˜S !¤*Ñ-Ô-Ð-ð'àŒJ˜#œ,Ð&ð rH   r    c                 ó4   — i | ]\  }}|t          |¦  «        “ŒS rm   )r‹  )r�   Úmethod_nameÚmethod_impls      rF   rˆ  z.get_default_args_for_class.<locals>.<dictcomp>’  s7   € ð ð ð á$ˆK˜ð 	Õ% kÑ2Ô2ðð ð rH   )r¨   r©   )r°   rä   Údefaultss   `  rF   Úget_default_args_for_classr’  }  sX   ø€ õ Ô Øð'ð 'ð 'ð 'ðñ ô €Gðð à(/ðñ ô €Hð
 €OrH   c                   ó$   — e Zd Zed„ ¦   «         ZdS )ÚWithItemBuilderc                 ó(  — |j         j        }|j         j        }|t          t          t
          j                 ¦  «        z   }|j        }|                      |||¦  «        }t          |t          | |j         ¦  «        |rt          | |¦  «        nd ¦  «        S r@   )r  r|   r}   rx   r~   r¿   r0   Úoptional_varsr{   r1   r+  )r€   Úitemr|   ÚstartÚendÚop_varsr(  s          rF   rŒ   zWithItemBuilder.build_withitem›  s‹   € àÔ"Ô)ˆØÔ!Ô,ˆØ•cÕ+­C¬HÔ5Ñ6Ô6Ñ6ˆØÔ$ˆØ�NŠN˜6 5¨#Ñ.Ô.ˆåØÝ�s˜DÔ-Ñ.Ô.Ø(/Ð9�J�s˜GÑ$Ô$Ð$°Tñ
ô 
ð 	
rH   N)ri   rj   rk   ÚstaticmethodrŒ   rm   rH   rF   r”  r”  š  s-   € € € € € Øð
ð 
ñ „\ð
ð 
ð 
rH   r”  c                   ó  — e Zd Zej        dej        dej        dej        dej        dej	        dej
        dej        dej        d	ej        d
ej        diZed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z dS )rÀ   ú+ú-Ú*ú/ú%ú|ú&ú^ú<<ú>>ú**c                 ón   — |j         }|j        j        dk    rd S t          t	          | |¦  «        ¦  «        S )NÚStr)r  r†   ri   r   r+  )r€   r  r  s      rF   Ú
build_ExprzStmtBuilder.build_Expr¹  s8   € à”
ˆØŒ?Ô# uÒ,Ð,ð �4å�J s¨EÑ2Ô2Ñ3Ô3Ð3rH   c                 ót   ‡ — t          ‰ |j        ¦  «        }ˆ fd„|j        D ¦   «         }t          ||¦  «        S )Nc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   ©r+  )r�   Úxr€   s     €rF   r�   z,StmtBuilder.build_Assign.<locals>.<listcomp>Æ  s#   ø€ Ð8Ð8Ð8 a�z˜#˜qÑ!Ô!Ð8Ð8Ð8rH   )r+  r  Útargetsr   )r€   r  ÚrhsÚlhss   `   rF   rÁ   zStmtBuilder.build_AssignÃ  s?   ø€ å˜˜dœjÑ)Ô)ˆØ8Ð8Ð8Ð8¨4¬<Ð8Ñ8Ô8ˆÝ�c˜3ÑÔÐrH   c                 óv  — |j         €t          | |d¬¦  «        ‚t          |j        ¦  «        t          j        u r°|j        j         j        dk    r›| j        dk    r�|j        }|t          d|j        j
        › �¦  «        z   }t          |j        d¦  «        r|t          d|j        j        › �¦  «        z  }|                      |j        ||¦  «        }t          d| j        › d	|› �¦  «        ‚t!          | |j         ¦  «        }t!          | |j        ¦  «        }t!          | |j        ¦  «        }t#          |g||¦  «        S )
Nzwithout assigned value)r‚   rb   rc   zself.r  z: zKType annotations on instance attributes must be declared in __init__, not 'z': )r  rs   rw   Útargetr¿   r	   r  Úfuncnamer}   rx   r  Úhasattrr  r{   r|   Ú
ValueErrorr+  r   )r€   r  r˜  r™  Úsrr°  r±  Úthe_types           rF   rÃ   zStmtBuilder.build_AnnAssignÉ  sG  € àŒ:ÐÝ& s¨DÐ9QÐRÑRÔRÐRõ �”ÑÔ¥¤Ð.Ð.Ø”Ô!Ô$¨Ò.Ð.Ø” 
Ò*Ð*à”OˆEØ�#Ð8 d¤kÔ&6Ð8Ð8Ñ9Ô9Ñ9ˆCÝ�t”¨Ñ-Ô-ð 6Ø•sÐ4 ¤Ô 2Ð4Ð4Ñ5Ô5Ñ5�Ø—’ ¤¨U°CÑ8Ô8ˆBÝð8Ø"%¤,ð8ð 8Ø35ð8ð 8ñô ð õ
 ˜˜dœjÑ)Ô)ˆÝ˜˜dœkÑ*Ô*ˆÝ˜c 4¤?Ñ3Ô3ˆÝ�s�e˜S (Ñ+Ô+Ð+rH   c                 ó²   ‡ — ‰                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          |ˆ fd„|j        D ¦   «         ¦  «        S )NrL   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  )r�   r³  r€   s     €rF   r�   z,StmtBuilder.build_Delete.<locals>.<listcomp>ç  s#   ø€ ÐMÐMÐM°f�* S¨&Ñ1Ô1ÐMÐMÐMrH   )r{   r|   r}   rx   r   r¯  ©r€   r  r(  s   `  rF   Úbuild_DeletezStmtBuilder.build_Deleteã  sP   ø€ à�NŠN˜4œ;¨¬¸¼Í3ÈuÉ:Ì:Ñ9UÑVÔVˆå�aÐMÐMÐMÐMÀÄÐMÑMÔMÑNÔNÐNrH   c                 óÆ   — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          ||j        €d nt          | |j        ¦  «        ¦  «        S )NrZ   )r{   r|   r}   rx   r#   r  r+  r»  s      rF   Úbuild_ReturnzStmtBuilder.build_Returné  sV   € à�NŠNØŒK˜œ¨$¬/½CÀ¹M¼MÑ*Iñ
ô 
ˆõ �a ¤Ð!3˜˜½ÀCÈÌÑ9TÔ9TÑUÔUÐUrH   c                 ó¸   — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          | |j        ¦  «        }t          ||¦  «        S )NrO   )r{   r|   r}   rx   r+  Úexcr"   )r€   r  r(  rE  s       rF   Úbuild_RaisezStmtBuilder.build_Raiseð  sG   € à�NŠN˜4œ;¨¬¸¼Í3ÈwÉ<Ì<Ñ9WÑXÔXˆÝ˜#˜tœxÑ(Ô(ˆÝ�Q˜‰~Œ~ÐrH   c                 óö   — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          | |j        ¦  «        }|j        �t	          | |j        ¦  «        nd }t          |||¦  «        S )NrP   )r{   r|   r}   rx   r+  Útestr]   r   )r€   r  r(  rÃ  r]   s        rF   Úbuild_AssertzStmtBuilder.build_Assertö  so   € à�NŠNØŒK˜œ¨$¬/½CÀ¹M¼MÑ*Iñ
ô 
ˆõ ˜#˜tœyÑ)Ô)ˆØ+/¬8Ð+?�j˜˜dœhÑ'Ô'Ð'ÀTˆÝ�a˜˜sÑ#Ô#Ð#rH   c                 ób  — t          | |j        ¦  «        }t          | |j        ¦  «        }t          |j        ¦  «        }|t
          j        v rt
          j        |         }n@t          t          | | 	                    ¦   «         j
        dd¬¦  «        d|j        z   ¦  «        ‚t          |||¦  «        S )Nú=)éÿÿÿÿr   )Úoffsetsz*unsupported kind of augmented assignment: )r+  r³  r  rw   ÚoprÀ   Úaugassign_mapro   Úfind_beforer¯   r˜  ri   r
   )r€   r  r±  r°  rÉ  Úop_tokens         rF   Úbuild_AugAssignzStmtBuilder.build_AugAssignÿ  s�   € å˜˜dœkÑ*Ô*ˆÝ˜˜dœjÑ)Ô)ˆÝ�$”'‰]Œ]ˆØ•Ô*Ð*Ð*Ý"Ô0°Ô4ˆHˆHå#Ý˜C §¢¡¤Ô!2°CÀÐIÑIÔIØ<¸r¼{ÑJñô ð õ ˜˜h¨Ñ,Ô,Ð,rH   c                 ó
  — |j         rt          d d¦  «        ‚|                      |j        |j        |j        t          d¦  «        z   ¦  «        }t          |t          | |j        ¦  «        t          | |j
        ¦  «        ¦  «        S )Nz-else branches of while loops aren't supportedÚwhile)Úorelsero   r{   r|   r}   rx   r/   r+  rÃ  r™   r¾   r»  s      rF   Úbuild_WhilezStmtBuilder.build_While  sx   € àŒ;ð 	õ $ØÐEñô ð ð �NŠN˜4œ;¨¬¸¼Í3ÈwÉ<Ì<Ñ9WÑXÔXˆÝ�Q�
 3¨¬	Ñ2Ô2µKÀÀTÄYÑ4OÔ4OÑPÔPÐPrH   c           	      ó6  — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }|j        rt          |d¦  «        ‚t          |t          | |j        ¦  «        gt          | |j	        ¦  «        gt          | |j        ¦  «        ¦  «        S )NrK   z+else branches of for loops aren't supported)r{   r|   r}   rx   rÐ  ro   r   r+  r³  Úiterr™   r¾   r»  s      rF   Ú	build_ForzStmtBuilder.build_For  sŒ   € à�NŠN˜4œ;¨¬¸¼Í3ÈuÉ:Ì:Ñ9UÑVÔVˆØŒ;ð 	VÝ# AÐ'TÑUÔUÐUåØÝ˜˜Tœ[Ñ)Ô)Ð*Ý˜˜TœYÑ'Ô'Ð(Ý˜˜TœYÑ'Ô'ñ	
ô 
ð 	
rH   c           	      ó  — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          |t          | |j        ¦  «        t          | |j        ¦  «        t          | |j	        ¦  «        ¦  «        S )NÚif)
r{   r|   r}   rx   r   r+  rÃ  r™   r¾   rÐ  r»  s      rF   Úbuild_IfzStmtBuilder.build_If%  sj   € à�NŠN˜4œ;¨¬¸¼Í3ÈtÉ9Ì9Ñ9TÑUÔUˆÝØÝ�s˜DœIÑ&Ô&Ý˜˜TœYÑ'Ô'Ý˜˜Tœ[Ñ)Ô)ñ	
ô 
ð 	
rH   c           
      ó6  ‡ — ‰                       |j        |j        |j        t          d¦  «        z   ¦  «        }|j        rt          |d¦  «        ‚ˆ fd„|j        D ¦   «         }t          t          t          t          |d¦  «        ¦  «        |g ¦  «        ¦  «        S )Nr>   z?print statements with non-default destinations aren't supportedc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  )r�   Úvalr€   s     €rF   r�   z+StmtBuilder.build_Print.<locals>.<listcomp>6  s#   ø€ Ð<Ð<Ð<¨•
˜3 Ñ$Ô$Ð<Ð<Ð<rH   )r{   r|   r}   rx   Údestro   Úvaluesr   r   r.   r   )r€   r  r(  rû   s   `   rF   Úbuild_PrintzStmtBuilder.build_Print/  s”   ø€ à�NŠN˜4œ;¨¬¸¼Í3ÈwÉ<Ì<Ñ9WÑXÔXˆØŒ9ð 	Ý#ØÐTñô ð ð =Ð<Ð<Ð<°´Ð<Ñ<Ô<ˆÝ��c¥%¨¨7Ñ"3Ô"3Ñ4Ô4°d¸BÑ?Ô?Ñ@Ô@Ð@rH   c                 óŒ   — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          |¦  «        S )NÚpass)r{   r|   r}   rx   r    r»  s      rF   Ú
build_PasszStmtBuilder.build_Pass9  s3   € à�NŠN˜4œ;¨¬¸¼Í3ÈvÉ;Ì;Ñ9VÑWÔWˆÝ�A‰wŒwˆrH   c                 óŒ   — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          |¦  «        S )NrT   )r{   r|   r}   rx   r   r»  s      rF   Úbuild_BreakzStmtBuilder.build_Break>  s3   € à�NŠN˜4œ;¨¬¸¼Í3ÈwÉ<Ì<Ñ9WÑXÔXˆÝ�Q‰xŒxˆrH   c                 óŒ   — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          |¦  «        S )NrU   )r{   r|   r}   rx   r   r»  s      rF   Úbuild_ContinuezStmtBuilder.build_ContinueC  s;   € à�NŠNØŒK˜œ¨$¬/½CÀ
¹O¼OÑ*Kñ
ô 
ˆõ ˜‰{Œ{ÐrH   c                 ó:  — |                       |j        |j        |j        t          d¦  «        z   ¦  «        }t	          |¦  «        r t          | |¦  «        }t          | |¦  «        S t          |t          | |j	        ¦  «        t          | |j        ¦  «        ¦  «        S )NrN   )r{   r|   r}   rx   r  r€  r•   r0   r’   r‘   r™   r¾   )r€   r  r(  r  s       rF   Ú
build_WithzStmtBuilder.build_WithJ  s�   € à�NŠN˜4œ;¨¬¸¼Í3ÈvÉ;Ì;Ñ9VÑWÔWˆå.¨tÑ4Ô4ð 	/Ý5°c¸4Ñ@Ô@ˆJÝ˜c :Ñ.Ô.Ð.Ý�A• s¨D¬JÑ7Ô7½ÀSÈ$Ì)Ñ9TÔ9TÑUÔUÐUrH   N)!ri   rj   rk   r¿   ÚAddÚSubÚMultÚDivÚModÚBitOrÚBitAndÚBitXorÚLShiftÚRShiftÚPowrÊ  r›  rª  rÁ   rÃ   r¼  r¾  rÁ  rÄ  rÍ  rÑ  rÔ  r×  rÝ  rà  râ  rä  ræ  rm   rH   rF   rÀ   rÀ   ª  s)  € € € € € àŒ�ØŒ�ØŒ�#ØŒ�ØŒ�ØŒ	�3ØŒ
�CØŒ
�CØŒ
�DØŒ
�DØŒ�ð€Mð ð4ð 4ñ „\ð4ð ð ð  ñ „\ð ð
 ð,ð ,ñ „\ð,ð2 ðOð Oñ „\ðOð
 ðVð Vñ „\ðVð ðð ñ „\ðð
 ð$ð $ñ „\ð$ð ð-ð -ñ „\ð-ð ðQð Qñ „\ðQð ð

ð 

ñ „\ð

ð ð
ð 
ñ „\ð
ð ðAð Añ „\ðAð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðVð Vñ „\ðVð Vð VrH   rÀ   c                   ó�  — e Zd Zej        dej        dej        dej        dej        dej	        dej
        dej        dej        d	ej        d
ej        dej        diZdeej        <   ej        dej        dej        diZej        dej        diZej        dej        dej        dej        dej        dej        dej        dej         dej!        dej"        di
Z#e$d„ ¦   «         Z%e$d„ ¦   «         Z&e$d„ ¦   «         Z'e$d„ ¦   «         Z(e$d „ ¦   «         Z)e$d!„ ¦   «         Z*e$d"„ ¦   «         Z+e$d#„ ¦   «         Z,e$d$„ ¦   «         Z-e$d%„ ¦   «         Z.e$d&„ ¦   «         Z/e$d'„ ¦   «         Z0e$d(„ ¦   «         Z1e$d)„ ¦   «         Z2e$d*„ ¦   «         Z3e$d+„ ¦   «         Z4e$d,„ ¦   «         Z5e$d-„ ¦   «         Z6e$d.„ ¦   «         Z7e$d/„ ¦   «         Z8e$d0„ ¦   «         Z9e$d1„ ¦   «         Z:d2S )3ÚExprBuilderr�  rž  rŸ  r   r§  r¡  z//r£  r¤  r¢  r¥  r¦  ú@Únotú~ÚandÚorz==z!=z<=ú<z>=ú>Úiszis notÚinznot inc                 óª  ‡— t          | |j        ¦  «        }| j                             d¦  «        Šˆfd„}|                     ¦   «         j        dz   } ||¦  «        t          j        v r|dz  } ||¦  «        t          j        v °|t          |j	        ¦  «        z   }|  
                    ||¦  «        }t          |t          ||j	        ¦  «        ¦  «        S )Nzutf-8c                 ó.   •— t          ‰|          ¦  «        S r@   )Úchr)Úindexrá   s    €rF   Úget_charz-ExprBuilder.build_Attribute.<locals>.get_char†  s   ø€ Ý�v˜e”}Ñ%Ô%Ð%rH   r£   )r+  r  rá   Úencoder¯   r™  ÚstringÚ
whitespacerx   r  Úmake_raw_ranger$   r   )r€   rE  Úbaser  Ú	start_posÚend_posÚ
name_rangerá   s          @rF   Úbuild_AttributezExprBuilder.build_Attribute  sÙ   ø€ å˜#˜tœzÑ*Ô*ˆð ”×"Ò" 7Ñ+Ô+ˆð	&ð 	&ð 	&ð 	&ð 	&ð —J’J‘L”LÔ$ qÑ(ˆ	Øˆh�yÑ!Ô!¥VÔ%6Ð6Ð6Ø˜‰NˆIð ˆh�yÑ!Ô!¥VÔ%6Ð6Ð6à�c $¤)™nœnÑ,ˆØ×'Ò'¨	°7Ñ;Ô;ˆ
Ý�d�E *¨d¬iÑ8Ô8Ñ9Ô9Ð9rH   c           	      ó>  ‡ — t          ‰ |j        ¦  «        }ˆ fd„|j        D ¦   «         }t          |d¦  «        rB|j        r;t          ‰ |j        ¦  «        }|t          |                     ¦   «         |¦  «        gz  }g }|j        D ]ˆ}t          ‰ |j        ¦  «        }|j	        s"t          |                     ¦   «         d¦  «        ‚|                     t          t          |                     ¦   «         |j	        ¦  «        |¦  «        ¦  «         Œ‰t          |||¦  «        S )Nc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  )r�   rK  r€   s     €rF   r�   z*ExprBuilder.build_Call.<locals>.<listcomp>“  s#   ø€ Ð@Ð@Ð@¨F•
˜3 Ñ'Ô'Ð@Ð@Ð@rH   Ústarargsz&keyword-arg expansion is not supported)r+  rï   rû   rµ  r  r&   r¯   rp  r  rü   ro   r®   r	   r   r   )r€   rE  rï   rû   Ústararg_exprÚkwargsÚkwÚkw_exprs   `       rF   Ú
build_CallzExprBuilder.build_Call�  s  ø€ å˜#˜tœyÑ)Ô)ˆØ@Ð@Ð@Ð@°d´iÐ@Ñ@Ô@ˆÝ�4˜Ñ$Ô$ð 	B¨¬ð 	BÝ% c¨4¬=Ñ9Ô9ˆLØ•W˜\×/Ò/Ñ1Ô1°<Ñ@Ô@ÐAÑAˆDØˆØ”-ð 	Nð 	NˆBÝ   b¤hÑ/Ô/ˆGà”6ð Ý'Ø—M’M‘O”OÐ%Mñô ð ð �MŠM�)¥E¨'¯-ª-©/¬/¸2¼6Ñ$BÔ$BÀGÑLÔLÑMÔMÐMÐMÝ�T˜4 Ñ(Ô(Ð(rH   c                 ór   — |                       |j        |j        |j        dz   ¦  «        }t          |¦  «        S )Né   )r{   r|   r}   r   ©r€   rE  r(  s      rF   Úbuild_EllipsiszExprBuilder.build_Ellipsis¢  s4   € à�NŠNØŒK˜œ¨$¬/¸AÑ*=ñ
ô 
ˆõ �A‰wŒwˆrH   c                 óú  — |                       |j        |j        |j        t          |j        ¦  «        z   ¦  «        }|j                             t          ¦  «        rt          |dt          z   ¦  «        ‚|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          t          ||j        ¦  «        ¦  «        S )Nz=names of variables used in JIT-ed functions can't start with ÚTrueÚFalseÚNoneÚEllipsis)r{   r|   r}   rx   r  rA   rB   ro   r+   r   r   r   r.   r   r  s      rF   Ú
build_NamezExprBuilder.build_Name©  sä   € à�NŠN˜4œ;¨¬¸¼Í3ÈtÌwÉ<Ì<Ñ9WÑXÔXˆØŒ7×ÒÕ.Ñ/Ô/ð 	Ý#Øð$Ý&6ñ7ñô ð ð
 Œ7�fÒÐÝ˜q‘>”>Ð!ØŒW˜ÒÐÝ ‘?”?Ð"ØŒW˜ÒÐÝ˜q‘>”>Ð!ØŒW˜
Ò"Ð"Ý˜‘7”7ˆNÝ•5˜˜DœGÑ$Ô$Ñ%Ô%Ð%rH   c           
      ó¤  — |                       |j        |j        |j        t          t	          |j        ¦  «        ¦  «        z   ¦  «        }|j        du rt          |¦  «        S |j        du rt          |¦  «        S |j        €t          |¦  «        S |j        t          k    rt          |¦  «        S t          dt	          |j        ¦  «        z   ¦  «        ‚)NTFz!Name constant value unsupported: )r{   r|   r}   rx   rl   r  r+   r   r   r  r   r¶  r  s      rF   Úbuild_NameConstantzExprBuilder.build_NameConstant¼  s³   € à�NŠNØŒK˜œ¨$¬/½CÅÀDÄJÁÄÑ<PÔ<PÑ*Pñ
ô 
ˆð Œ:˜ÐÐÝ˜q‘>”>Ð!ØŒZ˜5Ð Ð Ý ‘?”?Ð"ØŒZÐÝ˜q‘>”>Ð!ØŒZ�8Ò#Ð#Ý˜‘7”7ˆNåÐ@Å3ÀtÄzÁ?Ä?ÑRÑSÔSÐSrH   c                 óp  — t          | |j        ¦  «        }t          | |j        ¦  «        }t          |j        ¦  «        }|t
          j        k    r[| j        sT|                      | 	                    ¦   «         j
        | 	                    ¦   «         j        ¦  «        }t          |d¦  «        ‚t          j                             |¦  «        }|€\|                      | 	                    ¦   «         j
        | 	                    ¦   «         j        ¦  «        }t!          |d|j        z   ¦  «        ‚t%          |||¦  «        S )Nz‹Division of ints in TorchScript uses Python 3 true division semantics. Please put `from __future__ import division` at the top of your filezunsupported binary operator: )r+  ÚleftÚrightrw   rÉ  r¿   rê  Úuses_true_divisionr  r¯   r™  r˜  rY   ró  Ú	binop_maprz   ro   ri   r   )r€   rE  r±  r°  rÉ  Ú	err_rangerÌ  s          rF   Úbuild_BinOpzExprBuilder.build_BinOpÌ  s  € å˜˜dœiÑ(Ô(ˆÝ˜˜dœjÑ)Ô)ˆÝ�$”'‰]Œ]ˆà•”Š=ˆ= Ô!7ˆ=Ø×*Ò*¨3¯9ª9©;¬;¬?¸C¿IºI¹K¼KÔ<MÑNÔNˆIÝØð;ñô ð õ Ô(×,Ò,¨RÑ0Ô0ˆØÐØ×*Ò*¨3¯9ª9©;¬;¬?¸C¿IºI¹K¼KÔ<MÑNÔNˆIÝ#ØÐ:¸R¼[ÑHñô ð õ �X˜s CÑ(Ô(Ð(rH   c                 óx  — t          | |j        ¦  «        }t          |j        ¦  «        }t          j                             |¦  «        }|€*t          |                     ¦   «         d|j	        z   ¦  «        ‚|  
                    |j        |j        |j        t          |¦  «        z   ¦  «        }t          |||¦  «        S )Nzunsupported unary operator: )r+  Úoperandrw   rÉ  ró  Úunop_maprz   ro   r¯   ri   r{   r|   r}   rx   r-   )r€   rE  Úsub_exprrÉ  rÌ  r(  s         rF   Úbuild_UnaryOpzExprBuilder.build_UnaryOpâ  s¤   € å˜c 4¤<Ñ0Ô0ˆÝ�$”'‰]Œ]ˆÝÔ'×+Ò+¨BÑ/Ô/ˆØÐÝ#Ø—
’
‘”Ð<¸r¼{ÑJñô ð ð �NŠNØŒK˜œ¨$¬/½CÀ¹M¼MÑ*Iñ
ô 
ˆõ �q˜( HÑ-Ô-Ð-rH   c                 óF  ‡ — t          |j        ¦  «        dk     r1t          dt          t          |j        ¦  «        ¦  «        z   ¦  «        ‚ˆ fd„|j        D ¦   «         }t	          |j        ¦  «        }t          j                             |¦  «        }|€h‰  	                    |d          
                    ¦   «         j        |d          
                    ¦   «         j        ¦  «        }t          |d|j        z   ¦  «        ‚|d         }|dd …         D ]}t          |||¦  «        }Œ|S )Né   z.expected at least 2 values in BoolOp, but got c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  )r�   r)  r€   s     €rF   r�   z,ExprBuilder.build_BoolOp.<locals>.<listcomp>ö  s#   ø€ ÐKÐKÐK°8•Z  XÑ.Ô.ÐKÐKÐKrH   r   r£   zunsupported boolean operator: )rx   rÜ  rÛ   rl   rw   rÉ  ró  Ú
boolop_maprz   r  r¯   r™  r˜  ro   ri   r   )r€   rE  Ú	sub_exprsrÉ  rÌ  r$  r±  r°  s   `       rF   Úbuild_BoolOpzExprBuilder.build_BoolOpð  s&  ø€ åˆtŒ{ÑÔ˜aÒÐÝ Ø@Å3ÅsÈ4Ì;ÑGWÔGWÑCXÔCXÑXñô ð ð LÐKÐKÐK¸t¼{ÐKÑKÔKˆ	Ý�$”'‰]Œ]ˆÝÔ)×-Ò-¨bÑ1Ô1ˆØÐØ×*Ò*Ø˜!”×"Ò"Ñ$Ô$Ô(¨)°A¬,×*<Ò*<Ñ*>Ô*>Ô*Dñô ˆIõ $ØÐ;¸b¼kÑIñô ð ð ˜ŒlˆØ˜Q˜R˜R”=ð 	,ð 	,ˆCÝ˜ # sÑ+Ô+ˆCˆCØˆ
rH   c                 ó–   — t          t          | |j        ¦  «        t          | |j        ¦  «        t          | |j        ¦  «        ¦  «        S r@   )r*   r+  rÃ  r¾   rÐ  ©r€   rE  s     rF   Úbuild_IfExpzExprBuilder.build_IfExp  sA   € åÝ�s˜DœIÑ&Ô&Ý�s˜DœIÑ&Ô&Ý�s˜DœKÑ(Ô(ñ
ô 
ð 	
rH   c                 ót  ‡ — ˆ fd„|j         gt          |j        ¦  «        z   D ¦   «         }d }t          ||j        |dd …         ¦  «        D ]ì\  }}}t          |¦  «        }t          j                             |¦  «        }‰  	                    | 
                    ¦   «         j        | 
                    ¦   «         j        ¦  «        }	|€t          |	d|j        z   ¦  «        ‚|t          j        k    r#t#          d||¦  «        }
t%          |	d|
¦  «        }nt#          |||¦  «        }|€|}ŒÛt#          d||¦  «        }Œí|S )Nc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  ©r�   Úer€   s     €rF   r�   z-ExprBuilder.build_Compare.<locals>.<listcomp>  s#   ø€ ÐUÐUÐU¨1•J˜s AÑ&Ô&ÐUÐUÐUrH   r£   z!unsupported comparison operator: rü  rõ  r÷  )r   r�   ÚcomparatorsÚzipÚopsrw   ró  Ú	cmpop_maprz   r  r¯   r™  r˜  ro   ri   r¿   ÚNotInr   r-   )r€   rE  ÚoperandsrI  r±  Úop_r°  rÉ  rÌ  r(  Úin_exprÚcmp_exprs   `           rF   Úbuild_ComparezExprBuilder.build_Compare  s8  ø€ àUÐUÐUÐU°´°½dÀ4ÔCSÑ>TÔ>TÑ0TÐUÑUÔUˆØˆå  ¨4¬8°X¸a¸b¸b´\ÑBÔBð 	8ð 	8‰MˆC��cÝ�c‘”ˆBÝ"Ô,×0Ò0°Ñ4Ô4ˆHØ×"Ò" 3§9¢9¡;¤;¤?°C·I²I±K´KÔ4EÑFÔFˆAØÐÝ'ØÐ:¸R¼[ÑHñô ð ð •S”YŠˆõ    c¨3Ñ/Ô/�Ý" 1 e¨WÑ5Ô5��å  ¨3°Ñ4Ô4�àˆ~Ø!��å˜u f¨hÑ7Ô7��ØˆrH   c                 ó  ‡ ‡	‡
— d„ Š
d„ Š	ˆ	ˆ
fd„}t          ‰ |j        ¦  «        }t          |j        ¦  «        }|t          j        u rÞt          |j        j        t          j        ¦  «        r‘ˆ fd„|j        j        j        D ¦   «         }|sb‰  	                    |j
        |j        j        j        |j        j        j        dz   ¦  «        }t          |g ¦  «        }|                     |¦  «         t          ||¦  «        S t          |t          ‰ |j        j        ¦  «        g¦  «        S |t          j        u r!t          | ‰
‰ ||j        ¦  «        g¦  «        S |t          j        u r t          | |‰ ||j        ¦  «        ¦  «        S |t          j        u rÙg }|j        j        D ]`}t          |t          j        ¦  «        r!|                      ‰
‰ ||¦  «        ¦  «         Œ=|                     t          ‰ |¦  «        ¦  «         Œa|sX‰  	                    |j
        |j        j        |j        j        dz   ¦  «        }t          |g ¦  «        }|                     |¦  «         t          ||¦  «        S t          |t          ‰ |j        ¦  «        g¦  «        S )Nc                 óþ   — |j         �t          | |j         ¦  «        nd }|j        �t          | |j        ¦  «        nd }|j        �t          | |j        ¦  «        nd }t	          |                     ¦   «         |||¦  «        S r@   )Úlowerr+  ÚupperÚstepr%   r¯   )r€   r  Ú
slice_exprrD  rE  rF  s         rF   Úbuild_SliceExprz4ExprBuilder.build_Subscript.<locals>.build_SliceExpr+  s–   € ð Ô#Ð/õ ˜3 
Ô 0Ñ1Ô1Ð1àð ð Ô#Ð/õ ˜3 
Ô 0Ñ1Ô1Ð1àð ð ”?Ð.õ ˜3 
¤Ñ0Ô0Ð0àð õ
 ˜TŸZšZ™\œ\¨5°%¸Ñ>Ô>Ð>rH   c                 ó®   — t          |j        t          j        ¦  «        r"t	          |                     ¦   «         d¦  «        ‚t          | |j        ¦  «        S )Nz9slicing multiple dimensions with tuples not supported yet)rœ   r  r¿   ÚTuplero   r¯   r+  )r€   r  Ú
index_exprs      rF   Úbuild_Indexz0ExprBuilder.build_Subscript.<locals>.build_Index=  sN   € Ý˜*Ô*­C¬IÑ6Ô6ð Ý'Ø—J’J‘L”LØOñô ð õ ˜c :Ô#3Ñ4Ô4Ð4rH   c                 óæ  •— g }|j         D ]å}t          |¦  «        }|t          j        u r!|                      ‰| ||¦  «        ¦  «         Œ@|t          j        u r!|                      ‰| ||¦  «        ¦  «         Œo|t          j        u rC|j        t          u r5|                     t          | 
                    ¦   «         ¦  «        ¦  «         ŒÀt          | 
                    ¦   «         d|› d�¦  «        ‚|S )Nz!slicing multiple dimensions with z not supported)Údimsrw   r¿   ÚIndexr®   ÚSliceÚConstantr  r  r   r¯   ro   )r€   r  Úextslicer/  rE  Úsub_typerL  rH  s         €€rF   Úbuild_ExtSlicez3ExprBuilder.build_Subscript.<locals>.build_ExtSliceE  sû   ø€ ØˆIØ œð ð �Ý ™:œ:�Ø�sœyÐ(Ð(Ø×$Ò$ [ [°°d¸DÑ%AÔ%AÑBÔBÐBÐBØ¥¤Ð*Ð*Ø×$Ò$ _ _°S¸$ÀÑ%EÔ%EÑFÔFÐFÐFØ¥¤Ð-Ð-°$´*ÅÐ2HÐ2HØ×$Ò$¥T¨$¯*ª*©,¬,Ñ%7Ô%7Ñ8Ô8Ð8Ð8å+ØŸ
š
™œØT¸HÐTÐTÐTñô ð ð ÐrH   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  )r�   rK  r€   s     €rF   r�   z/ExprBuilder.build_Subscript.<locals>.<listcomp>\  s0   ø€ ð ð ð Ø4>•J˜s JÑ/Ô/ðð ð rH   r,  )r+  r  rw   Úslicer¿   rO  rœ   rJ  Úeltsr{   r|   r}   r,   r®   r)   rP  ÚExtSlice)r€   rE  rT  r  rS  Úindicesr(  ÚtuprK  rL  rH  s   `        @@rF   Úbuild_SubscriptzExprBuilder.build_Subscript)  s¯  øøø€ ð	?ð 	?ð 	?ð$	5ð 	5ð 	5ð	ð 	ð 	ð 	ð 	ð 	õ" ˜#˜tœzÑ*Ô*ˆÝ˜œ
Ñ#Ô#ˆØ•s”yÐ Ð Ý˜$œ*Ô*­C¬IÑ6Ô6ð Lðð ð ð ØBFÄ*ÔBRÔBWðñ ô �ð ð 
(ð ŸšØœØœ
Ô(Ô3Øœ
Ô(Ô3°aÑ7ñô �Aõ
 ' q¨"Ñ-Ô-�CØ—N’N 3Ñ'Ô'Ð'Ý   wÑ/Ô/Ð/å  ­
°3¸¼
Ô8HÑ(IÔ(IÐ'JÑKÔKÐKØ�œÐ"Ð"Ý˜T O O°C¸¸t¼zÑ$JÔ$JÐ#KÑLÔLÐLØ�œÐ%Ð%Ý˜T > >°#°t¸T¼ZÑ#HÔ#HÑIÔIÐIà�3œ9Ð$Ð$à�Ø"&¤*¤/ð Dð D�JÝ! *­c¬iÑ8Ô8ð DØŸš  °s¸DÀ*Ñ'MÔ'MÑNÔNÐNÐNàŸš¥z°#°zÑ'BÔ'BÑCÔCÐCÐCàð (àŸšØœ T¤ZÔ%:¸D¼JÔ<QÐTUÑ<Uñô �Aõ ' q¨"Ñ-Ô-�CØ—N’N 3Ñ'Ô'Ð'Ý   wÑ/Ô/Ð/Ý˜T¥J¨s°D´JÑ$?Ô$?Ð#@ÑAÔAÐArH   c                 ó”   ‡ — t          ‰                      |j        |j        |j        dz   ¦  «        ˆ fd„|j        D ¦   «         ¦  «        S )Nr£   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  r6  s     €rF   r�   z*ExprBuilder.build_List.<locals>.<listcomp>‰  ó#   ø€ Ð3Ð3Ð3 A�Z˜˜QÑÔÐ3Ð3Ð3rH   )r   r{   r|   r}   rW  r2  s   ` rF   Ú
build_ListzExprBuilder.build_List…  sL   ø€ åØ�NŠN˜4œ;¨¬¸¼È1Ñ9LÑMÔMØ3Ð3Ð3Ð3¨¬Ð3Ñ3Ô3ñ
ô 
ð 	
rH   c                 ó”   ‡ — t          ‰                      |j        |j        |j        dz   ¦  «        ˆ fd„|j        D ¦   «         ¦  «        S )Nr£   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  r6  s     €rF   r�   z+ExprBuilder.build_Tuple.<locals>.<listcomp>�  r^  rH   )r,   r{   r|   r}   rW  r2  s   ` rF   Úbuild_TuplezExprBuilder.build_TupleŒ  sL   ø€ åØ�NŠN˜4œ;¨¬¸¼È1Ñ9LÑMÔMØ3Ð3Ð3Ð3¨¬Ð3Ñ3Ô3ñ
ô 
ð 	
rH   c                 ó  ‡ — ‰                       |j        |j        |j        dz   ¦  «        }|j        r|j        d         st	          |d¦  «        ‚t          |ˆ fd„|j        D ¦   «         ˆ fd„|j        D ¦   «         ¦  «        S )Nr£   r   z1Dict expansion (e.g. `{**dict}`) is not supportedc                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  r6  s     €rF   r�   z*ExprBuilder.build_Dict.<locals>.<listcomp>œ  r^  rH   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rm   r­  r6  s     €rF   r�   z*ExprBuilder.build_Dict.<locals>.<listcomp>�  s#   ø€ Ð5Ð5Ð5 A�Z˜˜QÑÔÐ5Ð5Ð5rH   )r{   r|   r}   Úkeysro   r   rÜ  )r€   rE  r¯   s   `  rF   Ú
build_DictzExprBuilder.build_Dict“  s›   ø€ à—’˜tœ{¨D¬O¸T¼_ÈqÑ=PÑQÔQˆØŒ9ð 	˜TœY qœ\ð 	Ý#ØÐJñô ð õ ØØ3Ð3Ð3Ð3¨¬Ð3Ñ3Ô3Ø5Ð5Ð5Ð5¨¬Ð5Ñ5Ô5ñ
ô 
ð 	
rH   c                 ó¶   — t          |j        ¦  «        }|                      |j        |j        |j        t          |¦  «        z   ¦  «        }t          ||¦  «        S r@   )rl   r  r{   r|   r}   rx   r   ©r€   rE  r  r(  s       rF   Ú	build_NumzExprBuilder.build_Num   sC   € å�D”J‘”ˆØ�NŠN˜4œ;¨¬¸¼Í3ÈuÉ:Ì:Ñ9UÑVÔVˆÝ�Q˜‰ŒÐrH   c           
      ón  — |j         }|�t          |t          ¦  «        rt                               | |¦  «        S t          |t
          t          t          f¦  «        rt                               | |¦  «        S t          |t          ¦  «        rt           
                    | |¦  «        S t          |t          t          ¦  «        ¦  «        rt                               | |¦  «        S |                      |j        |j        |j        t#          t          |¦  «        ¦  «        z   ¦  «        }t%          |d¦  «        ‚)Nz Unknown Constant expression type)r  rœ   r6  ró  r  ÚintÚfloatÚcomplexrj  rl   Ú	build_Strrw   r  r  r{   r|   r}   rx   rY   )r€   rE  r  Úerror_ranges       rF   Úbuild_ConstantzExprBuilder.build_Constant¦  s   € à”
ˆØˆ=�J u­dÑ3Ô3ˆ=õ ×1Ò1°#°tÑ<Ô<Ð<Ý�e�c¥5­'Ð2Ñ3Ô3ð 
	QÝ×(Ò(¨¨dÑ3Ô3Ð3Ý˜�sÑ#Ô#ð 	QÝ×(Ò(¨¨dÑ3Ô3Ð3Ý˜�t¥H™~œ~Ñ.Ô.ð 	QÝ×-Ò-¨c°4Ñ8Ô8Ð8àŸ.š.Ø”˜Tœ_¨d¬oÅÅCÈÁJÄJÁÄÑ.Oñô ˆKõ   Ð-OÑPÔPÐPrH   c                 ó¼   — t          |j        ¦  «        }|                      |j        |j        |j        t          |¦  «        z   dz   ¦  «        }t          ||¦  «        S ©Nr£   )rl   r  r{   r|   r}   rx   r(   ri  s       rF   ro  zExprBuilder.build_Str¹  sQ   € å�D”J‘”ˆØ�NŠNØŒK˜œ¨$¬/½CÀ¹J¼JÑ*FÈÑ*Jñ
ô 
ˆõ ˜Q Ñ&Ô&Ð&rH   c           	      ó”  — d}g }|j         D ]Ù}|                      |j        |j        |j        dz   ¦  «        }t	          |t
          j        ¦  «        r`|j        dk    rt          |d¦  «        ‚|j	        �t          |d¦  «        ‚|dz  }| 
                    t          | |j        ¦  «        ¦  «         Œ¥t	          |t
          j        ¦  «        r||j        z  }ŒÊt          |d¦  «        ‚|                      |j        |j        |j        dz   ¦  «        }t          t          t!          ||¦  «        t#          |d¦  «        ¦  «        |g ¦  «        S )	Nrt   r£   rÇ  z%Don't support conversion in JoinedStrz%Don't support formatting in JoinedStrz{}zUnsupported value in JoinedStrÚformat)rÜ  r{   r|   r}   rœ   r¿   ÚFormattedValueÚ
conversionro   Úformat_specr®   r+  r  rQ  r   r$   r(   r   )r€   rE  r–   rû   r  r(  s         rF   Úbuild_JoinedStrzExprBuilder.build_JoinedStrÁ  s?  € àˆØˆØ”[ð 	Mð 	MˆEØ—’˜uœ|¨UÔ-=¸uÔ?OÐRSÑ?SÑTÔTˆAÝ˜%¥Ô!3Ñ4Ô4ð MØÔ# rÒ)Ð)Ý+¨AÐ/VÑWÔWÐWØÔ$Ð0Ý+¨AÐ/VÑWÔWÐWØ�T‘	�Ø—’�J s¨E¬KÑ8Ô8Ñ9Ô9Ð9Ð9Ý˜E¥3¤<Ñ0Ô0ð Mà�U”[Ñ ��å'¨Ð+KÑLÔLÐLà�NŠN˜4œ;¨¬¸¼È1Ñ9LÑMÔMˆÝ•V�M¨!¨QÑ/Ô/µ°q¸(Ñ1CÔ1CÑDÔDÀdÈBÑOÔOÐOrH   c                 óÒ  — |                       |j        |j        |j        ¦  «        }t          |j        ¦  «        dk    rt          |d¦  «        ‚t          |j        d         j        ¦  «        dk    rt          |d¦  «        ‚t          | |j        ¦  «        }t          | |j        d         j	        ¦  «        }t          | |j        d         j
        ¦  «        }t          ||||¦  «        S ©Nr£   z.Only a single generator is currently supportedr   z'Comprehension ifs are not supported yet)r{   r|   r}   rx   Ú
generatorsro   Úifsr+  Úeltr³  rÓ  r   )r€   r  r(  Úelt_exprÚtarget_exprÚ	iter_exprs         rF   Úbuild_ListCompzExprBuilder.build_ListComp×  sÈ   € à�NŠN˜4œ;¨¬¸¼ÑIÔIˆÝˆtŒÑÔ 1Ò$Ð$Ý# AÐ'WÑXÔXÐXåˆtŒ˜qÔ!Ô%Ñ&Ô&¨!Ò+Ð+Ý# AÐ'PÑQÔQÐQå˜c 4¤8Ñ,Ô,ˆÝ   d¤o°aÔ&8Ô&?Ñ@Ô@ˆÝ˜s D¤O°AÔ$6Ô$;Ñ<Ô<ˆ	å˜˜8 [°)Ñ<Ô<Ð<rH   c                 ó8   — t                                | |¦  «        S r@   )ró  r‚  )r€   r  s     rF   Úbuild_GeneratorExpzExprBuilder.build_GeneratorExpæ  s   € õ ×)Ò)¨#¨tÑ4Ô4Ð4rH   c                 óþ  — |                       |j        |j        |j        ¦  «        }t          |j        ¦  «        dk    rt          |d¦  «        ‚t          |j        d         j        ¦  «        dk    rt          |d¦  «        ‚t          | |j        ¦  «        }t          | |j	        ¦  «        }t          | |j        d         j
        ¦  «        }t          | |j        d         j        ¦  «        }t          |||||¦  «        S r{  )r{   r|   r}   rx   r|  ro   r}  r+  Úkeyr  r³  rÓ  r   )r€   r  r(  Úkey_exprÚ
value_exprr€  r�  s          rF   Úbuild_DictCompzExprBuilder.build_DictCompë  sÛ   € à�NŠN˜4œ;¨¬¸¼ÑIÔIˆÝˆtŒÑÔ 1Ò$Ð$Ý# AÐ'WÑXÔXÐXåˆtŒ˜qÔ!Ô%Ñ&Ô&¨!Ò+Ð+Ý# AÐ'PÑQÔQÐQå˜c 4¤8Ñ,Ô,ˆÝ  T¤ZÑ0Ô0ˆ
Ý   d¤o°aÔ&8Ô&?Ñ@Ô@ˆÝ˜s D¤O°AÔ$6Ô$;Ñ<Ô<ˆ	å˜˜8 Z°¸iÑHÔHÐHrH   c                 óš   — |                       |j        |j        |j        dz   ¦  «        }t          |t	          | |j        ¦  «        ¦  «        S rs  )r{   r|   r}   r&   r+  r  r  s      rF   Úbuild_StarredzExprBuilder.build_Starredû  s>   € à�NŠN˜4œ;¨¬¸¼È1Ñ9LÑMÔMˆÝ�q�* S¨$¬*Ñ5Ô5Ñ6Ô6Ð6rH   N);ri   rj   rk   r¿   rç  rè  ré  rê  rñ  rë  ÚFloorDivrí  rî  rì  rï  rð  r#  ÚMatMultÚNotÚUSubÚInvertr(  ÚAndÚOrr.  ÚEqÚNotEqÚLtEÚLtÚGtEÚGtÚIsÚIsNotÚInr<  r;  r›  r
  r  r  r  r  r%  r*  r0  r3  rA  r[  r_  rb  rg  rj  rq  ro  ry  r‚  r„  r‰  r‹  rm   rH   rF   ró  ró  T  sf  € € € € € àŒ�ØŒ�ØŒ�#ØŒ�ØŒ�ØŒ�ØŒ�dØŒ
�CØŒ
�CØŒ	�3ØŒ
�DØŒ
�Dð€Ið  !€IˆcŒkÑð 	Œ�ØŒ�#ØŒ
�Cð€Hð 	Œ�ØŒ�ð€Jð 	Œ�ØŒ	�4ØŒ�ØŒ�ØŒ�ØŒ�ØŒ�ØŒ	�8ØŒ�ØŒ	�8ð€Ið ð:ð :ñ „\ð:ð  ð)ð )ñ „\ð)ð" ðð ñ „\ðð ð&ð &ñ „\ð&ð$ ðTð Tñ „\ðTð ð)ð )ñ „\ð)ð* ð.ð .ñ „\ð.ð ðð ñ „\ðð( ð
ð 
ñ „\ð
ð ðð ñ „\ðð6 ðYBð YBñ „\ðYBðv ð
ð 
ñ „\ð
ð ð
ð 
ñ „\ð
ð ð

ð 

ñ „\ð

ð ðð ñ „\ðð
 ðQð Qñ „\ðQð$ ð'ð 'ñ „\ð'ð ðPð Pñ „\ðPð* ð=ð =ñ „\ð=ð ð5ð 5ñ „\ð5ð ðIð Iñ „\ðIð ð7ð 7ñ „\ð7ð 7ð 7rH   ró  ©r   r   c                 ó¶   — | j         d |…                              |¦  «        }|                      ||d         z   |t          |¦  «        z   |d         z   ¦  «        S )Nr   r£   )rá   Úrindexr  rx   )r€   ÚposÚsubstrrÈ  Únew_poss        rF   rË  rË    sT   € ØŒj˜˜#˜Ô×%Ò% fÑ-Ô-€GØ×Ò˜g¨°¬
Ñ2°G½cÀ&¹k¼kÑ4IÈGÐTUÌJÑ4VÑWÔWÐWrH   )NF)NNr@   )rœ  )|r¿   rr  rÜ   r¨   r[  r  Úcollectionsr   Útextwrapr   r^   Útorch.jit.annotationsr   Útorch._C._jit_tree_viewsr   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'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   Útorch._jit_internalr2   r3   r4   r5   Útorch._sourcesr6   r7   r8   r9   r÷   Útorch.jit._dataclass_implsr:   Útorch.jit._monkeytype_configr;   r<   rB   rC   ÚsetÚascii_lowercaseÚascii_uppercaseÚdigitsÚ_identifier_charsrG   rÑ   ÚImportÚ
ImportFromÚGlobalr~   ry   ÚupdateÚAsyncFunctionDefÚAsyncForÚ	AsyncWithÚTryÚNonlocalrÂ   Ú	ExceptionrY   ro   rs   r‰   r’   r™   r·   rÅ   rò   r¬   r6  r  r   rã   r  rB  r*  r>  r€  r‹  r’  r”  rÀ   ró  r+  r•   rŒ   rË  rm   rH   rF   ú<module>r¹     st  ðà 
€
€
€
Ø €€€Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð ð-ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð -ð\ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ?Ð >Ð >Ð >Ð >Ð >Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mð Ð Ø�)€Ø�C˜Ô.°Ô1GÑGÈ&Ì-ÑWÑXÔXÐ ðHð Hð Hð
 „OÐ+Ø„Gˆ[Ø„JÐ Ø„LÐ%Ø„HÐØ„IÐ!Ø„J�Ø„JÐ#Ø„NÐ'Ø„JÐ"Ø„IÐ!Ø„LÐ'ðÐ ð  „O�UØ„GˆUØ„J�Ø„L�'Ø„HˆfØ„IˆwØ„J�Ø„J�Ø„N�FØ„J�Ø„IˆwØ„L�*ðÐ ð  × Ò àÔÐ:ØŒÐ'ØŒÐ.ØŒ�ØŒÐ*ðñô ð ð × Ò àÔ˜kØŒ�kØŒ�|ØŒ�ØŒ�jðñô ð ð × Ò àŒÐ.ðñô ð ð
<ð 
<ð 
<ð 
<ð 
<�Iñ 
<ô 
<ð 
<ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ð,ð ,ð ,ð ,ð ,Ð,ñ ,ô ,ð ,ð	ð 	ð 	ð 	ð 	˜ñ 	ô 	ð 	ðð ð ð
%ð %ð %ð
ð ð ðDð ð ð$JXð JXð JXðZ?ð ?ð ?ð ?ðF°ð ð ð ð ð$!ð !ð !ð !ð !ñ !ô !ð !ðð ð ðAð Að Að Að.2ð ð1ð 1ð 1ð 1ðh>ð >ð >ð >ð[ð [ð [ð|ð ð ð,ð ð ð:
ð 
ð 
ð 
ð 
�gñ 
ô 
ð 
ð gVð gVð gVð gVð gV�'ñ gVô gVð gVðTj7ð j7ð j7ð j7ð j7�'ñ j7ô j7ð j7ðZ ˆ[‰]Œ]€
Øˆ[‰]Œ]€
Ø �Ñ"Ô"€ðXð Xð Xð Xð Xð XrH   