
                             S SK r S SKJr  S SKJr  S SKJr  S SKJr   " S S\ R                  5      r	 " S S	\ R                  \	S
9r " S S5      rg)    N)descriptor_pb2)
_file_info)_package_info)EnumRulec                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )ProtoEnumMeta   z8A metaclass for building and registering protobuf enums.c                 $  >^ US   [         R                  :X  a  [        TU ]  XUT5      $ [        R
                  " UT5      u  pE[        TR                  SU5      R                  S5      5      nSU;   a!  UR                  S5      nUS US-
   XgS-   S  -   nSR                  U4U-   5      R                  S5      n[        R                  R                  TR                  SUR                  5       5      5      n	Sn
TR!                  U
0 5      nU
TR"                  ;   ac  [%        TR"                  [&        5      (       a7  TR"                  R                  U
5      nTR"                  R!                  U5        OTR"                  U
	 [(        R*                  " U[-        U4S jTR/                  5        5       S	 S
9US9n[        R                  R1                  X5      n[3        U5      S:X  a4  UR4                  R6                  R9                  5       R;                  U5        OXR<                  U'   [        TU ]  XUT5      n[?        US S9Ul         XRB                  U'   URE                  U[G        U5      5        URI                  US9(       a  URK                  XS9  U$ )Nr   __qualname__.z<locals>   
__module___pb_optionsc              3      >#    U  HD  u  pUTR                   ;   d  M  [        U[        5      (       d  M.  [        R                  " XS 9v   MF     g7f))namenumberN)_member_names
isinstanceintr   EnumValueDescriptorProto).0r   r   attrss      lib/third_party/proto/enums.py	<genexpr>(ProtoEnumMeta.__new__.<locals>.<genexpr>I   sM      
 )6u222 V
 8B&#7N VN;;U )6s   AAAc                     U R                   $ N)r   )vs    r   <lambda>'ProtoEnumMeta.__new__.<locals>.<lambda>Q   s    ahh    )key)r   valueoptions	full_namepb)	new_class)r(   fallback_salt)&enumIntEnumsuper__new__r   compiletuplegetsplitindexjoinlstripr   	_FileInfoproto_file_namelowerpopr   r   listr   EnumDescriptorProtosorteditemsmaybe_add_descriptorlen
descriptor	enum_typeadd	MergeFromnested_enum	_EnumInfo_metaenumsregisterr   readygenerate_file_pb)mclsr   basesr   packagemarshal
local_pathixr&   filename
pb_optionsoptsidx	enum_desc	file_infocls	__class__s      `            r   r-   ProtoEnumMeta.__new__   sV   8t||#7?4ue<< )00u= 599^T:@@EF
 #!!*-B#Hb1f-
680DDJ HHgZ*45<<SA	''77IIlDJJL1
 #
yyR(
 ,,,%--t44))//
;##'',''
3 #66 
 ). '
 
	$ ((==hP	z?a  **..0::9E09!!*- god%7
 	d;	%(	" 	hsm, ??S?)&&&N 
r!    )__name__r   r   __firstlineno____doc__r-   __static_attributes____classcell__)rW   s   @r   r   r      s    BS Sr!   r   c                   H    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rSrg)Enumq   z:A enum object that also builds a protobuf enum descriptor.c                 <    [        U5      [        U 5      [        4;   $ r   )typer   selfothers     r   _comparableEnum._comparablet   s    E{tDz3///r!   c                 ,    [        U R                  5      $ r   )hashr#   )re   s    r   __hash__Enum.__hash__x   s    DJJr!   c                 j    U R                  U5      (       d  [        $ U R                  [        U5      :H  $ r   rg   NotImplementedr#   r   rd   s     r   __eq__Enum.__eq__{   ,    &&!!zzSZ''r!   c                 j    U R                  U5      (       d  [        $ U R                  [        U5      :g  $ r   rn   rd   s     r   __ne__Enum.__ne__   rr   r!   c                 j    U R                  U5      (       d  [        $ U R                  [        U5      :  $ r   rn   rd   s     r   __lt__Enum.__lt__   ,    &&!!zzCJ&&r!   c                 j    U R                  U5      (       d  [        $ U R                  [        U5      :*  $ r   rn   rd   s     r   __le__Enum.__le__   rr   r!   c                 j    U R                  U5      (       d  [        $ U R                  [        U5      :  $ r   rn   rd   s     r   __ge__Enum.__ge__   rr   r!   c                 j    U R                  U5      (       d  [        $ U R                  [        U5      :  $ r   rn   rd   s     r   __gt__Enum.__gt__   ry   r!   rY   N)rZ   r   r   r[   r\   rg   rk   rp   rt   rw   r{   r~   r   r]   rY   r!   r   r`   r`   q   s-    D0 (('(('r!   r`   )	metaclassc                   "    \ rS rSrS\4S jrSrg)rD      r&   c                    Xl         X l        g r   r%   )re   r&   r'   s      r   __init___EnumInfo.__init__   s    "r!   r%   N)rZ   r   r   r[   strr   r]   rY   r!   r   rD   rD      s    S r!   rD   )r*   cloudsdk.google.protobufr   protor   r   proto.marshal.rules.enumsr   EnumMetar   r+   r`   rD   rY   r!   r   <module>r      sF     3   .VDMM Vr,'4<<= ,'^ r!   