ó
    
EñiA±  ã                   óÜ  • S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  S SK
r
S SKr
S SK
Jr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9  S SK:J;r;J<r<J=r=J>r>  S SK?J@r@JArAJBrBJCrD  S SKEJFrF  S S	KGJHrHJIrI  S
rJS1rK\L" \Rš                  \Rœ                  -   \Rž                  -   5      rPS rQ\ R¤                  S\ RB                  S\ R4                  S\ R*                  S\ Rp                  S\ RT                  S\ R                  S\ R¦                  S\ R¨                  S\ Rª                  S\ R(                  S\ R.                  S0rV\ R¤                  S\ RB                  S\ R4                  S\ R*                  S\ Rp                  S\ RT                  S\ R                  S\ R¦                  S\ R¨                  S \ Rª                  S!\ R(                  S"\ R.                  S#0rW\VR±                  \ R²                  S$\ R´                  S%\ R¶                  S&\ R¸                  S'\ Rº                  S(05        \WR±                  \ R²                  S)\ R´                  S*\ R¶                  S+\ R¸                  S,\ Rº                  S-05        \VR±                  \ R¼                  S.05         " S/ S0\_5      r` " S1 S2\`5      ra " S3 S4\a5      rb " S5 S6\`5      rcS7 rdS8 reS9 rfS: rgS; rhSPS< jriS=\j4S> jrk " S? S@5      rlSA rmSQSB jrnSCroSRSD jrpSRSE jrqSF rrSG rsSH rt " SI SJ\l5      ru " SK SL\l5      rv " SM SN\l5      rw\w" 5       rx\v" 5       ry\u" 5       rzSSSO jr{g)Té    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                 óL   • U R                  [        5      =(       d	    U [        ;   $ ©N)Ú
startswithÚ_reserved_prefixÚ_reserved_names)Únames    ÚO/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/jit/frontend.pyÚis_reserved_namerF   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                   ó,   • \ rS rSrSS jrS\4S jrSrg)ÚFrontendErroré•   ÚreturnNc                 óx   • Xl         X l        [        R                  R	                  U R                   5      U l        g r@   )Úsource_rangeÚmsgÚtorchÚ_CÚErrorReportÚerror_report)Úselfr\   r]   s      rE   Ú__init__ÚFrontendError.__init__–   s,   € Ø(ÔØŒô "ŸH™H×0Ñ0°×1BÑ1BÓCˆÕrG   c                 ól   • U R                   U R                  R                  5       R                  5       -   $ r@   )r]   ra   ÚwhatÚlstrip)rb   s    rE   Ú__str__ÚFrontendError.__str__ž   s)   € Ø�x‰x˜$×+Ñ+×0Ñ0Ó2×9Ñ9Ó;Ñ;Ð;rG   )ra   r]   r\   ©rZ   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rc   Ústrrh   Ú__static_attributes__© rG   rE   rX   rX   •   s   † ôDð<˜÷ <rG   rX   c                   ó   • \ rS rSrSrg)ÚNotSupportedErroré¢   rq   N©rk   rl   rm   rn   rp   rq   rG   rE   rs   rs   ¢   ó   † ÚrG   rs   c                   ó0   ^ • \ rS rSrSSU 4S jjjrSrU =r$ )ÚUnsupportedNodeErroré¦   c                 óF  >• [        U5      n[        [        R                  US5      5      nUR	                  UR
                  UR                  UR                  U-   5      n[        R                  XDR                  5      nU SU(       a  US-   OS S3n[        T	U ])  Xh5        g )NÚ Ú zaren't supported)ÚtypeÚlenÚnode_start_tokensÚgetÚ
make_rangeÚlinenoÚ
col_offsetÚpretty_node_namesrk   Úsuperrc   )
rb   ÚctxÚoffending_nodeÚreasonÚ	node_typeÚ	range_lenr\   Úfeature_namer]   Ú	__class__s
            €rE   rc   ÚUnsupportedNodeError.__init__§   s”   ø€ ä˜Ó(ˆ	ÜÔ)×-Ñ-¨i¸Ó=Ó>ˆ	Ø—~‘~Ø×!Ñ!Ø×%Ñ%Ø×%Ñ%¨	Ñ1ó
ˆô
 )×,Ñ,¨Y×8JÑ8JÓKˆØ�˜a¶ ¨¢¸BÐ?Ð?OÐPˆÜ‰Ñ˜Õ+rG   rq   )r|   rj   )rk   rl   rm   rn   rc   rp   Ú__classcell__)rŒ   s   @rE   rx   rx   ¦   s   ø† ÷,÷ ,rG   rx   c                   ó   • \ rS rSrSrg)ÚFrontendTypeErroréµ   rq   Nru   rq   rG   rE   r�   r�   µ   rv   rG   r�   c                 óX   • U Vs/ s H  n[        X5      PM     nn[        U5      $ s  snf r@   )Úbuild_withitemÚlist)r†   ÚitemsÚis      rE   Úbuild_withitemsr—   ¹   s*   € Ù-2Ó3ªU¨Œ^˜CÖ#©U€EÐ3Ü�‹;Ðùò 4s   …'c                 ól   • U Vs/ s H  n[        X5      PM     nn[        [        S U5      5      $ s  snf r@   )Ú
