Ë
    P/æjA  ã                   ó>  — d dl Z d dlZd dlZd dlmZmZmZmZmZ ddl	m
Z
mZ ddlmZmZ ddlmZmZmZmZmZ ddlmZmZ dd	lmZ erd d
lmZ dZ G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z  G d„ de«      Z! G d„ de«      Z" G d„ de"«      Z#y)é    N)ÚDictÚListÚOptionalÚTYPE_CHECKINGÚUnioné   )Ú	polyfillsÚ	variables)Úcreate_call_functionÚcreate_instruction)Úhandle_observed_exceptionÚObservedUserStopIterationÚraise_observed_exceptionÚunimplementedÚ	UserErroré   )ÚMutableLocalÚVariableTracker)ÚConstantVariable)ÚInstructionTranslatori � c                   óN   ‡ — e Zd Zdˆ fd„Zdefd„Zd„ Z	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚItertoolsVariableÚreturnc                 ó2   •— t        ‰| �  di |¤Ž || _        y ©N© )ÚsuperÚ__init__Úvalue)Úselfr   ÚkwargsÚ	__class__s      €ú_/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/_dynamo/variables/iter.pyr   zItertoolsVariable.__init__   s   ø€ Ü‰ÑÑ"˜6Ò"Øˆ�
ó    c                 ó"   — d| j                   › d�S )NzItertoolsVariable(ú)©r   ©r    s    r#   Ú__repr__zItertoolsVariable.__repr__!   s   € Ø# D§J¡J <¨qÐ1Ð1r$   c                 ó   — | j                   S ©Nr'   r(   s    r#   Úas_python_constantz$ItertoolsVariable.as_python_constant$   s   € Ø�z‰zÐr$   c                 ó®  •‡‡‡— | j                   t        j                  u r™‰s—t        ˆfd„|D «       «      rƒ|D �cg c]  }|j	                  ‰«      ‘Œ }}g }t        j                  |Ž D ]/  }|j                  t        j                  t        |«      «      «       Œ1 t        j                  |t        «       ¬«      S | j                   t        j                  u �r‰ddlm} t        d„ ‰j                  «       D «       «      r9t!        ddj#                  t%        ‰j                  «       «      dd	hz
  «      › �«       ‰j'                  d«      }	t)        |«      d
