<!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>
3
2aE                 @   s   d dddgZ ddlZddlZdZdZdZd	d
ddddddddddddddddddddddgZd d!d"d#d$d%d&gZddddd8d9d:d;d<d=d>d?d@dAd-Zd.d Z	d/d0 Z
d1d Zd2d  Zd3d ZG d4d5 d5ZG d6d7 d7eZdS )B	mktime_tz	parsedateparsedate_tzquote    N  z, ZjanZfebZmarZaprZmayZjunZjulZaugsepoctZnovZdecZjanuaryZfebruaryZmarchZaprilZjuneZjulyZaugustZ	septemberZoctoberZnovemberZdecemberZmonZtueZwedZthuZfriZsatZsuni  i,  i  iX  i  i   )ZUTZUTCZGMTZZASTZADTZESTZEDTZCSTZCDTZMSTZMDTZPSTZPDTc             C   s,   t | }|sd S |d d kr$d|d< t|S )N	   r   )_parsedate_tztuple)datares r   //opt/alt/python36/lib64/python3.6/_parseaddr.pyr   -   s    c             C   s  | sd S | j  } | sd S | d jds6| d j tkr>| d= n.| d jd}|dkrl| d |d d  | d< t| dkr| d j d}t|dkr|| dd   } t| dkr
| d }|jd}|dkr|jd}|dkr |d | ||d  g| dd < n
| jd t| d	k rd S | d d	 } | \}}}}}|j }|tkrd||j  }}|tkrdd S tj	|d }|d
kr|d
8 }|d dkr|d d }|jd}|dkr|| }}|d dkr|d d }|d j
 s|| }}|d dkr|d d }|j d}t|dkr.|\}	}
d}n~t|dkrH|\}	}
}ndt|dkrd|d kr|d j d}t|dkr|\}	}
d}nt|dkr|\}	}
}nd S y,t|}t|}t|	}	t|
}
t|}W n tk
r   d S X |dk r|dkr|d7 }n|d7 }d }|j }|tkr6t| }n>yt|}W n tk
rX   Y nX |dkrt|jdrtd }|r|dk rd}| }nd}||d d |d d   }||||	|
|ddd|g
S )Nr   ,      -   +r         :   0.d   D   il  i  i  <   r!   r!   r!   r!   r!   r!   r!   r!   )splitendswithlower	_daynamesrfindlenfindappend_monthnamesindexisdigitint
ValueErrorupper
_timezones
startswith)r   iZstuffsddZmmZyyZtmZtzZthhZtmmZtssZtzoffsetZtzsignr   r   r   r   9   s    



"














r   c             C   s&   t | }t|tr|d d S |S d S )Nr   )r   
isinstancer   )r   tr   r   r   r      s    
c             C   s<   | d d kr"t j| d d d S tj| }|| d  S d S )Nr      r   r!   )r!   )timeZmktimecalendarZtimegm)r   r6   r   r   r   r      s    
c             C   s   | j ddj ddS )N\z\\"z\")replace)strr   r   r   r      s    c               @   sx   e Z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dZ
dd Zdd Zdd ZdddZdd ZdS )AddrlistClassc             C   sZ   d| _ d| _d| _d| _| j| j | _| j | j | j | _| jjdd| _|| _g | _	d S )Nz()<>@,:;."[]r   z 	z
r   r   )
specialsposLWSZCRFWSatomendsr<   
phraseendsfieldcommentlist)selfrE   r   r   r   __init__   s    zAddrlistClass.__init__c             C   s   g }x| j t| jk r| j| j  | jd kr^| j| j  dkrN|j| j| j   |  j d7  _ q| j| j  dkr| jj| j  qP qW tj|S )Nz
r   ()	r@   r'   rE   rA   r)   rF   
getcommentEMPTYSTRINGjoin)rG   Zwslistr   r   r   gotonext   s    zAddrlistClass.gotonextc             C   s>   g }x4| j t| jk r8| j }|r,||7 }q|jd qW |S )Nr   )r   r   )r@   r'   rE   
getaddressr)   )rG   resultZadr   r   r   getaddrlist   s    
zAddrlistClass.getaddrlistc             C   s  g | _ | j  | j}| j }| j }| j  g }| jt| jkr\|rXtj| j |d fg}n\| j| j dkr|| _|| _ | j }tj| j |fg}n"| j| j dkrg }t| j}|  jd7  _x| jt| jk r| j  | j|k o| j| j dkr|  jd7  _P || j	  }qW n| j| j dkrx| j
 }| j rftj|d dj| j  d	 |fg}ntj||fg}n@|rtj| j |d fg}n"| j| j | jkr|  jd7  _| j  | jt| jk r| j| j d
