+
    ¶¬‚jº#  ã                   ó\  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
HtH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 ]
'       d   ^ RIt]P6                  tM ^ RIt]P6                  tRt ! R R
]P>                  4      t  ! R R] 4      t!R#   ] d    Rt]t L1i ; i)z%Async gunicorn worker for aiohttp.webN)Ú	FrameType)ÚTYPE_CHECKINGÚAnyÚOptional)ÚAccessLogFormat)Úbase)Úweb)Ú
set_result)ÚApplication)ÚAccessLoggerÚGunicornWebWorkerÚGunicornUVLoopWebWorkerc                   ó6  a a€ ] tR t^&t o]P
                  t]P                  t	V3R lV 3R llt
V3R lV 3R lltV3R lR ltV3R lR ltV3R	 lR
 ltRV3R lR lltV3R lR ltV3R lR ltV3R lR lt]V3R lR l4       tV3R lR ltRtVtV ;t# )r   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )é   ÚargsÚkwÚreturnN©r   )ÚformatÚ__classdict__s   "€ÚK/Users/cheyod/AIGC/DSH/.venv/lib/python3.14/site-packages/aiohttp/worker.pyÚ__annotate__ÚGunicornWebWorker.__annotate__*   s'   ø€ ÷ @ñ @™cð @©ð @°ñ @ó    c                óR   <€ \         SV `  ! V/ VB  R V n        ^ V n        R V n        R # ©N)ÚsuperÚ__init__Ú_taskÚ	exit_codeÚ_notify_waiter)Úselfr   r   Ú	__class__s   &*,€r   r   ÚGunicornWebWorker.__init__*   s+   ø€ Ü‰Ò˜$Ð% "Ò%à04ˆŒ
ØˆŒØ;?ˆÖr   c                ó   <€ V ^8„  d   QhRR/# ©r   r   N© )r   r   s   "€r   r   r   1   s   ø€ ÷ ñ ˜dñ r   c                ó  <€  \         P                  ! 4       P                  4        \         P                  ! 4       V n        \         P                  ! V P
                  4       \        SV `!  4        R #   \         d     LWi ; ir   )	ÚasyncioÚget_event_loopÚcloseÚRuntimeErrorÚnew_event_loopÚloopÚset_event_loopr   Úinit_process)r"   r#   s   &€r   r0   ÚGunicornWebWorker.init_process1   s`   ø€ ð	Ü×"Ò"Ó$×*Ñ*Ô,ô
 ×*Ò*Ó,ˆŒ	Ü×Ò˜tŸy™yÔ)ä‰ÑÖøô ô 	áð	ús   ƒ#A0 Á0A>Á=A>c                ó   <€ V ^8„  d   QhRR/# r&   r'   )r   r   s   "€r   r   r   >   s   ø€ ÷ !ñ !�Tñ !r   c                ó:  € R V n         V P                  P                  V P                  4       4      V n         V P                  P                  V P                  4       V P                  P                  V P                  P                  4       4       V P                  P                  4        \        P                  ! V P                  4       R#   T P                  P                  T P                  P                  4       4       T P                  P                  4        i ; i©FN)Úbootedr.   Úcreate_taskÚ_runr   Úrun_until_completeÚshutdown_asyncgensr+   ÚsysÚexitr    ©r"   s   &r   ÚrunÚGunicornWebWorker.run>   s°   € ð ˆŒà—Y‘Y×*Ñ*¨4¯9©9«;Ó7ˆŒ
ð	Ø�I‰I×(Ñ(¨¯©Ô4à�I‰I×(Ñ(¨¯©×)EÑ)EÓ)GÔHØ�I‰I�O‰OÔä�Š�—‘Ö øð �I‰I×(Ñ(¨¯©×)EÑ)EÓ)GÔHØ�I‰I�O‰OÕús   ·%C ÃADc                ó   <€ V ^8„  d   QhRR/# r&   r'   )r   r   s   "€r   r   r   P   s   ø€ ÷ Hñ H˜Dñ Hr   c           	   ƒ  óJ  "  € R p\        V P                  \        4      '       d   V P                  pMÃ\        P                  ! V P                  4      '       g<   \
        P                  R8  dq   \        P                  ! V P                  4      '       dK   V P                  4       G R j  x€L
 p\        V\        P                  4      '       d   TpVP                  pMTpM\        RV P                   24      hVf´   V P                  P                  '       d   V P                  P                  MR p\        P                  ! VV P                  V P                  P                   VV P#                  V P                  P$                  4      V P                  P&                  ^d,          ^_,          R7      pVP)                  4       G R j  x€L
  V P                  P*                  '       d   V P-                  V P                  4      MR pTpVf   Q hVP.                  pVf   Q hV P0                   F4  p\        P2                  ! VVVR7      pVP5                  4       G R j  x€L
  K6  	  RV n        \8        P:                  ! 4       p	 V P<                  '       dá   V P?                  4        VP@                  p
