<!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>
ž
¨ÿf%  c               @   s  d  d d d g 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 m Z d d l	 m
 Z
 m Z m Z d d l	 m Z m Z e j d	 k pÆ e e d
 ƒ oÆ e e d ƒ sØ e d ƒ ‚ n  e j d	 k re  d g 7Z  d d l Z d d „  Z d d „  Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z d d  „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z nm e j d k Z d d „  Z d d „  Z Gd  d! „  d! e ƒ Z d" d  „  Z d# d „  Z d$ d „  Z d% d „  Z Gd& d' „  d' e ƒ Z  e  ƒ  Z! d S((   u   reduce_socketu   reduce_connectionu   send_handleu   recv_handlei    N(   u   current_process(   u   register_after_forku   debugu	   sub_debug(   u
   is_exitingu   sub_warningu   win32u   CMSG_LENu
   SCM_RIGHTSu%   pickling of connections not supportedu   reduce_pipe_connectionc             C   s&   t  | t j | ƒ } |  j | ƒ d  S(   N(   u	   DupHandleu   _winapiu   DUPLICATE_SAME_ACCESSu   send(   u   connu   handleu   destination_pidu   dh(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   send_handle*   s    c             C   s   |  j  ƒ  j ƒ  S(   N(   u   recvu   detach(   u   conn(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   recv_handle.   s    c             B   s/   |  Ee  Z d  Z d d d „ Z d d „  Z d S(   u	   DupHandlec             C   s…   | d  k r t j ƒ  } n  t j t j d | ƒ } z+ t j t j ƒ  | | | d d ƒ |  _	 Wd  t j
 | ƒ X| |  _ | |  _ d  S(   Ni    F(   u   Noneu   osu   getpidu   _winapiu   OpenProcessu   PROCESS_DUP_HANDLEu   Falseu   DuplicateHandleu   GetCurrentProcessu   _handleu   CloseHandleu   _accessu   _pid(   u   selfu   handleu   accessu   pidu   proc(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   __init__2   s    		u   DupHandle.__init__c             C   s{   |  j  t j ƒ  k r |  j St j t j d |  j  ƒ } z/ t j | |  j t j	 ƒ  |  j
 d t j ƒ SWd  t j | ƒ Xd  S(   NF(   u   _pidu   osu   getpidu   _handleu   _winapiu   OpenProcessu   PROCESS_DUP_HANDLEu   Falseu   DuplicateHandleu   GetCurrentProcessu   _accessu   DUPLICATE_CLOSE_SOURCEu   CloseHandle(   u   selfu   proc(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   detach@   s    u   DupHandle.detachN(   u   __name__u
   __module__u   __qualname__u   Noneu   __init__u   detach(   u
   __locals__(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu	   DupHandle1   s   u	   DupHandlec             B   s,   |  Ee  Z d  Z d d „  Z d d „  Z d S(   u	   DupSocketc                s:   | j  ƒ  ‰  ‡  f d d †  } t j | ˆ  j ƒ |  _ d  S(   Nc                s    ˆ  j  | ƒ } |  j | ƒ d  S(   N(   u   shareu
   send_bytes(   u   connu   pidu   share(   u   new_sock(    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   sendP   s    u    DupSocket.__init__.<locals>.send(   u   dupu   resource_shareru   registeru   closeu   _id(   u   selfu   socku   send(    (   u   new_socku>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   __init__N   s    u   DupSocket.__init__c          
   C   sA   t  j |  j ƒ } z | j ƒ  } t j | ƒ SWd  | j ƒ  Xd  S(   N(   u   resource_shareru   get_connectionu   _idu
   recv_bytesu   socketu	   fromshareu   close(   u   selfu   connu   share(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   detachU   s
    u   DupSocket.detachN(   u   __name__u
   __module__u   __qualname__u   __init__u   detach(   u
   __locals__(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu	   DupSocketM   s   u	   DupSocketc             C   s   t  t |  ƒ f f S(   N(   u   rebuild_socketu	   DupSocket(   u   s(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_socket]   s    c             C   s
   |  j  ƒ  S(   N(   u   detach(   u   ds(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_socket`   s    u   rebuild_socketc             C   sY   |  j  ƒ  } t j | t j t j ƒ , } t | ƒ } t | |  j |  j f f SWd  QXd  S(   N(	   u   filenou   socketu   fromfdu   AF_INETu   SOCK_STREAMu	   DupSocketu   rebuild_connectionu   readableu   writable(   u   connu   handleu   su   ds(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_connectionc   s    c             C   s2   d d l  m } |  j ƒ  } | | j ƒ  | | ƒ S(   Ni   (   u
   Connection(   u
   connectionu
   Connectionu   detach(   u   dsu   readableu   writableu
   Connectionu   sock(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_connectioni   s    u   rebuild_connectionc             C   s\   |  j  r t j n d |  j r' t j n d B} t |  j ƒ  | ƒ } t | |  j  |  j f f S(   Ni    (   u   readableu   _winapiu   FILE_GENERIC_READu   writableu   FILE_GENERIC_WRITEu	   DupHandleu   filenou   rebuild_pipe_connection(   u   connu   accessu   dh(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_pipe_connectionn   s    c             C   s,   d d l  m } |  j ƒ  } | | | | ƒ S(   Ni   (   u   PipeConnection(   u
   connectionu   PipeConnectionu   detach(   u   dhu   readableu   writableu   PipeConnectionu   handle(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_pipe_connectiont   s    u   rebuild_pipe_connectionu   darwinc             C   s†   t  j |  j ƒ  t  j t  j ƒ 8 } | j d g t  j t  j t j	 d | ƒ f g ƒ Wd  QXt
 r‚ |  j ƒ  d k r‚ t d ƒ ‚ n  d  S(   Ns   xu   @is   ACKu%   did not receive acknowledgement of fd(   u   socketu   fromfdu   filenou   AF_UNIXu   SOCK_STREAMu   sendmsgu
   SOL_SOCKETu
   SCM_RIGHTSu   structu   packu   ACKNOWLEDGEu
   recv_bytesu   RuntimeError(   u   connu   handleu   destination_pidu   s(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   send_handle   s
    $c       
      C   sú   t  j d ƒ } t j |  j ƒ  t j t j ƒ Ä } | j d t j | ƒ ƒ \ } } } } yi t	 rs |  j
 d ƒ n  | d \ } } }	 | t j k rÂ | t j k rÂ t  j d |	 d  | … ƒ d SWn t t t  j f k
 rã Yn Xt d ƒ ‚ Wd  QXd  S(   Nu   @ii   s   ACKi    u   Invalid data received(   u   structu   calcsizeu   socketu   fromfdu   filenou   AF_UNIXu   SOCK_STREAMu   recvmsgu   CMSG_LENu   ACKNOWLEDGEu
   send_bytesu
   SOL_SOCKETu
   SCM_RIGHTSu   unpacku
   ValueErroru
   IndexErroru   erroru   RuntimeError(
   u   connu   sizeu   su   msgu   ancdatau   flagsu   addru
   cmsg_levelu	   cmsg_typeu	   cmsg_data(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   recv_handle†   s    $'"c             B   s,   |  Ee  Z d  Z d d „  Z d d „  Z d S(   u   DupFdc                sL   t  j | ƒ ‰  ‡  f d d †  } ‡  f d d †  } t j | | ƒ |  _ d  S(   Nc                s   t  |  ˆ  | ƒ d  S(   N(   u   send_handle(   u   connu   pid(   u   new_fd(    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   send˜   s    u   DupFd.__init__.<locals>.sendc                  s   t  j ˆ  ƒ d  S(   N(   u   osu   close(    (   u   new_fd(    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   closeš   s    u   DupFd.__init__.<locals>.close(   u   osu   dupu   resource_shareru   registeru   _id(   u   selfu   fdu   sendu   close(    (   u   new_fdu>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   __init__–   s    u   DupFd.__init__c          
   C   s2   t  j |  j ƒ } z t | ƒ SWd  | j ƒ  Xd  S(   N(   u   resource_shareru   get_connectionu   _idu   recv_handleu   close(   u   selfu   conn(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   detachž   s    u   DupFd.detachN(   u   __name__u
   __module__u   __qualname__u   __init__u   detach(   u
   __locals__(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   DupFd•   s   u   DupFdc             C   s1   t  |  j ƒ  ƒ } t | |  j |  j |  j f f S(   N(   u   DupFdu   filenou   rebuild_socketu   familyu   typeu   proto(   u   su   df(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_socket¥   s    c             C   s5   |  j  ƒ  } t j | | | | ƒ } t j | ƒ | S(   N(   u   detachu   socketu   fromfdu   osu   close(   u   dfu   familyu   typeu   protou   fdu   s(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_socket©   s    c             C   s+   t  |  j ƒ  ƒ } t | |  j |  j f f S(   N(   u   DupFdu   filenou   rebuild_connectionu   readableu   writable(   u   connu   df(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   reduce_connection¯   s    c             C   s,   d d l  m } |  j ƒ  } | | | | ƒ S(   Ni   (   u
   Connection(   u
   connectionu
   Connectionu   detach(   u   dfu   readableu   writableu
   Connectionu   fd(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   rebuild_connection³   s    c             B   sq   |  Ee  Z d  Z d d „  Z d d „  Z e d d „  ƒ Z d d d „ Z d	 d
 „  Z	 d d „  Z
 d d „  Z d S(   u   ResourceSharerc             C   sY   d |  _  i  |  _ g  |  _ t j ƒ  |  _ d  |  _ d  |  _ d  |  _	 t
 |  t j ƒ d  S(   Ni    (   u   _keyu   _cacheu
   _old_locksu	   threadingu   Locku   _locku   Noneu	   _listeneru   _addressu   _threadu   register_after_forku   ResourceShareru
   _afterfork(   u   self(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   __init__½   s    						u   ResourceSharer.__init__c          
   C   se   |  j  V |  j d  k r& |  j ƒ  n  |  j d 7_ | | f |  j |  j <|  j |  j f SWd  QXd  S(   Ni   (   u   _locku   _addressu   Noneu   _startu   _keyu   _cache(   u   selfu   sendu   close(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   registerÇ   s    
u   ResourceSharer.registerc             C   sQ   d d l  m } |  \ } } | | d t ƒ  j ƒ} | j | t j ƒ  f ƒ | S(   Ni   (   u   Clientu   authkey(   u
   connectionu   Clientu   current_processu   authkeyu   sendu   osu   getpid(   u   identu   Clientu   addressu   keyu   c(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   get_connectionÏ   s
    u   ResourceSharer.get_connectionc             C   sö   d d l  m } |  j × |  j d  k	 rì | |  j d t ƒ  j ƒ} | j d  ƒ | j ƒ  |  j	 j
 | ƒ |  j	 j ƒ  r‡ t d ƒ n  |  j j ƒ  d  |  _	 d  |  _ d  |  _ x* |  j j ƒ  D] \ } \ } } | ƒ  q¿ W|  j j ƒ  n  Wd  QXd  S(   Ni   (   u   Clientu   authkeyu-   ResourceSharer thread did not stop when asked(   u
   connectionu   Clientu   _locku   _addressu   Noneu   current_processu   authkeyu   sendu   closeu   _threadu   joinu   is_aliveu   sub_warnu	   _listeneru   _cacheu   itemsu   clear(   u   selfu   timeoutu   Clientu   cu   keyu   sendu   close(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   stop×   s     

			"u   ResourceSharer.stopc             C   sš   x* |  j  j ƒ  D] \ } \ } } | ƒ  q W|  j  j ƒ  |  j j |  j ƒ t j ƒ  |  _ |  j d  k	 r{ |  j j
 ƒ  n  d  |  _ d  |  _ d  |  _ d  S(   N(   u   _cacheu   itemsu   clearu
   _old_locksu   appendu   _locku	   threadingu   Locku	   _listeneru   Noneu   closeu   _addressu   _thread(   u   selfu   keyu   sendu   close(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu
   _afterforké   s    "		u   ResourceSharer._afterforkc             C   s‹   d d l  m } |  j d  k s% t ‚ t d ƒ | d t ƒ  j ƒ |  _ |  j j |  _	 t
 j d |  j ƒ } d | _ | j ƒ  | |  _ d  S(   Ni   (   u   Listeneru0   starting listener and thread for sending handlesu   authkeyu   targetT(   u
   connectionu   Listeneru	   _listeneru   Noneu   AssertionErroru   debugu   current_processu   authkeyu   addressu   _addressu	   threadingu   Threadu   _serveu   Trueu   daemonu   startu   _thread(   u   selfu   Listeneru   t(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   _start÷   s    
	
u   ResourceSharer._startc          
   C   s÷   t  t d ƒ r1 t j t j t d t j ƒ ƒ n  x¿ yq |  j j ƒ  } | j ƒ  } | d  k rb Pn  | \ } } |  j
 j | ƒ \ } } | | | ƒ | ƒ  | j ƒ  Wq4 t ƒ  së d d  l } t d d d d | j ƒ  d d ƒ n  Yq4 Xq4 d  S(   Nu   pthread_sigmaski   i    u.   thread for sharing handles raised exception :
u   -iO   u   
(   u   hasattru   signalu   pthread_sigmasku	   SIG_BLOCKu   rangeu   NSIGu	   _listeneru   acceptu   recvu   Noneu   _cacheu   popu   closeu
   is_exitingu	   tracebacku   sub_warningu
   format_exc(   u   selfu   connu   msgu   keyu   destination_pidu   sendu   closeu	   traceback(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   _serve  s$    "	u   ResourceSharer._serveN(   u   __name__u
   __module__u   __qualname__u   __init__u   registeru   staticmethodu   get_connectionu   Noneu   stopu
   _afterforku   _startu   _serve(   u
   __locals__(    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   ResourceSharer¼   s   
u   ResourceSharer("   u   __all__u   osu   sysu   socketu	   threadingu   structu   signalu   multiprocessingu   current_processu   multiprocessing.utilu   register_after_forku   debugu	   sub_debugu
   is_exitingu   sub_warningu   platformu   hasattru   ImportErroru   _winapiu   send_handleu   recv_handleu   objectu	   DupHandleu	   DupSocketu   reduce_socketu   rebuild_socketu   reduce_connectionu   rebuild_connectionu   reduce_pipe_connectionu   rebuild_pipe_connectionu   ACKNOWLEDGEu   DupFdu   ResourceShareru   resource_sharer(    (    (    u>   /opt/alt/python33/lib64/python3.3/multiprocessing/reduction.pyu   <module>   sF   		\