ó
    pñ:iEA  ã                  óT  • S r SSKJr  SSKJrJrJr  SSKrSSKJ	r	  SSK
JrJr  SSKJrJr  SSKJrJrJrJrJrJrJrJrJr  S	r\" S
\S9r\" S\S9r\" S5      r\" S5      r      SS jrSS jr  " S S\\\4   5      r!\SS j5       r"\SS j5       r"\SS j5       r"S r"SS jr#g)a’  
Cycler
======

Cycling through combinations of values, producing dictionaries.

You can add cyclers::

    from cycler import cycler
    cc = (cycler(color=list('rgb')) +
          cycler(linestyle=['-', '--', '-.']))
    for d in cc:
        print(d)

Results in::

    {'color': 'r', 'linestyle': '-'}
    {'color': 'g', 'linestyle': '--'}
    {'color': 'b', 'linestyle': '-.'}


You can multiply cyclers::

    from cycler import cycler
    cc = (cycler(color=list('rgb')) *
          cycler(linestyle=['-', '--', '-.']))
    for d in cc:
        print(d)

Results in::

    {'color': 'r', 'linestyle': '-'}
    {'color': 'r', 'linestyle': '--'}
    {'color': 'r', 'linestyle': '-.'}
    {'color': 'g', 'linestyle': '-'}
    {'color': 'g', 'linestyle': '--'}
    {'color': 'g', 'linestyle': '-.'}
    {'color': 'b', 'linestyle': '-'}
    {'color': 'b', 'linestyle': '--'}
    {'color': 'b', 'linestyle': '-.'}
