
    IЦi                       S r SSKJr  SSKrSSKrSSKJrJrJrJ	r	  SSK
Jr  / SQr\	" S5      r\	" S	5      r\" \R                  S
S9SS j5       r\" \R                  R                   5      SS j5       r\\l        \" \R$                  S
S9SS j5       r\R&                  S:  a  \" \R(                  S
S9SS j5       r\S/-  r\" \R*                  5      SSS jj5       r\" \R,                  S
S9      SS j5       rg)z 
Python polyfills for itertools
    )annotationsN)	GeneratorIterableIteratorTypeVar   )substitute_in_graph)chainchain_from_iterableisliceteecompress_T_UT)is_embedded_typec               '  6   #    U  H  nU S h  vN   M     g  N	7fN )	iterablesiterables     `/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/_dynamo/polyfills/itertools.pyr
   r
      s      s   
c               (    [         R                  " U 6 $ r   )	itertoolsr
   )r   s    r   r   r   "   s    ??H%%    c             '    #    [        U6 nUR                  c  SOUR                  nUR                  nUR                  c  SOUR                  nUS:  d  Ub  US:  d  US::  a  [	        S5      eUc&  Un[        U 5       H  u  pxXv:X  d  M  Uv   Xe-  nM     g [        [        X45      5      n	Un[        X5       H  u  pxXv:X  d  M  Uv   Xe-  nM     g 7f)Nr      zGIndices for islice() must be None or an integer: 0 <= x <= sys.maxsize.)	slicestartstopstep
ValueError	enumeraterangemaxzip)
r   argssr   r   r    next_iielementindicess
             r   r   r   +   s     tAAaggE66D1AFFDqyT%$(tqyU
 	
 | #H-JA{ .
 E()g0JA{ 1s   BC	6CC)   
   c             #  H   #    S nSnU  H  nU(       a  SnOX4v   UnM     g 7f)NTFr   )r   afirstbs       r   pairwiser2   J   s-     Ad
A s    "r2   c               t   ^^^ [        U 5      mS S /mSU4S jjm[        UU4S j[        U5       5       5      $ )Nc              3  z   >#      U S   c  [        T5      U S'   S S /U S'   U u  pUv   M%  ! [         a     g f = f7f)Nr   r   )nextStopIteration)linkvalueiterators     r   _teetee.<locals>._tee^   sU     	7?"8nDG#TlDG"   		s   ;&+ 
8;8;c              3  4   >#    U  H  nT" T5      v   M     g 7fr   r   ).0_r:   shared_links     r   	<genexpr>tee.<locals>.<genexpr>i   s     5Hqk""Hs   )returnIterator[_T])itertupler#   )r   nr:   r9   r?   s     @@@r   r   r   Y   s1    H~H,K	 5E!H555r   c               &    S [        X5       5       $ )Nc              3  <   #    U  H  u  pU(       d  M  Uv   M     g 7fr   r   )r=   datumselectors      r   r@   compress.<locals>.<genexpr>q   s     J)=oeEE)=s   	)r%   )data	selectorss     r   r   r   m   s     KT)=JJr   )r   Iterable[_T]rB   rC   )r   zIterable[Iterable[_T]]rB   rC   )r   rN   r&   z
int | NonerB   rC   )r   rN   rB   zIterator[tuple[_T, _T]])r   )r   rN   rF   intrB   ztuple[Iterator[_T], ...])rL   rN   rM   zIterable[_U]rB   zGenerator[_T, None, None])__doc__
__future__r   r   systypingr   r   r   r   
decoratorsr	   __all__r   r   r
   from_iterabler   r   version_infor2   r   r   r   r   r   <module>rX      s@   #  
 9 9 , T]T] Y__t< =
 Y__223& 4& *  Y%%= >8 w++dC D 
|G Y]]#6 $6& Y''$?K
K#/KK @Kr   