
    3Cf?K              '          d dl Z d dlZd dlZ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 d dlmZmZmZm	ZmZmZmZmZmZm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$ d	dl%m&Z&m'Z' d	dl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZc d	dldmeZe d	dlfmgZg d	dlhmiZimjZj d	dlkmlZlmmZmmnZn d	dlompZpmqZqmrZr d	dlsmtZtmuZumvZvmwZw d	dlxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZ d	dlmZmZmZmZmZmZmZmZmZ d	dlmZ d	dlmZmZmZmZmZmZmZmZmZmZmZ d	dlmZmZmZ dZ	 d dlmZ  ejN                  decd       ee   Zddddd d!ded"egegjV                  e"dddd#d$d%ee&ee&   f   d&eeeef      d'ee   d(ee$ee$   df   d)eeej                  eej                     f      d*ed+ed,ee   d-eed.      d/ed0ee   d1ed2eej\                     d3ed4ee   d5ee   d6ed7df$d8Zd9ed:   d;e jb                  d7dfd<Zddddd d!ded"egegjV                  e"dddd#dd=d%ee&ee&   f   d&eeeef      d'ee   d(ee$ee$   df   d)eeej                  eej                     f      d*ed+ed,ee   d-eed.      d/ed0ee   d1ed2eej\                     d3ed4ee   d5ee   d6ed;ee jb                     d7df&d>Zd?ee   d7dfd@ZedAk(  r eejl                  d	d        yy# e$ r eZY w xY w)B    N)ArgumentParser)Iterable)suppress)partial)import_module)
Any	AwaitableCallabler   ListOptionalSetTypeUnioncast)WeakSet   )AbstractAccessLogger)AppKey)access_logger)PathLike)ApplicationCleanupError);HTTPAcceptedHTTPBadGatewayHTTPBadRequestHTTPClientErrorHTTPConflictHTTPCreated	HTTPErrorHTTPExceptionHTTPExpectationFailedHTTPFailedDependencyHTTPForbidden	HTTPFoundHTTPGatewayTimeoutHTTPGoneHTTPInsufficientStorageHTTPInternalServerErrorHTTPLengthRequiredHTTPMethodNotAllowedHTTPMisdirectedRequestHTTPMoveHTTPMovedPermanentlyHTTPMultipleChoices!HTTPNetworkAuthenticationRequiredHTTPNoContentHTTPNonAuthoritativeInformationHTTPNotAcceptableHTTPNotExtendedHTTPNotFoundHTTPNotImplementedHTTPNotModifiedHTTPOkHTTPPartialContentHTTPPaymentRequiredHTTPPermanentRedirectHTTPPreconditionFailedHTTPPreconditionRequiredHTTPProxyAuthenticationRequiredHTTPRedirectionHTTPRequestEntityTooLargeHTTPRequestHeaderFieldsTooLargeHTTPRequestRangeNotSatisfiableHTTPRequestTimeoutHTTPRequestURITooLongHTTPResetContentHTTPSeeOtherHTTPServerErrorHTTPServiceUnavailableHTTPSuccessfulHTTPTemporaryRedirectHTTPTooManyRequestsHTTPUnauthorizedHTTPUnavailableForLegalReasonsHTTPUnprocessableEntityHTTPUnsupportedMediaTypeHTTPUpgradeRequiredHTTPUseProxyHTTPVariantAlsoNegotiatesHTTPVersionNotSupportedNotAppKeyWarning)FileResponse)AccessLogger)
middlewarenormalize_path_middleware)PayloadAccessErrorRequestHandlerRequestPayloadError)BaseRequest	FileFieldRequest)ContentCodingResponseStreamResponsejson_response)AbstractRouteDefRouteDefRouteTableDef	StaticDefdeletegetheadoptionspatchpostputroutestaticview)		AppRunner
BaseRunnerBaseSiteGracefulExitNamedPipeSiteServerRunnerSockSiteTCPSiteUnixSite)Server)AbstractResourceAbstractRouteDynamicResourcePlainResourcePrefixedSubAppResourceResourceResourceRouteStaticResourceUrlDispatcherUrlMappingMatchInfoView)WebSocketReadyWebSocketResponse	WSMsgType)rr   r   r   rS   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rT   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   ru   rv   rw   rx   rt   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   run_app)
SSLContextignoreT)categoryappendg      N@g     R@   F)hostportpathsockshutdown_timeoutkeepalive_timeoutssl_contextprintbacklogaccess_log_classaccess_log_format
access_loghandle_signalsreuse_address
reuse_porthandler_cancellationappr   r   r   r   r   r   r   r   ).Nr   r   r   r   r   r   r   r   returnc                >  K   dddt         dd ffd}ddt        j                  |       r
|  d {   } t        t        |       } t        | ||
|||||      }|j                          d {    t        t        j                               }t        |||      |_
        g }	 |kt        |t        t        t        t        f      r"|j!                  t#        |||||	||             nO|D ]#  }|j!                  t#        |||||	||             % n&||| |j!                  t#        ||||	||	             |dt        |t        t$        j&                  f      r|j!                  t)        ||||	
             n%|D ]   }|j!                  t)        ||||	
             " |Tt        |t*              s|j!                  t-        ||||	
             n%|D ]   }|j!                  t-        ||||	
             " |D ]  }|j/                          d {     |rBt1        d |j2                  D              } |dj5                  dj7                  |                   	 t        j8                  d       d {    7 C7 7 o7 # |j;                          d {  7   w xY ww)Nstarting_tasksWeakSet[asyncio.Task[object]]r   r   c                 
  K   t        j                         }|J | j                  |       t        t         j                        5  t        j
                   |       |       d {    d d d        y 7 # 1 sw Y   y xY ww)N)timeout)asynciocurrent_taskaddr   TimeoutErrorwait_for)r   r   t_waits      K/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/aiohttp/web.pywaitz_run_app.<locals>.waitC  s{        "}}1g**+ 	T""5#8BRSSS	T 	TS	T 	Ts0   AB!A7'A5(A7,	B5A77B <Bc                 4  K   t        j                         }|J | j                  |       t        j                         j	                  |       x}rDt        j
                  |       d {    t        j                         j	                  |       x}rCy y 7 ,wN)r   r   r   	all_tasks
