
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,au9  ã                   @   s¼   d dl Z d dlZdddddddd	d
dddgZdad!dddœdd„Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dd	„ Zdd
„ ZG dd„ dƒZdd„ Zd"dd„Zdd„ Zed kr¸eƒ  dS )#é    NÚinputÚcloseÚnextfileÚfilenameÚlinenoÚ
filelinenoÚfilenoÚisfirstlineÚisstdinÚ	FileInputÚhook_compressedÚhook_encodedFÚ Úr©ÚmodeÚopenhookc                C   s(   t rt jrtdƒ‚t| ||||d�a t S )Nzinput() already activer   )Ú_stateÚ_fileÚRuntimeErrorr   )ÚfilesÚinplaceÚbackupr   r   © r   ú./opt/alt/python38/lib64/python3.8/fileinput.pyr   S   s    
c                  C   s   t } d a | r|  ¡  d S ©N)r   r   )Ústater   r   r   r   `   s    c                   C   s   t stdƒ‚t  ¡ S ©Nzno active input())r   r   r   r   r   r   r   r   h   s    
c                   C   s   t stdƒ‚t  ¡ S r   )r   r   r   r   r   r   r   r   v   s    c                   C   s   t stdƒ‚t  ¡ S r   )r   r   r   r   r   r   r   r      s    c                   C   s   t stdƒ‚t  ¡ S r   )r   r   r   r   r   r   r   r   ‰   s    c                   C   s   t stdƒ‚t  ¡ S r   )r   r   r   r   r   r   r   r   “   s    c                   C   s   t stdƒ‚t  ¡ S r   )r   r   r	   r   r   r   r   r	   œ   s    c                   C   s   t stdƒ‚t  ¡ S r   )r   r   r
   r   r   r   r   r
   ¥   s    c                   @   sž   e Zd Zd(dddœdd„Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zd d!„ Zd"d#„ Zd$d%„ Zd&d'„ ZdS ))r   NFr   r   r   c                C   s  t |tƒr|f}nBt |tjƒr,t |¡f}n(|d krBtjdd … }|sLd}nt|ƒ}|| _|| _	|| _
d | _d | _d | _d| _d| _d | _d| _d | _|dkr¦tdƒ‚d|krÄdd l}| dtd	¡ || _d|krÞ| d
d¡nd| _|�r|rötdƒ‚t|ƒ�stdƒ‚|| _d S )Né   )ú-r   F)r   ZrUÚUÚrbz=FileInput opening mode must be one of 'r', 'rU', 'U' and 'rb'r    z'U' mode is deprecatedé   r   Úwz4FileInput cannot use an opening hook in inplace modez#FileInput openhook must be callable)Ú
isinstanceÚstrÚosÚPathLikeÚfspathÚsysÚargvÚtupleÚ_filesÚ_inplaceÚ_backupÚ_savestdoutÚ_outputÚ	_filenameÚ_startlinenoÚ_filelinenor   Ú_isstdinÚ_backupfilenameÚ
ValueErrorÚwarningsÚwarnÚDeprecationWarningÚ_modeÚreplaceÚ_write_modeÚcallableÚ	_openhook)Úselfr   r   r   r   r   r7   r   r   r   Ú__init__»   sH    
 ÿ
zFileInput.__init__c                 C   s   |   ¡  d S r   ©r   ©r?   r   r   r   Ú__del__ä   s    zFileInput.__del__c                 C   s   z|  ¡  W 5 d| _ X d S )Nr   )r,   r   rB   r   r   r   r   ç   s    zFileInput.closec                 C   s   | S r   r   rB   r   r   r   Ú	__enter__í   s    zFileInput.__enter__c                 C   s   |   ¡  d S r   rA   )r?   ÚtypeÚvalueÚ	tracebackr   r   r   Ú__exit__ð   s    zFileInput.__exit__c                 C   s   | S r   r   rB   r   r   r   Ú__iter__ó   s    zFileInput.__iter__c                 C   s6   |   ¡ }|r|  jd7  _|S | js(t‚|  ¡  q d S ©Nr   )Ú	_readliner3   r   ÚStopIterationr   ©r?   Úliner   r   r   Ú__next__ö   s    zFileInput.__next__c                 C   sX   dd l }|jdtdd� ||  ¡ kr,tdƒ‚z
|  ¡ W S  tk
rR   tdƒ‚Y nX d S )Nr   zTSupport for indexing FileInput objects is deprecated. Use iterator protocol instead.r"   )Ú
stacklevelzaccessing lines out of orderzend of input reached)r7   r8   r9   r   r   rO   rL   Ú
IndexError)r?   Úir7   r   r   r   Ú__getitem__  s    ü
zFileInput.__getitem__c                 C   s¾   | j }d | _ |r|t_| j}d | _z|r0| ¡  W 5 | j}d | _z| `W n tk
r\   Y nX z|rr| jsr| ¡  W 5 | j}d | _|r°| js°zt	 
|¡ W n tk
r®   Y nX d| _X X d S )NF)r/   r)   Ústdoutr0   r   rK   ÚAttributeErrorr5   r.   r&   ÚunlinkÚOSErrorr4   r   )r?   Z
savestdoutÚoutputÚfileZbackupfilenamer   r   r   r     s4    

  zFileInput.nextfilec                 C   s6   |   ¡ }|r|  jd7  _|S | js(|S |  ¡  q d S rJ   )rK   r3   r   r   rM   r   r   r   Úreadline.  s    zFileInput.readlinec                 C   sü  | j sd| jkrdS dS | j d | _| j dd … | _ |  ¡ | _d| _d | _d| _d| _| jdkr–d| _d| jkr„t	t
