§
    ŠŠtjQ&  ã                  óÐ  — U d 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 ddlmZ e	rddlmZmZ g d	¢Z ed
¦  «        Z ed¦  «        Zeegef         Zded<    ed¦  «        Z ed¦  «        Z eej        d¬¦  «        dWd„¦   «         Z eej        d¬¦  «        	 dXddœdYd„¦   «         Z eej        j        ¦  «        dZd„¦   «         Zee_         eej        d¬¦  «        d[d#„¦   «         Z eej        d¬¦  «        d\d$„¦   «         Z eej        d¬¦  «        d]d'„¦   «         Z eej        d¬¦  «        d]d(„¦   «         Zed^d-„¦   «         Z ed_d0„¦   «         Z ed`d3„¦   «         Z edad6„¦   «         Z  eej         d¬¦  «        dbd9„¦   «         Z  eej!        d¬¦  «        dcd:„¦   «         Z! eej"        d¬¦  «        ddd=„¦   «         Z" eej#        d¬¦  «        ded?„¦   «         Z# eej$        ¦  «        dfdgdC„¦   «         Z$edDdEœdhdJ„¦   «         Z%edidN„¦   «         Z%edDdEœdjdP„¦   «         Z%edkdS„¦   «         Z%edDdEœdldU„¦   «         Z% eej%        d¬¦  «        ddEœdmdV„¦   «         Z%dS )nz 
Python polyfills for itertools
é    )ÚannotationsN)ÚCallable)ÚoverloadÚTYPE_CHECKINGÚ	TypeAliasÚTypeVaré   )Úsubstitute_in_graph)ÚIterableÚIterator)Ú
accumulateÚchainÚchain_from_iterableÚcompressÚcycleÚ	dropwhileÚfilterfalseÚisliceÚpairwiseÚstarmapÚ	takewhileÚteeÚzip_longestÚ_TÚ_Ur   Ú
_PredicateÚ_T1Ú_T2T)Úis_embedded_typeÚ	iterablesúIterable[_T]ÚreturnúIterator[_T]c               '  ó$   K  — | D ]
}|E d {V —† Œd S ©N© )r    Úiterables     ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_dynamo/polyfills/itertools.pyr   r   ,   s:   è è € àð ð ˆØÐÐÐÐÐÐÐÐðð ó    )Úinitialr'   ÚfuncúCallable[[_T, _T], _T] | Noner*   ú	_T | Nonec               ód   ‡‡— t          | ¦  «        }‰€t          j        Šdˆˆfd„} ||¦  «        S )NÚiteratorr#   r"   c              3  óŠ   •K  — ‰}|€"	 t          | ¦  «        }n# t          $ r Y d S w xY w|V — | D ]} ‰||¦  «        }|V — Œd S r%   ©ÚnextÚStopIteration)r/   ÚtotalÚelementr+   r*   s      €€r(   Ú_accumulatezaccumulate.<locals>._accumulate?   s…   øè è € ØˆØˆ=ðÝ˜X™œ��øÝ ð ð ð Ø��ðøøøð ˆˆˆØð 	ð 	ˆGØ�D˜ Ñ(Ô(ˆEØˆKˆKˆKˆKð	ð 	s   ‰ ™
'¦'©r/   r#   r"   r#   )ÚiterÚoperatorÚadd)r'   r+   r*   r/   r6   s    ``  r(   r   r   3   sR   øø€ õ �H‰~Œ~€HØ€|ÝŒ|ˆðð ð ð ð ð ð ð ˆ;�xÑ Ô Ð r)   úIterable[Iterable[_T]]c             #  ó$   K  — | D ]
}|E d {V —† Œd S r%   r&   )r'   Úits     r(   r   r   O   s4   è è € ð
 ð ð ˆØˆˆˆˆˆˆˆˆðð r)   ÚdataÚ	selectorsúIterable[_U]c               ó6   — d„ t          | |¦  «        D ¦   «         S )Nc              3  ó$   K  — | ]\  }}|¯|V — Œd S r%   r&   )Ú.0ÚdatumÚselectors      r(   ú	<genexpr>zcompress.<locals>.<genexpr>^   s+   è è € ÐJÐJ‘o�e˜XÀÐJˆEÐJÐJÐJÐJÐJÐJr)   )Úzip)r>   r?   s     r(   r   r   \   s    € àJÐJ­¨T°9Ñ)=Ô)=ÐJÑJÔJÐJr)   c                óD   ‡ — t          ‰ ¦  «        }dˆ fd„} ||¦  «        S )Nr/   r#   r"   c              3  ój   •K  — g }‰D ]}|V — |                      |¦  «         Œ|r|D ]}|V — Œ|°d S d S r%   )Úappend)r/   Úsavedr5   r'   s      €r(   Ú_cyclezcycle.<locals>._cyclef   sy   øè è € àˆØð 	"ð 	"ˆGØˆMˆMˆMØ�LŠL˜Ñ!Ô!Ð!Ð!àð 	Ø ð ð �Ø����ð ð 	ð 	ð 	ð 	ð 	r)   r7   )r8   )r'   r/   rL   s   `  r(   r   r   b   s>   ø€ å�H‰~Œ~€Hð	ð 	ð 	ð 	ð 	ð 	ð ˆ6�(ÑÔÐr)   Ú	predicateú_Predicate[_T]c             #  óÌ   K  — t          | ¦  «        s%t          dt          | ¦  «        j        › d�¦  «        ‚t	          |¦  «        }|D ]} | |¦  «        s|V —  nŒ|E d {V —† d S ©Nú'z' object is not callable)ÚcallableÚ	TypeErrorÚtypeÚ__name__r8   )rM   r'   r/   Úxs       r(   r   r   u   s™   è è € õ �IÑÔð PÝÐN�D ™OœOÔ4ÐNÐNÐNÑOÔOÐOå�H‰~Œ~€HØð ð ˆØˆy˜‰|Œ|ð 	ØˆGˆGˆGØˆEð	ð ÐÐÐÐÐÐÐÐÐr)   c             #  ó    K  — t          | ¦  «        s%t          dt          | ¦  «        j        › d�¦  «        ‚|D ]} | |¦  «        s d S |V — Œd S rP   ©rR   rS   rT   rU   )rM   r'   rV   s      r(   r   r   …   sw   è è € õ �IÑÔð PÝÐN�D ™OœOÔ4ÐNÐNÐNÑOÔOÐOàð ð ˆØˆy˜‰|Œ|ð 	ØˆEˆEØˆˆˆˆðð r)   ÚfunctionúCallable[[], _U]úIterable[tuple[()]]úitertools.starmap[_U]c               ó   — d S r%   r&   ©rY   r'   s     r(   r   r   ‘   ó	   € ð
  ˜Cr)   úCallable[[_T], _U]úIterable[tuple[_T]]c               ó   — d S r%   r&   r^   s     r(   r   r   ™   r_   r)   úCallable[[_T, _T1], _U]úIterable[tuple[_T, _T1]]c               ó   — d S r%   r&   r^   s     r(   r   r   ¡   r_   r)   úCallable[[_T, _T1, _T2], _U]úIterable[tuple[_T, _T1, _T2]]c               ó   — d S r%   r&   r^   s     r(   r   r   ©   r_   r)   úCallable[..., _T]r   c             #  óŠ   K  — t          | ¦  «        s%t          dt          | ¦  «        j        › d�¦  «        ‚|D ]	} | |Ž V — Œ
