
    ci?                         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)    )enum_type_wrapper)python_message)message)
reflection)symbol_databasec                     |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          d/var/www/html/spbu.com/backend/venv/lib/python3.12/site-packages/google/protobuf/internal/builder.pyr   r      sy    !66<<>dJ4::<'K$F;FJc0AB ? $$h-5F6HMM''))* %    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   #   sM     "77==?otW

$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!   0   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    #55;;=tX!)F3$44X>F4Loo
 * 1 1fZ__ & >  (::@@Bt]-:-A-AF4::</)* F4L  C
 "2288:otW!(F3 ; "77==?otW 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   h   s|     1!2288:otW%::bK8:F4L wI*CCF4L?K8:F9 ;r   N)__doc__
__author__google.protobuf.internalr   r   r=   r   r$   r   r"   r   _symbol_databaseDefaultr&   r   r   r!   r6   r9   rB   r8   r   r   <module>rH      sP    +
 6 3 / 5 ?
"

"
"
$6
@ ;<	:r   