Ë
    ¤ehEA  ã                  óT  — d Z ddlmZ ddlmZmZmZ ddlZddl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mZmZmZmZ d	Z ed
e¬«      Z ede¬«      Z ed«      Z ed«      Z	 	 	 	 	 	 dd„Zdd„Z  G d„ deeef   «      Z!edd„«       Z"edd„«       Z"edd„«       Z"d„ Z"dd„Z#y)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                óö   — | g k7  rt        t        | «      «      ni }|�t        t        |«      «      ni }t        |j                  «       «      }t        |j                  «       «      }||z  rt	        d«      ‚||z  S )a  
    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         úM/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/cycler/__init__.pyÚ_process_keysr'   >   sl   € ð" .2°RªZœœd 4›jÔ)¸R€FØ.3Ð.?œœd 5›kÔ*ÀR€FÜ˜Ÿ™›Ó&€EÜ˜Ÿ™›Ó&€EØˆu‚}ÜÐ=Ó>Ð>Ø�5‰=Ðó    c                ó  ‡‡— | j                   |j                   k7  rJt        dj                  | j                   |j                   z  | j                   |j                   z  ¬«      «      ‚t        t        t
        t        t        t        t        f      f   | j                  «       «      Št        t        t
        t        t        t        t        f      f   |j                  «       «      Št        t        ˆˆfd„| j                   D «       «      S )aS  
    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  óH   •K  — | ]  }t        |‰|   ‰|   z   «      –— Œ y ­w©N©Ú_cycler)Ú.0ÚkÚ_lÚ_rs     €€r&   ú	<genexpr>zconcat.<locals>.<genexpr>t   s$   øè ø€ ÒE°aœ  2 a¡5¨2¨a©5¡=×1ÑEùs   ƒ")r   r   Úformatr   r   r   r   r   r   r   Úby_keyr   r   )r    r!   r2   r3   s     @@r&   Úconcatr7   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                  ó  — e Zd ZdZd„ Z	 	 d	 	 	 	 	 dd„Zd„ Zedd„«       Zdd„Z	e
dd„«       Zdd	„Zd d
„Zd!d„Zed!d„«       Zed"d„«       Zd„ Zed!d„«       Zed"d„«       Zd„ Zd#d„Zd$d„Zd%d„Zd&d„ZdZd'd„Zd'd„Zd(d„ZeZd)d„ZeZy)*ÚCycleraó  
    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                ó   — t        | «      S r-   )r	   ©Úselfs    r&   Ú__call__zCycler.__call__“   s   € Ü�T‹{Ðr(   Nc                óÜ  — t        |t        «      r1t        |j                  |j                  |j                  «      | _        n2|�)|D �cg c]  }t        j
                  |«      ‘Œ c}| _        ng | _        t        |t        «      r1t        |j                  |j                  |j                  «      | _        nd| _        t        | j                  | j                  «      | _        || _        yc c}w )zf
        Semi-private init.

        Do not use this directly, use `cycler` function instead.
        N)Ú
isinstancer9   Ú_leftÚ_rightÚ_opÚcopyr'   Ú_keys)r<   r    r!   ÚopÚvs        r&   Ú__init__z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   ÁC)c                ó   — || j                   v S r-   )rD   )r<   r1   s     r&   Ú__contains__zCycler.__contains__¶   s   € Ø�D—J‘JˆÐr(   c                ó,   — t        | j                  «      S )z!The keys this Cycler knows about.)r   rD   r;   s    r&   r   zCycler.keys¹   s   € ô �4—:‘:‹Ðr(   c           	     óJ  — ||k(  ry|| j                   v rt        d|› d|› d|› d�«      ‚|| j                   vrt        d|› d|› d|› d�«      ‚| j                   j                  |«       | j                   j	                  |«       | j
                  �5|| j
                  j                  v r| j
                  j                  ||«       yt        | j                  t        «      r| j                  j                  ||«       y| j                  D �cg c]	  }|||   i‘Œ c}| _	        yc c}w )a  
        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)rD   r   ÚKeyErrorÚremover   rA   r   Ú
change_keyr?   r@   r9   )r<   ÚoldÚnewÚentrys       r&   rO   zCycler.change_key¾   s  € ð �#Š:ØØ�$—*‘*ÑÜØ    V¨C¨5°°3°%Ð7HÐIóð ð �d—j‘jÑ ÜØ    V¨C¨5°°3°%°}ÐEóð ð 	�
‰
×Ñ˜#ÔØ�
‰
�‰�sÔà�;‰;Ð" s¨d¯k©k×.>Ñ.>Ñ'>Ø�K‰K×"Ñ" 3¨Õ,ô ˜Ÿ
™
¤FÔ+Ø�J‰J×!Ñ! # sÕ+ð
 :>¿¹ÖD°˜3  c¡
