+
    4O|j  ã                  ó¾   € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt R R	 lt ! R
 R4      t ! R R]],          4      tR# )z2Helpers for the 'hello' and legacy hello commands.)ÚannotationsN)ÚAnyÚGenericÚMappingÚOptional)ÚObjectId)Úcommon)ÚSERVER_TYPE)ÚClusterTimeÚ_DocumentTypec               ó    € V ^8„  d   QhRRRR/# )é   ÚdocúMapping[str, Any]ÚreturnÚint© )Úformats   "ÚFC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\pymongo/hello.pyÚ__annotate__r      s   € ÷ &ñ &Ð+ð &°ñ &ó    c                ód  € V P                  R4      '       g   \        P                  # V P                  R4      '       d   \        P                  # V P                  R4      '       d   \        P                  # V P                  R4      '       dð   V P                  R4      '       d   \        P
                  # V P                  \        P                  4      '       d   \        P                  # V P                  \        P                  4      '       d   \        P                  # V P                  R4      '       d   \        P                  # V P                  R4      '       d   \        P                  # \        P
                  # V P                  R4      R	8X  d   \        P                  # \        P                  # )
z0Determine the server type from a hello response.ÚokÚ	serviceIdÚisreplicasetÚsetNameÚhiddenÚ	secondaryÚarbiterOnlyÚmsgÚisdbgrid)Úgetr	   ÚUnknownÚLoadBalancerÚRSGhostÚRSOtherÚHelloCompatÚPRIMARYÚ	RSPrimaryÚLEGACY_PRIMARYÚRSSecondaryÚ	RSArbiterÚMongosÚ
Standalone)r   s   &r   Ú_get_server_typer.      s'  € à�7‰7�4�=Š=Ü×"Ñ"Ð"à
‡w�wˆ{×ÒÜ×'Ñ'Ð'Ø	�‰�×	 Ò	 Ü×"Ñ"Ð"Ø	�‰�×	Ò	Ø�7‰7�8×ÒÜ×&Ñ&Ð&Ø�W‰W”[×(Ñ(×)Ò)Ü×(Ñ(Ð(Ø�W‰W”[×/Ñ/×0Ò0Ü×(Ñ(Ð(Ø�W‰W�[×!Ò!Ü×*Ñ*Ð*Ø�W‰W�]×#Ò#Ü×(Ñ(Ð(ä×&Ñ&Ð&Ø	�‰�‹˜:Ô	%Ü×!Ñ!Ð!ä×%Ñ%Ð%r   c                  ó*   € ] tR t^9tRtRtRtRtRtRt	R# )r&   ÚhelloÚismasterÚisWritablePrimaryz
not masterr   N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚCMDÚ
LEGACY_CMDr'   r)   ÚLEGACY_ERRORÚ__static_attributes__r   r   r   r&   r&   9   s   † Ø
€CØ€JØ!€GØ€NØ„Lr   r&   c                  ó€  € ] tR t^AtRtR<tR=R R llt]R R l4       t]R R l4       t	]R R	 l4       t
]R
 R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R  R! l4       t]R" R# l4       t]R$ R% l4       t]R& R' l4       t]R( R) l4       t]R* R+ l4       t]R, R- l4       t]R. R/ l4       t]R0 R1 l4       t]R2 R3 l4       t]R4 R5 l4       t ]R6 R7 l4       t!]R8 R9 l4       t"R:t#R;# )>ÚHelloz@Parse a hello response from the server.

.. versionadded:: 3.12
c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   Ú	awaitableÚboolr   ÚNoner   )r   s   "r   r   ÚHello.__annotate__I   s!   € ÷ $ñ $˜Mð $°dð $Àtñ $r   c                	óJ  € \        V4      V n        Wn        V P                  \        P                  \        P
                  \        P                  \        P                  39   V n        V P                  \        P                  8H  ;'       g    V P                  V n        W n        R # ©N)r.   Ú_server_typeÚ_docr	   r(   r-   r,   r#   Ú_is_writableÚserver_typer*   Ú_is_readableÚ
_awaitable)Úselfr   r>   s   &&&r   Ú__init__ÚHello.__init__I   s~   € Ü,¨SÓ1ˆÔØ#&Œ	Ø ×-Ñ-Ü×!Ñ!Ü×"Ñ"Ü×ÑÜ×$Ñ$ð	2
ñ 
ˆÔð !×,Ñ,´×0GÑ0GÑG×\Ð\È4×K\ÑK\ˆÔØ#Žr   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   rA   W   s   € ÷ $ñ $˜-ñ $r   c                óB   € \         P                   ! V P                  4      # )zEThe complete hello command response document.