v r£|d   j+                  ‰«      r�|d   j	                  ‰«      }
d	‰v rt)        |«      dk(  r‰d	   j,                  }ndt)        |«      dk(  r|d   j,                  }nFt)        |«      dk(  r! |t.        j0                  «      j,                  }nt!        d«       nt!        d«       g }|	�|j                  |	«       
D ]%  }|	€|}	n	  ‰|	|gi «      }	|j                  |	«       Œ' t        j                  |t        «       ¬«      S | j                   t        j4                  u rÇ‰sÅt)        |«      dk(  r·|d   j+                  ‰«      r£|d   j7                  «       r�|d   j	                  ‰«      }|d   j9                  «       }g }t        j4                  ||«      D ]/  }|j                  t        j                  t        |«      «      «       Œ1 t        j                  |t        «       ¬«      S | j                   t        j:                  u �r€t        d„ ‰j                  «       D «       «      r8t!        ddj#                  t%        ‰j                  «       «      dhz
  «      › �«       d„ Št)        |«      dk(  r6|d   j+                  ‰«      r"|d   j	                  ‰«      }
d‰v rˆˆˆfd„nd }nt!        d«       g }	 t        j:                  
¬«      D ]™  \  }}|j                  t        j                  t        j<                  j?                  |«      rt        j<                  jA                  |«      n|t        j                  t        |«      t        «       ¬«      gt        «       ¬«      «       Œ› 	 t        j                  |t        «       ¬«      S | j                   t        jB                  u rbt)        |«      dk  rt        jD                  |dt        «       iŽS ddl#m$} ‰jK                  |jA                  ‰tL        jB                  «      |‰«      S | j                   t        jN                  u rt        jP                  |dt        «       iŽS | j                   t        jR                  u rt        jT                  |dt        «       iŽS | j                   t        jV                  u r4t        jX                  tL        jV                  «      j-                  ‰|‰«      S | j                   t        jZ                  u r4t        jX                  tL        jZ                  «      j-                  ‰|‰«      S t\        ‰| �Y  ‰|‰«      S c c}w # t2        $ r!}t!        d› d|› |	› d�|¬«       Y d }~�Œ}d }~ww xY w# t2        $ r}t!        d|¬«       Y d }~�Œd }~ww xY w)Nc              3   ó@   •K  — | ]  }|j                  ‰«      –— Œ y ­wr+   )Úhas_unpack_var_sequence)Ú.0ÚargÚtxs     €r#   ú	<genexpr>z2ItertoolsVariable.call_function.<locals>.<genexpr>0   s   øè ø€ ÒD¸�C×/Ñ/°×3ÑDùs   ƒ)Úmutable_localr   )ÚBuiltinVariablec              3   ó$   K  — | ]  }|d v–— Œ
 y­w))ÚinitialÚfuncNr   )r0   Úkeys     r#   r3   z2ItertoolsVariable.call_function.<locals>.<genexpr>:   s   è ø€ ÒK°c�3Ð1Ô1ÑKùs   ‚z-Unsupported kwargs for itertools.accumulate: ú,r7   r8   )r   r   r   r   zDitertools.accumulate can only accept one of: `func` kwarg, pos 2 argz.Unsupported arguments for itertools.accumulatezOUnexpected failure in invoking function during accumulate. Failed running func ú(r&   )Úfrom_excc              3   ó&   K  — | ]	  }|d k7  –— Œ y­w)r9   Nr   )r0   Úkws     r#   r3   z2ItertoolsVariable.call_function.<locals>.<genexpr>s   s   è ø€ Ò7 2�2˜•;Ñ7ùs   ‚z*Unsupported kwargs for itertools.groupby: r9   c                 óì   — t        | t        j                  «      r| j                  «       S t        | t        j                  «      r| j                  «       S t        dt        t        | «      «      z   «       y )Nz,Unsupported key type for itertools.groupby: )	Ú
isinstancer
   ÚSymNodeVariableÚevaluate_exprr   r,   r   ÚstrÚtype©r9   s    r#   Úretrieve_const_keyz;ItertoolsVariable.call_function.<locals>.retrieve_const_keyy   sY   € Ü˜c¤9×#<Ñ#<Ô=Ø×,Ñ,Ó.Ð.Ü ¤Y×%?Ñ%?Ô@Ø×1Ñ1Ó3Ð3ä!ØFÌÌTÐRUËYËÑWõr$   c                 óV   •—  ‰‰j                  d«      j                  ‰| gi «      «      S )Nr9   )ÚgetÚcall_function)Úxr!   rF   r2   s    €€€r#   ú<lambda>z1ItertoolsVariable.call_function.<locals>.<lambda>‡   s-   ø€ Ù.Ø &§
¡
¨5Ó 1× ?Ñ ?ÀÀQÀCÈÓ Lóð r$   z+Unsupported arguments for itertools.groupbyrE   z1Unexpected failure when calling itertools.groupbyr4   )ÚSourcelessBuilder)/r   Ú	itertoolsÚproductÚallÚunpack_var_sequenceÚappendr
   ÚTupleVariableÚlistÚListIteratorVariabler   Ú
