ó
    Ãu„j*
  ã                  óz   • S SK Jr  S SKJrJrJrJr  \" S5      rS	S jrS	S jr	S
S jr
  S         SS jjrg)é    )Úannotations)ÚIterableÚLiteralÚSequenceÚTypeVarÚTc              #  ó„   #   • [        U 5      n [        U5      nSU4v •  U H	  nSU4v •  M     g! [         a     gf = f7f)z9Iterate and generate a tuple with a flag for first value.NTF©ÚiterÚnextÚStopIteration)ÚvaluesÚiter_valuesÚvalues      Ú›C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\textual/_loop.pyÚ
loop_firstr      sP   é € ä�v“,€KðÜ�[Ó!ˆð �ˆ+ÒÛˆØ�UˆlÔò øô ó Ùðüs    ‚A �0 šA °
=ºA ¼=½A c              #  óˆ   #   • [        U 5      n [        U5      nU H  nSU4v •  UnM     SU4v •  g! [         a     gf = f7f)z8Iterate and generate a tuple with a flag for last value.NFTr
   )r   r   Úprevious_valuer   s       r   Ú	loop_lastr      sY   é € ä�v“,€KðÜ˜kÓ*ˆó ˆØ�^Ð#Ò#ØŠñ ð �Ð
Óøô ó Ùðüs    ‚A�2 šA²
?¼A¾?¿Ac              #  ó”   #   • [        U 5      n [        U5      nSnU H  nUSU4v •  SnUnM     USU4v •  g! [         a     gf = f7f)zBIterate and generate a tuple with a flag for first and last value.NTFr
   )r   r   r   Úfirstr   s        r   Úloop_first_lastr   !   sg   é € ä�v“,€KðÜ˜kÓ*ˆð €EÛˆØ�U˜NÐ*Ò*ØˆØŠñ ð ��~Ð
%Ó%øô ó Ùðüs%   ‚A�8 šA¸
AÁAÁAÁAc              #  ó6  #   • US;   d   S5       e[        U 5      nU(       a"  [        U5       H  nX-   U-  nXU   4v •  M     gUS:X  a'  [        U5       H  nUS-   =o:¼  a    gXU   4v •  M     g[        U5       H  nUS-
  =nS:  a    gXU   4v •  M     g7f)aß  Iterate over values in a sequence from a given starting index, potentially wrapping the index
if it would go out of bounds.

Note that the first value to be yielded is a step from `index`, and `index` will be yielded *last*.


Args:
    values: A sequence of values.
    index: Starting index.
    direction: Direction to move index (+1 for forward, -1 for backward).
    bool: Should the index wrap when out of bounds?

Yields:
    A tuple of index and value from the sequence.
)éÿÿÿÿé   zdirection must be -1 or +1r   r   N)ÚlenÚrange)r   ÚindexÚ	directionÚwrapÚcountÚ_s         r   Úloop_from_indexr#   0   s¶   é € ð, ˜Ó Ð>Ð">Ó>Ð Ü�‹K€EÞÜ�u–ˆAØÑ&¨%Ñ/ˆEØ ™-Ð(Ô(ò ð ˜‹?Ü˜5–\�Ø" Q™YÐ&�EÓ0ÙØ U™mÐ,Ô,ò "ô
 ˜5–\�Ø" Q™YÐ&�E¨!Ó+ÙØ U™mÐ,Ô,ò "ùs   ‚BBN)r   úIterable[T]ÚreturnzIterable[tuple[bool, T]])r   r$   r%   zIterable[tuple[bool, bool, T]])r   T)
r   zSequence[T]r   Úintr   zLiteral[-1, +1]r    Úboolr%   zIterable[tuple[int, T]])Ú
__future__r   Útypingr   r   r   r   r   r   r   r   r#   © ó    r   Ú<module>r,      sa   ðÝ "ç 7Ó 7áˆCƒL€ô	ô
ô&ð$ "$Øð	&-Øð&-àð&-ð ð&-ð ð	&-ð
 ö&-r+   