<!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>

]h                 @   s  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z y d  d l Z	 d  d l
 Z
 Wn e k
 r d Z	 Yn Xd  d l m Z m Z d Z e  j Z d a d d d d  Z d d   Z d	 d
   Z d d   Z d d   Z d d   Z d d   Z e j d e j  Z d d   Z Gd d   d e  Z Gd d   d e  e  Z! Gd d   d e" e  Z# Gd d   d e$ e  Z% Gd d   d e  Z& Gd  d!   d! e&  Z' e' Z( d" d#   Z) e d d$ d%  Z* d& d'   Z+ d S)(    N)ThreadingTCPServerStreamRequestHandleriF#  Tc          
   C   s   d d  l  } t |  | j  r' |  } n; | j |  } t |  d  rU | j |   n | j |   t |  } t j	   z@ t j
 j   t j d  d   =t | |  } t | | |  Wd  t j   Xd  S)Nr   readline)configparser
isinstanceZRawConfigParserConfigParserhasattrZ	read_fileread_create_formatterslogging_acquireLock	_handlersclear_handlerList_install_handlers_install_loggers_releaseLock)Zfnamedefaultsdisable_existing_loggersr   cp
formattershandlers r   +/opt/alt/python35/lib64/python3.5/config.py
fileConfig8   s    		
r   c             C   s   |  j  d  }  |  j d  } t |  } x] |  D]U } | d | } y t | |  } Wq1 t k
 r t |  t | |  } Yq1 Xq1 W| S)N.r   )splitpop
__import__getattrAttributeError)nameusedfoundnr   r   r   _resolveZ   s    
r%   c             C   s   t  d d   |   S)Nc             S   s
   |  j    S)N)strip)xr   r   r   <lambda>i   s    z_strip_spaces.<locals>.<lambda>)map)Zalistr   r   r   _strip_spacesh   s    r*   c             C   s  |  d d } t  |  s i  S| j d  } t |  } i  } x | D] } d | } |  j | d d d d d  } |  j | d	 d d d d  } |  j | d
 d d d d } t j } |  | j d  }	 |	 r t |	  } | | | |  }
 |
 | | <qF W| S)Nr   keys,zformatter_%sformatrawTfallbackdatefmtstyle%class)lenr   r*   getr   	Formatterr%   )r   flistr   ZformZsectnamefsdfsZstlc
class_namefr   r   r   r
   k   s$    
	r
   c             C   s  |  d d } t  |  s i  S| j d  } t |  } i  } g  } x3| D]+} |  d | } | d } | j d d  } y t | t t   } Wn$ t t f k
 r t	 |  } Yn X| d }	 t |	 t t   }	 | |	   }
 d	 | k r
| d	 } |
 j
 |  t  |  r'|
 j | |  t | t j j  rm| j d
 d  } t  |  rm| j |
 | f  |
 | | <qL Wx% | D] \ }
 } |
 j | |  qW| S)Nr   r+   r,   z
handler_%sr3   	formatter argsleveltarget)r4   r   r*   r5   evalvarsr   r    	NameErrorr%   setLevelsetFormatter
issubclassr   MemoryHandlerappendZ	setTarget)r   r   hlistr   Zfixupshandsectionklassfmtr?   hr@   rA   tr   r   r   r      s>    


r   c             C   sd   t  j } xT |  D]L } | j j | } | | k rS t  j | _ g  | _ d | _ q | | _ q Wd  S)NT)	r   rootmanager
loggerDictNOTSETr@   r   	propagatedisabled)existingchild_loggersdisable_existingrQ   logloggerr   r   r   _handle_existing_loggers   s    		r\   c             C   s  |  d d } | j  d  } t t d d   |   } | j d  |  d } t j } | } d | k r | d } | j |  x( | j d  d   D] } | j |  q W| d	 }	 t	 |	  r |	 j  d  }	 t
 |	  }	 x |	 D] }
 | j | |
  q Wt | j j j    } | j   g  } x| D]} |  d
 | } | d } | j d d d } t j |  } | | k r| j |  d } | d } t	 |  } t	 |  } xE | | k  r| | d  |  | k r| j | |  | d 7} qW| j |  d | k r)| d } | j |  x( | j d  d   D] } | j |  q=W| | _ d | _ | d	 }	 t	 |	  r.|	 j  d  }	 t
 |	  }	 x |	 D] }
 | j | |
  qWq.Wt | | |  d  S)Nloggersr+   r,   c             S   s
   |  j    S)N)r&   )r'   r   r   r   r(      s    z"_install_loggers.<locals>.<lambda>rQ   Zlogger_rootr@   r   z	logger_%squalnamerU   r/      r   r   )r   listr)   remover   rQ   rE   r   removeHandlerr4   r*   
