U e5d+ �@s<ddlZGdd�de�ZGdd�de�ZGdd�de�ZdS)�Nc@s&eZdZdd�Zdd�Zddd�ZdS) �QuittercCs||_||_dS�N��name�eof)�selfrr�r�%/usr/lib64/python3.8/_sitebuiltins.py�__init__szQuitter.__init__cCsd|j|jfS)NzUse %s() or %s to exitr�rrrr �__repr__szQuitter.__repr__NcCs(ztj��Wn YnXt|��dSr)�sys�stdin�close� SystemExit)r�coderrr �__call__s zQuitter.__call__)N)�__name__� __module__� __qualname__r r rrrrr r src@s2eZdZdZd dd�Zdd�Zdd�Zd d �Zd S) �_Printer�rcs4ddl�||_||_d|_��fdd�|D�|_dS)Nrcs$g|]}�D]}�j�||��q qSr)�path�join)�.0�dir�filename��files�osrr � (s�z%_Printer.__init__..)r�_Printer__name�_Printer__data�_Printer__lines�_Printer__filenames)rr�datar�dirsrrr r #s �z_Printer.__init__c Cs~|jr dSd}|jD]B}z(t|d��}|��}W5QRXWqXWqtk rTYqXq|sb|j}|�d�|_t|j�|_dS)N�r� ) r#r$�open�read�OSErrorr"�split�len�_Printer__linecnt)rr%r�fprrr �__setup,s    z_Printer.__setupcCs8|��t|j�|jkr$d�|j�Sd|jfdSdS)Nr(z!Type %s() to see the full %s text�)�_Printer__setupr-r#�MAXLINESrr!r rrr r <s z_Printer.__repr__cCs�|��d}d}z(t|||j�D]}t|j|�q"Wntk rPYq�YqX||j7}d}|dkr~t|�}|dkr`d}q`|dkrq�qdS)Nz0Hit Return for more, or q (and Return) to quit: r)��qr5)r2�ranger3�printr#� IndexError�input)r�prompt�lineno�i�keyrrr rCs   z_Printer.__call__N)rr)rrrr3r r2r rrrrr rs  rc@seZdZdd�Zdd�ZdS)�_HelpercCsdS)NzHType help() for interactive help, or help(object) for help about object.rr rrr r bsz_Helper.__repr__cOsddl}|j||�S)Nr)�pydoc�help)r�args�kwdsr?rrr resz_Helper.__call__N)rrrr rrrrr r>Xs r>)r �objectrrr>rrrr � s;