accumulateÚbuiltinr5   ÚanyÚkeysr   ÚjoinÚsetrH   Úlenr/   rI   ÚoperatorÚaddÚ	ExceptionÚcombinationsÚis_python_constantr,   Úgroupbyr   Ú
is_literalÚcreateÚrepeatÚRepeatIteratorVariableÚbuilderrL   Úinline_user_function_returnr	   ÚcountÚCountIteratorVariableÚcycleÚCycleIteratorVariableÚ	dropwhileÚUserFunctionVariableÚzip_longestr   )r    r2   Úargsr!   r1   ÚseqsÚitemsÚitemr5   ÚaccÚseqr8   ÚeÚiterableÚrÚkeyfuncÚresultÚkÚvrL   rF   r"   s    ` `                @€r#   rI   zItertoolsVariable.call_function'   sô  û€ ð �J‰Jœ)×+Ñ+Ñ+ÙÜÓD¸tÔDÔDà;?Ö@°C�C×+Ñ+¨BÕ/Ð@ˆDÐ@ØˆEÜ!×)Ñ)¨4Ð0ò B�Ø—‘œY×4Ñ4´T¸$³ZÓ@ÕAðBä×1Ñ1°%Ä|Ã~ÔVÐVØ�Z‰Zœ9×/Ñ/Ò/Ý0äÑK¸V¿[¹[»]ÔKÔKÜØCØ—x‘x¤ F§K¡K£MÓ 2°iÀÐ5HÑ HÓIÐJðLôð
 —*‘*˜YÓ'ˆCä�4‹y˜FÑ" t¨A¡w×'FÑ'FÀrÔ'JØ˜1‘g×1Ñ1°"Ó5�à˜VÑ#¬¨D«	°QªØ! &™>×7Ñ7‘DÜ˜“Y !’^Ø ™7×0Ñ0‘DÜ˜“Y !’^á*¬8¯<©<Ó8×FÑF‘Dä!Ø^õô ÐNÔOàˆEØˆØ—‘˜SÔ!Øò "�Ø�;Ø‘CðÙ" 2¨¨T {°BÓ7˜ð —‘˜SÕ!ð"ô ×1Ñ1°%Ä|Ã~ÔVÐVà�J‰Jœ)×0Ñ0Ñ0ÙÜ�D“	˜Q’Ø�Q‘×/Ñ/°Ô3Ø�Q‘×*Ñ*Ô,à˜A‘w×2Ñ2°2Ó6ˆHØ�Q‘×*Ñ*Ó,ˆAàˆEÜ!×.Ñ.¨x¸Ó;ò B�Ø—‘œY×4Ñ4´T¸$³ZÓ@ÕAðBä×1Ñ1°%Ä|Ã~ÔVÐVØ�Z‰Zœ9×,Ñ,Ò,ÜÑ7¨¯©«Ô7Ô7ÜØ@Ø—x‘x¤ F§K¡K£MÓ 2°e°WÑ <Ó=Ð>ð@ôò