V PB                  '       d6   W PB                  8”  d&   RV n        V P                  PE                  RV 4       Ku  V	\8        P:                  ! 4       8X  dJ   V PF                  \8        PH                  ! 4       8w  d&   RV n        V P                  PE                  RV 4       KØ  V PK                  4       G R j  x€L
  Kò   VPO                  4       G R j  x€L
  R #  ELß ELÉ EL9 L*  \L         d     L2i ; i L"5i)	NzSwsgi app should be either Application or async function returning Application, got )ÚloggerÚkeepalive_timeoutÚ
access_logÚaccess_log_formatÚshutdown_timeout)Ússl_contextTFzMax requests, shutting down: %sz!Parent changed, shutting down: %s)é   é   )(Ú
isinstanceÚwsgir
   ÚinspectÚiscoroutinefunctionr:   Úversion_infor)   r   Ú	AppRunnerÚappr,   ÚcfgÚ	accesslogÚlogrC   Ú	keepaliveÚ_get_valid_log_formatrD   Úgraceful_timeoutÚsetupÚis_sslÚ_create_ssl_contextÚserverÚsocketsÚSockSiteÚstartr5   ÚosÚgetpidÚaliveÚnotifyÚrequests_countÚmax_requestsÚinfoÚppidÚgetppidÚ_wait_next_notifyÚ	ExceptionÚcleanup)r"   ÚrunnerrO   rJ   rC   ÚctxrY   ÚsockÚsiteÚpidÚcnts   &          r   r7   ÚGunicornWebWorker._runP   s·  é € ØˆÜ�d—i‘i¤×-Ò-Ø—)‘)‰CÜ×(Ò(¨¯©×3Ò3Ü×Ñ˜wÔ&¬7×+FÒ+FÀtÇyÁy×+QÒ+QàŸ™›×$ˆDÜ˜$¤§¡×.Ò.Ø�Ø—j‘j‘à‘äð=Ø=A¿Y¹Y¸KðIóð ð
 Š>Ø04·±×0B×0BÐ0B˜Ÿ™×,Ò,ÈˆJÜ—]’]ØØ—x‘xØ"&§(¡(×"4Ñ"4Ø%Ø"&×"<Ñ"<Ø—H‘H×.Ñ.ó#ð "&§¡×!:Ñ!:¸SÕ!@À2Õ!Eô	ˆFð �l‰l‹n×Ðà48·H±H·O·O°Oˆd×&Ñ& t§x¡xÔ0ÈˆàˆØÒ!Ð!Ð!Ø—‘ˆØÒ!Ð!Ð!Ø—L”LˆDÜ—<’<ØØØôˆDð
 —*‘*“,×Òñ !ð ˆŒô �iŠi‹kˆð	Ø—*—*�*Ø—‘”à×+Ñ+�Ø×$×$Ð$¨×/@Ñ/@Ô)@Ø!&�D”JØ—H‘H—M‘MÐ"CÀTÖJàœBŸIšI›KÔ'¨D¯I©I¼¿º»Ô,EØ!&�D”JØ—H‘H—M‘MÐ"EÀtÖLà×0Ñ0Ó2×2Ò2ð ð  �n‰nÓ×ÒòC %ò0 	ò ñ. 3øÜô 	Ùð	úñ 	ùs    ‚AN#Á:N#ÂN#Â&NÂ'A-N#ÄB*N#Æ?NÇ N#Ç A2N#ÉNÉ$N#É8N Ê
