
    0Fie                    b    d dl mZ d dlmZmZ d dlmZ  ed          Z ed          ZddZ	dS )    )annotations)IterableIterator)TypeVarXYxIterable[X]xpfpIterable[Y]leftreturnIterator[Y]c              #     K   t          ||          }d}d|}}| D ]B}|s:|||k    r2|}		 t          |          \  }}n# t          $ r d}Y nw xY w|s|,||k    2|	V  CdS )aV  Forward-fill interpolation

    Parameters
    ----------
    x:
        Output x series. Must be monotonic ascending.
    xp:
        Input x series. Must be strictly monotonic ascending.
    fp:
        Input y series. If it contains more or less elements than xp, the two series
        will be clipped to the shortest one (like in :func:`zip`).
    left:
        Value to yield for x < xp[0]

    Yields
    ------
    Forward-fill interpolated elements from fp matching x

    Examples
    --------
    >>> list(ffill([0.5, 2.2, 2.3, 4.5], [1, 2, 3], "abc", "-"))
    ["-", "b", "b", "c"]
    FNT)zipnextStopIteration)
r	   r   r   r   itxp_donexp1fp1xifp0s
             5lib/python3.11/site-packages/distributed/itertools.pyffillr   
   s      0 
RBGTC   	s{bCiiC88SS    	  	s{bCii 				 s   =AAN)
r	   r
   r   r
   r   r   r   r   r   r   )

__future__r   collections.abcr   r   typingr   r   r   r        r   <module>r"      sy    " " " " " " . . . . . . . .      GCLLGCLL" " " " " "r!   