ô �4‹y˜AŠ~ $ q¡'×"AÑ"AÀ"Ô"EØ˜1‘g×1Ñ1°"Ó5�ð  ‘öð ñ ô ÐKÔLàˆFðÜ%×-Ñ-¨c°wÔ?ò ‘D�A�qØ—M‘MÜ!×/Ñ/ô $-×#=Ñ#=×#HÑ#HÈÔ#Kô !*× :Ñ :× AÑ AÀ!Ô Dà%&Ü )× >Ñ >Ü$(¨£G¼<»>ô!"ð	ô +7«.ô
õñô& ×1Ñ1°&ÌËÔWÐWØ�Z‰Zœ9×+Ñ+Ñ+Ü�4‹y˜1Š}Ü ×7Ñ7ØðÜ)5«ñð õ 3à×1Ñ1Ø!×(Ñ(¨¬Y×-=Ñ-=Ó>ÀÀfóð ð �Z‰Zœ9Ÿ?™?Ñ*Ü×2Ñ2°DÐWÌËÑWÐWØ�Z‰Zœ9Ÿ?™?Ñ*Ü×2Ñ2°DÐWÌËÑWÐWØ�Z‰Zœ9×.Ñ.Ñ.Ü×1Ñ1´)×2EÑ2EÓF×TÑTØ�D˜&óð ð �Z‰Zœ9×0Ñ0Ñ0Ü×1Ñ1´)×2GÑ2GÓH×VÑVØ�D˜&óð ô ‘7Ñ(¨¨T°6Ó:Ð:ùò_ AøôT %ò Ü%ØmÐnrÐmsÐstÐuyÐtzÐ{~Ðzð  @Að  BØ%&÷ó ûðûôN ò ÜØGØ÷ó ûðús6   »ZÈ"ZÐB3Z3 Ú	Z0ÚZ+Ú+Z0Ú3	[Ú<[Û[©r   N)r2   r   ro   zList[VariableTracker]r!   zDict[str, VariableTracker]r   r   )	Ú__name__Ú
__module__Ú__qualname__r   rC   r)   r,   rI   Ú__classcell__©r"   s   @r#   r   r      sO   ø„ õð2˜#ó 2òðZ;à#ðZ;ð &ðZ;ð -ð	Z;ð
 
÷Z;ñ Z;r$   r   c                   óD   ‡ — e Zd Zdˆ fd„Zd„ Zdee   fd„Zdefd„Z	ˆ xZ
S )ÚIteratorVariabler   c                 ó$   •— t        ‰| �  di |¤Ž y r   )r   r   )r    r!   r"   s     €r#   r   zIteratorVariable.__init__Å   s   ø€ Ü‰ÑÑ"˜6Ó"r$   c                 ó   — t        d«       y )Nzabstract method, must implement)r   ©r    r2   s     r#   Únext_variablezIteratorVariable.next_variableÈ   s   € ÜÐ7Õ8r$   c                 ó‚   — g }	 	 |j                  | j                  |«      «       Œ"# t        $ r t        |«       Y |S w xY wr+   )rQ   r‡   r   r   )r    r2   ry   s      r#   Úforce_unpack_var_sequencez*IteratorVariable.force_unpack_var_sequenceÏ   sL   € ØˆØðØ—‘˜d×0Ñ0°Ó4Ô5ð øô -ò Ü)¨"Ô-ØØˆðús   … & ¦>½>c                  ó   — y)NTr   r†   s     r#   Úhas_force_unpack_var_sequencez.IteratorVariable.has_force_unpack_var_sequenceÛ   s   € Ør$   r|   )r}   r~   r   r   r‡   r   r   r‰   Úboolr‹   r€   r�   s   @r#   rƒ   rƒ   Ä   s*   ø„ õ#ò9ð¨t°OÑ/Dó ð°4÷ r$   rƒ   c                   ó4   ‡ — e Zd Zdeddfˆ fd„Zd„ Zd„ Zˆ xZS )re   rr   r   Nc                 ó2   •— t        ‰| �  di |¤Ž || _        y r   )r   r   rr   )r    rr   r!   r"   s      €r#   r   zRepeatIteratorVariable.__init__à   s   ø€ Ü‰ÑÑ"˜6Ò"Øˆ�	r$   c                 ó   — | j                   S r+   )rr   r†   s     r#   r‡   z$RepeatIteratorVariable.next_variableå   s   € Ø�y‰yÐr$   c                 óˆ   ‡— ‰j                  ˆfd„«        ‰| j                  «       ‰j                  t        dd«      «       y )Nc                  ón   •— ‰ j                  ‰ j                  t        «      ‰ j                  d«      g«      S )Nrd   ©Úextend_outputÚcreate_load_python_modulerM   Úcreate_load_attr©Úcodegens   €r#   rK   z4RepeatIteratorVariable.reconstruct.<locals>.<lambda>ê   s3   ø€ �G×)Ñ)à×5Ñ5´iÓ@Ø×,Ñ,¨XÓ6ðó€ r$   r   F)Úadd_push_nullrr   r“   r   ©r    r—   s    `r#   Úreconstructz"RepeatIteratorVariable.reconstructè   s:   ø€ Ø×Ñóô	
ñ 	�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r$   )r}   r~   r   r   r   r‡   rš   r€   r�   s   @r#   re   re   ß   s    ø„ ð˜_ð ¸4õ ò
ö
>r$   re   c                   ó:   ‡ — e Zd Zddededdfˆ fd„Zd„ Zd„ Zˆ xZS )	ri   rr   Ústepr   Nc                 óÔ   •— t        ‰| �  di |¤Ž t        |t        «      st	        j
                  |«      }t        |t        «      st	        j
                  |«      }|| _        || _        y r   )r   r   r@   r   r   rc   rr   rœ   )r    rr   rœ   r!   r"   s       €r#   r   zCountIteratorVariable.__init__ö   sU   ø€ Ü‰ÑÑ"˜6Ò"Ü˜$¤Ô0Ü#×*Ñ*¨4Ó0ˆDÜ˜$¤Ô0Ü#×*Ñ*¨4Ó0ˆDØˆŒ	Øˆ�	r$   c                 óà   — | j                   sJ ‚| j                  }|j                  j                  j	                  | «       | j                  j                  |d| j                  gi «      | _        |S )NÚ__add__)r4   rr   ÚoutputÚside_effectsÚmutationÚcall_methodrœ   )r    r2   Úold_items      r#   r‡   z#CountIteratorVariable.next_variableÿ   sY   € Ø×!Ò!Ð!Ð!Ø—9‘9ˆØ