Ò+ÒDˆD�JùÒDs   Ä	D c                óZ   ‡—  | d«      }t        ˆfd„|D «       «      |_        ‰h|_        |S )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  ó&   •K  — | ]  }‰|i–— Œ
 y ­wr-   © )r0   rF   Úlabels     €r&   r4   z$Cycler._from_iter.<locals>.<genexpr>÷   s   øè ø€ Ò1¨˜% œÑ1ùs   ƒ)Úlistr@   rD   )ÚclsrV   ÚitrÚrets    `  r&   Ú
_from_iterzCycler._from_iterâ   s.   ø€ ñ(   ›IˆÜÓ1¨SÔ1Ó1ˆŒ	Ø�GˆŒ	Øˆ
r(   c                ó¨   ‡— t        ‰t        «      r7| j                  «       }t        t        ˆfd„|j                  «       D «       «      S t        d«      ‚)Nc              3  óB   •K  — | ]  \  }}t        ||‰   «      –— Œ y ­wr-   r.   )r0   r1   rF   Úkeys      €r&   r4   z%Cycler.__getitem__.<locals>.<genexpr>ÿ   s    øè ø€ ÒM±t°q¸!¤¨¨1¨S©6× 2ÑMùó   ƒz+Can only use slices with Cycler.__getitem__)r?   Úslicer6   r   r   Úitemsr   )r<   r^   Útranss    ` r&   Ú__getitem__zCycler.__getitem__û   s=   ø€ ä�cœ5Ô!Ø—K‘K“MˆEÜœ#ÓM¸u¿{¹{»}ÔMÓNÐNäÐJÓKÐKr(   c              #  ó<  K  — | j                   €| j                  D ]  }t        |«      –— Œ y | j                  €t	        d«      ‚| j                  | j                  | j                   «      D ]-  \  }}i }|j                  |«       |j                  |«       |–— Œ/ y ­w)Nz=Operation cannot be None when both left and right are defined)rA   r@   ÚdictrB   Ú	TypeErrorÚupdate)r<   r    ÚaÚbÚouts        r&   Ú__iter__zCycler.__iter__  s‘   è ø€ Ø�;‰;ÐØŸ
™
ò !�Ü˜4“jÓ ñ!ð �x‰xÐÜØSóð ð Ÿ™ §¡¨T¯[©[Ó9ò ‘��1Ø�Ø—
‘
˜1”Ø—
‘
˜1”Ø“	ñ	ùs   ‚BBc           
     ól  — t        | «      t        |«      k7  r#t        dt        | «      › dt        |«      › �«      ‚t        t        t        t        t
        t        f   t        t        t        f   f   | «      t        t        t        t
        t        f   t        t        t        f   f   |«      t        «      S )z�
        Pair-wise combine two equal length cyclers (zip).

        Parameters
        ----------
        other : Cycler
        z&Can only add equal length cycles, not z and )
