3
�
�^F� c @ s> d dl Z d dlmZmZ d dlmZ d dlmZ yd dl m
Z
W n ek
r` d dlm
Z
Y nX dddd d
ddgZ
d
d� Zdd� Zdd� Zdd� Ze� ZG dd� d�ZG dd� de�ZdZG dd� de�ZG dd� ded�ZG dd� dee�Zdd� ZG dd � d e�ZG dd
� d
ee�Zd d!� Zd"d� Z d#d$� Z!d%d&� Z"dS )'� N)�MappingProxyType�DynamicClassAttribute)�reduce)�or_)�OrderedDict�EnumMeta�Enum�IntEnum�Flag�IntFlag�auto�uniquec C s t | d�pt | d�pt | d�S )z5Returns True if obj is a descriptor, False otherwise.Z__get__Z__set__Z
__delete__)�hasattr)Zobj� r �/usr/lib64/python3.6/enum.py�_is_descriptor s
r c C sT | dd� | dd� ko"dkn oR| dd� dkoR| dd � dkoRt | �dkS )
z3Returns True if a __dunder__ name, False otherwise.N� Z__i �_i �����i����r ��len��namer r r �
_is_dunder s (r c C sL | d | d kodkn oJ| dd� dkoJ| dd� dkoJt | �dkS )z1Returns True if a _sunder_ name, False otherwise.r � r r �����r r r r r r r �
_is_sunder$ s r c C s dd� }|| _ d| _dS )z"Make the given class un-picklable.c S s t d| ��d S )Nz%r cannot be pickled)� TypeError��selfZprotor r r �_break_on_call_reduce- � z6_make_class_unpicklable.<locals>._break_on_call_reducez <unknown>N)�
__reduce_ex__�
__module__)�clsr r r r �_make_class_unpicklable+ s r$ c @ s e Zd ZdZeZdS )r zP
Instances are replaced with an appropriate value in Enum class suites.
N)�__name__r"