<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
a
    €™Reå	  ã                   @   s    d dl mZ G dd„ deƒZdS )é    )ÚBytesIOc                   @   sB   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zddd„Zdd„ Z	d
S )ÚCallbackFileWrapperav  
    Small wrapper around a fp object which will tee everything read into a
    buffer, and when that file is closed it will execute a callback with the
    contents of that buffer.

    All attributes are proxied to the underlying file object.

    This class uses members with a double underscore (__) leading prefix so as
    not to accidentally shadow an attribute.
    c                 C   s   t ƒ | _|| _|| _d S ©N)r   Ú_CallbackFileWrapper__bufÚ_CallbackFileWrapper__fpÚ_CallbackFileWrapper__callback)ÚselfÚfpÚcallback© r   ú“/builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.pyÚ__init__   s    zCallbackFileWrapper.__init__c                 C   s   |   d¡}t||ƒS )Nr   )Ú__getattribute__Úgetattr)r   Únamer	   r   r   r   Ú__getattr__   s    	
zCallbackFileWrapper.__getattr__c                 C   sD   z| j jd u W S  ty    Y n0 z
| j jW S  ty>   Y n0 dS )NF)r   r	   ÚAttributeErrorÚclosed©r   r   r   r   Ú__is_fp_closed!   s    
z"CallbackFileWrapper.__is_fp_closedc                 C   s    | j r|   | j ¡ ¡ d | _ d S r   )r   r   Úgetvaluer   r   r   r   Ú_close2   s    zCallbackFileWrapper._closeNc                 C   s,   | j  |¡}| j |¡ |  ¡ r(|  ¡  |S r   )r   Úreadr   ÚwriteÚ"_CallbackFileWrapper__is_fp_closedr   ©r   ÚamtÚdatar   r   r   r   =   s
    zCallbackFileWrapper.readc                 C   s@   | j  |¡}|dkr |dkr |S | j |¡ |  ¡ r<|  ¡  |S )Né   s   
)r   Ú
_safe_readr   r   r   r   r   r   r   r   r   E   s    zCallbackFileWrapper._safe_read)N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r   r   r      s   
r   N)Úior   Úobjectr   r   r   r   r   Ú<module>   s   