�	‰	×Ñ×'Ñ'¨Ô-Ø—I‘I×)Ñ)¨"¨i¸$¿)¹)¸ÀbÓIˆŒ	Øˆr$   c                 ó¬   ‡— ‰j                  ˆfd„«        ‰| j                  «        ‰| j                  «       ‰j                  t	        dd«      «       y )Nc                  ón   •— ‰ j                  ‰ j                  t        «      ‰ j                  d«      g«      S )Nrh   r’   r–   s   €r#   rK   z3CountIteratorVariable.reconstruct.<locals>.<lambda>  s3   ø€ �G×)Ñ)à×5Ñ5´iÓ@Ø×,Ñ,¨WÓ5ðó€ r$   r   F)r˜   rr   rœ   r“   r   r™   s    `r#   rš   z!CountIteratorVariable.reconstruct  sF   ø€ Ø×Ñóô	
ñ 	�—	‘	ÔÙ�—	‘	ÔØ×ÑÔ2°1°eÓ<Õ=r$   )r   r   )r}   r~   r   Úintr   r‡   rš   r€   r�   s   @r#   ri   ri   õ   s'   ø„ ñ˜Sð ¨Cð À$õ òö>r$   ri   c                   óN   ‡ — e Zd Z	 	 	 d	dedee   dedee   ddf
ˆ fd„Zd„ Z	ˆ xZ
S )
rk   NÚiteratorÚsavedÚsaved_indexrr   r   c                 ód   •— |€g }t        ‰| �  di |¤Ž || _        || _        || _        || _        y r   )r   r   r©   rª   r«   rr   )r    r©   rª   r«   rr   r!   r"   s         €r#   r   zCycleIteratorVariable.__init__  s<   ø€ ð ˆ=ØˆEÜ‰ÑÑ"˜6Ò"Ø ˆŒØˆŒ
Ø&ˆÔØˆ�	r$   c                 ó
  — | j                   sJ ‚| j                  �³	 | j                  j                  |«      }t        | j                  «      t
        kD  rt        d«       |j                  j                  j                  | «       | j                  j                  |«       || _        | j                  €| j                  |«      S | j                  S t        | j                  «      dkD  r[|j                  j                  j                  | «       | j                  dz   t        | j                  «      z  | _        | j                  S t        t         || «       y # t        $ r& t        |«       d | _        | j                  |«      cY S w xY w)Nz4input iterator to itertools.cycle has too many itemsr   r   )r4   r©   r‡   r[   rª   ÚMAX_ITERATOR_LIMITr   r    r¡   r¢   rQ   rr   r   r   r«   r   ÚStopIteration)r    r2   Únew_items      r#   r‡   z#CycleIteratorVariable.next_variable%  s9  € Ø×!Ò!Ð!Ð!à�=‰=Ð$ð.ØŸ=™=×6Ñ6°rÓ:�Ü�t—z‘z“?Ô%7Ò7Ü!ØNôð —	‘	×&Ñ&×/Ñ/°Ô5Ø—
‘
×!Ñ! (Ô+Ø$�”	Ø—9‘9Ð$Ø×-Ñ-¨bÓ1Ð1Ø—y‘yÐ ô
 �—‘‹_˜qÒ Ø�I‰I×"Ñ"×+Ñ+¨DÔ1Ø $× 0Ñ 0°1Ñ 4¼¸D¿J¹J»ÑGˆDÔØ—9‘9Ðä$¤]°B¸Õ=øô -ò .Ü)¨"Ô-Ø $�”Ø×)Ñ)¨"Ó-Ò-ð.ús   œB%E ÃE Å,FÆF)Nr   N)r}   r~   r   rƒ   r   r   r§   r   r   r‡   r€   r�   s   @r#   rk   rk     sR   ø„ ð (,ØØ*.ñà"ðð �OÑ$ðð ð	ð
 �Ñ'ðð 
