+
    i  c            	       s^   ^ RI HtHt ^ RIt^ RIt^ RIHt ^ RIH	t	 Rt
. ROtR]
,           t]	! 4       R	,           ]P                  P                  4       ^ ,          ,           t]R
,           ],           t ! R R]4      t ! R R]4      t ! R R]4      tR t]]3R lt]R8X  dx   ]! RR]4      ;_uu_ 4       t]P0                  P3                  4       t]! R]^ ,          R]^,          R4       ^ RIt]P:                  ! R4       ]P=                  4        RRR4       R# R#   + '       g   i     R# ; i)    )BaseHTTPRequestHandler
HTTPServerN)SimpleHandler)python_implementationz0.2
WSGIServerWSGIRequestHandlerWSGIServer/Z/ c                   s*   a  ] tR t^t o ]tR tRtV tR# )ServerHandlerc                s     V P                   P                  V P                  P                  R ^4      ^ ,          V P                  4       \
        P                  ! V 4       R#   \
        P                  ! T 4       i ; i)r   N)request_handlerZlog_requestZstatussplitZ
bytes_sentr   closeself   &./usr/lib64/python3.14/wsgiref/simple_server.pyr   ZServerHandler.close    sY    	&  ,,!!#a(+T__ %M%s   AA! !A9 N)	__name__
__module____qualname____firstlineno__software_versionZserver_softwarer   __static_attributes____classdictcell__Z__classdict__   @r   r	   r	      s     &O& &    r	   c                   s<   a  ] tR t^*t o RtR tR tR tR tRt	V t
R# )r   Nc                sR    \         P                  ! V 4       V P                  4        R # N)r   server_bindsetup_environr   r   r   r   ZWSGIServer.server_bind0   s    t$r   c                s    / ;qn         V P                  VR &   RVR&   \        V P                  4      VR&   RVR&   RVR&   RVR&   R# )	ZSERVER_NAMEzCGI/1.1ZGATEWAY_INTERFACEZSERVER_PORT ZREMOTE_HOSTCONTENT_LENGTHZSCRIPT_NAMEN)base_environZserver_nameZstrZserver_port)r   env   & r   r   ZWSGIServer.setup_environ5   s\    "$$!--M#,  !1!12MM Mr   c                s    V P                   # r   applicationr   r   r   get_appZWSGIServer.get_app?   s    r   c                s    Wn         R # r   r$   )r   r%   s   &&r   set_appZWSGIServer.set_appB   s    &r   )r%   r!   )r   r   r   r   r%   r   r   r&   r'   r   r   r   r   r   r   r   *   s%      K
  ' 'r   c                   sD   a  ] tR t^Gt o R],           tR tR tR tRt	V t
R# )r   r   c                s   V P                   P                  P                  4       pV P                  VR &   V P                  VR&   V P
                  VR&   RV P                  9   d    V P                  P                  R^4      w  r#MV P                  Rr2\        P                  P                  VR4      VR&   W1R&   V P                  ^ ,          VR&   V P                  P                  R	4      f   V P                  P                  4       VR
&   MV P                  R	,          VR
&   V P                  P                  R4      pV'       d   WAR&   V P                  P                  4        Fz  w  rVVP!                  RR4      P#                  4       qVP%                  4       pWQ9   d   K<  RV,           V9   d&   VRV,           ;;,          RV,           ,          uu&   Ko  WaRV,           &   K|  	  V# )ZSERVER_PROTOCOLZSERVER_SOFTWAREZREQUEST_METHODZ?r   z
iso-8859-1Z	PATH_INFOZQUERY_STRINGZREMOTE_ADDRzcontent-typeZCONTENT_TYPEzcontent-lengthr    Z-Z_ZHTTP_Z,)serverr!   Zcopyrequest_versionserver_versioncommandpathr   urllibZparseZunquoteZclient_addressZheadersZgetZget_content_typeitemsZreplaceZupperZstrip)r   r"   r,   ZqueryZlengthkvs   &      r   get_environZWSGIRequestHandler.get_environK   s   kk&&++-!%!5!5!%!4!4 $$))Q/JD2!<<//lCK#N!003M<<N+3"&,,"?"?"AC"&,,~">C!!"23$* !LL&&(DAiiC &&(AGGI!xqyCGAI#a%'!"GAI ) 
r   c                s"    \         P                  # r   )sysZstderrr   r   r   
get_stderrZWSGIRequestHandler.get_stderrl   s    zzr   c                s   V P                   P                  R 4      V n        \        V P                  4      R8  d)   RV n        RV n        RV n        V P                  R4       R# V P                  4       '       g   R# \        V P                   V P                  V P                  4       V P                  4       RR7      pWn        VP                  V P                  P!                  4       4       R# )i  i   r   i  NF)Zmultithread)ZrfileZreadlineraw_requestlineZlenrequestliner)   r+   Z
send_errorZparse_requestr	   Zwfiler3   r1   r
   Zrunr(   r&   )r   Zhandlerr#   r   handleZWSGIRequestHandler.handleo   s      $zz2259t##$u,!D#%D DLOOC !!##JJ

DOO$5t7G7G7I
 #'DKK'')*r   )r+   r4   r)   r5   N)r   r   r   r   __version__r*   r1   r3   r6   r   r   r   r   r   r   r   G   s$     "[0NB+ +r   c                 s   ^ RI Hp V! 4       p\        RVR7       \        VR7       \        V P	                  4       4      pV F  w  rV\        VR\        V4      VR7       K  	  V! RR.4       VP                  4       P                  R4      .# )r    )StringIOzHello world!)ZfileZ=z200 OKzutf-8)zContent-Typeztext/plain; charset=utf-8)Zior8   printZsortedr.   ZreprZgetvalueZencode)ZenvironZstart_responser8   ZstdoutZhr/   r0   s   &&     r   demo_appr:      su    ZF	.v&	vw}}AaDG&) 8JKLOO$$W-..r   c                 s<    V! W3V4      pVP                  V4       V# r   )r'   )ZhostportZappZserver_classZhandler_classr(   s   &&&&& r   make_serverr<      s#     4,6F
NN3Mr   Z__main__r   i@  zServing HTTP onr;   z...zhttp://localhost:8000/xyz?abc)r   r   r:   r<   )Zhttp.serverr   r   r2   Zurllib.parser-   Zwsgiref.handlersr   Zplatformr   r7   Z__all__r*   Zversionr   Zsys_versionr   r	   r   r   r:   r<   r   ZhttpdZsocketZgetsocknameZsar9   Z
webbrowserZopenZhandle_requestr   r   r   <module>r=      s   ; 
  * *
I ,#%+ckk.?.?.A!.DD!C'+5 
&M 
&' ':;+/ ;+~	/ #-<N z	Rx	(	(E\\%%'A1u=78 
)	( 	(	(	(s   4ADD,	