
    <j=                         d Z dZddlmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ  ej                         Zd Zd	 Zd
 Zd Zd Zd Zy)zBuilds descriptors, message classes and services for generated _pb2.py.

This file is only called in python generated _pb2.py files. It builds
descriptors, message classes and services that users can directly use
in generated code.
zjieluo@google.com (Jie Luo)    )message)
reflection)symbol_database)enum_type_wrapper)python_messagec                     |j                   j                         D ]-  \  }}||j                         z   }|| |<   t        | ||dz          / |j                  D ]"  }|| ||j
                  j                         z   <   $ y )N_)nested_types_by_nameitemsupper_BuildNestedDescriptors
enum_typesname)modulemsg_desprefixr   
nested_msgmodule_nameenum_dess          W/opt/lfcs-signon/.venv/lib/python3.12/site-packages/google/protobuf/internal/builder.pyr   r      s    !66<<> CdJ4::<'K$F;FJc0ABC $$ 6h-5F6HMM''))*6    c                     | j                   j                         D ]-  \  }}d|j                         z   }|||<   t        |||dz          / y)zBuilds message and enum descriptors.

  Args:
    file_des: FileDescriptor of the .proto file
    module: Generated _pb2 module
  r	   N)message_types_by_namer   r   r   )file_desr   r   r   r   s        r   BuildMessageAndEnumDescriptorsr   "   sS      55;;= @mdG

$K!F;FG[3->?@r   c                 P   i }|j                   j                         D ]%  \  }}t        | |||j                  z   dz         ||<   ' ||d<   | |d<   ||j                  z   |d<   t	        j
                  |j                  t        j                  f|      }t        j                  |       |S )N.
DESCRIPTOR
__module____qualname__)
r
   r   _BuildMessager   _reflectionGeneratedProtocolMessageType_messageMessage_sym_dbRegisterMessage)r   r   r   create_dictr   r   message_classs          r   r!   r!   /   s    +!66<<> dJ%Z',,!6!<K &+l)+l & 5+n::llX%%'- 
-(	r   c                 Z   | j                   j                         D ]]  \  }}||d|j                         z   <   t        j                  |      ||<   |j
                  D ]  }|j                  ||j                  <    _ | j                  j                         D ]*  \  }}|j                  ||j                         dz   <   |||<   , | j                  j                         D ]  \  }}||d|j                         z   <    | j                  j                         D ]  \  }}t        ||d      ||<    y)zBuilds top level descriptors and message classes.

  Args:
    file_des: FileDescriptor of the .proto file
    module_name: str, the name of generated _pb2 module
    module: Generated _pb2 module
  r	   _FIELD_NUMBER N)enum_types_by_namer   r   r   EnumTypeWrappervaluesnumberr   extensions_by_nameservices_by_namer   r!   )	r   r   r   r   r   
enum_valueextension_desservicer   s	            r   BuildTopDescriptorsAndMessagesr6   ?   s.    !3399; 2ndH!)F3$44X>F4Loo 2
 * 1 1fZ__22 &88>>@ !dM-:-A-AF4::</)* F4L!
  00668 )mdG!(F3)  55;;= ;mdG gr:F4L;r   c                      y)zsno-op to keep old generated code work with new runtime.

  Args:
    file_des: FileDescriptor of the .proto file
  N )r   s    r   AddHelpersToExtensionsr9   ]   s     	r   c           	          ddl m} | j                  j                         D ]P  \  }}|j	                  |dt        ||            ||<   |dz   }|j                  |||   ft        ||            ||<   R y)zBuilds services classes and services stub class.

  Args:
    file_des: FileDescriptor of the .proto file
    module_name: str, the name of generated _pb2 module
    module: Generated _pb2 module
  r   )service_reflectionr8   )r   r   _StubN)google.protobufr;   r2   r   GeneratedServiceTypedictGeneratedServiceStubType)r   r   r   r;   r   r5   	stub_names          r   BuildServicesrB   g   s     100668 	mdG%::b$'kBF4L wI*CC	K8F9	r   N)__doc__
__author__r=   r   r$   r   r"   r   _symbol_databasegoogle.protobuf.internalr   r   Defaultr&   r   r   r!   r6   r9   rB   r8   r   r   <module>rH      sP    +
 / 5 ? 6 3
"

"
"
$6
@ ;<	r   