d S rP   rX   )rY   r'   Úargss      r(   r   r   ²   sj   è è € õ �HÑÔð OÝÐM�D ™NœNÔ3ÐMÐMÐMÑNÔNÐNàð ð ˆØˆh˜ˆoÐÐÐÐðð r)   c               ó€   ‡ — t          |¦  «        }‰ €t          t          j        |¦  «        S t          ˆ fd„|¦  «        S )Nc                ó   •—  ‰| ¦  «         S r%   r&   )rV   rY   s    €r(   ú<lambda>zfilterfalse.<locals>.<lambda>Ã   s   ø€  H H¨Q¡K¤K € r)   )r8   Úfilterr9   Únot_)rY   r'   r=   s   `  r(   r   r   ½   s@   ø€ å	ˆh‰Œ€BØÐÝ•h”m RÑ(Ô(Ð(åÐ/Ð/Ð/Ð/°Ñ4Ô4Ð4r)   rk   ú
int | Nonec             '  óŒ  K  — t          |Ž }|j        €dn|j        }|j        }|j        €dn|j        }|dk     s|�|dk     s|dk    rt	          d¦  «        ‚|€(|}t          | ¦  «        D ]\  }}||k    r	|V — ||z  }Œd S t          t          ||¦  «        ¦  «        }	|}t          |	| ¦  «        D ]\  }}||k    r	|V — ||z  }Œd S )Nr   é   zGIndices for islice() must be None or an integer: 0 <= x <= sys.maxsize.)	ÚsliceÚstartÚstopÚstepÚ
ValueErrorÚ	enumerateÚrangeÚmaxrG   )
r'   rk   Úsru   rv   rw   Únext_iÚir5   Úindicess
             r(   r   r   Ç   s  è è € åˆtˆ€AØ”�ˆAˆA a¤g€EØŒ6€DØ”�ˆ1ˆ1 A¤F€DØˆq‚y€y�TÐ%¨$°ª(¨(°t¸q²y°yÝØUñ
ô 
ð 	
ð €|ð ˆÝ# HÑ-Ô-ð 	ð 	‰JˆAˆwØ�FŠ{ˆ{Ø���Ø˜$‘�øð	ð 	õ
 �˜E 4Ñ(Ô(Ñ)Ô)ˆØˆÝ˜g xÑ0Ô0ð 	ð 	‰JˆAˆwØ�FŠ{ˆ{Ø���Ø˜$‘�øð	ð 	r)   úIterator[tuple[_T, _T]]c             #  ó6   K  — d }d}| D ]}|rd}n||fV — |}Œd S )NTFr&   )r'   ÚaÚfirstÚbs       r(   r   r   ä   sL   è è € à€AØ€EØð ð ˆØð 	ØˆEˆEà�Q�$ˆJˆJˆJØˆˆðð r)   ÚnÚintútuple[Iterator[_T], ...]c               óŒ   ‡‡‡— t          | ¦  «        Šd d gŠdˆfd„Št          ˆˆfd„t          |¦  «        D ¦   «         ¦  «        S )Nr"   r#   c              3  ó„   •K  — 	 	 | d         €t          ‰¦  «        | d<   d d g| d<   | \  }} |V — Œ+# t          $ r Y d S w xY w)NTrs   r   r1   )ÚlinkÚvaluer/   s     €r(   Ú_teeztee.<locals>._teeö   sq   øè è € ð	ðØ˜”7�?Ý" 8™nœn�D˜‘GØ# T˜l�D˜‘GØ"‘��tØ���ðøõ ð 	ð 	ð 	ØˆFˆFð	øøøs   …,1 ±
?¾?c              3  ó.   •K  — | ]} ‰‰¦  «        V — Œd S r%   r&   )rC   Ú_rŒ   Úshared_links     €€r(   rF   ztee.<locals>.<genexpr>  s-   øè è € Ð5Ð5 q���kÑ"Ô"Ð5Ð5Ð5Ð5Ð5Ð5r)   )r"   r#   )r8   Útuplerz   )r'   r…   rŒ   r/   r�   s     @@@r(   r   r   ñ   se   øøø€ å�H‰~Œ~€HØ˜�,€Kð	ð 	ð 	ð 	ð 	ð 	õ Ð5Ð5Ð5Ð5Ð5­E°!©H¬HÐ5Ñ5Ô5Ñ5Ô5Ð5r)   .)Ú	fillvalueÚiter1úIterable[_T1]r‘   úIterator[tuple[_T1]]c              ó   — d S r%   r&   )r’   r‘   s     r(   r   r     s	   € ð ˜3r)   Úiter2úIterable[_T2]ú'Iterator[tuple[_T1 | None, _T2 | None]]c               ó   — d S r%   r&   )r’   r–   s     r(   r   r     s	   € ð /2¨cr)   ú#Iterator[tuple[_T1 | _U, _T2 | _U]]c              ó   — d S r%   r&   )r’   r–   r‘   s      r(   r   r     s	   € ð +.¨#r)   Úiter3úIterator[tuple[_T | None, ...]]c               ó   — d S r%   r&   )r’   r–   rœ   r    s       r(   r   r   "  s	   € ð '* cr)   úIterator[tuple[_T | _U, ...]]c              ó   — d S r%   r&   )r’   r–   rœ   r‘   r    s        r(   r   r   -  s	   € ð %( Cr)   c              '  óx  K  — t          t          t          |¦  «        ¦  «        }t          |¦  «        }|sd S 	 g }t	          |¦  «        D ]_\  }}	 t          |¦  «        }n4# t          $ r' |dz  }|sY  d S t          j        | ¦  «        ||<   | }Y nw xY w| 	                    |¦  «         Œ`t          |¦  «        V — Œƒ)NTrs   )ÚlistÚmapr8   Úlenry   r2   r3   Ú	itertoolsÚrepeatrJ   r�   )r‘   r    Ú	iteratorsÚ
num_activeÚvaluesr~   r/   r‹   s           r(   r   r   :  sî   è è € õ •S�˜yÑ)Ô)Ñ*Ô*€IÝ�Y‘”€JØð ØˆðØˆÝ$ YÑ/Ô/ð 		!ð 		!‰KˆAˆxð"Ý˜X™œ��øÝ ð "ð "ð "Ø˜a‘�
Ø!ð Ø�F�F�FÝ(Ô/°	Ñ:Ô:�	˜!‘Ø!���ð"øøøð �MŠM˜%Ñ Ô Ð Ð Ý�F‰mŒmÐÐÐðs   ÁA Á BÁ5BÂB)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#   )rM   rN   r'   r!   r"   r#   )rY   rZ   r'   r[   r"   r\   )rY   r`   r'   ra   r"   r\   )rY   rc   r'   rd   r"   r\   )rY   rf   r'   rg   r"   r\   )rY   ri   r'   r   r"   r!   )rY   rN   r'   r!   r"   r#   )r'   r!   rk   rq   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!   r"   r�   )r’   r!   r–   r!   rœ   r!   r    r!   r‘   r   r"   rŸ   )r    r!   r‘   r   r"   rŸ   )&Ú__doc__Ú
__future__r   r¥   r9   Úcollections.abcr   Útypingr   r   r   r   Ú
decoratorsr
   r   r   Ú__all__r   r   Úobjectr   Ú__annotations__r   r   r   r   Úfrom_iterabler   r   r   r   r   r   r   r   r   r   r   r&   r)   r(   ú<module>r³      s<  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø $Ð $Ð $Ð $Ð $Ð $Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à ,Ð ,Ð ,Ð ,Ð ,Ð ,ð ð 3Ø2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ðð ð €ð" €WˆT�]„]€Ø€WˆT�]„]€Ø  "  v Ô.€
Ð .Ð .Ð .Ñ .Ø€gˆe�n„n€Ø€gˆe�n„n€ð Ð�Y”_°tÐ<Ñ<Ô<ðð ð ñ =Ô<ðð Ð�YÔ)¸DÐAÑAÔAð +/ð!ð ð	!ð !ð !ð !ð !ñ BÔAð!ð6 Ð�Y”_Ô2Ñ3Ô3ðð ð ñ 4Ô3ðð *€Ô ð Ð�YÔ'¸$Ð?Ñ?Ô?ðKð Kð Kñ @Ô?ðKð
 Ð�Y”_°tÐ<Ñ<Ô<ðð ð ñ =Ô<ðð$ Ð�YÔ(¸4Ð@Ñ@Ô@ðð ð ñ AÔ@ðð Ð�YÔ(¸4Ð@Ñ@Ô@ðð ð ñ AÔ@ðð 
ð ð  ð  ñ 
„ð ð 
ð ð  ð  ñ 
„ð ð 
ð ð  ð  ñ 
„ð ð 
ð ð  ð  ñ 
„ð ð Ð�YÔ&¸Ð>Ñ>Ô>ðð ð ñ ?Ô>ðð Ð�YÔ*¸TÐBÑBÔBð5ð 5ð 5ñ CÔBð5ð Ð�YÔ%¸Ð=Ñ=Ô=ðð ð ñ >Ô=ðð8 Ð�YÔ'¸$Ð?Ñ?Ô?ðð ð ñ @Ô?ðð Ð�Y”]Ñ#Ô#ð6ð 6ð 6ð 6ñ $Ô#ð6ð$ 
ð ð	ð ð ð ð ñ 
„ðð 
ð2ð 2ð 2ñ 
„ð2ð 
ð ð.ð .ð .ð .ð .ñ 
„ð.ð 
ð*ð *ð *ñ 
„ð*ð 
ð ð(ð (ð (ð (ð (ñ 
„ð(ð Ð�YÔ*¸TÐBÑBÔBð ðð ð ð ð ñ CÔBðð ð r)   