.. versionadded:: 3.4
)ÚcopyrE   ©rJ   s   &r   ÚdocumentÚHello.documentV   s   € ô �yŠy˜Ÿ™Ó#Ð#r   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   rA   _   s   € ÷ !ñ !˜Sñ !r   c                	ó   € V P                   # rC   )rD   rP   s   &r   rG   ÚHello.server_type^   ó   € à× Ñ Ð r   c               ó   € V ^8„  d   QhRR/# )r   r   zset[tuple[str, int]]r   )r   s   "r   r   rA   c   s   € ÷ 
ñ 
Ð/ñ 
r   c                ó  € \        \        \        P                  \        P
                  ! V P                  P                  R. 4      V P                  P                  R. 4      V P                  P                  R. 4      4      4      4      # )z;List of hosts, passives, and arbiters known to this server.ÚhostsÚpassivesÚarbiters)ÚsetÚmapr   Ú
clean_nodeÚ	itertoolsÚchainrE   r!   rP   s   &r   Ú	all_hostsÚHello.all_hostsb   sd   € ô ÜÜ×!Ñ!Ü—’Ø—I‘I—M‘M '¨2Ó.Ø—I‘I—M‘M *¨bÓ1Ø—I‘I—M‘M *¨bÓ1óóó	
ð 		
r   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   rA   q   s   € ÷ )ñ )Ð'ñ )r   c                ó:   € V P                   P                  R/ 4      # )z&Replica set member tags or empty dict.Útags©rE   r!   rP   s   &r   rf   Ú
Hello.tagsp   s   € ð �y‰y�}‰}˜V RÓ(Ð(r   c               ó   € V ^8„  d   QhRR/# ©r   r   zOptional[tuple[str, int]]r   )r   s   "r   r   rA   v   s   € ÷ ñ Ð2ñ r   c                ó–   € V P                   P                  R4      '       d(   \        P                  ! V P                   R,          4      # R# )z8This server's opinion about who the primary is, or None.ÚprimaryN)rE   r!   r   Úpartition_noderP   s   &r   rl   ÚHello.primaryu   s4   € ð �9‰9�=‰=˜×#Ò#Ü×(Ò(¨¯©°9Õ)=Ó>Ð>ár   c               ó   € V ^8„  d   QhRR/# )r   r   zOptional[str]r   )r   s   "r   r   rA   ~   s   € ÷ (ñ ( -ñ (r   c                ó8   € V P                   P                  R4      # )zReplica set name or None.r   rg   rP   s   &r   Úreplica_set_nameÚHello.replica_set_name}   s   € ð �y‰y�}‰}˜YÓ'Ð'r   c               ó   € V ^8„  d   QhRR/# rT   r   )r   s   "r   r   rA   ƒ   s   € ÷ Hñ H˜sñ Hr   c                	óV   € V P                   P                  R \        P                  4      # )ÚmaxBsonObjectSize)rE   r!   r   ÚMAX_BSON_SIZErP   s   &r   Úmax_bson_sizeÚHello.max_bson_size‚   s   € à�y‰y�}‰}Ð0´&×2FÑ2FÓGÐGr   c               ó   € V ^8„  d   QhRR/# rT   r   )r   s   "r   r   rA   ‡   s   € ÷ Mñ M #ñ Mr   c                	óV   € V P                   P                  R \        P                  4      # )ÚmaxMessageSizeBytes)rE   r!   r   ÚMAX_MESSAGE_SIZErP   s   &r   Úmax_message_sizeÚHello.max_message_size†   s   € à�y‰y�}‰}Ð2´F×4KÑ4KÓLÐLr   c               ó   € V ^8„  d   QhRR/# rT   r   )r   s   "r   r   rA   ‹   s   € ÷ Oñ O cñ Or   c                	óV   € V P                   P                  R \        P                  4      # )ÚmaxWriteBatchSize)rE   r!   r   ÚMAX_WRITE_BATCH_SIZErP   s   &r   Úmax_write_batch_sizeÚHello.max_write_batch_sizeŠ   s   € à�y‰y�}‰}Ð0´&×2MÑ2MÓNÐNr   c               ó   € V ^8„  d   QhRR/# rT   r   )r   s   "r   r   rA   �   ó   € ÷ Hñ H #ñ Hr   c                	óV   € V P                   P                  R \        P                  4      # )ÚminWireVersion)rE   r!   r   ÚMIN_WIRE_VERSIONrP   s   &r   Úmin_wire_versionÚHello.min_wire_versionŽ   ó   € à�y‰y�}‰}Ð-¬v×/FÑ/FÓGÐGr   c               ó   € V ^8„  d   QhRR/# rT   r   )r   s   "r   r   rA   “   r†   r   c                	óV   € V P                   P                  R \        P                  4      # )ÚmaxWireVersion)rE   r!   r   ÚMAX_WIRE_VERSIONrP   s   &r   Úmax_wire_versionÚHello.max_wire_version’   rŒ   r   c               ó   € V ^8„  d   QhRR/# ©r   r   zOptional[int]r   )r   s   "r   r   rA   —   s   € ÷ +ñ +˜]ñ +r   c                	ó8   € V P                   P                  R 4      # )Ú
setVersionrg   rP   s   &r   Úset_versionÚHello.set_version–   ó   € à�y‰y�}‰}˜\Ó*Ð*r   c               ó   € V ^8„  d   QhRR/# ©r   r   zOptional[ObjectId]r   )r   s   "r   r   rA   ›   s   € ÷ +ñ +Ð/ñ +r   c                	ó8   € V P                   P                  R 4      # )Ú
electionIdrg   rP   s   &r   Úelection_idÚHello.election_idš   r™   r   c               ó   € V ^8„  d   QhRR/# )r   r   zOptional[ClusterTime]r   )r   s   "r   r   rA   Ÿ   s   € ÷ -ñ -Ð3ñ -r   c                	ó8   € V P                   P                  R 4      # )z$clusterTimerg   rP   s   &r   Úcluster_timeÚHello.cluster_timež   ó   € à�y‰y�}‰}˜^Ó,Ð,r   c               ó   € V ^8„  d   QhRR/# r”   r   )r   s   "r   r   rA   £   s   € ÷ =ñ =°ñ =r   c                	ó8   € V P                   P                  R 4      # )ÚlogicalSessionTimeoutMinutesrg   rP   s   &r   Úlogical_session_timeout_minutesÚ%Hello.logical_session_timeout_minutes¢   s   € à�y‰y�}‰}Ð;Ó<Ð<r   c               ó   € V ^8„  d   QhRR/# ©r   r   r?   r   )r   s   "r   r   rA   §   ó   € ÷ !ñ !˜Tñ !r   c                	ó   € V P                   # rC   )rF   rP   s   &r   Úis_writableÚHello.is_writable¦   rW   r   c               ó   € V ^8„  d   QhRR/# r«   r   )r   s   "r   r   rA   «   r¬   r   c                	ó   € V P                   # rC   )rH   rP   s   &r   Úis_readableÚHello.is_readableª   rW   r   c               ó   € V ^8„  d   QhRR/# rj   r   )r   s   "r   r   rA   ¯   s   € ÷ ñ Ð-ñ r   c                	óx   € V P                   P                  R 4      pV'       d   \        P                  ! V4      # R# )ÚmeN)rE   r!   r   r_   )rJ   r¶   s   & r   r¶   ÚHello.me®   s+   € à�Y‰Y�]‰]˜4Ó ˆßÜ×$Ò$ RÓ(Ð(Ùr   c               ó   € V ^8„  d   QhRR/# )r   r   zOptional[datetime.datetime]r   )r   s   "r   r   rA   ¶   s   € ÷ Cñ CÐ!<ñ Cr   c                	óX   € V P                   P                  R / 4      P                  R4      # )Ú	lastWriteÚlastWriteDaterg   rP   s   &r   Úlast_write_dateÚHello.last_write_dateµ   s"   € à�y‰y�}‰}˜[¨"Ó-×1Ñ1°/ÓBÐBr   c               ó   € V ^8„  d   QhRR/# )r   r   zOptional[list[str]]r   )r   s   "r   r   rA   º   s   € ÷ ,ñ ,Ð0ñ ,r   c                	ó8   € V P                   P                  R 4      # )Úcompressionrg   rP   s   &r   ÚcompressorsÚHello.compressors¹   s   € à�y‰y�}‰}˜]Ó+Ð+r   c               ó   € V ^8„  d   QhRR/# )r   r   z	list[str]r   )r   s   "r   r   rA   ¾   s   € ÷ 	7ñ 	7 iñ 	7r   c                ó:   € V P                   P                  R. 4      # )z“Supported authentication mechanisms for the current user.

