
    h                         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S )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)    )enum_type_wrapper)python_message)message)
reflection)symbol_databasec                     fd| j                                         D ]0\  }}d|                                z   }||<    ||dz              1dS )zBuilds message and enum descriptors.

  Args:
    file_des: FileDescriptor of the .proto file
    module: Generated _pb2 module
  c                     | j                                         D ]0\  }}||                                z   }||<    ||dz              1| j        D ]!}|||j                                        z   <   "d S )N_)nested_types_by_nameitemsupper
enum_typesname)msg_desprefixr   
nested_msgmodule_nameenum_desBuildNestedDescriptorsmodules         d/var/www/html/e360mart/e360mart_env/lib/python3.11/site-packages/google/protobuf/internal/builder.pyr   z>BuildMessageAndEnumDescriptors.<locals>.BuildNestedDescriptors"   s    %:@@BB < <zTZZ\\)k&f[Zs):;;;;& 8 8/7fVhm))+++,,8 8    r
   N)message_types_by_namer   r   )file_desr   r   r   r   r   s    `   @r   BuildMessageAndEnumDescriptorsr      s    8 8 8 8 8 8 "7==?? 7 7otW

$K!F;7K#$566667 7r   c                 <  	 	fd	| j                                         D ]O\  }}||d|                                z   <   t          j        |          ||<   |j        D ]}|j        ||j        <   P| j                                        D ])\  }}|j        ||                                dz   <   |||<   *| j	                                        D ]\  }}||d|                                z   <    | j
                                        D ]\  }} 	|d          ||<   dS )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
  c                 ,   i }| j                                         D ]\  }} ||| j        z   dz             ||<    | |d<   |d<   || j        z   |d<   t          j        | j        t
          j        f|          }t                              |           |S )N.
DESCRIPTOR
__module____qualname__)	r   r   r   _reflectionGeneratedProtocolMessageType_messageMessage_sym_dbRegisterMessage)r   r   create_dictr   r   message_classBuildMessager   s         r   r*   z4BuildTopDescriptorsAndMessages.<locals>.BuildMessage9   s    K%:@@BB P Pz&,z6GL3H33NOOk$ 'K +K"(7<"7K<x');8 8MM***r   r
   _FIELD_NUMBER N)enum_types_by_namer   r   r   EnumTypeWrappervaluesnumberr   extensions_by_nameservices_by_namer   )
r   r   r   r   r   
enum_valueextension_desservicer   r*   s
    `       @r   BuildTopDescriptorsAndMessagesr6   0   sg   
 
 
 
 
 
 #5;;== 2 2tX!)F3$4X>>F4Lo 2 2
 * 1fZ_2  (:@@BB ! !t]-:-AF4::<</)* F4LL "288:: ) )otW!(F3 "7==?? - -otW<,,F4LL- -r   c                     dS )zsno-op to keep old generated code work with new runtime.

  Args:
    file_des: FileDescriptor of the .proto file
  N )r   s    r   AddHelpersToExtensionsr9   Z   s	     	&r   c           	         ddl m} | j                                        D ]c\  }}|                    |dt          ||                    ||<   |dz   }|                    |||         ft          ||                    ||<   ddS )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   d   s     100000!288:: : :otW%::bK888: :F4L wI*CCF4L?K888: :F9: :r   N)__doc__
__author__google.protobuf.internalr   r   r=   r   r$   r   r"   r   _symbol_databaseDefaultr&   r   r6   r9   rB   r8   r   r   <module>rH      s     +
 6 6 6 6 6 6 3 3 3 3 3 3 / / / / / / 5 5 5 5 5 5 ? ? ? ? ? ?
"

"
$
$7 7 7,'- '- '-T	 	 	: : : : :r   