Ë
    ímxi¯  ã                   ó‚   — 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y)zèBuilds 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                   j                  «       D ])  \  }}d|j                  «       z   }|‰|<    ‰||dz   «       Œ+ y)z‚Builds message and enum descriptors.

  Args:
    file_des: FileDescriptor of the .proto file
    module: Generated _pb2 module
  c                 óô   •— | j                   j                  «       D ])  \  }}||j                  «       z   }|‰|<    ‰||dz   «       Œ+ | j                  D ]"  }|‰||j                  j                  «       z   <   Œ$ y )NÚ_)Únested_types_by_nameÚitemsÚupperÚ
enum_typesÚname)Úmsg_desÚprefixr   Ú
nested_msgÚmodule_nameÚenum_desÚBuildNestedDescriptorsÚmodules         €€úW/home/htdocs/ttos/venv/lib/python3.12/site-packages/google/protobuf/internal/builder.pyr   z>BuildMessageAndEnumDescriptors.<locals>.BuildNestedDescriptors"   s‚   ø€ Ø%×:Ñ:×@Ñ@ÓBò <ÑˆˆzØ˜TŸZ™Z›\Ñ)€kØ&€fˆ[ÑÙ˜Z¨°sÑ):Õ;ð<ð ×&Ñ&ò 8ˆØ/7€fˆV�h—m‘m×)Ñ)Ó+Ñ+Ò,ñ8ó    r
   N)Úmessage_types_by_namer   r   )Úfile_desr   r   r   r   r   s    `   @r   ÚBuildMessageAndEnumDescriptorsr      sU   ù€ õ8ð "×7Ñ7×=Ñ=Ó?ò 7�o€tˆWØ˜Ÿ
™
›Ñ$€KØ!€Fˆ;ÑÙ˜7 K°#Ñ$5Õ6ñ7r   c                 ó`  ‡‡	— ˆ	ˆfd„Š	| 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 ]  \  }} ‰	|«      ||<   Œ y)zÇBuilds 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                   j                  «       D ]  \  }} ‰|«      ||<   Œ | |d<   ‰|d<   t        j                  | j                  t
        j                  f|«      }t        j                  |«       |S )NÚ
DESCRIPTORÚ
__module__)	r   r   Ú_reflectionÚGeneratedProtocolMessageTyper   Ú_messageÚMessageÚ_sym_dbÚRegisterMessage)r   Úcreate_dictr   r   Úmessage_classÚBuildMessager   s        €€r   r(   z4BuildTopDescriptorsAndMessages.<locals>.BuildMessage9   s†   ø€ Ø€KØ%×:Ñ:×@Ñ@ÓBò 3ÑˆˆzÙ& zÓ2€k�$Òð3à '€K�ÑØ +€K�ÑÜ×<Ñ<Ø�‰”x×'Ñ'Ð)¨;ó8€Mä×Ñ˜MÔ*ØÐr   r
   Ú_FIELD_NUMBERN)Ú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   ÚBuildTopDescriptorsAndMessagesr3   0   s1  ù€ õ	ð #×5Ñ5×;Ñ;Ó=ò 2Ñ€tˆXØ!)€Fˆ3�—‘“ÑÑÜ$×4Ñ4°XÓ>€Fˆ4�LØ—o‘oò 2ˆ
Ø *× 1Ñ 1€fˆZ�_‰_Òñ2ð2ð  (×:Ñ:×@Ñ@ÓBò !Ñ€tˆ]Ø-:×-AÑ-A€Fˆ4�:‰:‹<˜/Ñ)Ñ*Ø €Fˆ4‚Lð!ð
 "×2Ñ2×8Ñ8Ó:ò )�o€tˆWØ!(€Fˆ3�—‘“ÑÒð)ð "×7Ñ7×=Ñ=Ó?ò )�o€tˆWÙ Ó(€Fˆ4‚Lñ)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   ÚAddHelpersToExtensionsr6   Y   s   € ð 	r   c           	      óê   — ddl m} | j                  j                  «       D ]P  \  }}|j	                  |dt        ||¬«      «      ||<   |dz   }|j                  |||   ft        ||¬«      «      ||<   ŒR y)zÆBuilds 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_reflectionr5   )r   r   Ú_StubN)Úgoogle.protobufr8   r/   r   ÚGeneratedServiceTypeÚdictÚGeneratedServiceStubType)r   r   r   r8   r   r2   Ú	stub_names          r   ÚBuildServicesr?   c   s�   € õ 1à!×2Ñ2×8Ñ8Ó:ò :�o€tˆWØ%×:Ñ:ØˆbÜ˜¨KÔ8ó:€Fˆ4�Lð �w‘€IØ*×CÑCØ�F˜4‘L�?Ü˜¨KÔ8ó:€Fˆ9Òñ:r   N)Ú__doc__Ú
__author__Úgoogle.protobuf.internalr   r   r:   r   r"   r   r    r   Ú_symbol_databaseÚDefaultr$   r   r3   r6   r?   r5   r   r   ú<module>rE      sF   ðñð +€
å 6Ý 3Ý /Ý 5Ý ?à
"Ð
×
"Ñ
"Ó
$€ò7ò,&)òR	ó:r   