differencer   )excluder   taskss      r   r   z_run_app.<locals>._waitM  s~       "}}A((*55g>>e>,,u%%% ((*55g>>e>%s   A'B)B*)BB)r   r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   )r   r   c              3   F   K   | ]  }t        |j                          y wr   )strname).0ss     r   	<genexpr>z_run_app.<locals>.<genexpr>  s     =13qvv;=s   !z6======== Running on {} ========
(Press CTRL+C to quit)z, i  )r   r   r   N)floatr   iscoroutiner   r   rp   setupr   r   r   shutdown_callback
isinstancer   bytes	bytearray
memoryviewr   rw   osr   rx   r   rv   startsortedsitesformatjoinsleepcleanup)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   runnerr   r   hpr   sitenamesr   s                             @r   _run_appr   /  s    (T7TKPT	T& 3i
{C
 C%)++)1	F ,,.
 7>g>O>O>Q6RN&t^=MNFE^$eY
 CD$/ '&3#-
  ALL" (3$+*7'1
 \dld.>LL +#"/)	 $bkk 23$/ '	  ALL "(3$+	 dH-$/ '	  ALL "(3$+	  	D**,	 ===E))/		%0@)A --%%% i  v  &nnsk   /JI5:J-I8.5J$E'I? I;A#I? /I=0I? 5J8J;I? =I? ?JJJJ	to_cancelzasyncio.Task[Any]loopc                    | sy | D ]  }|j                           |j                  t        j                  | ddi       | D ]G  }|j	                         r|j                         %|j                  d|j                         |d       I y )Nreturn_exceptionsTz1unhandled exception during asyncio.run() shutdown)message	exceptiontask)cancelrun_until_completer   gather	cancelledr   call_exception_handler)r   r   r   s      r   _cancel_tasksr     s       	GNNINNO 
