�
*�Kg93 � �8 � d dl Z d dlZd dlmZmZ d dlmZ d dl m
Z
g d�ZdxZxZ
xZxZZ G d� de� � Z G d� d e� � Zd
� Zd� Zd� Zd
� Zd� Zd� Zd� Zd� Zd� ZdBd�Zd� Z G d� d� � Z e� � Z G d� d� � Z G d� de� � Z! G d� d� � Z" G d� de#� � Z$ G d� d e%� � Z&e&Z' G d!� d"e&�#� � Z G d$� d%e� � Z G d&� d'e(e� � Z) G d(� d)e*e� � Z+d*� Z, G d+� d,e+� � Z-e-\ Z.Z/ZZ0 G d-� d.ee/�/� � Z
G d0� d1e(ee
e0�/� � Z1d2� Z2d3� Z3d4� Z4d5� Z5d6� Z6d7� Z7dCd9�Z8efddd:�d;�Z9 e9e+� � G d<� d=� � � � Z:e:\ Z;Z<Z= G d>� d?� � Z>d@� Z?dBdd/�dA�Z@e)e+e1fZdS )D� N)�MappingProxyType�DynamicClassAttribute)�or_)�reduce)�EnumType�EnumMeta�Enum�IntEnum�StrEnum�Flag�IntFlag�ReprEnum�auto�unique�property�verify�member� nonmember�FlagBoundary�STRICT�CONFORM�EJECT�KEEP�global_flag_repr�global_enum_repr�
global_str�global_enum� EnumCheck�
CONTINUOUS�NAMED_FLAGS�UNIQUEc � � e Zd ZdZd� ZdS )r zK
Protects item from becoming an Enum member during class creation.
c � � || _ d S �N��value��selfr& |