é    )Úannotations)ÚHashableÚIterableÚ	GeneratorN)Úreduce)ÚproductÚcycle)ÚmulÚadd)	ÚTypeVarÚGenericÚCallableÚUnionÚDictÚListÚAnyÚoverloadÚcastz0.12.1ÚK)ÚboundÚLÚVÚUc                ó   • U / :w  a  [        [        U 5      5      O0 nUb  [        [        U5      5      O0 n[        UR                  5       5      n[        UR                  5       5      nXE-  (       a  [	        S5      eXE-  $ )zß
Helper function to compose cycler keys.

Parameters
----------
left, right : iterable of dictionaries or None
    The cyclers to be composed.

Returns
-------
keys : set
    The keys in the composition of the two cyclers.
z"Can not compose overlapping cycles)ÚnextÚiterÚsetÚkeysÚ
ValueError)ÚleftÚrightÚl_peekÚr_peekÚl_keyÚr_keys         ÚR/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/cycler/__init__.pyÚ_process_keysr'   >   sh   € ð" .2°R«Zœœd 4›jÔ)¸R€FØ.3Ñ.?œœd 5›kÔ*ÀR€FÜ˜Ÿ™›Ó&€EÜ˜Ÿ™›Ó&€EØ‡}ÜÐ=Ó>Ð>Ø‰=Ðó    c                ó  ^^• U R                   UR                   :w  aG  [        SR                  U R                   UR                   -  U R                   UR                   -  S95      e[        [        [
        [        [        [        [        4      4   U R                  5       5      m[        [        [
        [        [        [        [        4      4   UR                  5       5      m[        [        UU4S jU R                    5       5      $ )a  
Concatenate `Cycler`\s, as if chained using `itertools.chain`.

The keys must match exactly.

Examples
--------
>>> num = cycler('a', range(3))
>>> let = cycler('a', 'abc')
>>> num.concat(let)
cycler('a', [0, 1, 2, 'a', 'b', 'c'])

Returns
-------
`Cycler`
    The concatenated cycler.
zBKeys do not match:
	Intersection: {both!r}
	Disjoint: {just_one!r})ÚbothÚjust_onec              3  óN   >#   • U  H  n[        UTU   TU   -   5      v •  M     g 7f©N©Ú_cycler)Ú.0ÚkÚ_lÚ_rs     €€r&   Ú	<genexpr>Úconcat.<locals>.<genexpr>t   s'   øé € ÐEº9°aœ  2 a¡5¨2¨a©5¡=×1Ð1º9ùs   ƒ"%)r   r   Úformatr   r   r   r   r   r   r   Úby_keyr   r   )r    r!   r2   r3   s     @@r&   Úconcatr8   X   sÀ   ù€ ð$ ‡y�y�E—J‘JÓÜð'ç'-¡vØ—Y‘Y §¡Ñ+°d·i±iÀ%Ç*Á*Ñ6Lð (.ð (ó
ð 	
ô 
Œd”1”dœ5¤¤A ™;Ñ'Ð'Ñ(¨$¯+©+«-Ó	8€BÜ	Œd”1”dœ5¤¤A ™;Ñ'Ð'Ñ(¨%¯,©,«.Ó	9€BÜ”#ÕE¸4¿9º9ÓEÓFÐFr(   c                  óH  • \ rS rSrSrS r  S     SS jjrS r\SS j5       r	SS jr
\S S	 j5       rS!S
 jrS"S jrS#S jr\S#S j5       r\S$S j5       rS r\S#S j5       r\S$S j5       rS rS%S jrS&S jrS'S jrS(S jrSrS)S jrS)S jrS*S jr\rS+S jr\rSrg),ÚCycleréw   a«  
Composable cycles.

This class has compositions methods:

``+``
  for 'inner' products (zip)

``+=``
  in-place ``+``

``*``
  for outer products (`itertools.product`) and integer multiplication

``*=``
  in-place ``*``

and supports basic slicing via ``[]``.

Parameters
----------
left, right : Cycler or None
    The 'left' and 'right' cyclers.
op : func or None
    Function which composes the 'left' and 'right' cyclers.
c                ó   • [        U 5      $ r-   )r	   ©Úselfs    r&   Ú__call__ÚCycler.__call__“   s   € Ü�T‹{Ðr(   Nc                óø  • [        U[        5      (       a1  [        UR                  UR                  UR                  5      U l        O7Ub-  U Vs/ s H  n[
        R
                  " U5      PM     snU l        O/ U l        [        U[        5      (       a1  [        UR                  UR                  UR                  5      U l        OSU l        [        U R                  U R                  5      U l        X0l        gs  snf )zN
Semi-private init.

Do not use this directly, use `cycler` function instead.
N)Ú
isinstancer:   Ú_leftÚ_rightÚ_opÚcopyr'   Ú_keys)r>   r    r!   ÚopÚvs        r&   Ú__init__ÚCycler.__init__–   s´   € ô �dœF×#Ñ#Ü:@Ø—
‘
˜DŸK™K¨¯©ó;ˆD�Jð Ññ 15Ó5²¨1œ$Ÿ)š) Až,±Ñ5ˆD�JàˆDŒJä�eœV×$Ñ$Ü/5Ø—‘˜UŸ\™\¨5¯9©9ó0ˆD�Kð ˆDŒKä*¨4¯:©:°t·{±{ÓCˆŒ
Ø�ùò 6s   Á C7c                ó   • XR                   ;   $ r-   )rG   )r>   r1   s     r&   Ú__contains__ÚCycler.__contains__¶   s   € Ø—J‘J‰Ðr(   c                ó,   • [        U R                  5      $ )z!The keys this Cycler knows about.)r   rG   r=   s    r&   r   ÚCycler.keys¹   s   € ô �4—:‘:‹Ðr(   c           	     óZ  • X:X  a  gX R                   ;   a  [        SU SU SU S35      eXR                   ;  a  [        SU SU SU S35      eU R                   R                  U5        U R                   R	                  U5        U R
                  b5  XR
                  R                  ;   a  U R
                  R                  X5        g[        U R                  [        5      (       a  U R                  R                  X5        gU R                   Vs/ s H  o2X1   0PM
     snU l	        gs  snf )zì
Change a key in this cycler to a new name.
Modification is performed in-place.

Does nothing if the old key is the same as the new key.
Raises a ValueError if the new key is already a key.
Raises a KeyError if the old key isn't a key.
NzCan't replace z with ú, z is already a keyz is not a key)rG   r   ÚKeyErrorÚremover   rD   r   Ú
change_keyrB   rC   r:   )r>   ÚoldÚnewÚentrys       r&   rU   ÚCycler.change_key¾   s  € ð ‹:ØØ—*‘*ÓÜØ    V¨C¨5°°3°%Ð7HÐIóð ð —j‘jÓ ÜØ    V¨C¨5°°3°%°}ÐEóð ð 	�
‰
×Ñ˜#ÔØ�
‰
�‰�sÔà�;‰;Ñ" s¯k©k×.>Ñ.>Ó'>Ø�K‰K×"Ñ" 3Õ,ô ˜Ÿ
™
¤F×+Ñ+Ø�J‰J×!Ñ! #Õ+ð
 :>¿ºÓDº° ¡
Ó+¹ÑDˆD�JùÒDs   ÄD(c                ó\   ^• U " S5      n[        U4S jU 5       5      Ul        T1Ul        U$ )a:  
Class method to create 'base' Cycler objects
that do not have a 'right' or 'op' and for which
the 'left' object is not another Cycler.

Parameters
----------
label : hashable
    The property key.

itr : iterable
    Finite length iterable of the property values.

Returns
-------
`Cycler`
    New 'base' cycler.
Nc              3  ó,   >#   • U  H	  nTU0v •  M     g 7fr-   © )r0   rI   Úlabels     €r&   r4   Ú$Cycler._from_iter.<locals>.<genexpr>÷   s   øé € Ð1ªS¨˜% �ªSùó   ƒ)ÚlistrC   rG   )Úclsr]   ÚitrÚrets    `  r&   Ú
_from_iterÚCycler._from_iterâ   s.   ø€ ñ(   ›IˆÜÔ1©SÓ1Ó1ˆŒ	Ø�GˆŒ	Øˆ
r(   c                ó´   ^• [        T[        5      (       a8  U R                  5       n[        [        U4S jUR                  5        5       5      $ [        S5      e)Nc              3  óD   >#   • U  H  u  p[        XT   5      v •  M     g 7fr-   r.   )r0   r1   rI   Úkeys      €r&   r4   Ú%Cycler.__getitem__.<locals>.<genexpr>ÿ   s   øé € ÐMº}±t°q¤¨¨S©6× 2Ð 2º}ùó   ƒ z+Can only use slices with Cycler.__getitem__)rB   Úslicer7   r   r   Úitemsr   )r>   rh   Útranss    ` r&   Ú__getitem__ÚCycler.__getitem__û   s@   ø€ ä�cœ5×!Ñ!Ø—K‘K“MˆEÜœ#ÔM¸u¿{¹{¼}ÓMÓNÐNäÐJÓKÐKr(   c              #  óF  #   • U R                   c!  U R                   H  n[        U5      v •  M     g U R                  c  [	        S5      eU R                  U R                  U R                   5       H-  u  p#0 nUR                  U5        UR                  U5        Uv •  M/     g 7f)Nz=Operation cannot be None when both left and right are defined)rD   rC   ÚdictrE   Ú	TypeErrorÚupdate)r>   r    ÚaÚbÚouts        r&   Ú__iter__ÚCycler.__iter__  s„   é € Ø�;‰;ÑØŸ
œ
�Ü˜4“jÔ ò #ð �x‰xÑÜØSóð ð Ÿ™ §¡¨T¯[©[Ö9‘�Ø�Ø—
‘
˜1”Ø—
‘
˜1”Ø”	ò	 :ùs   ‚BB!c           
     ón  • [        U 5      [        U5      :w  a#  [        S[        U 5       S[        U5       35      e[        [        [        [        [
        [        4   [        [        [        4   4   U 5      [        [        [        [
        [        4   [        [        [        4   4   U5      [        5      $ )zY
Pair-wise combine two equal length cyclers (zip).

Parameters
----------
other : Cycler
z&Can only add equal length cycles, not z and )
Úlenr   r:   r   r   r   r   r   r   Úzip©r>   Úothers     r&   Ú__add__ÚCycler.__add__  s“   € ô ˆt‹9œ˜E›
Ó"ÜØ8¼¸T»¸À5ÌÈUËÈÐUóð ô Ü”œœa¤˜d™¤U¬1¬a¨4¡[Ð0Ñ1°4Ó8Ü”œœa¤˜d™¤U¬1¬a¨4¡[Ð0Ñ1°5Ó9Üó
ð 	
r(   c                ó   • g r-   r\   r|   s     r&   Ú__mul__ÚCycler.__mul__$  ó   € àr(   c                ó   • g r-   r\   r|   s     r&   r�   r‚   (  rƒ   r(   c           
     óÊ  ^• [        T[        5      (       a{  [        [        [        [        [        [
        4   [        [        [        4   4   U 5      [        [        [        [        [
        4   [        [        [        4   4   T5      [        5      $ [        T[        5      (       a8  U R                  5       n[        [        U4S jUR                  5        5       5      $ [        $ )z|
Outer product of two cyclers (`itertools.product`) or integer
multiplication.

Parameters
----------
other : Cycler or int
c              3  óD   >#   • U  H  u  p[        XT-  5      v •  M     g 7fr-   r.   )r0   r1   rI   r}   s      €r&   r4   Ú!Cycler.__mul__.<locals>.<genexpr>>  s   øé € ÐFº±°”g˜a U¡×+Ð+ºùrj   )rB   r:   r   r   r   r   r   r   r   Úintr7   r   r   rl   ÚNotImplemented)r>   r}   rm   s    ` r&   r�   r‚   ,  sª   ø€ ô �eœV×$Ñ$ÜÜ”VœE¤!¤Q $™K¬¬q´!¨t©Ð4Ñ5°tÓ<Ü”VœE¤!¤Q $™K¬¬q´!¨t©Ð4Ñ5°uÓ=Üóð ô
 ˜œs×#Ñ#Ø—K‘K“MˆEÜÜÔF¸¿¹¼ÓFóð ô "Ð!r(   c                ó   • g r-   r\   r|   s     r&   Ú__rmul__ÚCycler.__rmul__C  rƒ   r(   c                ó   • g r-   r\   r|   s     r&   r‹   rŒ   G  rƒ   r(   c                ó
   • X-  $ r-   r\   r|   s     r&   r‹   rŒ   K  s
   € Ø‰|Ðr(   c                óî   • [         [        [        [        0nU R                  c  [        U R                  5      $ [        U R                  5      n[        U R                  5      nXR                     " X#5      $ r-   )r{   Úminr   r
   rD   rz   rC   rE   )r>   Úop_dictÚl_lenÚr_lens       r&   Ú__len__ÚCycler.__len__N  sV   € Ü>AÄ3ÌÔQTÐ=UˆØ�;‰;ÑÜ�t—z‘z“?Ð"Ü�D—J‘J“ˆÜ�D—K‘KÓ ˆØ—x‘xÒ  Ó.Ð.r(   c                ó  • [        U[        5      (       d  [        S5      e[        R                  " U 5      n[	        X!5      U l        X l        [        U l        [        UR                  UR                  UR                  5      U l	        U $ )zb
In-place pair-wise combine two equal length cyclers (zip).

Parameters
----------
other : Cycler
z"Cannot += with a non-Cycler object)
rB   r:   rr   rF   r'   rG   rC   r{   rE   rD   ©r>   r}   Úold_selfs      r&   Ú__iadd__ÚCycler.__iadd__X  sc   € ô ˜%¤×(Ñ(ÜÐ@ÓAÐAä—9’9˜T“?ˆÜ" 8Ó3ˆŒ
ØŒ
ÜˆŒÜ˜UŸ[™[¨%¯,©,¸¿	¹	ÓBˆŒØˆr(   c                ó  • [        U[        5      (       d  [        S5      e[        R                  " U 5      n[	        X!5      U l        X l        [        U l        [        UR                  UR                  UR                  5      U l	        U $ )zd
In-place outer product of two cyclers (`itertools.product`).

Parameters
----------
other : Cycler
z"Cannot *= with a non-Cycler object)
rB   r:   rr   rF   r'   rG   rC   r   rE   rD   r—   s      r&   Ú__imul__ÚCycler.__imul__j  sc   € ô ˜%¤×(Ñ(ÜÐ@ÓAÐAä—9’9˜T“?ˆÜ" 8Ó3ˆŒ
ØŒ
ÜˆŒÜ˜UŸ[™[¨%¯,©,¸¿	¹	ÓBˆŒØˆr(   c                óÔ   • [        U[        5      (       d  g[        U 5      [        U5      :w  a  gU R                  UR                  -  (       a  g[	        S [        X5       5       5      $ )NFc              3  ó.   #   • U  H  u  pX:H  v •  M     g 7fr-   r\   )r0   rt   ru   s      r&   r4   Ú Cycler.__eq__.<locals>.<genexpr>ƒ  s   é € Ð7Ò&6™d˜a�1–6Ò&6ùs   ‚)rB   r:   rz   r   Úallr{   r|   s     r&   Ú__eq__ÚCycler.__eq__|  sN   € Ü˜%¤×(Ñ(ØÜˆt‹9œ˜E›
Ó"ØØ�9‰9�u—z‘z×!ØÜÑ7¤c¨$Ô&6Ó7Ó7Ð7r(   c                ó2  ^• [         S[        S0nU R                  c:  U R                  R	                  5       m[        U4S jU  5       5      nST< SU< S3$ UR                  U R                  S5      nSnUR                  U R                  X0R                  S	9$ )
NÚ+Ú*c              3  ó,   >#   • U  H	  oT   v •  M     g 7fr-   r\   ©r0   rI   Úlabs     €r&   r4   Ú"Cycler.__repr__.<locals>.<genexpr>‹  s   øé € Ð,¢t !˜–v¢tùr_   zcycler(rR   Ú)Ú?z({left!r} {op} {right!r}))r    rH   r!   )
r{   r   rD   r   Úpopr`   ÚgetrE   r6   rC   )r>   Úop_maprb   rH   Úmsgr©   s        @r&   Ú__repr__ÚCycler.__repr__‡  sƒ   ø€ Ü�sœG SÐ)ˆØ�;‰;ÑØ—)‘)—-‘-“/ˆCÜÔ,¡tÓ,Ó,ˆCØ˜S™G 2 c¡W¨AÐ.Ð.à—‘˜DŸH™H cÓ*ˆBØ-ˆCØ—:‘: 4§:¡:°"¿K¹K�:ÐHÐHr(   c                óÌ   • Sn[        U R                  [        S9nU H  nUSU< S3-  nM     [        U 5       H"  nUS-  nU H  nUSXE   < S3-  nM     US-  nM$     US	-  nU$ )
Nz<table>)rh   z<th>z</th>z<tr>z<td>z</td>z</tr>z</table>)Úsortedr   Úreprr   )r>   ÚoutputÚsorted_keysrh   Údr1   s         r&   Ú_repr_html_ÚCycler._repr_html_’  s†   € àˆÜ˜TŸY™Y¬DÑ1ˆÛˆCØ˜˜S™G 5Ð)Ñ)ŠFñ ä�d–ˆAØ�fÑˆFÛ �Ø˜D ¡¡¨Ð.Ñ.’ñ !à�gÑŠFñ	 ð
 	�*ÑˆØˆr(   c                óª   • U R                   nU Vs0 s H  o"[        5       _M     nnU  H!  nU H  nX2   R                  XB   5        M     M#     U$ s  snf )a}  
Values by key.

This returns the transposed values of the cycler.  Iterating
over a `Cycler` yields dicts with a single value for each key,
this method returns a `dict` of `list` which are the values
for the given key.

The returned value can be used to create an equivalent `Cycler`
using only `+`.

Returns
-------
transpose : dict
    dict of lists of the values for each key.
)r   r`   Úappend)r>   r   r1   rv   r¸   s        r&   r7   ÚCycler.by_key   sU   € ð* �y‰yˆÙ48Ó 9²D¨q¤D£F¢±DˆÐ 9ãˆAÛ�Ø‘—‘˜a™dÖ#ó ñ ð ˆ
ùò !:s   ‘Ac                ól   • U R                  5       n[        [        S UR                  5        5       5      $ )z_
Simplify the cycler into a sum (but no products) of cyclers.

Returns
-------
simple : Cycler
c              3  ó<   #   • U  H  u  p[        X5      v •  M     g 7fr-   r.   ©r0   r1   rI   s      r&   r4   Ú"Cycler.simplify.<locals>.<genexpr>Î  s   é € ÐD²m©d¨aœG AŸM˜M²mùó   ‚)r7   r   r   rl   )r>   rm   s     r&   ÚsimplifyÚCycler.simplifyÀ  s(   € ð —‘“ˆÜ”cÑD°e·k±k´mÓDÓEÐEr(   )rG   rC   rE   rD   )NN)r    ú*Cycler[K, V] | Iterable[dict[K, V]] | Noner!   zCycler[K, V] | NonerH   r   )Úreturnúset[K])rV   r   rW   r   rÆ   ÚNone©r]   r   rb   úIterable[V]rÆ   úCycler[K, V])rh   rk   rÆ   rË   )rÆ   z!Generator[dict[K, V], None, None])r}   zCycler[L, U]rÆ   zCycler[K | L, V | U])r}   rˆ   rÆ   rË   )rÆ   rˆ   )r}   rË   rÆ   rË   )r}   zCycler[K, V] | intrÆ   rË   )r}   ÚobjectrÆ   Úbool)rÆ   Ústr)rÆ   zdict[K, list[V]])rÆ   rË   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r?   rJ   rM   Úpropertyr   rU   Úclassmethodrd   rn   rw   r~   r   r�   r‹   r”   r™   rœ   r¢   Ú__hash__r±   r¹   r7   Ú
_transposerÃ   r8   Ú__static_attributes__r\   r(   r&   r:   r:   w   s  † ñò6ð &*Øð	à8ðð #ðð õ	ò@ð óó ðô"EðH óó ðô0Lôô
ð$ óó ðð óó ðò"ð. óó ðð óó ðòô/ôô$ô$8ð €Hô	Iôôð< €JôFð  ƒFr(   r:   c                ó   • g r-   r\   )Úargs    r&   ÚcyclerrÛ   Ó  ó   € àr(   c                 ó   • g r-   r\   )Úkwargss    r&   rÛ   rÛ   Ø  rÜ   r(   c                ó   • g r-   r\   )r]   rb   s     r&   rÛ   rÛ   Ý  rÜ   r(   c                 ó„  • U (       a  U(       a  [        S5      e[        U 5      S:X  a1  [        U S   [        5      (       d  [        S5      e[        U S   5      $ [        U 5      S:X  a  [	        U 6 $ [        U 5      S:”  a  [        S5      eU(       a%  [        [        S UR                  5        5       5      $ [        S5      e)	aw  
Create a new `Cycler` object from a single positional argument,
a pair of positional arguments, or the combination of keyword arguments.

cycler(arg)
cycler(label1=itr1[, label2=iter2[, ...]])
cycler(label, itr)

Form 1 simply copies a given `Cycler` object.

Form 2 composes a `Cycler` as an inner product of the
pairs of keyword arguments. In other words, all of the
iterables are cycled simultaneously, as if through zip().

Form 3 creates a `Cycler` from a label and an iterable.
This is useful for when the label cannot be a keyword argument
(e.g., an integer or a name that has a space in it).

Parameters
----------
arg : Cycler
    Copy constructor for Cycler (does a shallow copy of iterables).
label : name
    The property key. In the 2-arg form of the function,
    the label can be any hashable object. In the keyword argument
    form of the function, it must be a valid python identifier.
itr : iterable
    Finite length iterable of the property values.
    Can be a single-property `Cycler` that would
    be like a key change, but as a shallow copy.

Returns
-------
cycler : Cycler
    New `Cycler` for the given property

zEcycler() can only accept positional OR keyword arguments -- not both.é   r   zDIf only one positional argument given, it must be a Cycler instance.é   zdOnly a single Cycler can be accepted as the lone positional argument. Use keyword arguments instead.c              3  ó<   #   • U  H  u  p[        X5      v •  M     g 7fr-   r.   rÀ   s      r&   r4   Úcycler.<locals>.<genexpr>  s   é € ÐE²n©d¨aœG AŸM˜M²nùrÂ   z4Must have at least a positional OR keyword arguments)rr   rz   rB   r:   r/   r   r   rl   )ÚargsrÞ   s     r&   rÛ   rÛ   â  s·   € öL –ÜØSó
ð 	
ô ˆ4ƒy�Aƒ~Ü˜$˜q™'¤6×*Ñ*Üð(óð ô �d˜1‘g‹ÐÜ	ˆT‹�a‹Ü˜ˆ~ÐÜ	ˆT‹�Q‹ÜðBó
ð 	
ö
 Ü”cÑE°f·l±l´nÓEÓFÐFä
ÐJÓ
KÐKr(   c                óà   ^• [        U[        5      (       aD  UR                  n[        U5      S:w  a  Sn[	        U5      eUR                  5       mU4S jU 5       n[        R                  X5      $ )a  
Create a new `Cycler` object from a property name and iterable of values.

Parameters
----------
label : hashable
    The property key.
itr : iterable
    Finite length iterable of the property values.

Returns
-------
cycler : Cycler
    New `Cycler` for the given property
rá   z2Can not create Cycler from a multi-property Cyclerc              3  ó,   >#   • U  H	  oT   v •  M     g 7fr-   r\   r¨   s     €r&   r4   Ú_cycler.<locals>.<genexpr>;  s   øé € Ð#šs˜!�Žvšsùr_   )rB   r:   r   rz   r   r­   rd   )r]   rb   r   r°   r©   s       @r&   r/   r/   "  s]   ø€ ô  �#”v×ÑØ�x‰xˆÜˆt‹9˜‹>ØFˆCÜ˜S“/Ð!à�h‰h‹jˆô $™sÓ#ˆä×Ñ˜UÓ(Ð(r(   )r    z#Cycler[K, V] | Iterable[dict[K, V]]r!   rÅ   rÆ   rÇ   )r    rË   r!   zCycler[K, U]rÆ   zCycler[K, V | U])rÚ   rË   rÆ   rË   )rÞ   rÊ   rÆ   zCycler[str, V]rÉ   )$rÓ   Ú
__future__r   Úcollections.abcr   r   r   rF   Ú	functoolsr   Ú	itertoolsr   r	   Úoperatorr
   r   Útypingr   r   r   r   r   r   r   r   r   Ú__version__r   r   r   r   r'   r8   r:   rÛ   r/   r\   r(   r&   Ú<module>rð      sÞ   ðñ(õV #ç 9Ñ 9Û Ý ß $ß ç U× UÕ Uà€áˆC�xÑ €ÙˆC�xÑ €ÙˆCƒL€ÙˆCƒL€ðØ
-ðà5ðð ôô4Gô>YˆW�Q˜�T‰]ô Yðx
 
óó 
ðð 
óó 
ðð 
óó 
ðò=Lõ@)r(   