>>>>'''R!%!1 	
    )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                   |t        j                         }|j                         r|r~|j                  dk(  ro|j                  t
        j                  k(  r|j                  t
        j                         |j                         s#|j                  t        j                                |j                  t        | fi d|d|d|d|d|d|d	|d
|d|	d|
d|d|d|d|d|d|      }	 t        j                  |       |j                  |       t%        |h|       t%        t        j&                  |      |       |j                  |j)                                |j+                          y# t         t"        f$ r Y mw xY w# t%        |h|       t%        t        j&                  |      |       |j                  |j)                                |j+                          w xY w)zRun an app locallyNzaiohttp.accessr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   new_event_loop	get_debugr   levelloggingNOTSETsetLevelDEBUGhasHandlers
addHandlerStreamHandlercreate_taskr   set_event_loopr   rs   KeyboardInterruptr   r   shutdown_asyncgensclose)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	main_tasks                      r   r   r     s   , |%%' ~~J:??>N+Nw~~-.%%'!!'"7"7"9:  	
	
 	
 		

 	
 .	
 0	
 $	
 	
 	
 .	
 0	
 "	
 *	
 (	
  "!	
" "6#	
I,	t$	* 	yk4(g''-t4 7 7 9:

 +,  	yk4(g''-t4 7 7 9:

s%   1&E3 3FF FF AG%argvc                    t        dd      }|j                  ddd       |j                  dd	d
d       |j                  dddt        d       |j                  ddd       |j                  |       \  }}|j                  j                  d      \  }}}|r|s|j                  d       |j                  d      r|j                  d       	 t        |      }	 t        |      }	|j                  !t        t        d      s|j                  d       t        j                   t        j"                           	|      }
t%        |
|j&                  |j(                  |j                  !       |j+                  d"#       y # t        $ r!}|j                  d| d|        Y d }~d }~ww xY w# t        $ r |j                  d|d|       Y w xY w)$Nzaiohttp.web Application serverzaiohttp.web)descriptionprog
entry_funczvCallable returning the `aiohttp.web.Application` instance to run. Should be specified in the 'module:function' syntax.z
entry-func)helpmetavarz-Hz
--hostnamez2TCP/IP hostname to serve on (default: %(default)r)	localhost)r   defaultz-Pz--portz.TCP/IP port to serve on (default: %(default)r)8080)r   typer   z-Uz--pathzjUnix file system path to serve on. Specifying a path will cause hostname and port arguments to be ignored.)r   :z,'entry-func' not in 'module:function' syntax.z#relative module names not supportedzunable to import z: zmodule z has no attribute AF_UNIXz=file system paths not supported by your operating environment)r   )r   r   r   zStopped
)r   )r   add_argumentintparse_known_argsr   	partitionerror
startswithr   ImportErrorgetattrAttributeErrorr   hasattrsocketr   basicConfigr   r   hostnamer   exit)r   
arg_parserargs
extra_argvmod_str_func_strmoduleexfuncr   s              r   mainr  *  s   4=J H    A	   =   5   "2248D*  ??44S9GQ7GH#>?>w'Nvx(
 yyWVY%?N	
 gmm,
z
CCdmm$))$))DOOKO(#  >,WIRt<==>  N77+-?|LMNs*   F F. 	F+
F&&F+. GG__main__)r   r   r   r  syswarningsargparser   collections.abcr   
contextlibr   	functoolsr   	importlibr   typingr   r	   r
   TypingIterabler   r   r   r   r   r   weakrefr   abcr   helpersr   logr   typedefsr   web_appr   r   web_exceptionsr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   web_fileresponserT   web_logrU   web_middlewaresrV   rW   web_protocolrX   rY   rZ   web_requestr[   r\   r]   web_responser^   r_   r`   ra   web_routedefrb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   
web_runnerrp   rq   rr   rs   rt   ru   rv   rw   rx   
web_serverry   web_urldispatcherrz   r{   r|   r}   r~   r   r   r   r   r   r   web_wsr   r   r   __all__sslr   r  filterwarningsr   HostSequencer   
LOG_FORMATr   r   Loggerboolr   AbstractEventLoopr   r   r  __name__r    r   r   <module>r;     s     	  
  # $   #    % %   M< < < < < < < < < < < < < < < <z ; ! 
 
     
 
 
 )    @F
   +;D Ic" 04<@JN"#(,+03?)44+8$(!%!&%^	{Ik22	3^ 5l*+
,^ 3-	^
 .2D8
9^ 5v}}(EEF
G^ ^ ^ *%^ HY'(^ ^ /0^ ^ (^ ^  D>!^" #^$ %^& 
'^B&'/6/H/H	6 04<@JN"#(,+03?)44+8$(!%!&04'?	{Ik22	3? 5l*+
,? 3-	?
 .2D8
9? 5v}}(EEF
G? ? ? *%? HY'(? ? /0? ? (? ?  D>!?" #?$ %?& 7,,
-'?( 
)?D:)tCy :)T :)z z!" C
  Js   L8 8MM