addHandlerrR   rS   r+   sortZgetint	getLoggerindexrI   rU   rV   r\   )r   r   rY   ZllistrL   rQ   rZ   r@   rO   rJ   rK   rW   rX   ZqnrU   r[   iprefixedpflennum_existingr   r   r   r      sd    
	





		
r   z^[a-z_][a-z0-9_]*$c             C   s)   t  j |   } | s% t d |    d S)Nz!Not a valid Python identifier: %rT)
IDENTIFIERmatch
ValueError)smr   r   r   valid_ident  s    rp   c               @   s+   e  Z d  Z d d d  Z d d   Z d S)ConvertingMixinTc             C   s_   |  j  j |  } | | k	 r[ | r. | |  | <t |  t t t f k r[ |  | _ | | _ | S)N)configuratorconverttypeConvertingDictConvertingListConvertingTupleparentkey)selfry   valuereplaceresultr   r   r   convert_with_key  s    
		z ConvertingMixin.convert_with_keyc             C   sF   |  j  j |  } | | k	 rB t |  t t t f k rB |  | _ | S)N)rr   rs   rt   ru   rv   rw   rx   )rz   r{   r}   r   r   r   rs   (  s    	zConvertingMixin.convertN)__name__
__module____qualname__r~   rs   r   r   r   r   rq     s   rq   c               @   s:   e  Z d  Z d d   Z d d d  Z d d d  Z d S)ru   c             C   s"   t  j |  |  } |  j | |  S)N)dict__getitem__r~   )rz   ry   r{   r   r   r   r   =  s    zConvertingDict.__getitem__Nc             C   s%   t  j |  | |  } |  j | |  S)N)r   r5   r~   )rz   ry   defaultr{   r   r   r   r5   A  s    zConvertingDict.getc             C   s+   t  j |  | |  } |  j | | d d S)Nr|   F)r   r   r~   )rz   ry   r   r{   r   r   r   r   E  s    zConvertingDict.pop)r   r   r   r   r5   r   r   r   r   r   ru   :  s   ru   c               @   s+   e  Z d  Z d d   Z d d d  Z d S)rv   c             C   s"   t  j |  |  } |  j | |  S)N)r`   r   r~   )rz   ry   r{   r   r   r   r   K  s    zConvertingList.__getitem__r_   c             C   s   t  j |  |  } |  j |  S)N)r`   r   rs   )rz   idxr{   r   r   r   r   O  s    zConvertingList.popN)r   r   r   r   r   r   r   r   r   rv   I  s   rv   c               @   s   e  Z d  Z d d   Z d S)rw   c             C   s(   t  j |  |  } |  j | | d d S)Nr|   F)tupler   r~   )rz   ry   r{   r   r   r   r   U  s    zConvertingTuple.__getitem__N)r   r   r   r   r   r   r   r   rw   S  s   rw   c               @   s   e  Z d  Z e j d  Z e j d  Z e j d  Z e j d  Z e j d  Z	 d d d d	 i Z
 e e  Z d
 d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d d   Z d S)BaseConfiguratorz%^(?P<prefix>[a-z]+)://(?P<suffix>.*)$z^\s*(\w+)\s*z^\.\s*(\w+)\s*z^\[\s*(\w+)\s*\]\s*z^\d+$extext_convertZcfgcfg_convertc             C   s   t  |  |  _ |  |  j _ d  S)N)ru   configrr   )rz   r   r   r   r   __init__n  s    zBaseConfigurator.__init__c       	      C   s   | j  d  } | j d  } yz |  j |  } x` | D]X } | d | 7} y t | |  } Wq7 t k
 r |  j |  t | |  } Yq7 Xq7 W| SWn] t k
 r t j   d d   \ } } t d | | f  } | | | _	 | _
 |  Yn Xd  S)Nr   r   r_   zCannot resolve %r: %s)r   r   importerr   r    ImportErrorsysexc_inform   	__cause____traceback__)	rz   rn   r!   r"   r#   Zfragetbvr   r   r   resolver  s"    zBaseConfigurator.resolvec             C   s   |  j  |  S)N)r   )rz   r{   r   r   r   r     s    zBaseConfigurator.ext_convertc             C   sY  | } |  j  j |  } | d  k r7 t d |   n| | j   d   } |  j | j   d } x | rT|  j j |  } | r | | j   d } n |  j j |  } | r| j   d } |  j j |  s | | } n9 y t	 |  } | | } Wn t
 k
 r| | } Yn X| r;| | j   d   } qg t d | | f   qg W| S)NzUnable to convert %rr   zUnable to convert %r at %r)WORD_PATTERNrl   rm   endr   groupsDOT_PATTERNINDEX_PATTERNDIGIT_PATTERNint	TypeError)rz   r{   restro   dr   r$   r   r   r   r     s2    	zBaseConfigurator.cfg_convertc             C   s&  t  | t  r7 t  | t  r7 t |  } |  | _ n t  | t  rn t  | t  rn t |  } |  | _ n t  | t  r t  | t  r t |  } |  | _ n} t  | t  r"|  j	 j
 |  } | r"| j   } | d } |  j j | d   } | r"| d } t |  |  } | |  } | S)Nprefixsuffix)r   ru   r   rr   rv   r`   rw   r   strCONVERT_PATTERNrl   	groupdictvalue_convertersr5   r   )rz   r{   ro   r   r   	converterr   r   r   r   rs     s*    

zBaseConfigurator.convertc                s     j  d  } t |  s* |  j |  }   j  d d   } t   f d d     D  } | |   } | r x* | j   D] \ } } t | | |  qz W| S)Nz()r   c                s,   g  |  ]" } t  |  r |   | f  q Sr   )rp   ).0k)r   r   r   
<listcomp>  s   	 z5BaseConfigurator.configure_custom.<locals>.<listcomp>)r   callabler   r   itemssetattr)rz   r   r:   propskwargsr}   r!   r{   r   )r   r   configure_custom  s    z!BaseConfigurator.configure_customc             C   s   t  | t  r t |  } | S)N)r   r`   r   )rz   r{   r   r   r   as_tuple  s    zBaseConfigurator.as_tupleN)r   r   r   recompiler   r   r   r   r   r   staticmethodr   r   r   r   r   r   rs   r   r   r   r   r   r   r   Z  s   "r   c               @   s   e  Z 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 d  Z
 d d d  Z d S)DictConfiguratorc             C   s<  |  j  } d | k r! t d   | d d k rE t d | d   | j d d  } i  } t j   z| r| j d |  } x | D] } | t j k r t d |   q yI t j | } | | } | j d	 d   } | r | j t j |   Wq t	 k
 r7}	 z t d
 | |	 f   WYd  d  }	 ~	 Xq Xq W| j d |  }
 xg |
 D]_ } y |  j
 | |
 | d  WqUt	 k
 r}	 z t d | |	 f   WYd  d  }	 ~	 XqUXqUW| j d d   } | r)y |  j | d  Wq)t	 k
 r}	 z t d |	   WYd  d  }	 ~	 Xq)Xn