õö >r$   rk   c                   ó    ‡ — e Zd ZdZddhej
                  £Z	 ddeeee   ef      de	ddfˆ fd„Z
d„ Zde	fd	„Zded
   fd„Zd„ Zd„ Zd„ Zˆ xZS )ÚZipVariablez$
    Represents zip(*iterables)
    ÚindexÚstrictÚ	iterablesr   Nc                 ór   •— t        ‰| �  di |¤Ž t        |t        «      sJ ‚|| _        d| _        || _        y )Nr   r   )r   r   r@   rS   rµ   r³   r´   )r    rµ   r´   r!   r"   s       €r#   r   zZipVariable.__init__L  s:   ø€ ô 	‰ÑÑ"˜6Ò"Ü˜)¤TÔ*Ð*Ð*à"ˆŒØˆŒ
Øˆ�r$   c                 ó   — t         S r+   )Úzipr(   s    r#   Úpython_typezZipVariable.python_typeY  ó   € Üˆ
r$   c                 ó@   ‡— t        ˆfd„| j                  D «       «      S )Nc              3   ód   •K  — | ]'  }t        |t        «      xs |j                  ‰«      –— Œ) y ­wr+   )r@   rS   r/   )r0   Úitr2   s     €r#   r3   z6ZipVariable.has_unpack_var_sequence.<locals>.<genexpr>]  s3   øè ø€ ò 
àô �rœ4Ó ÒB B×$>Ñ$>¸rÓ$BÓBñ
ùs   ƒ-0)rO   rµ   r†   s    `r#   r/   z#ZipVariable.has_unpack_var_sequence\  s!   ø€ Üó 
à—n‘nô
ó 
ð 	
r$   r   c                 óœ  — | j                  |«      sJ ‚g }| j                  D ]Q  }t        |t        «      r|j	                  || j
                  d  «       Œ2|j	                  |j                  |«      «       ŒS | j                  rd| j                  ini }t        |i |¤Ž}|D �cg c]   }t        j                  t        |«      «      ‘Œ" c}S c c}w )Nr´   )r/   rµ   r@   rS   rQ   r³   rP   r´   r¸   r
   rR   )r    r2   rµ   r½   r!   ÚzippedÚvars          r#   rP   zZipVariable.unpack_var_sequenceb  s´   € Ø×+Ñ+¨BÔ/Ð/Ð/Øˆ	Ø—.‘.ò 	=ˆBÜ˜"œdÔ#Ø× Ñ   D§J¡J LÐ!1Õ2à× Ñ  ×!7Ñ!7¸Ó!;Õ<ð		=ð
 -1¯KªK�(˜DŸK™KÑ(¸RˆÜ�iÐ* 6Ñ*ˆØ>DÖE°s”	×'Ñ'¬¨S«	Õ2ÒEÐEùÒEs   Â!%C	c                 ó<  ‡ ‡‡— ‰ j                   sJ ‚‰ j                  Šg }ˆˆ ˆfd„}	 t        ‰ j                  «      D ]  \  }}|j	                   ||«      «       Œ 	 ‰j                  j                  j                  ‰ «       ‰ xj                  dz  c_        t        j                  |«      S # t
        $ rf ‰ j                  rXdk(  r7‰ j                  D ]'  }	  ||«       n# t
        $ r t        ‰«       Y Œ#w xY w n ‚ t        ‰«       t        t        d«      d ‚‚ w xY w)Nc                 óŽ   •— t        | t        «      r$‰t        | «      k\  rt        t        ‰‰«       | ‰   S | j                  ‰«      S r+   )r@   rS   r[   r   r¯   r‡   )r½   Ú	old_indexr    r2   s    €€€r#   Úget_itemz+ZipVariable.next_variable.<locals>.get_items  s@   ø€ Ü˜"œdÔ#Ø¤ B£Ò'Ü,¬]¸BÀÔEØ˜)‘}Ð$à×'Ñ'¨Ó+Ð+r$   r   z3zip() has one argument of len differing from othersr   )r4   r³   Ú	enumeraterµ   rQ   r   r´   r   r   Ú
ValueErrorr    r¡   r¢   r
   rR   )r    r2   ro   rÄ   Úidxr½   rÃ   s   ``    @r#   r‡   zZipVariable.next_variablen  s  ú€ Ø×!Ò!Ð!Ð!Ø—J‘Jˆ	Øˆö	,ð	Ü$ T§^¡^Ó4ò *‘��RØ—‘™H R›LÕ)ñ*ð0 	�	‰	×Ñ×'Ñ'¨Ô-Ø�
Š
�a‰�
Ü×&Ñ& tÓ,Ð,øô1 )ò 	Ø�{Š{Ø˜!’8à"Ÿn™nò 
˜ð%Ù$ R�LøÜ8ò %Ü5°bÔ9Ù$ð%úñ ð
ð Ü)¨"Ô-ÜÜØIóð ðð ð)	ús/   ¨4B, Â,)DÃCÃDÃC6Ã3DÃ5C6Ã6%Dc           	      óâ   — | j                   D ]`  }t        |t        «      rF|| j                  d  }|j	                  |«       |j                  t        dt        |«      ¬«      «       ŒY ||«       Œb y )NÚBUILD_TUPLE©r1   )rµ   r@   rS   r³   ÚforeachÚappend_outputr   r[   )r    r—   r½   Úremaining_itemss       r#   Úreconstruct_itemszZipVariable.reconstruct_items˜  sa   € Ø—.‘.ò 	ˆBÜ˜"œdÔ#Ø"$ T§Z¡Z \Ð"2�Ø—‘ Ô0Ø×%Ñ%Ü& }¼#¸oÓ:NÔOõñ ˜•ñ	r$   c           	      ó¸  ‡— ‰j                  ˆfd„d¬«       | j                  ‰«       ‰j                  t        dt	        | j
                  «      ¬«      «       t        j                  dk\  rT‰j                  ‰j                  d«      ‰j                  | j                  «      t        dd	¬«      t        d