For example::

    >>> hello.sasl_supported_mechs
    ["SCRAM-SHA-1", "SCRAM-SHA-256"]

ÚsaslSupportedMechsrg   rP   s   &r   Úsasl_supported_mechsÚHello.sasl_supported_mechs½   s   € ð �y‰y�}‰}Ð1°2Ó6Ð6r   c               ó   € V ^8„  d   QhRR/# ©r   r   zOptional[Mapping[str, Any]]r   )r   s   "r   r   rA   Ê   s   € ÷ 8ñ 8Ð*Eñ 8r   c                ó8   € V P                   P                  R4      # )z"The speculativeAuthenticate field.ÚspeculativeAuthenticaterg   rP   s   &r   Úspeculative_authenticateÚHello.speculative_authenticateÉ   s   € ð �y‰y�}‰}Ð6Ó7Ð7r   c               ó   € V ^8„  d   QhRR/# rÉ   r   )r   s   "r   r   rA   Ï   s   € ÷ 0ñ 0Ð"=ñ 0r   c                	ó8   € V P                   P                  R 4      # )ÚtopologyVersionrg   rP   s   &r   Útopology_versionÚHello.topology_versionÎ   s   € à�y‰y�}‰}Ð.Ó/Ð/r   c               ó   € V ^8„  d   QhRR/# r«   r   )r   s   "r   r   rA   Ó   s   € ÷ ñ ˜4ñ r   c                	ó   € V P                   # rC   )rI   rP   s   &r   r>   ÚHello.awaitableÒ   s   € à�‰Ðr   c               ó   € V ^8„  d   QhRR/# r›   r   )r   s   "r   r   rA   ×   s   € ÷ *ñ *Ð.ñ *r   c                	ó8   € V P                   P                  R 4      # )r   rg   rP   s   &r   Ú
service_idÚHello.service_idÖ   s   € à�y‰y�}‰}˜[Ó)Ð)r   c               ó   € V ^8„  d   QhRR/# r«   r   )r   s   "r   r   rA   Û   s   € ÷ /ñ /˜$ñ /r   c                	ó:   € V P                   P                  R R4      # )ÚhelloOkFrg   rP   s   &r   Úhello_okÚHello.hello_okÚ   s   € à�y‰y�}‰}˜Y¨Ó.Ð.r   c               ó   € V ^8„  d   QhRR/# r”   r   )r   s   "r   r   rA   ß   s   € ÷ -ñ -˜}ñ -r   c                	ó8   € V P                   P                  R 4      # )ÚconnectionIdrg   rP   s   &r   Úconnection_idÚHello.connection_idÞ   r¤   r   )rI   rE   rH   rF   rD   N)rE   rD   rF   rH   rI   )F)$r3   r4   r5   r6   Ú__doc__Ú	__slots__rK   ÚpropertyrQ   rG   rb   rf   rl   rq   rw   r}   rƒ   rŠ   r‘   r—   rž   r¢   r¨   r®   r²   r¶   r¼   rÁ   rÆ   rÌ   rÑ   r>   rØ   rÝ   râ   r:   r   r   r   r<   r<   A   s<  † ñð
 W€I÷$ð ô$ó ð$ð ô!ó ð!ð ô
ó ð
ð ô)ó ð)ð ôó ðð ô(ó ð(ð ôHó ðHð ôMó ðMð ôOó ðOð ôHó ðHð ôHó ðHð ô+ó ð+ð ô+ó ð+ð ô-ó ð-ð ô=ó ð=ð ô!ó ð!ð ô!ó ð!ð ôó ðð ôCó ðCð ô,ó ð,ð ô	7ó ð	7ð ô8ó ð8ð ô0ó ð0ð ôó ðð ô*ó ð*ð ô/ó ð/ð ô-ó ô-r   r<   )rä   Ú
__future__r   rO   Údatetimer`   Útypingr   r   r   r   Úbson.objectidr   Úpymongor   Úpymongo.server_typer	   Úpymongo.typingsr
   r   r.   r&   r<   r   r   r   Ú<module>rî      sJ   ðñ 9Ý "ã Û Û ß 2Ó 2å "Ý Ý +ß 6õ&÷8 ñ  ô_-ˆG�MÕ"ö _-r   