Ë
    òmxiê  ã            	       ó¸   — d dl Z d dlZd dl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                  d«      Z G d„ d e j                  dg d	¢«      «      Zy)
é    N)Údescriptor_pb2)Údescriptor_pool)Úmessage)Ú
reflection)ÚMessageRuleÚ	_FileInfoc                   ó`   — e Zd Zi Zed„ «       Zed„ «       Zd„ Zd„ Z	d„ Z
d
d„Zd„ Zed„ «       Zy	)r   c                 óî   — | j                   j                  |«      }|sW | t        j                  ||d¬«      t	        j
                  «       t	        j
                  «       |i i ¬«      x}| j                   |<   |S )NÚproto3)ÚnameÚpackageÚsyntax)Ú
descriptorÚenumsÚmessagesr   ÚnestedÚnested_enum)ÚregistryÚgetr   ÚFileDescriptorProtoÚcollectionsÚOrderedDict)ÚclsÚfilenamer   r   s       úG/home/htdocs/ttos/venv/lib/python3.12/site-packages/proto/_file_info.pyÚmaybe_add_descriptorz_FileInfo.maybe_add_descriptor%   su   € à—\‘\×%Ñ% hÓ/ˆ
ÙÙ25Ü)×=Ñ=Ø!Ø#Ø#ôô
 "×-Ñ-Ó/Ü$×0Ñ0Ó2ØØØô3ð ˆJ˜Ÿ™ hÑ/ð Ðó    c                 óD   — dj                  | j                  dd«      «      S )Nz	{0}.protoú.ú/)ÚformatÚreplace©r   s    r   Úproto_file_namez_FileInfo.proto_file_name8   s   € à×!Ñ! $§,¡,¨s°CÓ"8Ó9Ð9r   c                 ó–   — t        j                  |«      }t        |d«      rt        |j                  j
                  «      S t        «       S )NÚ__protobuf__)ÚinspectÚ	getmoduleÚhasattrÚ	frozensetr&   Úmanifest)ÚselfÚ	new_classÚmodules      r   Ú_get_manifestz_FileInfo._get_manifest<   s;   € Ü×"Ñ" 9Ó-ˆÜ�6˜>Ô*Ü˜V×0Ñ0×9Ñ9Ó:Ð:ä‹{Ðr   c                 ó@   — | j                  |«      |j                  hz
  S ©N)r/   Ú__name__)r,   r-   s     r   Ú_get_remaining_manifestz!_FileInfo._get_remaining_manifestC   s!   € Ø×!Ñ! )Ó,°	×0BÑ0BÐ/CÑCÐCr   c                 ó&  — | j                  |«      }|r[|j                  |vrMt        j                  dj	                  t        j                  |«      j                  |j                  ¬«      «       |j                  |v rdS |xs dj                  «       S )NzPproto-plus module {module} has a declared manifest but {class_name} is not in it)r.   Ú
class_nameÚ )r/   r2   ÚlogÚwarningr!   r'   r(   Úlower)r,   r-   Úfallbackr+   s       r   Ú_calculate_saltz_FileInfo._calculate_saltF   s†   € Ø×%Ñ% iÓ0ˆÙ˜	×*Ñ*°(Ñ:Ü�K‰KØb×iÑiÜ"×,Ñ,¨YÓ7×@Ñ@Ø(×1Ñ1ð jó ôð ×'Ñ'¨8Ñ3ˆrÐQ¸(º.Àb×9OÑ9OÓ9QÐQr   c                 óÂ  — t        j                  «       }| j                  ||«      }dj                  dj	                  | j
                  j                  dd |g«      j                  d«      ¬«      | j
                  _        |j                  | j
                  «       | j                  j                  «       D �]?  \  }}|j                  |«      }t        j                  |j                  t        j                  f|ddœ«      }||j                   _        |j                   j$                  j'                  |t)        ||«      «       |j                   j*                  j-                  «       D ]�  }	|	j                  r9t/        |	j                  t0        «      r| j                  |	j                     |	_        ŒH|	j2                  sŒUt/        |	j2                  t0        «      sŒp| j4                  |	j2                     |	_        Œ� �ŒB | j4                  j                  «       D ]'  \  }}
|j7                  |«      }||
j                   _        Œ) | j:                  j=                  | j                  «       y)aà  Generate the descriptors for all protos in the file.

        This method takes the file descriptor attached to the parent
        message and generates the immutable descriptors for all of the
        messages in the file descriptor. (This must be done in one fell
        swoop for immutability and to resolve proto cross-referencing.)

        This is run automatically when the last proto in the file is
        generated, as determined by the module's __all__ tuple.
        z{name}.protoÚ_Niúÿÿÿr#   )Ú
DESCRIPTORÚ
__module__)r   ÚDefaultr;   r!   Újoinr   r   ÚrstripÚAddr   ÚitemsÚFindMessageTypeByNamer   ÚGeneratedProtocolMessageTyper   ÚMessageÚ_metaÚ_pbÚmarshalÚregisterr   ÚfieldsÚvaluesÚ
isinstanceÚstrÚenumr   ÚFindEnumTypeByNameÚpbr   Úpop)r,   r-   Úfallback_saltÚpoolÚsaltÚ	full_nameÚproto_plus_messager   Ú
pb_messageÚfieldÚproto_plus_enums              r   Úgenerate_file_pbz_FileInfo.generate_file_pbR   sç  € ô ×&Ñ&Ó(ˆð
 ×#Ñ# I¨}Ó=ˆØ-×4Ñ4Ø—‘˜4Ÿ?™?×/Ñ/°°Ð4°dÐ;Ó<×CÑCÀCÓHð  5ó  
ˆ�‰Ôð
 	�‰�—‘Ô!ð
 .2¯]©]×-@Ñ-@Ó-Bó 	8Ñ)ˆIÐ)ð ×3Ñ3°IÓ>ˆJÜ#×@Ñ@Ø—‘Ü—‘Ð"Ø)¸Ñ>óˆJð ,6Ð×$Ñ$Ô(Ø×$Ñ$×,Ñ,×5Ñ5ØœK¨
Ð4FÓGôð ,×1Ñ1×8Ñ8×?Ñ?ÓAò 8�Ø—=’=¤Z°·±¼sÔ%CØ$(§M¡M°%·-±-Ñ$@�E•MØ—Z“Z¤J¨u¯z©z¼3Õ$?Ø!%§¡¨E¯J©JÑ!7�E•Jò	8ð/	8ð< +/¯*©*×*:Ñ*:Ó*<ò 	2Ñ&ˆI�Ø×0Ñ0°Ó;ˆJØ'1ˆO×!Ñ!Õ$ð	2ð 	�‰×Ñ˜$Ÿ)™)Õ$r   c                 ó†  ‡— t        | j                  «      st        | j                  «      ry| j                  D ]M  }|j                  r|j                  | j
                  vs&|j                  sŒ4|j                  | j                  vsŒM y t        j                  |«      Š| j                  |«      }t        ˆfd„|D «       «      S )ak  Return True if a file descriptor may added, False otherwise.

        This determine if all the messages that we plan to create have been
        created, as best as we are able.

        Since messages depend on one another, we create descriptor protos
        (which reference each other using strings) and wait until we have
        built everything that is going to be in the module, and then
        use the descriptor protos to instantiate the actual descriptors in
        one fell swoop.

        Args:
            new_class (~.MessageMeta): The new class currently undergoing
                creation.
        Fc              3   ó6   •K  — | ]  }t        ‰|«      –— Œ y ­wr1   )r)   )Ú.0Úir.   s     €r   ú	<genexpr>z"_FileInfo.ready.<locals>.<genexpr>º   s   øè ø€ Ò8¨!”7˜6 1×%Ñ8ùs   ƒ)Úlenr   r   Úunresolved_fieldsr   r   rP   r   r'   r(   r3   Úall)r,   r-   rZ   r+   r.   s       @r   Úreadyz_FileInfo.ready“   sœ   ø€ ô$ ˆt�{‰{Ôœs 4×#3Ñ#3Ô4Øð
 ×+Ñ+ò 	ˆEØ—’ %§-¡-°t·}±}Ñ"DØ—
“
˜uŸz™z°·±Ò;áð		ô ×"Ñ" 9Ó-ˆØ×/Ñ/°	Ó:ˆô Ó8¨xÔ8Ó8Ð8r   c              #   ó@  K  — | j                   j                  «       D ]}  }|j                  j                  j                  «       D ]T  }|j                  rt        |j                  t        «      s(|j                  sŒ6t        |j                  t        «      sŒQ|–— ŒV Œ y­w)z8Return fields with referencing message types as strings.N)r   rM   rH   rL   r   rN   rO   rP   )r,   rX   rZ   s      r   rc   z_FileInfo.unresolved_fields¼   sv   è ø€ ð #'§-¡-×"6Ñ"6Ó"8ò 	 ÐØ+×1Ñ1×8Ñ8×?Ñ?ÓAò  �Ø—M’M¤j°·±ÄÔ&DØ—J“J¤:¨e¯j©j¼#Õ#>à“Kñ	 ñ	 ùs   ‚A7BÁ:BÂ	BN)r6   )r2   r?   Ú__qualname__r   Úclassmethodr   Ústaticmethodr$   r/   r3   r;   r\   re   Úpropertyrc   © r   r   r   r      s`   „ ð €Hàñó ðð$ ñ:ó ð:òòDò
Ró?%òB'9ðR ñ ó ñ r   )r   r   r   r   r   r   )r   r'   ÚloggingÚgoogle.protobufr   r   r   r   Úproto.marshal.rules.messager   Ú	getLoggerr7   Ú
namedtupler   rk   r   r   ú<module>rq      sS   ðó Û Û å *Ý +Ý #Ý &å 3à€g×Ñ˜Ó$€ôg Ø€K×ÑØÚLóõg r   