jd	t
jƒ| _nt
j| _d
| _�nT| j�r¾t | j¡| jp°d | _zt | j¡ W n tk
rÚ   Y nX t | j| j¡ t| j| jƒ| _zt | j ¡ ¡j}W n& tk
�r8   t| j| jƒ| _Y ntX tjtjB tjB }ttdƒ�rb|tjO }t | j||¡}t || j¡| _zt | j|¡ W n tk
�rª   Y nX t
j | _!| jt
_ n,| j"�rÚ|  "| j| j¡| _nt| j| jƒ| _| jj#| _$|  $¡ S )NÚbó    r   r   r   Fr   z<stdin>ÚbufferTz.bakÚO_BINARY)%r,   r:   r1   r   r2   r3   r   r4   r5   Úgetattrr)   Ústdinr-   r&   r(   r.   rV   rW   ÚrenameÚopenÚfstatr   Úst_moder<   r0   ÚO_CREATÚO_WRONLYÚO_TRUNCÚhasattrr^   ÚfdopenÚchmodrT   r/   r>   rZ   rK   )r?   Zpermr   Úfdr   r   r   rK   9  s\    




ÿ


zFileInput._readlinec                 C   s   | j S r   )r1   rB   r   r   r   r   r  s    zFileInput.filenamec                 C   s   | j | j S r   )r2   r3   rB   r   r   r   r   u  s    zFileInput.linenoc                 C   s   | j S r   ©r3   rB   r   r   r   r   x  s    zFileInput.filelinenoc                 C   s4   | j r,z| j  ¡ W S  tk
r(   Y dS X ndS d S )Néÿÿÿÿ)r   r   r6   rB   r   r   r   r   {  s    
zFileInput.filenoc                 C   s
   | j dkS rJ   rl   rB   r   r   r   r	   „  s    zFileInput.isfirstlinec                 C   s   | j S r   )r4   rB   r   r   r   r
   ‡  s    zFileInput.isstdin)NFr   )Ú__name__Ú
__module__Ú__qualname__r@   rC   r   rD   rH   rI   rO   rS   r   rZ   rK   r   r   r   r   r	   r
   r   r   r   r   r   ®   s(    ÿ)9	c                 C   sV   t j | ¡d }|dkr,dd l}| | |¡S |dkrHdd l}| | |¡S t| |ƒS d S )Nr   z.gzr   z.bz2)r&   ÚpathÚsplitextÚgziprb   Úbz2ZBZ2File)r   r   Zextrs   rt   r   r   r   r   ‹  s    c                    s   ‡ ‡fdd„}|S )Nc                    s   t | |ˆ ˆd�S )N©ÚencodingÚerrors)rb   )r   r   ru   r   r   r   ˜  s    zhook_encoded.<locals>.openhookr   )rv   rw   r   r   ru   r   r   —  s    c                  C   sÞ   dd l } d}d}|   tjdd … d¡\}}|D ] \}}|dkrBd}|dkr.|}q.t|||d�D ]b}|d	d … d
kr~|d d	… }|d	d … dkrš|d d	… }tdtƒ tƒ tƒ tƒ r´dp¶d|f ƒ q^tdtƒ tƒ tƒ f ƒ d S )Nr   Fr   zib:z-iTz-b)r   r   rm   Ú
úz%d: %s[%d]%s %sÚ*r   z
%d: %s[%d])	Úgetoptr)   r*   r   Úprintr   r   r   r	   )r{   r   r   ZoptsÚargsÚoÚarN   r   r   r   Ú_test�  s&         ÿ
r€   Ú__main__)NFr   )N)r)   r&   Ú__all__r   r   r   r   r   r   r   r   r	   r
   r   r   r   r€   rn   r   r   r   r   Ú<module>K   s2       þ	

			 ^