Úlenr   r9   r   r   r   r   r   r   Úzip©r<   Úothers     r&   Ú__add__z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                 ó   — y r-   rU   ro   s     r&   Ú__mul__zCycler.__mul__$  ó   € àr(   c                 ó   — y r-   rU   ro   s     r&   rs   zCycler.__mul__(  rt   r(   c           
     ó´  ‡— t        ‰t        «      r{t        t        t        t        t        t
        f   t        t        t        f   f   | «      t        t        t        t        t
        f   t        t        t        f   f   ‰«      t        «      S t        ‰t        «      r7| j                  «       }t        t        ˆfd„|j                  «       D «       «      S t        S )z¬
        Outer product of two cyclers (`itertools.product`) or integer
        multiplication.

        Parameters
        ----------
        other : Cycler or int
        c              3  óB   •K  — | ]  \  }}t        ||‰z  «      –— Œ y ­wr-   r.   )r0   r1   rF   rp   s      €r&   r4   z!Cycler.__mul__.<locals>.<genexpr>>  s    øè ø€ ÒF±°°1”g˜a  U¡×+ÑFùr_   )r?   r9   r   r   r   r   r   r   r   Úintr6   r   r   ra   ÚNotImplemented)r<   rp   rb   s    ` r&   rs   zCycler.__mul__,  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                 ó   — y r-   rU   ro   s     r&   Ú__rmul__zCycler.__rmul__C  rt   r(   c                 ó   — y r-   rU   ro   s     r&   r{   zCycler.__rmul__G  rt   r(   c                ó   — | |z  S r-   rU   ro   s     r&   r{   zCycler.__rmul__K  s   € Ø�e‰|Ðr(   c                óð   — t         t        t        t        i}| j                  €t        | j                  «      S t        | j                  «      }t        | j                  «      } || j                     ||«      S r-   )rn   Úminr   r
   rA   rm   r@   rB   )r<   Úop_dictÚl_lenÚr_lens       r&   Ú__len__zCycler.__len__N  s\   € Ü>AÄ3ÌÔQTÐ=UˆØ�;‰;ÐÜ�t—z‘z“?Ð"Ü�D—J‘J“ˆÜ�D—K‘KÓ ˆØ ˆw�t—x‘xÑ  ¨Ó.Ð.r(   c                ó  — t        |t        «      st        d«      ‚t        j                  | «      }t	        ||«      | _        || _        t        | _        t        |j                  |j                  |j                  «      | _	        | S )zŠ
        In-place pair-wise combine two equal length cyclers (zip).

        Parameters
        ----------
        other : Cycler
        z"Cannot += with a non-Cycler object)
r?   r9   rf   rC   r'   rD   r@   rn   rB   rA   ©r<   rp   Úold_selfs      r&   Ú__iadd__zCycler.__iadd__X  sd   € ô ˜%¤Ô(ÜÐ@ÓAÐAä—9‘9˜T“?ˆÜ" 8¨UÓ3ˆŒ
ØˆŒ
ÜˆŒÜ˜UŸ[™[¨%¯,©,¸¿	¹	ÓBˆŒØˆr(   c                ó  — t        |t        «      st        d«      ‚t        j                  | «      }t	        ||«      | _        || _        t        | _        t        |j                  |j                  |j                  «      | _	        | S )zŒ
        In-place outer product of two cyclers (`itertools.product`).

        Parameters
        ----------
        other : Cycler
        z"Cannot *= with a non-Cycler object)
r?   r9   rf   rC   r'   rD   r@   r   rB   rA   r…   s      r&   Ú__imul__zCycler.__imul__j  sd   € ô ˜%¤Ô(ÜÐ@ÓAÐAä—9‘9˜T“?ˆÜ" 8¨UÓ3ˆŒ
ØˆŒ
ÜˆŒÜ˜UŸ[™[¨%¯,©,¸¿	¹	ÓBˆŒØˆr(   c                óÀ   — t        |t        «      syt        | «      t        |«      k7  ry| j                  |j                  z  ryt	        d„ t        | |«      D «       «      S )NFc              3  ó,   K  — | ]  \  }}||k(  –— Œ y ­wr-   rU   )r0   rh   ri   s      r&   r4   z Cycler.__eq__.<locals>.<genexpr>ƒ  s   è ø€ Ò7™d˜a �1˜•6Ñ7ùs   ‚)r?   r9   rm   r   Úallrn   ro   s     r&   Ú__eq__zCycler.__eq__|  sM   € Ü˜%¤Ô(ØÜˆt‹9œ˜E›
Ò"ØØ�9‰9�u—z‘zÒ!ØÜÑ7¤c¨$°Ó&6Ô7Ó7Ð7r(   c                ó2  ‡— t         dt        di}| j                  €7| j                  j	                  «       Št        ˆfd„| D «       «      }d‰›d|›d�S |j                  | j                  d«      }d}|j                  | j                  || j                  ¬	«      S )
Nú+Ú*c              3  ó(   •K  — | ]	  }|‰   –— Œ y ­wr-   rU   ©r0   rF   Úlabs     €r&   r4   z"Cycler.__repr__.<locals>.<genexpr>‹  s   øè ø€ Ò, !�q˜•vÑ,ùó   ƒzcycler(rL   ú)ú?z({left!r} {op} {right!r}))r    rE   r!   )
rn   r   rA   r   ÚpoprW   ÚgetrB   r5   r@   )r<   Úop_maprY   rE   Úmsgr“   s        @r&   Ú__repr__zCycler.__repr__‡  s…   ø€ Ü�sœG SÐ)ˆØ�;‰;ÐØ—)‘)—-‘-“/ˆCÜÓ, tÔ,Ó,ˆCØ˜S˜G 2 c W¨AÐ.Ð.à—‘˜DŸH™H cÓ*ˆBØ-ˆCØ—:‘: 4§:¡:°"¸D¿K¹K�:ÓHÐHr(   c                óÄ   — d}t        | j                  t        ¬«      }|D ]  }|d|›d�z  }Œ t        | «      D ]  }|dz  }|D ]  }|d||   ›d�z  }Œ |dz  }Œ! |d	z  }|S )
Nz<table>)r^   z<th>z</th>z<tr>z<td>z</td>z</tr>z</table>)Úsortedr   Úreprr   )r<   ÚoutputÚsorted_keysr^   Údr1   s         r&   Ú_repr_html_zCycler._repr_html_’  s—   € àˆÜ˜TŸY™Y¬DÔ1ˆØò 	*ˆCØ˜˜S˜G 5Ð)Ñ)‰Fð	*ä�d“ò 	ˆAØ�fÑˆFØ ò /�Ø˜D  1¡ ¨Ð.Ñ.‘ð/à�gÑ‰Fð		ð
 	�*ÑˆØˆr(   c                ó¢   — | j                   }|D �ci c]  }|t        «       “Œ }}| D ]   }|D ]  }||   j                  ||   «       Œ Œ" |S c c}w )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   rW   Úappend)r<   r   r1   rj   r¡   s        r&   r6   zCycler.by_key   sd   € ð* �y‰yˆØ48Ö 9¨q ¤D£F¡Ð 9ˆÐ 9àò 	$ˆAØò $�Ø�A‘—‘˜a ™dÕ#ñ$ð	$ð ˆ
ùò !:s   ‘Ac                ól   — | j                  «       }t        t        d„ |j                  «       D «       «      S )z‡
        Simplify the cycler into a sum (but no products) of cyclers.

        Returns
        -------
        simple : Cycler
        c              3  ó:   K  — | ]  \  }}t        ||«      –— Œ y ­wr-   r.   ©r0   r1   rF   s      r&   r4   z"Cycler.simplify.<locals>.<genexpr>Î  s   è ø€ ÒD©d¨a°œG A qŸMÑDùó   ‚)r6   r   r   ra   )r<   rb   s     r&   ÚsimplifyzCycler.simplifyÀ  s(   € ð —‘“ˆÜ”cÑD°e·k±k³mÔDÓEÐEr(   )NN)r    ú*Cycler[K, V] | Iterable[dict[K, V]] | Noner!   zCycler[K, V] | NonerE   r   )Úreturnúset[K])rP   r   rQ   r   r«   ÚNone©rV   r   rY   úIterable[V]r«   úCycler[K, V])r^   r`   r«   r°   )r«   z!Generator[dict[K, V], None, None])rp   zCycler[L, U]r«   zCycler[K | L, V | U])rp   rx   r«   r°   )r«   rx   )rp   r°   r«   r°   )rp   zCycler[K, V] | intr«   r°   )rp   Úobjectr«   Úbool)r«   Ústr)r«   zdict[K, list[V]])r«   r°   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r=   rG   rI   Úpropertyr   rO   Úclassmethodr[   rc   rk   rq   r   rs   r{   rƒ   r‡   r‰   r�   Ú__hash__r›   r¢   r6   Ú
_transposer©   r7   rU   r(   r&   r9   r9   w   s  „ ñò6ð &*Øð	à8ðð #ðð ó	ò@ð òó ðó"EðH òó ðó0Lóó
ð$ òó ðð òó ðò"ð. òó ðð òó ðòó/óó$ó$8ð €Hó	Ióóð< €JóFð  �Fr(   r9   c                 ó   — y r-   rU   )Úargs    r&   Úcyclerr¾   Ó  ó   € àr(   c                  ó   — y r-   rU   )Úkwargss    r&   r¾   r¾   Ø  r¿   r(   c                 ó   — y r-   rU   )rV   rY   s     r&   r¾   r¾   Ý  r¿   r(   c                 óV  — | r|rt        d«      ‚t        | «      dk(  r,t        | d   t        «      st        d«      ‚t        | d   «      S t        | «      dk(  rt	        | Ž S t        | «      dkD  rt        d«      ‚|r%t        t        d„ |j                  «       D «       «      S t        d«      ‚)	aë  
    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  ó:   K  — | ]  \  }}t        ||«      –— Œ y ­wr-   r.   r§   s      r&   r4   zcycler.<locals>.<genexpr>  s   è ø€ ÒE©d¨a°œG A qŸMÑEùr¨   z4Must have at least a positional OR keyword arguments)rf   rm   r?   r9   r/   r   r   ra   )Ú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                óÔ   ‡— t        |t        «      rB|j                  }t        |«      dk7  rd}t	        |«      ‚|j                  «       Šˆfd„|D «       }t        j                  | |«      S )aD  
    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  ó(   •K  — | ]	  }|‰   –— Œ y ­wr-   rU   r’   s     €r&   r4   z_cycler.<locals>.<genexpr>;  s   øè ø€ Ò#˜!ˆq��vÑ#ùr”   )r?   r9   r   rm   r   r—   r[   )rV   rY   r   rš   r“   s       @r&   r/   r/   "  s\   ø€ ô  �#”vÔØ�x‰xˆÜˆt‹9˜Š>ØFˆCÜ˜S“/Ð!à�h‰h‹jˆó $˜sÔ#ˆä×Ñ˜U CÓ(Ð(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   rC   Ú	functoolsr   Ú	itertoolsr   r	   Úoperatorr
   r   Útypingr   r   r   r   r   r   r   r   r   Ú__version__r   r   r   r   r'   r7   r9   r¾   r/   rU   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(   