+
    4O|j  ã                  óÖ  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHtH	t	H
t
 ^
t]P                  P                  ]4      tR R ltR R lt]P$                  R8X  d   ]! ]R	^4      tR
 R ltR# R R ltR R ltR R lt]R8X  dU   ]! ]R4      '       d    ]P4                  ! 4        ]! ]! ]P8                  R,          4      4       ]P:                  ! ^ 4       R# R#   ] d     L>i ; i)ac  Support for spawning a daemon process.

PyMongo only attempts to spawn the mongocryptd daemon process when automatic
client-side field level encryption is enabled. See
`Client-side Field Level Encryption <https://www.mongodb.com/docs/languages/python/pymongo-driver/current/security/in-use-encryption/#client-side-field-level-encryption>`_ for more info.
)ÚannotationsN)ÚAnyÚOptionalÚSequencec               ó$   € V ^8„  d   QhRRRRRR/# )é   Úpopenzsubprocess.Popen[Any]ÚtimeoutzOptional[float]ÚreturnzOptional[int]© )Úformats   "ÚGC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\pymongo/daemon.pyÚ__annotate__r   "   s"   € ÷ ñ Ð,ð °ð È=ñ ó    c                ó`   €  V P                  VR7      #   \        P                   d     R# i ; i)z,Implement wait timeout support for Python 3.)r	   N)ÚwaitÚ
subprocessÚTimeoutExpired)r   r	   s   &&r   Ú_popen_waitr   "   s0   € ðØ�z‰z 'ˆzÓ*Ð*øÜ×$Ñ$ô âðús   ‚ ”-¬-c               ó    € V ^8„  d   QhRRRR/# )r   r   úOptional[subprocess.Popen[Any]]r
   ÚNoner   )r   s   "r   r   r   +   s   € ÷ ñ Ð%Dð Èñ r   c                ó    € V e
   ^ V n         R# R# )zhSilence Popen's ResourceWarning.

Note this should only be used if the process was created as a daemon.
N)Ú
returncode)r   s   &r   Ú_silence_resource_warningr   +   s   € ð ÒØˆÖñ r   Úwin32ÚDETACHED_PROCESSc               ó    € V ^8„  d   QhRRRR/# ©r   ÚargsúSequence[str]r
   r   r   )r   s   "r   r   r   =   s   € ÷ ñ ˜Mð ¨dñ r   c           
     ó`  €  \        \        P                  R4      ;_uu_ 4       p\        P                  ! V \
        VVVR7      p\        V4       RRR4       R#   + '       g   i     R# ; i  \         d6   p\        P                  ! RT ^ ,           RT 2\        ^R7        Rp?R# Rp?ii ; i)z!Spawn a daemon process (Windows).úr+b)ÚcreationflagsÚstdinÚstderrÚstdoutNúFailed to start ú+: is it on your $PATH?
Original exception: ©Ú
stacklevel)ÚopenÚosÚdevnullr   ÚPopenÚ_DETACHED_PROCESSr   ÚFileNotFoundErrorÚwarningsÚwarnÚRuntimeWarning)r   r-   r   Úexcs   &   r   Ú_spawn_daemonr5   =   s‘   € ð	Ü”b—j‘j %×(Ô(¨GÜ"×(Ò(ØÜ"3Ø!Ø"Ø"ô�ô *¨%Ô0÷ )×(×(Ò(ûô !ô 	Ü�MŠMØ" 4¨¥7 )Ð+WÐX[ÐW\Ð]ÜØ÷ó ûð	ús4   ‚"A- ¤+AÁA- ÁA*	Á$A- Á*A- Á-B-Á8*B(Â(B-c               ó    € V ^8„  d   QhRRRR/# )r   r   r    r
   r   r   )r   s   "r   r   r   \   s   € ÷ ñ �]ð Ð'Fñ r   c           
     óB  €  \        \        P                  R4      ;_uu_ 4       p\        P                  ! V RVVVR7      uuRRR4       #   + '       g   i     R# ; i  \
         d6   p\        P                  ! RT ^ ,           RT 2\        ^R7        Rp?R# Rp?ii ; i)z,Spawn the process and silence stdout/stderr.r"   T)Ú	close_fdsr$   r%   r&   Nr'   r(   r)   )	r+   r,   r-   r   r.   r0   r1   r2   r3   )r   r-   r4   s   &  r   Ú_spawnr9   \   s�   € ð	Ü”b—j‘j %×(Ô(¨GÜ!×'Ò'ØØ"Ø!Ø"Ø"ô÷ )×(×(Ñ(ñ ûô !ô 	Ü�MŠMØ" 4¨¥7 )Ð+WÐX[ÐW\Ð]ÜØ÷ñ ñ
 ûð	ús3   ‚"A ¤A
¿
A Á
A	ÁA ÁA ÁBÁ)*BÂBc               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   r   o   s   € ÷ .ñ .¨ð .¸4ñ .r   c                ó¤   € \         P                  \        .pVP                  V 4       \        P
                  ! VRR7      p\        V\        4       R# )z7Spawn a daemon process using a double subprocess.Popen.T)r8   N)ÚsysÚ
executableÚ
_THIS_FILEÚextendr   r.   r   Ú_WAIT_TIMEOUT)r   Úspawner_argsÚ	temp_procs   &  r   Ú_spawn_daemon_double_popenrC   o   s<   € äŸ™¬
Ð3ˆØ×Ñ˜DÔ!Ü×$Ò$ \¸TÔBˆ	ô 	�Iœ}Ö-r   c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   r   x   s   € ÷ ñ ˜Mð ¨dñ r   c                ób   € \         P                  '       d   \        V 4       R# \        V 4       R# )zSpawn a daemon process (Unix).N)r<   r=   rC   r9   )r   s   &r   r5   r5   x   s   € ô �>�>ˆ>Ü& tÖ,ô �4ŽLr   Ú__main__Úsetsid:é   NN)Ú__doc__Ú
__future__r   r,   r   r<   r1   Útypingr   r   r   r@   ÚpathÚrealpathÚ__file__r>   r   r   ÚplatformÚgetattrr/   r5   r9   rC   Ú__name__ÚhasattrrG   ÚOSErrorÚargvÚ_exitr   r   r   Ú<module>rV      sØ   ðñõ #ã 	Û Û 
Û ß *Ñ *ð €Ø�W‰W×Ñ˜hÓ'€
õõð ‡<�<�7Ôá 
Ð,>À
ÓKÐ÷õ>õ&.õð" �:Ôá�2�x× Ò ðØ—	’	”ñ 	"¡&¨¯©°"­Ó"6Ô7Ø
�Š�Žñ øð
 ô Ùðús   ÂC ÃC(Ã'C(