
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,a4  ã                   @   sZ   d dl mZ d dlmZ dgZG dd„ dƒZedd„ ƒZG dd„ dƒZd d	lm	Z	m
Z
 d
S )é    )Úref)ÚcontextmanagerÚlocalc                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	Ú
_localimpl)ÚkeyÚdictsÚ	localargsÚ	locallockÚ__weakref__c                 C   s   dt t| ƒƒ | _i | _d S )Nz_threading_local._localimpl.)ÚstrÚidr   r   )Úself© r   ú5/opt/alt/python38/lib64/python3.8/_threading_local.pyÚ__init__–   s    z_localimpl.__init__c                 C   s   t ƒ }| jt|ƒ d S )Né   )Úcurrent_threadr   r   )r   Úthreadr   r   r   Úget_dictž   s    z_localimpl.get_dictc                    sh   i }| j }tƒ }t|ƒ}|f‡fdd„	}|f‡ fdd„	}t| |ƒ‰ t||ƒ‰ˆ |j|< ˆ|f| j|< |S )Nc                    s   ˆ ƒ }|d k	r|j |= d S ©N)Ú__dict__)Ú_r   r   )Úwrthreadr   r   Úlocal_deletedª   s    z-_localimpl.create_dict.<locals>.local_deletedc                    s   ˆ ƒ }|d k	r|j  |¡}d S r   )r   Úpop)r   Úidtr   Údct)Úwrlocalr   r   Úthread_deleted¯   s    z._localimpl.create_dict.<locals>.thread_deleted)r   r   r   r   r   r   )r   Z	localdictr   r   r   r   r   r   )r   r   r   Úcreate_dict¤   s    


z_localimpl.create_dictN)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   r   r   r   r   r   r   r   ’   s   r   c              	   c   sv   t  | d¡}z| ¡ }W n2 tk
rJ   | ¡ }|j\}}| j||Ž Y nX |j� t  | d|¡ d V  W 5 Q R X d S )NÚ_local__implr   )	ÚobjectÚ__getattribute__r   ÚKeyErrorr   r   r   r	   Ú__setattr__)r   Úimplr   ÚargsÚkwr   r   r   Ú_patch¾   s    
r,   c                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )r   )r$   r   c                O   sX   |s|r| j tj krtdƒ‚t | ¡}tƒ }||f|_tƒ |_t |d|¡ | 	¡  |S )Nz*Initialization arguments are not supportedr$   )
r   r%   Ú	TypeErrorÚ__new__r   r   ÚRLockr	   r(   r   )Úclsr*   r+   r   r)   r   r   r   r.   Ï   s    

zlocal.__new__c              
   C   s,   t | ƒ� t | |¡W  5 Q R £ S Q R X d S r   )r,   r%   r&   ©r   Únamer   r   r   r&   Ý   s    
zlocal.__getattribute__c              
   C   sF   |dkrt d| jj ƒ‚t| ƒ� t | ||¡W  5 Q R £ S Q R X d S ©Nr   z+%r object attribute '__dict__' is read-only)ÚAttributeErrorÚ	__class__r    r,   r%   r(   )r   r2   Úvaluer   r   r   r(   á   s    ÿÿ
zlocal.__setattr__c              
   C   sD   |dkrt d| jj ƒ‚t| ƒ� t | |¡W  5 Q R £ S Q R X d S r3   )r4   r5   r    r,   r%   Ú__delattr__r1   r   r   r   r7   é   s    ÿÿ
zlocal.__delattr__N)r    r!   r"   r#   r.   r&   r(   r7   r   r   r   r   r   Ì   s
   )r   r/   N)Úweakrefr   Ú
contextlibr   Ú__all__r   r,   r   Z	threadingr   r/   r   r   r   r   Ú<module>ƒ   s   ,
&