kr|  jd7  _|S )Nr   z.@r   r   ;<z (r   )r   )rF   rM   r@   getphraselistr'   rE   SPACErL   getaddrspecrN   getrouteaddrr?   )rG   ZoldposZoldclplistZ
returnlistZaddrspecZfieldlenZ	routeaddrr   r   r   rN     sL    
&$zAddrlistClass.getaddressc             C   s   | j | j dkrd S d}|  jd7  _| j  d}x| jt| j k r|rV| j  d}n~| j | j dkrx|  jd7  _P n\| j | j dkr|  jd7  _d}n8| j | j dkr|  jd7  _n| j }|  jd7  _P | j  q4W |S )	NrR   Fr   r   >@Tr   )rE   r@   rM   r'   	getdomainrV   )rG   ZexpectrouteZadlistr   r   r   rW   A  s.    zAddrlistClass.getrouteaddrc             C   s\  g }| j   x| jt| jk rd}| j| j dkrj|rL|d j  rL|j  |jd |  jd7  _d}nf| j| j dkr|jdt| j   n>| j| j | j	kr|r|d	 j  r|j  P n|j| j
  | j  }|r|r|j| qW | jt| jks| j| j dkrtj|S |jd |  jd7  _| j   | j }|sNtS tj|| S )
NTr   r   Fr;   z"%s"rZ   r!   r!   )rM   r@   r'   rE   strippopr)   r   getquoterC   getatomrK   rL   r[   )rG   ZaslistZpreserve_wsZwsdomainr   r   r   rV   a  s:    
$

zAddrlistClass.getaddrspecc             C   s   g }x| j t| jk r| j| j  | jkr8|  j d7  _ q| j| j  dkrZ| jj| j  q| j| j  dkrz|j| j  q| j| j  dkr|  j d7  _ |jd q| j| j  dkrtS | j| j  | j	krP q|j| j
  qW tj|S )Nr   rI   [r   rZ   )r@   r'   rE   rA   rF   r)   rJ   getdomainliteralrK   rC   r_   rL   )rG   Zsdlistr   r   r   r[     s"    zAddrlistClass.getdomainTc             C   s   | j | j |krdS dg}d}|  jd7  _x| jt| j k r|rZ|j| j | j  d}np| j | j |kr||  jd7  _P nN|r| j | j dkr|j| j  q.n(| j | j dkrd}n|j| j | j  |  jd7  _q.W tj|S )Nr   Fr   rI   r:   T)rE   r@   r'   r)   rJ   rK   rL   )rG   Z	begincharZendcharsZallowcommentsZslistr   r   r   r   getdelimited  s(    zAddrlistClass.getdelimitedc             C   s   | j dddS )Nr;   z"F)rc   )rG   r   r   r   r^     s    zAddrlistClass.getquotec             C   s   | j dddS )NrI   z)T)rc   )rG   r   r   r   rJ     s    zAddrlistClass.getcommentc             C   s   d| j ddd S )Nz[%s]ra   z]F)rc   )rG   r   r   r   rb     s    zAddrlistClass.getdomainliteralNc             C   sh   dg}|d kr| j }xH| jt| jk r\| j| j |kr:P n|j| j| j  |  jd7  _qW tj|S )Nr   r   )rC   r@   r'   rE   r)   rK   rL   )rG   rC   Zatomlistr   r   r   r_     s    zAddrlistClass.getatomc             C   s   g }x| j t| jk r| j| j  | jkr8|  j d7  _ q| j| j  dkrX|j| j  q| j| j  dkrz| jj| j  q| j| j  | jkrP q|j| j	| j qW |S )Nr   r;   rI   )
r@   r'   rE   rB   r)   r^   rF   rJ   rD   r_   )rG   rX   r   r   r   rT     s    zAddrlistClass.getphraselist)T)N)__name__
__module____qualname__rH   rM   rP   rN   rW   rV   r[   rc   r^   rJ   rb   r_   rT   r   r   r   r   r>      s   
; &
%
r>   c               @   sD   e Z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 )AddressListc             C   s&   t j| | |r| j | _ng | _d S )N)r>   rH   rP   addresslist)rG   rE   r   r   r   rH     s    zAddressList.__init__c             C   s
   t | jS )N)r'   rh   )rG   r   r   r   __len__  s    zAddressList.__len__c             C   sB   t d }| jd d  |_x$|jD ]}|| jkr |jj| q W |S )N)rg   rh   r)   )rG   othernewaddrxr   r   r   __add__  s    
zAddressList.__add__c             C   s*   x$|j D ]}|| j kr| j j| qW | S )N)rh   r)   )rG   rj   rl   r   r   r   __iadd__  s    
zAddressList.__iadd__c             C   s2   t d }x$| jD ]}||jkr|jj| qW |S )N)rg   rh   r)   )rG   rj   rk   rl   r   r   r   __sub__  s
    
zAddressList.__sub__c             C   s*   x$|j D ]}|| j kr| j j| qW | S )N)rh   remove)rG   rj   rl   r   r   r   __isub__  s    
zAddressList.__isub__c             C   s
   | j | S )N)rh   )rG   r+   r   r   r   __getitem__%  s    zAddressList.__getitem__N)
rd   re   rf   rH   ri   rm   rn   ro   rq   rr   r   r   r   r   rg     s   	rg   ipiiipiiiDiiiD)__all__r8   r9   rU   rK   Z
COMMASPACEr*   r%   r0   r   r   r   r   r   r>   rg   r   r   r   r   <module>
   s6   

w	

  /