| j d d  } t j j   t j d  d   =| j d |  } xg | D]_ } y |  j | |  | | <Wqgt	 k
 r}	 z t d | |	 f   WYd  d  }	 ~	 XqgXqgW| j d |  } xg | D]_ } y |  j | |  | | <Wqt	 k
 rA}	 z t d | |	 f   WYd  d  }	 ~	 XqXqW| j d |  } g  } x t |  D] } y* |  j | |  } | | _ | | | <Wqkt	 k
 r}	 z= d t |	  k r| j |  n t d
 | |	 f   WYd  d  }	 ~	 XqkXqkWxv | D]n } y* |  j | |  } | | _ | | | <Wqt	 k
 rs}	 z t d
 | |	 f   WYd  d  }	 ~	 XqXqWt j } t | j j j    } | j   g  } | j d |  }
 x |
 D] } | | k r^| j |  d } | d } t |  } t |  } xE | | k  rP| | d  |  | k rC| j | |  | d 7} qW| j |  y |  j
 | |
 |  Wqt	 k
 r}	 z t d | |	 f   WYd  d  }	 ~	 XqXqWt | | |  | j d d   } | r)y |  j |  Wn5 t	 k
 r(}	 z t d |	   WYd  d  }	 ~	 Xn XWd  t j   Xd  S)Nversionz$dictionary doesn't specify a versionr_   zUnsupported version: %sincrementalFr   zNo handler found with name %rr@   z"Unable to configure handler %r: %sr]   Tz!Unable to configure logger %r: %srQ   z#Unable to configure root logger: %sr   r   z$Unable to configure formatter %r: %sfiltersz!Unable to configure filter %r: %sztarget not configured yetr   ) r   rm   r   r   r   r5   r   rE   _checkLevel	Exceptionconfigure_loggerconfigure_rootr   r   configure_formatterconfigure_filtersortedconfigure_handlerr!   r   rI   rQ   r`   rR   rS   r+   rd   rf   r4   ra   r\   r   )rz   r   r   