-N Ê8B+N Í#NÍ$N Í*N#Í>N!Í?N#ÎN#ÎN#ÎN ÎNÎN#ÎNÎN#c                ó   <€ V ^8„  d   QhRR/# )r   r   úasyncio.Future[bool]r'   )r   r   s   "€r   r   r   š   s   ø€ ÷ ñ Ð#9ñ r   c                óÆ   € V P                  4        V P                  pVf   Q hVP                  4       ;V n        pV P                  P	                  RV P                   V4       V# )Ng      ð?)Ú_notify_waiter_doner.   Úcreate_futurer!   Ú
call_later)r"   r.   Úwaiters   &  r   rf   Ú#GunicornWebWorker._wait_next_notifyš   sZ   € Ø× Ñ Ô"à�y‰yˆØÒÐÐØ'+×'9Ñ'9Ó';Ð;ˆÔ˜fØ�	‰	×Ñ˜S $×":Ñ":¸FÔCàˆr   c                ó2   <€ V ^8„  d   QhRS[ R,          RR/# )r   rv   rq   r   N)r   )r   r   s   "€r   r   r   ¤   s#   ø€ ÷ 	'ñ 	'ÙÐ5Õ6ð	'à	ñ	'r   c                óv   € Vf   V P                   pVe   \        VR4       WP                   J d
   R V n         R # R # )NT)r!   r	   )r"   rv   s   &&r   rs   Ú%GunicornWebWorker._notify_waiter_done¤   s=   € ð Š>Ø×(Ñ(ˆFØÒÜ�v˜tÔ$à×(Ñ(Ó(Ø"&ˆDÖñ )r   c                ó   <€ V ^8„  d   QhRR/# r&   r'   )r   r   s   "€r   r   r   ¯   s   ø€ ÷ $6ñ $6˜dñ $6r   c                ó0  € V P                   P                  \        P                  V P                  \        P                  R 4       V P                   P                  \        P
                  V P                  \        P
                  R 4       V P                   P                  \        P                  V P                  \        P                  R 4       V P                   P                  \        P                  V P                  \        P                  R 4       V P                   P                  \        P                  V P                  \        P                  R 4       V P                   P                  \        P                  V P                  \        P                  R 4       \        P                  ! \        P
                  R4       \        P                  ! \        P                  R4       \        P                  ! \        P                  \        P                   4       R # )NF)r.   Úadd_signal_handlerÚsignalÚSIGQUITÚhandle_quitÚSIGTERMÚhandle_exitÚSIGINTÚSIGWINCHÚhandle_winchÚSIGUSR1Úhandle_usr1ÚSIGABRTÚhandle_abortÚsiginterruptÚSIGCHLDÚSIG_DFLr<   s   &r   Úinit_signalsÚGunicornWebWorker.init_signals¯   sF  € ð 	�	‰	×$Ñ$Ü�N‰N˜D×,Ñ,¬f¯n©n¸dô	
ð 	�	‰	×$Ñ$Ü�N‰N˜D×,Ñ,¬f¯n©n¸dô	
ð 	�	‰	×$Ñ$Ü�M‰M˜4×+Ñ+¬V¯]©]¸Dô	
ð 	�	‰	×$Ñ$Ü�O‰O˜T×.Ñ.´·±Àô	
ð 	�	‰	×$Ñ$Ü�N‰N˜D×,Ñ,¬f¯n©n¸dô	
ð 	�	‰	×$Ñ$Ü�N‰N˜D×-Ñ-¬v¯~©~¸tô	
ô 	×ÒœFŸN™N¨EÔ2Ü×ÒœFŸN™N¨EÔ2ô 	�Š”f—n‘n¤f§n¡nÖ5r   c                ó8   <€ V ^8„  d   QhRS[ RS[R,          RR/# ©r   ÚsigÚframeNr   ©Úintr   )r   r   s   "€r   r   r   Õ   s'   ø€ ÷ #ñ #™sð #©9°tÕ+;ð #Àñ #r   c                ój   € R V n         V P                  P                  V 4       V P                  4        R# r4   )r_   rP   Ú
worker_intrs   ©r"   r‘   r’   s   &&&r   r€   ÚGunicornWebWorker.handle_quitÕ   s+   € ØˆŒ
ð 	�‰×Ñ˜DÔ!ð 	× Ñ Ö"r   c                ó8   <€ V ^8„  d   QhRS[ RS[R,          RR/# r�   r“   )r   r   s   "€r   r   r   Þ   s'   ø€ ÷ ñ ¡ð ©I¸Õ,<ð Àñ r   c                ó„   € R V n         ^V n        V P                  P                  V 4       \        P
                  ! ^4       R# r4   )r_   r    rP   Úworker_abortr:   r;   r—   s   &&&r   r‰   ÚGunicornWebWorker.handle_abortÞ   s-   € ØˆŒ
ØˆŒØ�‰×Ñ˜dÔ#Ü�Š�Žr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   rP   r   Ú
SSLContextr   )r   r   s   "€r   r   r   å   s   ø€ ÷ ñ ¡ð ¨ñ r   c                óŽ  € \         f   \        R4      h\         P                  ! V P                  4      pVP	                  V P
                  V P                  4       V P                  Vn        V P                  '       d   VP                  V P                  4       V P                  '       d   VP                  V P                  4       V# )znCreates SSLContext instance for usage in asyncio.create_server.

See ssl.SSLSocket.__init__ for more details.
zSSL is not supported.)Ússlr,   rž   Ússl_versionÚload_cert_chainÚcertfileÚkeyfileÚ	cert_reqsÚverify_modeÚca_certsÚload_verify_locationsÚciphersÚset_ciphers)rP   rj   s   & r   rX   Ú%GunicornWebWorker._create_ssl_contextä   sƒ   € ô Š;ÜÐ6Ó7Ð7ä�nŠn˜SŸ_™_Ó-ˆØ×Ñ˜CŸL™L¨#¯+©+Ô6ØŸ-™-ˆŒØ�<�<ˆ<Ø×%Ñ% c§l¡lÔ3Ø�;�;ˆ;Ø�O‰O˜CŸK™KÔ(Øˆ
r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   Úsource_formatr   )Ústr)r   r   s   "€r   r   r   ö   s   ø€ ÷ !ñ !±3ð !¹3ñ !r   c                óŽ   € WP                   8X  d   V P                  # \        P                  ! R V4      '       d   \	        R4      hV# )z%\([^\)]+\)zêGunicorn's style options in form of `%(name)s` are not supported for the log formatting. Please use aiohttp's format specification to configure access log formatting: http://docs.aiohttp.org/en/stable/logging.html#format-specification)ÚDEFAULT_GUNICORN_LOG_FORMATÚDEFAULT_AIOHTTP_LOG_FORMATÚreÚsearchÚ
ValueError)r"   r­   s   &&r   rT   Ú'GunicornWebWorker._get_valid_log_formatö   sE   € Ø×<Ñ<Ô<Ø×2Ñ2Ð2Ü�YŠY�~ }×5Ò5Üð(óð ð !Ð r   )r!   r   r_   r5   r    r.   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú
LOG_FORMATr±   ÚGunicornAccessLogFormatÚdefaultr°   r   r0   r=   r7   rf   rs   r�   r€   r‰   ÚstaticmethodrX   rT   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r#   r   s   @@r   r   r   &   s    ù‡ € Ø!-×!8Ñ!8ÐØ"9×"AÑ"AÐ÷@ó @÷ó ÷!ð !÷$Hð H÷Tð ÷	'ò 	'÷$6ð $6÷L#ð #÷ð ð ÷ó ð÷"!÷ !ð !r   c                   ó>   a a€ ] tR tRt oV3R lV 3R lltRtVtV ;t# )r   i  c                ó   <€ V ^8„  d   QhRR/# r&   r'   )r   r   s   "€r   r   Ú$GunicornUVLoopWebWorker.__annotate__  s   ø€ ÷ ñ ˜dñ r   c                óÞ   <€ ^ RI p \        P                  ! 4       P                  4        \        P
                  ! VP                  4       4       \        SV `!  4        R#   \         d     LAi ; i)é    N)	Úuvloopr)   r*   r+   r,   Úset_event_loop_policyÚEventLoopPolicyr   r0   )r"   rÇ   r#   s   & €r   r0   Ú$GunicornUVLoopWebWorker.init_process  sX   ø€ Ûð	Ü×"Ò"Ó$×*Ñ*Ô,ô 	×%Ò% f×&<Ñ&<Ó&>Ô?ä‰ÑÖøô ô 	áð	ús   ‡#A ÁA,Á+A,r'   )r¶   r·   r¸   r¹   r0   r¾   r¿   rÀ   rÁ   s   @@r   r   r     s   ù‡ € ÷÷ ó r   )r   r   )"Ú__doc__r)   rK   r]   r²   r~   r:   Útypesr   Útypingr   r   r   Úgunicorn.configr   r»   Úgunicorn.workersr   Úaiohttpr   Úhelpersr	   Úweb_appr
   Úweb_logr   r    rž   ÚImportErrorÚobjectÚ__all__ÚWorkerr   r   r'   r   r   Ú<module>rØ      s˜   ðÙ +ã Û Û 	Û 	Û Û 
Ý ß /Ñ /å FÝ !å å Ý  Ý !çÛà—‘�JðÛà—^‘^ˆ
ð ;€ô\!˜Ÿ™ô \!ô~Ð/ö øðO ô ØˆØŠ
ðús   Á)B ÂB+Â*B+