build_stmtr”   Úfilter)r†   ÚstmtsÚss      rE   Úbuild_stmtsr�   ¾   s2   € Ù).Ó/ª AŒZ˜Ö©€EÐ/Ü”�t˜UÓ#Ó$Ð$ùò 0s   …1c                 óè  • [         R                  " U S S9n[        U S/ 5      n/ nU HÆ  nUS   U;  d  M  [        US   R                  5      (       a  M-  [        US   R                  SUS    S3US9nUS   R                  (       a  [        US   R                  SUS    S	3US9OS
nUR                  [        UR                  5       [        UR                  5       US   5      Xg5      5        MÈ     U$ )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                 ó"   • [        U [        5      $ r@   )Ú
isinstanceÚproperty)Úms    rE   Ú<lambda>Ú&get_class_properties.<locals>.<lambda>Î   s   € ¼
À1ÄhÔ8OrG   ©Ú	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           rE   Úget_class_propertiesr¼   Ã   sð   € ô ×Ò˜sÑ.OÑP€Eä Ð%@À"ÓEÐð €JÛˆØ�‰7Ð+Õ+´KÀÀQÁÇÁ×4MÓ4MÜ Ø�Q‘—‘  4¨¡7 )¨7Ð3¸yñˆFð
 ˜‘7—<—<ô ˜D ™GŸL™L¨B¨t°A©w¨i°wÐ*?È9ÒUàð ð
 ×ÑÜ˜Ÿ™›¬¨v¯|©|«~¸tÀA¹wÓ)GÈÓXöñ ð ÐrG   c                 ó&  ^ ^• / mSUU 4S jjnUR                    Hs  n[        U[        R                  5      (       a  U" [        R
                  U5        M;  [        U[        R                  5      (       d  M\  U" [        R                  U5        Mu     T$ )Nc                 óX   >•  TR                  U " TU5      5        g ! [         a     g f = fr@   )r³   rs   )ÚbuilderÚentryÚassignsr†   s     €€rE   Úmaybe_build_assignÚ-get_class_assigns.<locals>.maybe_build_assignè   s-   ø€ ð	Ø�N‰N™7 3¨Ó.Õ/øÜ ó 	Ùð	ús   ƒ œ
)¨)rj   )Úbodyr    Úastr   ÚStmtBuilderÚbuild_AssignÚ	AnnAssignÚbuild_AnnAssign)r†   Úcls_astrÂ   rÀ   rÁ   s   `   @rE   Úget_class_assignsrË   å   sk   ù€ Ø€G÷ð ð —”ˆÜ�eœSŸZ™Z×(Ñ(Ùœ{×7Ñ7¸Ö?Ü˜œsŸ}™}×-Ó-Ùœ{×:Ñ:¸EÖBñ	 ð
 €NrG   c                 óè  ^ • [         R                  " T U 4S jS9nU 4S jn[        T [        R                  R
                  R                  5       5      u  pEnSR                  U5      n[        U5      n[        R                  " U5      n	U	R                  S   n
[        U
[        R                  5      (       d!  [        S[        U
5      R                    35      e["        R$                  " T 5      (       aÞ  U
R                   Vs1 s HF  n[        U[        R&                  5      (       d  M$  UR(                  [*        ;   d  M:  UR(                  iMH     nn[-        U5       Hr  u  nu  pï[*        R.                  " U5      nU(       d  M'  Xì;  d  M.  U" T 5      nUU4X-'   [1        T U5      n[2        R4                  R7                  UUR8                  5        Mt     U VVs/ s H  u  nn[;        UXáU" U5      S9PM     nnn[=        T U5      n[?        URA                  SS	5      S   5      [?        URA                  SS	5      S   5      -
  n[C        XvUUS
5      n[E        UU
5      n[G        UU
UUUU5      $ s  snf s  snnf )aT  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                 ó  >• [         R                  " U 5      =(       d    [         R                  " U 5      =(       aR    [        TU R                  5      (       + =(       a0    U R                  TR
                  ;   =(       a    [        U 5      (       + $ r@   )r­   ÚismethodÚ
isfunctionr4   rk   Ú__dict__r2   ©r¢   rµ   s    €rE   r£   Ú#get_jit_class_def.<locals>.<lambda>  sa   ø€ œW×-Ò-¨aÓ0×I´G×4FÒ4FÀqÓ4I÷ Ü˜S !§*¡*Ó-Ô-÷à�J‰J˜#Ÿ,™,Ñ&÷ô ˜A“ÔðrG   r¥   c                 ó^   >• [         R                  " U 5      =(       a    [        U SS 5      T:H  $ )NÚ__self__)r­   rÎ   r¯   )Úfnrµ   s    €rE   Úis_classmethodÚ)get_jit_class_def.<locals>.is_classmethod  s'   ø€ Ü×Ò Ó#×L¬°°JÀÓ(EÈÑ(LÐLrG   r|   r   zExpected class definition, got )r«   rÖ   Ú
r¨   F)$r­   r®   r6   r^   r_   r`   Ú
call_stackÚjoinr   rÅ   ÚparserÄ   r    r   ÚAssertionErrorr}   rk   ÚdataclassesÚis_dataclassÚFunctionDefrD   r:   Ú	enumerater€   r¯   r   ÚloaderÚcacheÚsourcer±   r¼   r~   Úsplitr7   rË   Úbuild_class_def)rµ   r«   ÚmethodsrÖ   ÚsourcelinesÚfile_linenoÚfilenamerã   Ú
dedent_srcÚpy_astÚ	class_astÚmethodÚ	overridesr–   rD   Ú_Úsynthesizer_fnÚ
parsed_defÚfuncÚobjÚmethod_defsr¸   Úleading_whitespace_lenr†   rÁ   s   `                        rE   Úget_jit_class_defrö   ÷   sF  ø€ ô × Ò Øôñ€GõMô *CØŒU�X‰X×!Ñ!×,Ñ,Ó.ó*Ñ&€K˜hð �W‰W�[Ó!€Fä˜“€JÜ�YŠY�zÓ"€Fà—‘˜A‘€IÜ�i¤§¡×.Ñ.ÜØ-¬d°9«o×.FÑ.FÐ-GÐHó
ð 	
ô ×Ò ×$Ñ$ð
 $Ÿ.š.ó
â(�Ü˜&¤#§/¡/×2ó ð —‘Ô6Ñ6ó ˆF�KŒKÙ(ð 	ð 
ô & gÖ.‰LˆA‰y�ä4×8Ò8¸Ó>ˆNßˆ~ $Õ"7Ù+¨CÓ0�
Ø! :Ð-�‘
Ü˜s DÓ)�Ü×$Ñ$×*Ñ*¨4°×1BÑ1BÖCñ /ñ #ôâ"‰KˆT�3ô 	�C˜Á>ÐRUÓCVÔWÙ"ð ñ ô & c¨9Ó5€Jä  §¡¨d°AÓ!6°qÑ!9Ó:¼SØ×Ñ˜˜qÓ! !Ñ$ó>ñ Ðô Ø˜+Ð'=¸uó€Cô    YÓ/€Gä˜3 	¨;¸
ÀIÈwÓWÐWùò;
ùós   Ä #I)Ä'I)Ä=I)ÇI.c           	      óP  • [        U [        5      (       d  [        U 5      OU n[        R                  R
                  R                  UR                  5      nUR                  R                  S   nU(       ag  UR                  R                  S   R                  n[        R                  " U SU 35      R                  S   nUR                  R                  SU5        [        U 5      (       Ga<  [        R                  " S5      n	[        U	R                  5      S:w  d,  [        U	R                  S   [        R                   5      (       d%  [#        SUR$                   SUR&                   35      eU	R                  S   n
U
R                  Ul	        S=UR                  l        UR                  l        UR                  R                  UR                  R,                  -    H+  nU
R                  R                  S   R.                  Ul        M-     [1        U 5      (       a  SUl        SUl        [        R                  R6                  R9                  5       nSn[:        (       a1  [        U [        5      (       d  [=        U 5      nUR?                  U5      n[A        URB                  UUUUUS9$ )	a6  
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   r~   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                  rE   r±   r±   D  s  € ô '1°´Z×&@Ñ&@”˜2”Àb€JÜ—	‘	×%Ñ%×3Ñ3°J×4EÑ4EÓF€IØ�^‰^× Ñ  Ñ#€FæØ—;‘;×#Ñ# AÑ&×*Ñ*ˆä—i’i 8 *¨C°	¨{Ð ;Ó<×AÑAÀ!ÑDˆØ�‰×Ñ˜1˜kÔ*ô �2‡‚ÜŸ	š	Ø\ó
ˆô ˆ}×!Ñ!Ó" aÓ'¬zØ×Ñ˜qÑ!¤3§?¡?÷0
ñ 0
ô Ø8¸×9LÑ9LÐ8MÈQÈz×OeÑOeÐNfÐgóð ð #×'Ñ'¨Ñ*ˆ
Ø —o‘oˆŒà15Ð5ˆ�‰Ô˜FŸK™KÔ.Ø—;‘;×#Ñ# f§k¡k×&<Ñ&<Ô<ˆCà'Ÿ_™_×1Ñ1°!Ñ4×?Ñ?ˆCŽNñ =ô �r�?‰?à!ˆFŒNØ"&ˆFÔô —I‘I×%Ñ%×8Ñ8Ó:€MØ€MßÒ¤
¨2¬z× :Ñ :Ü% bÓ)ˆØ%×4Ñ4°XÓ>ˆäØ�‰ØØØØØ#ñð rG   rZ   c                 ó  • [        U R                  S   R                  [        R                  5      (       aÓ  U R                  S   R                  R
                  n[        U[        R                  5      (       a‘  UR                  nUR                  nUS:X  as  [        U[        R                  5      (       aT  UR                  S:X  aD  [        UR                  [        R                  5      (       a  UR                  R                  S:X  a  gg)Nr   Ú_IgnoreContextManagerrü   r^   TF)r    r•   Úcontext_exprrÅ   ÚCallrò   r	   ÚattrÚvalueÚNameÚid)ÚstmtÚfunctionÚ	attr_nameÚ
attr_values       rE   Ú#is_torch_jit_ignore_context_managerr"  ‡  s¹   € ä�$—*‘*˜Q‘-×,Ñ,¬c¯h©h×7Ñ7à—:‘:˜a‘=×-Ñ-×2Ñ2ˆÜ�h¤§¡×.Ñ.Ø Ÿ™ˆIØ!Ÿ™ˆJØÐ3Ó3¼
ØœCŸM™M÷9ñ 9ð —?‘? eÓ+´
¸:×;KÑ;KÌSÏXÉX×0VÑ0VØ!×'Ñ'×*Ñ*¨gÓ5Ø#ØrG   c                   ó   • \ rS rSrS rSrg)ÚBuilderi™  c                 óv   • [        U SUR                  R                  -   S 5      nUc  [        X5      eU" X5      $ )NÚbuild_)r¯   rŒ   rk   rx   )rb   r†   Únoderí   s       rE   Ú__call__ÚBuilder.__call__š  s:   € Ü˜˜x¨$¯.©.×*AÑ*AÑAÀ4ÓHˆØ‰>Ü& sÓ1Ð1Ù�cÓ Ð rG   rq   N)rk   rl   rm   rn   r(  rp   rq   rG   rE   r$  r$  ™  s   † õ!rG   r$  c           	      óæ   • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        [        Xd5      U Vs/ s H  n[        U5      PM     snX55      $ s  snf )NrL   )r�   r‚   rƒ   r~   r   r   r'   )r†   Úpy_defræ   r¸   r«   rÁ   Úrrí   s           rE   rå   rå   ¡  sa   € Ø�‰Ø�‰�v×(Ñ(¨&×*;Ñ*;¼cÀ'»lÑ*Jó	€Aô ÜˆaÓ¹ÓAº¨vœd 6žl¹ÑAÀ:óð ùÚAs   ÁA.
c                 óî  • UR                   nU R                  UR                  UR                  UR                  [	        S5      -   5      n[        XR                  XE5      nS n	[        USS 5      b  [        XR                  5      n	[        XxU	5      n
US LnUb@  [        R                  R                  U5      n[        R                  R                  U
UU5      n
[        [!        Xs5      U
[#        X5      5      $ )NrI   r  )rÄ   r�   r‚   rƒ   r~   Ú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                rE   r  r  ª  sÒ   € Ø�;‰;€DØ�‰�v—}‘} f×&7Ñ&7¸×9JÑ9JÌSÐQVËZÑ9WÓX€Aä! #§{¡{°IÓM€JØ€KÜˆv�y $Ó'Ñ3Ü  §n¡nÓ5ˆä�˜{Ó+€DØ Ð%€IØÑÜ!ŸH™H×7Ñ7¸	ÓBÐÜ�x‰x×4Ñ4ØØØó
ˆô Œu�QÓ! 4¬°SÓ)?Ó@Ð@rG   zfCompiled functions can't take variable number of arguments or use keyword-only arguments with defaultsc                 ór  • UR                   bf  UR                   nU R                  UR                  UR                  S-
  UR                  [	        UR
                  5      -   5      n[        U[        5      eUR                  bf  UR                  nU R                  UR                  UR                  S-
  UR                  [	        UR
                  5      -   5      n[        U[        5      e[	        UR                  5      S:”  a?  UR                   H/  nUc  M  [        X5      R                  5       n[        U[        5      e   UR                   Vs/ s H8  nUU(       a*  [        X6R
                     5      (       a  X6R
                     OS 4PM:     nnUR                   Vs/ s H8  nUU(       a*  [        X6R
                     5      (       a  X6R
                     OS 4PM:     nnU VV	s/ s H  u  pi[        XUSU	S9PM     n
nn	U
U VV	s/ s H  u  pi[        XUSU	S9PM     sn	n-  n
U
$ s  snf s  snf s  sn	nf s  sn	nf )Nr¨   r   F)Ú
kwarg_onlyÚpdt_arg_typeT)r  r�   r‚   rƒ   r~   r   rs   Ú_vararg_kwarg_errr  Úkw_defaultsr/  r´   rÿ   Úboolr  Úbuild_param)r†   Úpy_argsr«   rú   ÚexprÚ	ctx_ranger   Úarg_and_typesÚarg_and_types_kwonlyargsÚarg_typeÚresults              rE   r.  r.  Æ  s  € Ø‡}�}Ñ Ø�}‰}ˆØ—N‘NØ�K‰K˜Ÿ™¨1Ñ,¨d¯o©oÄÀDÇHÁHÃÑ.Mó
ˆ	ô   	Ô+<Ó=Ð=Ø‡~�~Ñ!Ø�~‰~ˆØ—N‘NØ�K‰K˜Ÿ™¨1Ñ,¨d¯o©oÄÀDÇHÁHÃÑ.Mó
ˆ	ô   	Ô+<Ó=Ð=Ü
ˆ7×ÑÓ !Ó#ð ×&Ô&ˆCØ‹Ü& sÓ0×6Ñ6Ó8�	Ü'¨	Ô3DÓEÐEñ 'ð —<’<óò  ˆCð æ¤ m·G±GÑ&<×!=Ñ!=ð Ÿ'™'Ò"àó		
ñ  ð ð ð  ×%Ò%ó ò &ˆCð æ¤ m·G±GÑ&<×!=Ñ!=ð Ÿ'™'Ò"àó		
ñ &ð ð  ñ +ôâ*‰MˆCô 	�C˜i°EÈÔQÙ*ð ñ ð á5ôâ5‰MˆCô 	�C˜i°DÀxÔPÙ5òñ €Fð €Mùò7ùò ùóùós   Å?H#Æ?H(Ç"H-ÈH3c                 ó’  • UR                   nU R                  UR                  UR                  UR                  [	        U5      -   5      n[        USS 5      b  [        XR                  5      nOEU(       a  [        [        Xd5      5      nO)Ub  US:X  a  [        [        Xb5      5      nO[        U5      n[        U[        Xe5      U5      $ )Nr  rb   )r   r�   r‚   rƒ   r~   r¯   r/  r  r.   r   r   r   )r†   Úpy_argr«   r8  r9  rD   r,  Úannotation_exprs           rE   r=  r=  ú  s    € à�:‰:€DØ�‰�v—}‘} f×&7Ñ&7¸×9JÑ9JÌSÐQUËYÑ9VÓW€AÜˆv�| TÓ*Ñ6Ü$ S×*;Ñ*;Ó<‰Þ	Üœe AÓ4Ó5‰Ø	Ñ	 4¨6£>Üœe AÓ1Ó2‰ä-¨aÓ0ˆÜ�¤%¨£.°*Ó=Ð=rG   c           	      óÒ  ^^• [        SSS/5      m[        SSS/5      mUU4S jnS[        4S jnS nS	 nU" UR                  S
   R                  R                  5      u  pgSU" X5      -   nSU-   n	U	SSR                  U V
s/ s H  oªR                  S-   U
R                  -   PM      sn
5      -   S-   -  n	U" U5      u  p¼X›S-   -  n	[        R                  " U	5      R                  S
   nUR                  Ul
        [        R                  " U5      R                  S
   nUR                  R                  U5        S[        R                  " U5       S3n[        R                  " [        5       5      n[        Xï5        Xø   [        5       U'   U" U5      nSU S3U" U5      -   S-   n[!        U5      S
:”  a	  US-   U-   nOUn[        R                  " U5      R                  S
   nU$ s  sn
f )NÚ	InputTyperD   ÚannÚ
OutputTypec                 ó  >• / n/ nU  Ht  nUR                   nUR                  R                  nUR                  S5      u  peUS:X  a  UR                  T" XE5      5        US:X  d  M]  UR                  T" XE5      5        Mv     X4$ )Nrù   ÚinpÚout)r   r  rä   r³   )	rÿ   ÚinputsÚoutputsr   Úvar_nameÚvar_annÚvar_decl_typerI  rK  s	          €€rE   Úprocess_ins_outsÚ6build_ignore_context_manager.<locals>.process_ins_outs  s|   ø€ ð ˆØˆÛˆCØ—w‘wˆHØ—i‘i—o‘oˆGØ%,§]¡]°3Ó%7Ñ"ˆMØ Ó%Ø—‘™i¨Ó:Ô;Ø Õ%Ø—‘™z¨(Ó<Ö=ñ ð ˆÐrG   rZ   c                 óh   • [         R                  " SSU R                  5      nU SUR                   3$ )Nz[^a-zA-Z0-9_]rï   )ÚreÚsubré   r‚   )r†   r  rÕ   s      rE   Úcreate_unique_name_extÚ<build_ignore_context_manager.<locals>.create_unique_name_ext  s0   € ô �VŠVÐ$ c¨3¯<©<Ó8ˆØ��Q�t—{‘{�mÐ$Ð$rG   c                 ó–  • SnSn[        U 5      S:X  a  US-  n[        U 5      S:X  a#  SU S   R                  -   nX S   R                  -  n[        U 5      S:”  ad  SnUSS	R                  U  Vs/ s H  o3R                  PM     sn5      -   S
-   -  nUS	R                  U  Vs/ s H  o3R                  PM     sn5      -  nX4$ s  snf s  snf )Nr|   zreturn r   z -> Noner¨   z -> z	 -> tupleÚ[ú, Ú])r~   rJ  rD   rÚ   )rP  Úreturn_type_annÚreturn_statement_strÚvars       rE   Úbuild_return_ann_stmtÚ;build_ignore_context_manager.<locals>.build_return_ann_stmt#  sÈ   € ØˆØ(ÐÜˆw‹<˜1ÓØ˜zÑ)ˆOÜˆw‹<˜1ÓØ$ w¨q¡z§~¡~Ñ5ˆOØ ¨A¡J§O¡OÑ3Ð Üˆw‹<˜!ÓØ)ˆOØ˜s T§Y¡YÁ7Ó/KÂ7¸C·´Á7Ñ/KÓ%LÑLÈsÑRÑRˆOØ  D§I¡IÁ7Ó.KÂ7¸C¯x¬xÁ7Ñ.KÓ$LÑLÐ ØÐ4Ð4ùò 0LùÚ.Ks   Á-CÂ C
c                 ób   • SR                  U  Vs/ s H  oR                  PM     sn5      $ s  snf )Nr]  )rÚ   rD   )rÿ   r   s     rE   Ú
build_argsÚ0build_ignore_context_manager.<locals>.build_args1  s%   € Ø�y‰y©dÓ3ªd sŸ(œ(©dÑ3Ó4Ð4ùÒ3s   �,r   Úfunc_ignore_z
def Ú(r]  z :Ú)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   ro   r•   r  ÚkeywordsrÚ   rD   rJ  rÅ   rÛ   rÄ   r³   ÚunparseÚcopyÚglobalsÚexecr~   )r†   r  rT  rY  rb  re  rO  rP  Úignore_function_nameÚignore_function_strra  Ú
return_annÚreturn_stmtÚignore_functionÚignore_func_strÚgÚassign_str_lhsÚassign_str_rhsÚ
assign_strÚ
assign_astrI  rK  s                       @@rE   Úbuild_ignore_context_managerrz  	  sø  ù€ Ü˜;¨°¨Ó8€IÜ˜L¨6°5¨/Ó:€Jöð %¬Sô %ò5ò5ñ ' t§z¡z°!¡}×'AÑ'A×'JÑ'JÓK�O€Fð *Ñ,BÀ3Ó,MÑMÐØ"Ð%9Ñ9ÐØØˆd�i‰i¹fÓEºf°sŸ™ D™¨3¯7©7Ô2¹fÑEÓFÑFÈÑLñÐñ 4°GÓ<Ñ€JØ¨Ñ0Ñ0Ðô —i’iÐ 3Ó4×9Ñ9¸!Ñ<€Oð  Ÿ9™9€OÔô —)’)˜KÓ(×-Ñ-¨aÑ0€KØ×Ñ×Ñ Ô,ðô ‡‚ˆ_ÓÐ ð ð€Oô 	�	Š	”'“)Ó€AÜˆÔà&'Ñ&=„GƒIÐ"Ñ#ñ   Ó(€Nð Ð2Ð3°1Ð5¹
À6Ó8JÑJÈSÑPð ô ˆ7ƒ|�aÓØ# eÑ+¨nÑ<‰
à#ˆ
Ü—’˜:Ó&×+Ñ+¨AÑ.€JØÐùòU Fs   Â%G$c                 ó  • U c  0 $ [         R                  " U 5      nUR                  R                  5        VVs0 s H:  u  p#UR                  [         R
                  R                  Ld  M.  X#R                  _M<     snn$ s  snnf )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.
)r­   Ú	signatureÚ
parametersr•   ÚdefaultÚ	ParameterÚempty)rÕ   r|  ÚkÚvs       rE   Úget_default_argsrƒ  g  sv   € ð 
�zØˆ	ä×!Ò! "Ó%€Ið ×(Ñ(×.Ñ.Ô0ôâ0‰DˆAØ�9‰9œG×-Ñ-×3Ñ3Ð3ó 	ˆ�9‰9ŠÙ0òð ùó s   ¹-A>Á*A>c                 ó†   ^ • [         R                  " T U 4S jS9nU VVs0 s H  u  p#U[        U5      _M     nnnU$ s  snnf )a'  
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                 óî   >• [         R                  " U 5      =(       d    [         R                  " U 5      =(       a;    [        TU R                  5      (       + =(       a    U R                  TR
                  ;   $ r@   )r­   rÎ   rÏ   r4   rk   rÐ   rÑ   s    €rE   r£   Ú,get_default_args_for_class.<locals>.<lambda>‹  sP   ø€ œW×-Ò-¨aÓ0×I´G×4FÒ4FÀqÓ4I÷ 'Ü˜S !§*¡*Ó-Ô-÷'à�J‰J˜#Ÿ,™,Ñ&ð'rG   r¥   )r­   r®   rƒ  )rµ   ræ   Úmethod_nameÚmethod_implÚdefaultss   `    rE   Úget_default_args_for_classrŠ  }  sY   ø€ ô × Ò Øô'ñ€Gñ )0ôâ(/Ñ$ˆKð 	Ô% kÓ2Ò2Ù(/ð ñ ð
 €Oùós    =c                   ó$   • \ rS rSr\S 5       rSrg)ÚWithItemBuilderiš  c                 óH  • UR                   R                  nUR                   R                  nU[        [        [
        R                     5      -   nUR                  nU R                  X#U5      n[        U[        XR                   5      U(       a  [        X5      5      $ S 5      $ r@   )r  r‚   rƒ   r~   r„   rÅ   r0   Úoptional_varsr�   r1   r/  )r†   Úitemr‚   ÚstartÚendÚop_varsr,  s          rE   r“   ÚWithItemBuilder.build_withitem›  s�   € à×"Ñ"×)Ñ)ˆØ×!Ñ!×,Ñ,ˆØ”cÔ+¬C¯H©HÑ5Ó6Ñ6ˆØ×$Ñ$ˆØ�N‰N˜6¨#Ó.ˆäØÜ�s×-Ñ-Ó.Þ(/ŒJ�sÓ$ó
ð 	
ð 6:ó
ð 	
rG   rq   N)rk   rl   rm   rn   Ústaticmethodr“   rp   rq   rG   rE   rŒ  rŒ  š  s   † Øñ
ó ó
rG   rŒ  c                   ó   • \ rS rSr\R
                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S	\R                  S
\R                  S\R                  S0r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r \S 5       r!Sr"g)rÆ   iª  Ú+Ú-Ú*Ú/Ú%Ú|Ú&Ú^ú<<ú>>ú**c                 óx   • UR                   nUR                  R                  S:X  a  g [        [	        X5      5      $ )NÚStr)r  rŒ   rk   r   r/  )r†   r  r  s      rE   Ú
build_ExprÚStmtBuilder.build_Expr¹  s2   € à—
‘
ˆØ�?‰?×#Ñ# uÓ,ð äœJ sÓ2Ó3Ð3rG   c                 ó–   • [        XR                  5      nUR                   Vs/ s H  n[        X5      PM     nn[        XB5      $ s  snf r@   )r/  r  Útargetsr   )r†   r  ÚrhsÚxÚlhss        rE   rÇ   ÚStmtBuilder.build_AssignÃ  s=   € ä˜Ÿj™jÓ)ˆØ+/¯<ª<Ó8ª< aŒz˜#Ö!©<ˆÐ8Ü�cÓÐùò 9s   ¤Ac                 óÌ  • UR                   c
  [        XSS9e[        UR                  5      [        R
                  L aÜ  UR                  R                   R                  S:X  a¸  U R                  S:w  a¨  UR                  nU[        SUR                  R                   35      -   n[        UR                  S5      (       a%  U[        SUR                  R                   35      -  nU R                  UR                  X#5      n[        SU R                   S	U 35      e[!        XR                   5      n[!        XR                  5      n[!        XR                  5      n[#        U/XW5      $ )
Nzwithout assigned value)rˆ   rb   rc   zself.r  z: zKType annotations on instance attributes must be declared in __init__, not 'z': )r  rx   r}   ÚtargetrÅ   r	   r  Úfuncnamerƒ   r~   r  Úhasattrr  r�   r‚   Ú
ValueErrorr/  r   )r†   r  r�  r‘  Úsrr§  r©  Úthe_types           rE   rÉ   ÚStmtBuilder.build_AnnAssignÉ  s&  € à�:‰:ÑÜ& sÐ9QÑRÐRô �—‘Ó¤§¡Ò.Ø—‘×!Ñ!×$Ñ$¨Ó.Ø—‘ 
Ó*à—O‘OˆEØœ#  d§k¡k×&6Ñ&6Ð%7Ð8Ó9Ñ9ˆCÜ�t—‘¨×-Ñ-Ø”s˜R §¡× 2Ñ 2Ð3Ð4Ó5Ñ5�Ø—‘ §¡¨UÓ8ˆBÜð"Ø"%§,¡, ¨s°2°$ð8óð ô
 ˜Ÿj™jÓ)ˆÜ˜Ÿk™kÓ*ˆÜ˜c§?¡?Ó3ˆÜ�s�e˜SÓ+Ð+rG   c           
      óä   • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        X!R
                   Vs/ s H  n[        X5      PM     sn5      $ s  snf )NrK   )r�   r‚   rƒ   r~   r   r¦  r/  )r†   r  r,  r¬  s       rE   Úbuild_DeleteÚStmtBuilder.build_Deleteã  sO   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈuË:Ñ9UÓVˆä�aÇÂÓMÂ°fœ* SÖ1ÁÑMÓNÐNùÒMs   ÁA-
c                 óÞ   • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        X!R
                  c  S 5      $ [        XR
                  5      5      $ )NrZ   )r�   r‚   rƒ   r~   r#   r  r/  ©r†   r  r,  s      rE   Úbuild_ReturnÚStmtBuilder.build_Returné  sS   € à�N‰NØ�K‰K˜Ÿ™¨$¯/©/¼CÀ»MÑ*Ió
ˆô �a§¡Ñ!3˜ÓUÐU¼ÀCÏÉÓ9TÓUÐUrG   c                 ó¼   • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        XR
                  5      n[        X#5      $ )NrN   )r�   r‚   rƒ   r~   r/  Úexcr"   )r†   r  r,  r?  s       rE   Úbuild_RaiseÚStmtBuilder.build_Raiseð  sA   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈwË<Ñ9WÓXˆÜ˜#Ÿx™xÓ(ˆÜ�Q‹~ÐrG   c                 ó  • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        XR
                  5      nUR                  b  [	        XR                  5      OS n[        X#U5      $ )NrO   )r�   r‚   rƒ   r~   r/  Útestr]   r   )r†   r  r,  r¿  r]   s        rE   Úbuild_AssertÚStmtBuilder.build_Assertö  sb   € à�N‰NØ�K‰K˜Ÿ™¨$¯/©/¼CÀ»MÑ*Ió
ˆô ˜#Ÿy™yÓ)ˆØ+/¯8©8Ñ+?Œj˜Ÿh™hÔ'ÀTˆÜ�a˜sÓ#Ð#rG   c           	      ó\  • [        XR                  5      n[        XR                  5      n[        UR                  5      nU[
        R                  ;   a  [
        R                  U   nO:[        [        XR                  5       R                  SSS9SUR                  -   5      e[        X%U5      $ )NÚ=)éÿÿÿÿr   )Úoffsetsz*unsupported kind of augmented assignment: )r/  r¬  r  r}   ÚoprÆ   Úaugassign_maprs   Úfind_beforer´   r�  rk   r
   )r†   r  r©  r§  rÆ  Úop_tokens         rE   Úbuild_AugAssignÚStmtBuilder.build_AugAssignÿ  s‰   € ä˜Ÿk™kÓ*ˆÜ˜Ÿj™jÓ)ˆÜ�$—'‘'‹]ˆØ”×*Ñ*Ó*Ü"×0Ñ0°Ñ4‰Hä#Ü˜C§¡£×!2Ñ!2°CÀÑIØ<¸r¿{¹{ÑJóð ô ˜¨Ó,Ð,rG   c                 ó  • UR                   (       a  [        S S5      eU R                  UR                  UR                  UR                  [        S5      -   5      n[        U[        XR                  5      [        XR                  5      5      $ )Nz-else branches of while loops aren't supportedÚwhile)Úorelsers   r�   r‚   rƒ   r~   r/   r/  r¿  r�   rÄ   r·  s      rE   Úbuild_WhileÚStmtBuilder.build_While  sh   € à�;�;ô $ØÐEóð ð �N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈwË<Ñ9WÓXˆÜ�Qœ
 3¯	©	Ó2´KÀÇYÁYÓ4OÓPÐPrG   c           	      óH  • U R                  UR                  UR                  UR                  [        S5      -   5      nUR                  (       a  [        US5      e[        U[        XR                  5      /[        XR                  5      /[        XR                  5      5      $ )NrJ   z+else branches of for loops aren't supported)r�   r‚   rƒ   r~   rÎ  rs   r   r/  r¬  Úiterr�   rÄ   r·  s      rE   Ú	build_ForÚStmtBuilder.build_For  sx   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈuË:Ñ9UÓVˆØ�;�;Ü# AÐ'TÓUÐUäØÜ˜Ÿ[™[Ó)Ð*Ü˜ŸY™YÓ'Ð(Ü˜ŸY™YÓ'ó	
ð 	
rG   c           	      ó
  • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        U[        XR                  5      [        XR                  5      [        XR                  5      5      $ )NÚif)
r�   r‚   rƒ   r~   r   r/  r¿  r�   rÄ   rÎ  r·  s      rE   Úbuild_IfÚStmtBuilder.build_If%  s]   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈtË9Ñ9TÓUˆÜØÜ�sŸI™IÓ&Ü˜ŸY™YÓ'Ü˜Ÿ[™[Ó)ó	
ð 	
rG   c           
      ó\  • U R                  UR                  UR                  UR                  [        S5      -   5      nUR                  (       a  [        US5      eUR                   Vs/ s H  n[        X5      PM     nn[        [        [        [        US5      5      U/ 5      5      $ s  snf )Nr>   z?print statements with non-default destinations aren't supported)r�   r‚   rƒ   r~   Údestrs   Úvaluesr/  r   r   r.   r   )r†   r  r,  Úvalrÿ   s        rE   Úbuild_PrintÚStmtBuilder.build_Print/  s‡   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈwË<Ñ9WÓXˆØ�9�9Ü#ØÐTóð ð 15·²Ó<²¨”
˜3Ö$±ˆÐ<Üœœc¤%¨¨7Ó"3Ó4°d¸BÓ?Ó@Ð@ùò =s   Á)B)c                 ó’   • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        U5      $ )NÚpass)r�   r‚   rƒ   r~   r    r·  s      rE   Ú
build_PassÚStmtBuilder.build_Pass9  s2   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈvË;Ñ9VÓWˆÜ�A‹wˆrG   c                 ó’   • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        U5      $ )NrS   )r�   r‚   rƒ   r~   r   r·  s      rE   Úbuild_BreakÚStmtBuilder.build_Break>  s2   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈwË<Ñ9WÓXˆÜ�Q‹xˆrG   c                 ó’   • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        U5      $ )NrT   )r�   r‚   rƒ   r~   r   r·  s      rE   Úbuild_ContinueÚStmtBuilder.build_ContinueC  s8   € à�N‰NØ�K‰K˜Ÿ™¨$¯/©/¼CÀ
»OÑ*Kó
ˆô ˜‹{ÐrG   c                 ó.  • U R                  UR                  UR                  UR                  [        S5      -   5      n[	        U5      (       a  [        X5      n[        X5      $ [        U[        XR                  5      [        XR                  5      5      $ )NrM   )r�   r‚   rƒ   r~   r"  rz  r™   r0   r—   r•   r�   rÄ   )r†   r  r,  ry  s       rE   Ú
build_WithÚStmtBuilder.build_WithJ  sj   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈvË;Ñ9VÓWˆä.¨t×4Ñ4Ü5°cÓ@ˆJÜ˜cÓ.Ð.Ü�A” s¯J©JÓ7¼ÀSÏ)É)Ó9TÓUÐUrG   rq   N)#rk   rl   rm   rn   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ê  rp   rq   rG   rE   rÆ   rÆ   ª  s¶  † à�‰�Ø�‰�Ø�‰�#Ø�‰�Ø�‰�Ø�	‰	�3Ø�
‰
�CØ�
‰
�CØ�
‰
�DØ�
‰
�DØ�‰�ð€Mð ñ4ó ð4ð ñ ó ð ð
 ñ,ó ð,ð2 ñOó ðOð
 ñVó ðVð ñó ðð
 ñ$ó ð$ð ñ-ó ð-ð ñQó ðQð ñ

ó ð

ð ñ
ó ð
ð ñAó ðAð ñó ðð ñó ðð ñó ðð ñVó óVrG   rÆ   c                   ó*  • \ rS rSr\R
                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S	\R                  S
\R                  S\R                  S\R                   S0rS\\R$                  '   \R&                  S\R(                  S\R*                  S0r\R.                  S\R0                  S0r\R4                  S\R6                  S\R8                  S\R:                  S\R<                  S\R>                  S\R@                  S\RB                  S\RD                  S\RF                  S0
r$\%S 5       r&\%S 5       r'\%S 5       r(\%S  5       r)\%S! 5       r*\%S" 5       r+\%S# 5       r,\%S$ 5       r-\%S% 5       r.\%S& 5       r/\%S' 5       r0\%S( 5       r1\%S) 5       r2\%S* 5       r3\%S+ 5       r4\%S, 5       r5\%S- 5       r6\%S. 5       r7\%S/ 5       r8\%S0 5       r9\%S1 5       r:\%S2 5       r;S3r<g4)5ÚExprBuilderiT  r–  r—  r˜  r™  r   rš  z//rœ  r�  r›  rž  rŸ  Ú@ÚnotÚ~ÚandÚorz==z!=z<=Ú<z>=Ú>Úiszis notÚinznot inc                 ó°  ^• [        XR                  5      nU R                  R                  S5      mU4S jnUR	                  5       R
                  S-   nU" U5      [        R                  ;   a!  US-  nU" U5      [        R                  ;   a  M!  U[        UR                  5      -   nU R                  XE5      n[        U[        XaR                  5      5      $ )Nzutf-8c                 ó    >• [        TU    5      $ r@   )Úchr)Úindexrã   s    €rE   Úget_charÚ-ExprBuilder.build_Attribute.<locals>.get_char†  s   ø€ Ü�v˜e‘}Ó%Ð%rG   r¨   )r/  r  rã   Úencoder´   r‘  ÚstringÚ
whitespacer~   r  Úmake_raw_ranger$   r   )r†   r?  Úbaser  Ú	start_posÚend_posÚ
name_rangerã   s          @rE   Úbuild_AttributeÚExprBuilder.build_Attribute  s­   ø€ ä˜#Ÿz™zÓ*ˆð —‘×"Ñ" 7Ó+ˆõ	&ð —J‘J“L×$Ñ$ qÑ(ˆ	Ù�yÓ!¤V×%6Ñ%6Ó6Ø˜‰NˆIñ �yÓ!¤V×%6Ñ%6Õ6àœc $§)¡)›nÑ,ˆØ×'Ñ'¨	Ó;ˆ
Ü�dœE *¯i©iÓ8Ó9Ð9rG   c           	      óf  • [        XR                  5      nUR                   Vs/ s H  n[        X5      PM     nn[        US5      (       aD  UR                  (       a3  [        XR                  5      nU[        UR                  5       U5      /-  n/ nUR                   H€  n[        XR                  5      nUR                  (       d  [        UR                  5       S5      eUR                  [        [        UR                  5       UR                  5      U5      5        M‚     [        X$U5      $ s  snf )NÚstarargsz&keyword-arg expansion is not supported)r/  rò   rÿ   r®  r  r&   r´   rj  r  r   rs   r³   r	   r   r   )	r†   r?  rò   rF  rÿ   Ústararg_exprÚkwargsÚkwÚkw_exprs	            rE   Ú
build_CallÚExprBuilder.build_Call�  sç   € ä˜#Ÿy™yÓ)ˆØ6:·i²iÓ@²i¨F”
˜3Ö'±iˆÐ@Ü�4˜×$Ñ$¨¯¯Ü% c¯=©=Ó9ˆLØ”W˜\×/Ñ/Ó1°<Ó@ÐAÑAˆDØˆØ—-”-ˆBÜ  §h¡hÓ/ˆGà—6—6Ü'Ø—M‘M“OÐ%Móð ð �M‰Mœ)¤E¨'¯-©-«/¸2¿6¹6Ó$BÀGÓLÖMñ  ô �T Ó(Ð(ùò As   ¤D.c                 ó€   • U R                  UR                  UR                  UR                  S-   5      n[        U5      $ )Né   )r�   r‚   rƒ   r   ©r†   r?  r,  s      rE   Úbuild_EllipsisÚExprBuilder.build_Ellipsis¢  s3   € à�N‰NØ�K‰K˜Ÿ™¨$¯/©/¸AÑ*=ó
ˆô �A‹wˆrG   c                 ó  • U R                  UR                  UR                  UR                  [        UR                  5      -   5      nUR                  R                  [        5      (       a  [        US[        -   5      eUR                  S:X  a  [        U5      $ UR                  S:X  a  [        U5      $ UR                  S:X  a  [        U5      $ UR                  S:X  a  [        U5      $ [        [        X!R                  5      5      $ )Nz=names of variables used in JIT-ed functions can't start with ÚTrueÚFalseÚNoneÚEllipsis)r�   r‚   rƒ   r~   r  rA   rB   rs   r+   r   r   r   r.   r   r  s      rE   Ú
build_NameÚExprBuilder.build_Name©  sÍ   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈtÏwÉwË<Ñ9WÓXˆØ�7‰7×ÑÔ.×/Ñ/Ü#Øð$Ü&6ñ7óð ð
 �7‰7�fÓÜ˜q“>Ð!Ø�W‰W˜ÓÜ “?Ð"Ø�W‰W˜ÓÜ˜q“>Ð!Ø�W‰W˜
Ó"Ü˜“7ˆNÜ”5˜ŸG™GÓ$Ó%Ð%rG   c           
      óº  • U R                  UR                  UR                  UR                  [        [	        UR
                  5      5      -   5      nUR
                  SL a  [        U5      $ UR
                  SL a  [        U5      $ UR
                  c  [        U5      $ UR
                  [        :X  a  [        U5      $ [        S[	        UR
                  5      -   5      e)NTFz!Name constant value unsupported: )r�   r‚   rƒ   r~   ro   r  r+   r   r   r#  r   r¯  r  s      rE   Úbuild_NameConstantÚExprBuilder.build_NameConstant¼  s¥   € à�N‰NØ�K‰K˜Ÿ™¨$¯/©/¼CÄÀDÇJÁJÃÓ<PÑ*Pó
ˆð �:‰:˜ÒÜ˜q“>Ð!Ø�Z‰Z˜5Ò Ü “?Ð"Ø�Z‰ZÑÜ˜q“>Ð!Ø�Z‰Zœ8Ó#Ü˜“7ˆNäÐ@Ä3ÀtÇzÁzÃ?ÑRÓSÐSrG   c                 óx  • [        XR                  5      n[        XR                  5      n[        UR                  5      nU[
        R                  :X  a_  U R                  (       dN  U R                  UR                  5       R                  UR                  5       R                  5      n[        US5      e[        R                  R                  U5      nUc[  U R                  UR                  5       R                  UR                  5       R                  5      n[!        USUR"                  -   5      e[%        XbU5      $ )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Úrightr}   rÆ  rÅ   rï  Úuses_true_divisionr  r´   r‘  r�  rX   rø  Ú	binop_mapr€   rs   rk   r   )r†   r?  r©  r§  rÆ  Ú	err_rangerÉ  s          rE   Úbuild_BinOpÚExprBuilder.build_BinOpÌ  sì   € ä˜Ÿi™iÓ(ˆÜ˜Ÿj™jÓ)ˆÜ�$—'‘'‹]ˆà”—‘‹= ×!7×!7Ø×*Ñ*¨3¯9©9«;¯?©?¸C¿I¹I»K×<MÑ<MÓNˆIÜØð;óð ô ×(Ñ(×,Ñ,¨RÓ0ˆØÑØ×*Ñ*¨3¯9©9«;¯?©?¸C¿I¹I»K×<MÑ<MÓNˆIÜ#ØÐ:¸R¿[¹[ÑHóð ô �X CÓ(Ð(rG   c                 óz  • [        XR                  5      n[        UR                  5      n[        R
                  R                  U5      nUc'  [        UR                  5       SUR                  -   5      eU R                  UR                  UR                  UR                  [        U5      -   5      n[        XTU5      $ )Nzunsupported unary operator: )r/  Úoperandr}   rÆ  rø  Úunop_mapr€   rs   r´   rk   r�   r‚   rƒ   r~   r-   )r†   r?  Úsub_exprrÆ  rÉ  r,  s         rE   Úbuild_UnaryOpÚExprBuilder.build_UnaryOpâ  s–   € ä˜c§<¡<Ó0ˆÜ�$—'‘'‹]ˆÜ×'Ñ'×+Ñ+¨BÓ/ˆØÑÜ#Ø—
‘
“Ð<¸r¿{¹{ÑJóð ð �N‰NØ�K‰K˜Ÿ™¨$¯/©/¼CÀ»MÑ*Ió
ˆô �q HÓ-Ð-rG   c                 óJ  • [        UR                  5      S:  a*  [        S[        [        UR                  5      5      -   5      eUR                   Vs/ s H  n[	        X5      PM     nn[        UR                  5      n[        R                  R                  U5      nUca  U R                  US   R                  5       R                  US   R                  5       R                  5      n[        USUR                  -   5      eUS   nUSS   H  n[!        XWU5      nM     U$ s  snf )Né   z.expected at least 2 values in BoolOp, but got r   r¨   zunsupported boolean operator: )r~   rÛ  rÜ   ro   r/  r}   rÆ  rø  Ú
boolop_mapr€   r  r´   r‘  r�  rs   rk   r   )	r†   r?  r4  Ú	sub_exprsrÆ  rÉ  r.  r©  r§  s	            rE   Úbuild_BoolOpÚExprBuilder.build_BoolOpð  s  € äˆt�{‰{Ó˜aÓÜ Ø@Ä3ÄsÈ4Ï;É;ÓGWÓCXÑXóð ð @D¿{º{ÓKº{°8”Z Ö.¹{ˆ	ÐKÜ�$—'‘'‹]ˆÜ×)Ñ)×-Ñ-¨bÓ1ˆØÑØ×*Ñ*Ø˜!‘×"Ñ"Ó$×(Ñ(¨)°A©,×*<Ñ*<Ó*>×*DÑ*DóˆIô $ØÐ;¸b¿k¹kÑIóð ð ˜‰lˆØ˜Q˜R“=ˆCÜ˜ sÓ+ŠCñ !àˆ
ùò Ls   ÁD c                 óŽ   • [        [        XR                  5      [        XR                  5      [        XR                  5      5      $ r@   )r*   r/  r¿  rÄ   rÎ  )r†   r?  s     rE   Úbuild_IfExpÚExprBuilder.build_IfExp  s3   € äÜ�sŸI™IÓ&Ü�sŸI™IÓ&Ü�sŸK™KÓ(ó
ð 	
rG   c                 ó|  • UR                   /[        UR                  5      -    Vs/ s H  n[        X5      PM     nnS n[	        X1R
                  USS  5       HÛ  u  pVn[        U5      n[        R                  R                  U5      n	U R                  UR                  5       R                  UR                  5       R                  5      n
U	c  [        U
SUR                  -   5      eU[         R"                  :X  a  [%        SXW5      n['        U
SU5      nO[%        X•U5      nUc  UnMÏ  [%        SXL5      nMÝ     U$ s  snf )Nr¨   z!unsupported comparison operator: r  rú  rü  )r*  r”   Úcomparatorsr/  ÚzipÚopsr}   rø  Ú	cmpop_mapr€   r  r´   r‘  r�  rs   rk   rÅ   ÚNotInr   r-   )r†   r?  ÚeÚoperandsrD  r©  Úop_r§  rÆ  rÉ  r,  Úin_exprÚcmp_exprs                rE   Úbuild_CompareÚExprBuilder.build_Compare  s  € à15·±°¼dÀ4×CSÑCSÓ>TÒ0TÓUÒ0T¨1”J˜sÖ&Ñ0TˆÐUØˆä  ¯8©8°X¸a¸b°\ÖB‰MˆC�cÜ�c“ˆBÜ"×,Ñ,×0Ñ0°Ó4ˆHØ×"Ñ" 3§9¡9£;§?¡?°C·I±I³K×4EÑ4EÓFˆAØÑÜ'ØÐ:¸R¿[¹[ÑHóð ð ”S—Y‘Y‹ô    cÓ/�Ü" 1 e¨WÓ5‘ä  °Ó4�à‰~Ø!’ä˜u fÓ7’ñ) Cð* ˆùò1 Vs   ¦D9c                 óà  ^	^
• S m
S m	U	U
4S jn[        XR                  5      n[        UR                  5      nU[        R
                  L Ga!  [        UR                  R                  [        R                  5      (       aÄ  UR                  R                  R                   Vs/ s H  n[        X5      PM     nnU(       dy  U R                  UR                  UR                  R                  R                  UR                  R                  R                  S-   5      n[        U/ 5      nUR                  U5        [        X65      $ [        U[        XR                  R                  5      /5      $ U[        R                  L a  [        UT
" XUR                  5      /5      $ U[        R                   L a  [        X2" XUR                  5      5      $ U[        R                  L aé  / nUR                  R                   HV  n[        U[        R                  5      (       a  UR                  T
" XU5      5        M<  UR                  [        X5      5        MX     U(       de  U R                  UR                  UR                  R                  UR                  R                  S-   5      n[        U/ 5      nUR                  U5        [        X65      $ [        U[        XR                  5      /5      $ s  snf )Nc                 ó  • UR                   b  [        XR                   5      OS nUR                  b  [        XR                  5      OS nUR                  b  [        XR                  5      OS n[	        UR                  5       X4U5      $ r@   )Úlowerr/  ÚupperÚstepr%   r´   )r†   r  Ú
slice_exprrO  rP  rQ  s         rE   Úbuild_SliceExprÚ4ExprBuilder.build_Subscript.<locals>.build_SliceExpr+  s‡   € ð ×#Ñ#Ñ/ô ˜3× 0Ñ 0Ô1àð ð ×#Ñ#Ñ/ô ˜3× 0Ñ 0Ô1àð ð —?‘?Ñ.ô ˜3§¡Ô0àð ô
 ˜TŸZ™Z›\¨5¸Ó>Ð>rG   c                 ó²   • [        UR                  [        R                  5      (       a  [	        UR                  5       S5      e[        XR                  5      $ )Nz9slicing multiple dimensions with tuples not supported yet)r    r  rÅ   ÚTuplers   r´   r/  )r†   r  Ú
index_exprs      rE   Úbuild_IndexÚ0ExprBuilder.build_Subscript.<locals>.build_Index=  sE   € Ü˜*×*Ñ*¬C¯I©I×6Ñ6Ü'Ø—J‘J“LØOóð ô ˜c×#3Ñ#3Ó4Ð4rG   c                 óÔ  >• / nUR                    HÔ  n[        U5      nU[        R                  L a  UR	                  T" XU5      5        M;  U[        R
                  L a  UR	                  T" XU5      5        Mh  U[        R                  L a=  UR                  [        L a*  UR	                  [        UR                  5       5      5        M¸  [        UR                  5       SU S35      e   U$ )Nz!slicing multiple dimensions with z not supported)Údimsr}   rÅ   ÚIndexr³   ÚSliceÚConstantr  r#  r   r´   rs   )r†   r  Úextslicer:  r?  Úsub_typerX  rS  s         €€rE   Úbuild_ExtSliceÚ3ExprBuilder.build_Subscript.<locals>.build_ExtSliceE  s»   ø€ ØˆIØ Ÿœ�Ü ›:�ØœsŸy™yÒ(Ø×$Ñ$¡[°¸DÓ%AÖBØ¤§¡Ò*Ø×$Ñ$¡_°SÀÓ%EÖFØ¤§¡Ò-°$·*±*ÄÒ2HØ×$Ñ$¤T¨$¯*©*«,Ó%7Ö8ä+ØŸ
™
›Ø;¸H¸:À^ÐTóð ñ &ð ÐrG   r8  )r/  r  r}   ÚslicerÅ   r\  r    rV  Úeltsr�   r‚   rƒ   r,   r³   r)   r]  ÚExtSlice)r†   r?  ra  r  r`  rW  Úindicesr,  ÚtuprX  rS  s            @@rE   Úbuild_SubscriptÚExprBuilder.build_Subscript)  s7  ù€ ò	?ò$	5ö	ô" ˜#Ÿz™zÓ*ˆÜ˜Ÿ
™
Ó#ˆØ”s—y‘yÓ Ü˜$Ÿ*™*×*Ñ*¬C¯I©I×6Ñ6ð CGÇ*Á*×BRÑBR×BWÒBWóÚBW°J”J˜sÖ/ÑBWð ð ö ð Ÿ™ØŸ™ØŸ
™
×(Ñ(×3Ñ3ØŸ
™
×(Ñ(×3Ñ3°aÑ7ó�Aô
 ' q¨"Ó-�CØ—N‘N 3Ô'Ü  Ó/Ð/ä  ¬
°3¿
¹
×8HÑ8HÓ(IÐ'JÓKÐKØœŸ™Ò"Ü˜T¡O°C¸t¿z¹zÓ$JÐ#KÓLÐLØœŸ™Ò%Ü˜T >°#¸T¿Z¹ZÓ#HÓIÐIàœ3Ÿ9™9Ò$à�Ø"&§*¡*§/¤/�JÜ! *¬c¯i©i×8Ñ8ØŸ™¡°sÀ*Ó'MÖNàŸ™¤z°#Ó'BÖCñ	 #2ö àŸ™ØŸ™ T§Z¡Z×%:Ñ%:¸D¿J¹J×<QÑ<QÐTUÑ<Uó�Aô ' q¨"Ó-�CØ—N‘N 3Ô'Ü  Ó/Ð/Ü˜T¤J¨s·J±JÓ$?Ð#@ÓAÐAùòOs   Â#K+c           
      óÐ   • [        U R                  UR                  UR                  UR                  S-   5      UR                   Vs/ s H  n[        X5      PM     sn5      $ s  snf ©Nr¨   )r   r�   r‚   rƒ   rd  r/  ©r†   r?  rF  s      rE   Ú
build_ListÚExprBuilder.build_List…  sN   € äØ�N‰N˜4Ÿ;™;¨¯©¸¿¹È1Ñ9LÓMØ)-¯ªÓ3ª AŒZ˜Ö©Ñ3ó
ð 	
ùâ3ó   ÁA#
c           
      óÐ   • [        U R                  UR                  UR                  UR                  S-   5      UR                   Vs/ s H  n[        X5      PM     sn5      $ s  snf rk  )r,   r�   r‚   rƒ   rd  r/  rl  s      rE   Úbuild_TupleÚExprBuilder.build_TupleŒ  sN   € äØ�N‰N˜4Ÿ;™;¨¯©¸¿¹È1Ñ9LÓMØ)-¯ªÓ3ª AŒZ˜Ö©Ñ3ó
ð 	
ùâ3ro  c                 óŠ  • U R                  UR                  UR                  UR                  S-   5      nUR                  (       a   UR                  S   (       d  [	        US5      e[        UUR                   Vs/ s H  n[        X5      PM     snUR                   Vs/ s H  n[        X5      PM     sn5      $ s  snf s  snf )Nr¨   r   z1Dict expansion (e.g. `{**dict}`) is not supported)r�   r‚   rƒ   Úkeysrs   r   r/  rÛ  )r†   r?  r´   rF  s       rE   Ú
build_DictÚExprBuilder.build_Dict“  s—   € à—‘˜tŸ{™{¨D¯O©O¸T¿_¹_ÈqÑ=PÓQˆØ�9�9˜TŸY™Y qŸ\Ü#ØÐJóð ô ØØ)-¯ªÓ3ª AŒZ˜Ö©Ñ3Ø)-¯ªÓ5ª AŒZ˜Ö©Ñ5ó
ð 	
ùâ3ùÚ5s   Á:B;
ÂC c                 ó¼   • [        UR                  5      nU R                  UR                  UR                  UR                  [        U5      -   5      n[        X25      $ r@   )ro   r  r�   r‚   rƒ   r~   r   ©r†   r?  r  r,  s       rE   Ú	build_NumÚExprBuilder.build_Num   s@   € ä�D—J‘J“ˆØ�N‰N˜4Ÿ;™;¨¯©¸¿¹Ì3ÈuË:Ñ9UÓVˆÜ�Q‹ÐrG   c           
      ó<  • UR                   nUb  [        U[        5      (       a  [        R	                  X5      $ [        U[
        [        [        45      (       a  [        R                  X5      $ [        U[        5      (       a  [        R                  X5      $ [        U[        [        5      5      (       a  [        R                  X5      $ U R                  UR                  UR                   UR                   [#        [        U5      5      -   5      n[%        US5      e)Nz Unknown Constant expression type)r  r    r<  rø  r'  ÚintÚfloatÚcomplexry  ro   Ú	build_Strr}   r#  r  r�   r‚   rƒ   r~   rX   )r†   r?  r  Úerror_ranges       rE   Úbuild_ConstantÚExprBuilder.build_Constant¦  sÒ   € à—
‘
ˆØ‰=œJ u¬d×3Ñ3ô ×1Ñ1°#Ó<Ð<Ü�eœc¤5¬'Ð2×3Ñ3Ü×(Ñ(¨Ó3Ð3Ü˜œs×#Ñ#Ü×(Ñ(¨Ó3Ð3Ü˜œt¤H›~×.Ñ.Ü×-Ñ-¨cÓ8Ð8àŸ.™.Ø—‘˜TŸ_™_¨d¯o©oÄÄCÈÃJÃÑ.OóˆKô   Ð-OÓPÐPrG   c                 óÂ   • [        UR                  5      nU R                  UR                  UR                  UR                  [        U5      -   S-   5      n[        X25      $ rk  )ro   r  r�   r‚   rƒ   r~   r(   rx  s       rE   r  ÚExprBuilder.build_Str¹  sK   € ä�D—J‘J“ˆØ�N‰NØ�K‰K˜Ÿ™¨$¯/©/¼CÀ»JÑ*FÈÑ*Jó
ˆô ˜QÓ&Ð&rG   c           	      óÄ  • Sn/ nUR                    Hï  nU R                  UR                  UR                  UR                  S-   5      n[	        U[
        R                  5      (       a`  UR                  S:w  a  [        US5      eUR                  b  [        US5      eUS-  nUR                  [        XR                  5      5        M¶  [	        U[
        R                  5      (       a  X$R                  -  nMå  [        US5      e   U R                  UR                  UR                  UR                  S-   5      n[        [        [!        XR5      [#        US5      5      U/ 5      $ )	Nr|   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Ú
conversionrs   Úformat_specr³   r/  r  r^  r   r$   r(   r   )r†   r?  rœ   rÿ   r  r,  s         rE   Úbuild_JoinedStrÚExprBuilder.build_JoinedStrÁ  s  € àˆØˆØ—[”[ˆEØ—‘˜uŸ|™|¨U×-=Ñ-=¸u×?OÑ?OÐRSÑ?SÓTˆAÜ˜%¤×!3Ñ!3×4Ñ4Ø×#Ñ# rÓ)Ü+¨AÐ/VÓWÐWØ×$Ñ$Ñ0Ü+¨AÐ/VÓWÐWØ�T‘	�Ø—‘œJ s¯K©KÓ8Ö9Ü˜E¤3§<¡<×0Ñ0à—[‘[Ñ ’ä'¨Ð+KÓLÐLñ !ð �N‰N˜4Ÿ;™;¨¯©¸¿¹È1Ñ9LÓMˆÜ”VœM¨!Ó/´°q¸(Ó1CÓDÀdÈBÓOÐOrG   c                 óÜ  • U R                  UR                  UR                  UR                  5      n[        UR                  5      S:w  a  [        US5      e[        UR                  S   R                  5      S:w  a  [        US5      e[        XR                  5      n[        XR                  S   R                  5      n[        XR                  S   R                  5      n[        X#XE5      $ ©Nr¨   z.Only a single generator is currently supportedr   z'Comprehension ifs are not supported yet)r�   r‚   rƒ   r~   Ú
generatorsrs   Úifsr/  Úeltr¬  rÒ  r   )r†   r  r,  Úelt_exprÚtarget_exprÚ	iter_exprs         rE   Úbuild_ListCompÚExprBuilder.build_ListComp×  s¶   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹ÓIˆÜˆt�‰Ó 1Ó$Ü# AÐ'WÓXÐXäˆt�‰˜qÑ!×%Ñ%Ó&¨!Ó+Ü# AÐ'PÓQÐQä˜c§8¡8Ó,ˆÜ  §o¡o°aÑ&8×&?Ñ&?Ó@ˆÜ˜s§O¡O°AÑ$6×$;Ñ$;Ó<ˆ	ä˜ [Ó<Ð<rG   c                 ó,   • [         R                  X5      $ r@   )rø  r”  )r†   r  s     rE   Úbuild_GeneratorExpÚExprBuilder.build_GeneratorExpæ  s   € ô ×)Ñ)¨#Ó4Ð4rG   c                 ó  • U R                  UR                  UR                  UR                  5      n[        UR                  5      S:w  a  [        US5      e[        UR                  S   R                  5      S:w  a  [        US5      e[        XR                  5      n[        XR                  5      n[        XR                  S   R                  5      n[        XR                  S   R                  5      n[        X#XEU5      $ r�  )r�   r‚   rƒ   r~   rŽ  rs   r�  r/  Úkeyr  r¬  rÒ  r   )r†   r  r,  Úkey_exprÚ
value_exprr’  r“  s          rE   Úbuild_DictCompÚExprBuilder.build_DictCompë  sÆ   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹ÓIˆÜˆt�‰Ó 1Ó$Ü# AÐ'WÓXÐXäˆt�‰˜qÑ!×%Ñ%Ó&¨!Ó+Ü# AÐ'PÓQÐQä˜c§8¡8Ó,ˆÜ §Z¡ZÓ0ˆ
Ü  §o¡o°aÑ&8×&?Ñ&?Ó@ˆÜ˜s§O¡O°AÑ$6×$;Ñ$;Ó<ˆ	ä˜ Z¸iÓHÐHrG   c                 ó¨   • U R                  UR                  UR                  UR                  S-   5      n[        U[	        XR
                  5      5      $ rk  )r�   r‚   rƒ   r&   r/  r  r  s      rE   Úbuild_StarredÚExprBuilder.build_Starredû  s;   € à�N‰N˜4Ÿ;™;¨¯©¸¿¹È1Ñ9LÓMˆÜ�qœ* S¯*©*Ó5Ó6Ð6rG   rq   N)=rk   rl   rm   rn   rÅ   rì  rí  rî  rï  rö  rð  ÚFloorDivrò  ró  rñ  rô  rõ  r-  ÚMatMultÚNotÚUSubÚInvertr3  ÚAndÚOrr9  ÚEqÚNotEqÚLtEÚLtÚGtEÚGtÚIsÚIsNotÚInrE  rD  r”  r  r  r  r$  r'  r/  r5  r;  r>  rK  rh  rm  rq  ru  ry  r�  r  rŠ  r”  r—  r�  r   rp   rq   rG   rE   rø  rø  T  sì  † à�‰�Ø�‰�Ø�‰�#Ø�‰�Ø�‰�Ø�‰�Ø�‰�dØ�
‰
�CØ�
‰
�CØ�	‰	�3Ø�
‰
�DØ�
‰
�Dð€Ið  !€Iˆc�k‰kÑð 	�‰�Ø�‰�#Ø�
‰
�Cð€Hð 	�‰�Ø�‰�ð€Jð 	�‰�Ø�	‰	�4Ø�‰�Ø�‰�Ø�‰�Ø�‰�Ø�‰�Ø�	‰	�8Ø�‰�Ø�	‰	�8ð€Ið ñ:ó ð:ð  ñ)ó ð)ð" ñó ðð ñ&ó ð&ð$ ñTó ðTð ñ)ó ð)ð* ñ.ó ð.ð ñó ðð( ñ
ó ð
ð ñó ðð6 ñYBó ðYBðv ñ
ó ð
ð ñ
ó ð
ð ñ

ó ð

ð ñó ðð
 ñQó ðQð$ ñ'ó ð'ð ñPó ðPð* ñ=ó ð=ð ñ5ó ð5ð ñIó ðIð ñ7ó ó7rG   rø  c                 ó�   • U R                   S U R                  U5      nU R                  XCS   -   U[        U5      -   US   -   5      $ )Nr   r¨   )rã   Úrindexr  r~   )r†   ÚposÚsubstrrÅ  Únew_poss        rE   rÈ  rÈ    sJ   € Ø�j‰j˜˜#Ð×%Ñ% fÓ-€GØ×Ñ˜g°©
Ñ2°G¼cÀ&»kÑ4IÈGÐTUÉJÑ4VÓWÐWrG   )NF)NNr@   ))r   r   )|rÅ   rl  rÝ   r­   rW  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_charsrF   rß   ÚImportÚ
ImportFromÚGlobalr„   r   ÚupdateÚAsyncFunctionDefÚAsyncForÚ	AsyncWithÚTryÚNonlocalrÈ   Ú	ExceptionrX   rs   rx   r�   r—   r�   r¼   rË   rö   r±   r<  r"  r$  rå   r  r:  r.  r=  rz  rƒ  rŠ  rŒ  rÆ   rø  r/  r™   r“   rÈ  rq   rG   rE   Ú<module>rÎ     s?  ðã 
Û Û Û Û 	Û Ý "Ý ã Û Ý ÷-÷ -÷ -÷ -÷ -÷ -÷ -÷ -÷ -÷ -÷ -ó -÷\ó ÷ó õ ?ß Mð Ð Ø�)€Ù˜×.Ñ.°×1GÑ1GÑGÈ&Ï-É-ÑWÓXÐ òHð
 ‡O�OÐ+Ø‡G�Gˆ[Ø‡J�JÐ Ø‡L�LÐ%Ø‡H�HÐØ‡I�IÐ!Ø‡J�J�Ø‡J�JÐ#Ø‡N�NÐ'Ø‡J�JÐ"Ø‡I�IÐ!Ø‡L�LÐ'ðÐ ð  ‡O�O�UØ‡G�GˆUØ‡J�J�Ø‡L�L�'Ø‡H�HˆfØ‡I�IˆwØ‡J�J�Ø‡J�J�Ø‡N�N�FØ‡J�J�Ø‡I�IˆwØ‡L�L�*ðÐ ð  × Ñ à×ÑÐ:Ø�‰Ð'Ø�‰Ð.Ø�‰�Ø�‰Ð*ðôð × Ñ à×Ñ˜kØ�‰�kØ�‰�|Ø�‰�Ø�‰�jðôð × Ñ à�‰Ð.ðôô
<�Iô 
<ô	˜ô 	ô,Ð,ô ,ô	˜ô 	òò
%ò
òDò$JXôZ?ðF°ô ÷$!ñ !òôAð.2ð ô1ôh>ò[ò|ò,ô:
�gô 
ô gV�'ô gVôTj7�'ô j7ñZ ‹]€
Ù‹]€
Ù Ó"€õXrG   