EMPTY_DICTr   r!   handlerZhandler_configr@   r   r]   rQ   rY   r   r   ZdeferredrW   rX   rg   rh   ri   rj   r   r   r   	configure  s    	

'' ''	'	'	

'	!zDictConfigurator.configurec       
      C   s  d | k r | d } y |  j  |  } Wqt k
 r } zF d t |  k rS   | j d  | d <| | d <|  j  |  } WYd  d  } ~ XqXnx | j d d   } | j d d   } | j d d  } | j d d   } | s t j }	 n t |  }	 |	 | | |  } | S)	Nz()z'format'r-   rN   r0   r1   r2   r3   )r   r   r   r   r5   r   r6   r%   )
rz   r   factoryr}   terN   Zdfmtr1   cnamer:   r   r   r   r     s&    

%z$DictConfigurator.configure_formatterc             C   sC   d | k r |  j  |  } n! | j d d  } t j |  } | S)Nz()r!   r>   )r   r5   r   Filter)rz   r   r}   r!   r   r   r   r     s
    z!DictConfigurator.configure_filterc             C   so   xh | D]` } y | j  |  j d |  Wq t k
 rf } z t d | | f   WYd  d  } ~ Xq Xq Wd  S)Nr   zUnable to add filter %r: %s)	addFilterr   r   rm   )rz   Zfiltererr   r<   r   r   r   r   add_filters  s
    zDictConfigurator.add_filtersc          /      sD  t     }   j d d   } | rw y |  j d | } Wn; t k
 rv } z t d | | f   WYd  d  } ~ Xn X  j d d   }   j d d   } d   k r   j d  } t |  s |  j |  } | } nK  j d  }	 |  j |	  }
 t |
 t j	 j
  rd   k ryN |  j d	   d } t | t j  s\  j |  t d
   |   d <Wqt k
 r} z t d   d | f   WYd  d  } ~ XqXns t |
 t j	 j  rd   k r|  j   d    d <n8 t |
 t j	 j  rd   k r|  j   d    d <|
 }   j d d   } t    f d d     D  } y | |   } WnY t k
 r} z9 d t |  k r  | j d  | d <| |   } WYd  d  } ~ Xn X| r| j |  | d  k	 r| j t j |   | r|  j | |  | r@x* | j   D] \ } } t | | |  q W| S)Nr=   r   zUnable to set formatter %r: %sr@   r   z()r3   rA   r   ztarget not configured yetz#Unable to set target handler %r: %sZmailhostaddressr   c                s,   g  |  ]" } t  |  r |   | f  q Sr   )rp   )r   r   )r   r   r   r     s   	 z6DictConfigurator.configure_handler.<locals>.<listcomp>z'stream'streamZstrm)r   r   r   r   rm   r   r   rG   r   r   rH   r   Handlerupdater   ZSMTPHandlerr   ZSysLogHandlerr   rF   rE   r   r   r   r   )rz   r   Zconfig_copyr=   r   r@   r   r:   r   r   rM   thr   r   r}   r   r!   r{   r   )r   r   r     sl    #	*z"DictConfigurator.configure_handlerc             C   so   xh | D]` } y | j  |  j d |  Wq t k
 rf } z t d | | f   WYd  d  } ~ Xq Xq Wd  S)Nr   zUnable to add handler %r: %s)rc   r   r   rm   )rz   r[   r   rO   r   r   r   r   add_handlers  s
    zDictConfigurator.add_handlersFc             C   s   | j  d d   } | d  k	 r4 | j t j |   | s x( | j d  d   D] } | j |  qN W| j  d d   } | r |  j | |  | j  d d   } | r |  j | |  d  S)Nr@   r   r   )r5   rE   r   r   r   rb   r   r   )rz   r[   r   r   r@   rO   r   r   r   r   r   common_logger_config  s    z%DictConfigurator.common_logger_configc             C   sM   t  j |  } |  j | | |  | j d d   } | d  k	 rI | | _ d  S)NrU   )r   re   r   r5   rU   )rz   r!   r   r   r[   rU   r   r   r   r   
  s
    z!DictConfigurator.configure_loggerc             C   s#   t  j   } |  j | | |  d  S)N)r   re   r   )rz   r   r   rQ   r   r   r   r     s    zDictConfigurator.configure_rootN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r     s   	?r   c             C   s   t  |   j   d  S)N)dictConfigClassr   )r   r   r   r   
dictConfig  s    r   c                sp   t  s t d   Gd d   d t  } Gd d   d t  } G  f d d   d t j      | | |  |  S)Nz listen() needs threading to workc               @   s   e  Z d  Z d d   Z d S)z#listen.<locals>.ConfigStreamHandlerc             S   s  ya|  j  } | j d  } t |  d k r`t j d |  d } |  j  j |  } x3 t |  | k  r | | j | t |   } qX W|  j j d  k	 r |  j j |  } | d  k	 rD| j d  } y) d d  l } | j	 |  } t
 |  WnN t k
 rCt j |  } y t |  Wn t k
 r>t j   Yn XYn X|  j j r`|  j j j   Wn7 t k
 r} z | j t k r  WYd  d  } ~ Xn Xd  S)N   z>Lr   zutf-8)
connectionrecvr4   structunpackserververifydecodejsonloadsr   r   ioStringIOr   	traceback	print_excreadysetOSErrorerrnoRESET_ERROR)rz   connchunkZslenr   r   filer   r   r   r   handle;  s6    	!z*listen.<locals>.ConfigStreamHandler.handleN)r   r   r   r   r   r   r   r   ConfigStreamHandler4  s   r   c               @   s=   e  Z d  Z d Z d e d d d d d  Z d d   Z d S)z$listen.<locals>.ConfigSocketReceiverr_   	localhostNc             S   sU   t  j |  | | f |  t j   d |  _ t j   d |  _ | |  _ | |  _ d  S)Nr   r_   )	r   r   r   r   abortr   timeoutr   r   )rz   hostportr   r   r   r   r   r   r   i  s    
	
		z-listen.<locals>.ConfigSocketReceiver.__init__c             S   s   d d  l  } d } xg | s{ | j  |  j j   g g  g  |  j  \ } } } | r[ |  j   t j   |  j } t j   q W|  j j	   d  S)Nr   )
selectsocketfilenor   Zhandle_requestr   r   r   r   close)rz   r   r   Zrdwrexr   r   r   serve_until_stoppeds  s    	

	z8listen.<locals>.ConfigSocketReceiver.serve_until_stopped)r   r   r   Zallow_reuse_addressDEFAULT_LOGGING_CONFIG_PORTr   r   r   r   r   r   ConfigSocketReceiverb  s   	r   c                   s1   e  Z d  Z    f d d   Z d d   Z   S)zlisten.<locals>.Serverc                sJ   t    |   j   | |  _ | |  _ | |  _ | |  _ t j   |  _ d  S)N)	superr   rcvrhdlrr   r   	threadingEventr   )rz   r   r   r   r   )Server	__class__r   r   r     s    				zlisten.<locals>.Server.__init__c          	   S   s   |  j  d |  j d |  j d |  j d |  j  } |  j d k rO | j d |  _ |  j j   t j   | a	 t j
   | j   d  S)Nr   r   r   r   r   r_   )r   r   r   r   r   Zserver_addressr   r   r   	_listenerr   r   )rz   r   r   r   r   run  s    	

zlisten.<locals>.Server.run)r   r   r   r   r  r   )r   )r   r   r     s   r   )threadNotImplementedErrorr   r   r   Thread)r   r   r   r   r   )r   r   listen  s    .r  c            
   C   s5   t  j   z t r" d t _ d  a Wd  t  j   Xd  S)Nr_   )r   r   r  r   r   r   r   r   r   stopListening  s    
	
r  ),r   r   r   Zlogging.handlersr   r   r   r   _threadr  r   r   socketserverr   r   r   Z
ECONNRESETr   r  r   r%   r*   r
   r   r\   r   r   Irk   rp   objectrq   r   ru   r`   rv   r   rw   r   r   r   r   r  r  r   r   r   r   <module>   sH   	"#V!
 9|