d	¬«      g«       y ‰j                  t        d
d¬«      «       y )Nc                  ó(   •— ‰ j                  dd«      S )NÚbuiltinsr¸   ©Úload_import_fromr–   s   €r#   rK   z)ZipVariable.reconstruct.<locals>.<lambda>¥  ó   ø€ �G×,Ñ,¨Z¸Ó?€ r$   T©Úcall_function_exrÉ   rÊ   )é   é
   r´   Ú	BUILD_MAPr   ÚCALL_FUNCTION_EXr   )r˜   rÎ   rÌ   r   r[   rµ   ÚsysÚversion_infor“   Úcreate_load_constr´   r™   s    `r#   rš   zZipVariable.reconstruct£  s¾   ø€ Ø×ÑÛ?ÐRVð 	ô 	
ð 	×Ñ˜wÔ'Ø×ÑÜ˜}´#°d·n±nÓ2EÔFô	
ô ×Ñ˜wÒ&Ø×!Ñ!à×-Ñ-¨hÓ7Ø×-Ñ-¨d¯k©kÓ:Ü& {¸Ô:Ü&Ð'9¸qÔAð	õð ×!Ñ!Ô"4Ð5GÈQÔ"OÕPr$   )F)r}   r~   r   Ú__doc__rƒ   Ú_nonvar_fieldsr   r   r   rŒ   r   r¹   r/   rP   r‡   rÎ   rš   r€   r�   s   @r#   r²   r²   A  s—   ø„ ñð
 	Øðð 
×	(Ñ	(ð€Nð ñà˜˜d ?Ñ3°_ÐDÑEÑFðð ðð
 
õòð
¨Tó 
ð
F¨Ð.?Ñ)@ó 
Fò(-òT	öQr$   r²   c                   óh   ‡ — e Zd ZdZdedeeee   ef      ddfˆ fd„Zd„ Zde	fd„Z
ˆ fd	„Zd
„ Zˆ xZS )ÚMapVariablez(
    Represents map(fn, *iterables)
    Úfnrµ   r   Nc                 ó4   •— t        ‰| �  |fi |¤Ž || _        y r+   )r   r   râ   )r    râ   rµ   r!   r"   s       €r#   r   zMapVariable.__init__½  s   ø€ ô 	‰Ñ˜Ñ- fÒ-Øˆ�r$   c                 ó   — t         S r+   )Úmapr(   s    r#   r¹   zMapVariable.python_typeÆ  rº   r$   c                  ó   — y)NFr   r†   s     r#   r/   z#MapVariable.has_unpack_var_sequenceÉ  s   € Ør$   c                 óp   •— t         ‰| �  |«      }| j                  j                  ||j                  i «      S r+   )r   r‡   râ   rI   rq   )r    r2   ro   r"   s      €r#   r‡   zMapVariable.next_variableÌ  s/   ø€ Ü‰wÑ$ RÓ(ˆØ�w‰w×$Ñ$ R¨¯©°RÓ8Ð8r$   c                 óö   ‡— ‰j                  ˆfd„d¬«        ‰| j                  «       | j                  ‰«       ‰j                  t	        dt        | j                  «      dz   ¬«      t	        dd¬«      g«       y )	Nc                  ó(   •— ‰ j                  dd«      S )NrÑ   rå   rÒ   r–   s   €r#   rK   z)MapVariable.reconstruct.<locals>.<lambda>Ò  rÔ   r$   TrÕ   rÉ   r   rÊ   rÚ   r   )r˜   râ   rÎ   r“   r   r[   rµ   r™   s    `r#   rš   zMapVariable.reconstructÐ  sn   ø€ Ø×ÑÛ?ÐRVð 	ô 	
ñ 	�—‘ÔØ×Ñ˜wÔ'Ø×Ñä" =´c¸$¿.¹.Ó6IÈAÑ6MÔNÜ"Ð#5¸1Ô=ðõ	
r$   )r}   r~   r   rÞ   r   r   r   r   r¹   rŒ   r/   r‡   rš   r€   r�   s   @r#   rá   rá   ¸  sX   ø„ ñðàðð ˜˜d ?Ñ3°_ÐDÑEÑFðð
 
õòð¨Tó ô9ö
r$   rá   )$rM   r\   rÛ   Útypingr   r   r   r   r   Ú r	   r
   Úbytecode_transformationr   r   Úexcr   r   r   r   r   Úbaser   r   Úconstantr   Útorch._dynamo.symbolic_convertr   r®   r   rƒ   re   ri   rk   r²   rá   r   r$   r#   ú<module>rñ      sŸ   ðó Û Û 
ß =Õ =ç #ß N÷õ ÷ 0Ý &ñ ÝDð  Ð ôe;˜ô e;ôP�ô ô6>Ð-ô >ô,>Ð,ô >ô>*>Ð,ô *>ôZtQÐ"ô tQôn#
�+õ #
r$   