+
    i!                        ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]P&                  ! R	]4        ! R
 R]4      t ! R R]4      tR# )    )annotationsN)Any)Arbiter)Worker)asyncio_run)Config)ServerzThe `uvicorn.workers` module is deprecated. Please use `uvicorn-worker` package instead.
For more details, see https://github.com/Kludex/uvicorn-worker.c                     a  ] tR t^t$ RtRRRR/tR]R&   R V 3R lltR	 R
 ltR R lt	R R lt
R R ltR R ltRtV ;t# )UvicornWorkerzj
A worker class for Gunicorn that interfaces with an ASGI consumer callable,
rather than a WSGI callable.
loopautohttpzdict[str, Any]CONFIG_KWARGSc               $    V ^8  d   QhRRRRRR/# )   argsr   kwargsreturnNone )formats   "iC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\uvicorn/workers.py__annotate__UvicornWorker.__annotate__    s!     (. (.c (.S (.T (.    c                	  < \         SV `  ! V/ VB  \        P                  ! R 4      pV P                  P
                  P                  Vn        VP                  V P                  P
                  P                  4       RVn	        \        P                  ! R4      pV P                  P                  P                  Vn        VP                  V P                  P                  P                  4       RVn	        RRRRRV P                  P                  RV P                  RV P                  R	V P                  R
V P                  P                   /pV P                  P"                  '       Ed   RV P                  P$                  P'                  R4      RV P                  P$                  P'                  R4      RV P                  P$                  P'                  R4      RV P                  P$                  P'                  R4      RV P                  P$                  P'                  R4      RV P                  P$                  P'                  R4      RV P                  P$                  P'                  R4      /pVP)                  V4       V P                  P*                  R,          P,                  '       d+   V P                  P*                  R,          P,                  VR&   VP)                  V P.                  4       \1        R/ VB V n        R# )zuvicorn.errorFzuvicorn.accessappN
log_configtimeout_keep_alivetimeout_notifycallback_notifylimit_max_requestsforwarded_allow_ipsssl_keyfilekeyfilessl_certfilecertfilessl_keyfile_passwordpasswordssl_versionssl_cert_reqs	cert_reqsssl_ca_certsca_certsssl_ciphersciphersbacklogr   )super__init__logging	getLoggerlog	error_loghandlerssetLevellevel	propagate
access_logcfg	keepalivetimeoutr!   max_requestsr#   is_sslssl_optionsgetupdatesettingsvaluer   r   config)selfr   r   loggerconfig_kwargs
ssl_kwargs	__class__s   &*,   r   r3   UvicornWorker.__init__    s5   $)&)""?3((,,55**001 ""#34((--66++112  4$ $(("4"4dllt33 $"3"3!488#?#?
 88???txx3377	B 4 4 8 8 D&(<(<(@(@(Ltxx3377F!5!5!9!9+!F 4 4 8 8 Dtxx3377	BJ   ,88Y'---'+xx'8'8'C'I'IM)$T//0-}-r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   J   s     	3 	3d 	3r   c                	   V P                    F(  p\        P                  ! V\        P                  4       K*  	  \        P                  ! \        P                  V P                  4       \        P
                  ! \        P                  R 4       R# )FN)SIGNALSsignalSIG_DFLSIGUSR1handle_usr1siginterrupt)rH   ss   & r   init_signalsUvicornWorker.init_signalsJ   sR     AMM!V^^,  	fnnd&6&67FNNE2r   c                   V ^8  d   QhRR/# rO   r   )r   s   "r   r   r   U   s     X X$ Xr   c                    \         P                  ! 4       pVP                  \        P                  V P
                  \        P                  R4       R# )zInstall a SIGQUIT handler on workers.

- https://github.com/Kludex/uvicorn/issues/1116
- https://github.com/benoitc/gunicorn/issues/2604
N)asyncioget_running_loopadd_signal_handlerrR   SIGQUIThandle_exit)rH   r   s   & r   _install_sigquit_handler&UvicornWorker._install_sigquit_handlerU   s5     '')0@0@&..RVWr   c                   V ^8  d   QhRR/# rO   r   )r   s   "r   r   r   _   s     0 0d 0r   c                	L  "   V P                   V P                  n        \        V P                  R 7      pV P	                  4        VP                  V P                  R7      G Rj  xL
  VP                  '       g'   \        P                  ! \        P                  4       R# R#  L>5i)rG   )socketsN)wsgirG   r   r	   ra   serverf   startedsysexitr   WORKER_BOOT_ERROR)rH   servers   & r   _serveUvicornWorker._serve_   sk     ))t{{+%%'ll4<<l000~~~HHW../  	1s   A!B$#B"$B$:)B$c                   V ^8  d   QhRR/# rO   r   )r   s   "r   r   r   g   s     W WT Wr   c                	h    \        V P                  4       V P                  P                  4       R 7      # ))loop_factory)r   rn   rG   get_loop_factoryrH   s   &r   runUvicornWorker.rung   s"    4;;=t{{7S7S7UVVr   c                   V ^8  d   QhRR/# rO   r   )r   s   "r   r   r   j   s      t r   c                	.   "   V P                  4        R # 5i)N)notifyrt   s   &r   r!   UvicornWorker.callback_notifyj   s     s   re   )__name__
__module____qualname____firstlineno____doc__r   __annotations__r3   rX   ra   rn   ru   r!   __static_attributes____classcell__)rL   s   @r   r   r      sH    
 &,VVV$DM>D(. (.T	3X0W r   r   c                  "    ] tR t^ntRRRR/tRtR# )UvicornH11Workerr   r\   r   h11r   N)r{   r|   r}   r~   r   r   r   r   r   r   r   n   s    Y6Mr   r   )
__future__r   r\   r4   rR   rj   warningstypingr   gunicorn.arbiterr   gunicorn.workers.baser   uvicorn._compatr   uvicorn.configr   uvicorn.serverr	   warnDeprecationWarningr   r   r   r   r   <module>r      sY    "    
   $ ( ' ! ! FSF Sl7} 7r   