
    :!fA                      R   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 Zd Zedk(  rydej                  vr4ej                  d    dz   ej                  d <    ed       ej                  d = 	  ej                  ej                  d        e eej                               yy# e$ r Y !w xY w)    Nc                 
   | j                   Dt        t        j                  d      xt        _        }t        j                  |j                         ddl	m
} ddlm}mm} ddlm}m}m} | j&                  t        j(                  dk(  r|t        j*                  t        j,                               t        j,                         k7  rt        j.                          t        j0                         dk7  rt	        j2                  d       t        j4                  t        j6                  t        j
                  fD ]  }||j                           | j8                  r2j
                  xj:                  t=        j>                        z  c_        | j@                  | j@                  _         jC                  d       jE                  d	       | jF                  |_$        | j&                  =tK        jL                  t        jN                  d
      d      jQ                  d      |_$        i }		 |jS                  | jT                  | j                         \  }
}|
|d|	d<   | j&                  	 |jS                         \  }}||d|	d<   j[                  d| j&                  |j]                  |	             	 |j_                         }	 |ja                  d        |jc                  d| j&                  f       |je                  dd      }	 |jg                  |ji                  |	      jM                  d             |j                          	 |jk                  |       	 d|	v r&jo                  d       t	        j2                  d       t        jp                  d      oj[                  d|j]                  |	             fd}	 t        d      5 }t        j                  |       ts        |ji                  |	      |       d d d        | j                   |ju                  d       t        j                  |jv                         t        j                  |jv                         |jy                          j[                  d        |j{                          j[                  d!       y # tV        $ r(}| j&                   ddtY        |      z   i}	Y d }~td }~ww xY w# tV        $ r}ddtY        |      z   i}	Y d }~rd }~ww xY w# |j                          w xY w# |jk                  |       w xY w# tV        $ r jm                  d       Y w xY w# 1 sw Y   OxY w# tV        $ r jm                  d       Y ow xY w)"Nwr   )adapter)jsonlogsockets)clientsserverssessionsposixzdebugpy.adapter)prefixz$debugpy.adapter startup environment:    hexascii)hostportclienterrorz%Can't listen for client connections: serverz%Can't listen for server connections: z<Sending endpoints info to debug server at localhost:{0}:
{1}	127.0.0.1wbzutf-8z-Error sending endpoints info to debug server:z#Couldn't set up endpoints; exiting.   DEBUGPY_ADAPTER_ENDPOINTSz$Writing endpoints info to {0!r}:
{1}c                      j                  d        	 t        j                          y # t        $ r j	                  d d       Y y w xY w)Nz%Listener ports closed; deleting {0!r}zFailed to delete {0!r}warning)level)infoosremove	Exceptionswallow_exception)listener_filer   s   :/usr/lib/python3/dist-packages/debugpy/adapter/__main__.pydelete_listener_filez"main.<locals>.delete_listener_filei   sL    HH<mL		-( %%,m9 & s   + A
A)filez%Error writing endpoints info to file:stdiozAAll debug servers disconnected; waiting for remaining sessions...z'All debug sessions have ended; exiting.)>r   openr   devnullsysstderratexitregisterclosedebugpyr   debugpy.commonr   r   r   debugpy.adapterr	   r
   r   
for_servernamegetsidgetpidsetsidforkexitstdinstdout
log_stderrlevelssetLEVELSlog_dirto_filedescribe_environmentserver_access_tokenaccess_tokencodecsencodeurandomdecodeserver   r    strr   reprcreate_client
settimeoutconnectmakefilewritedumpsclose_socketreraise_exceptionr   getenvprintClientstop_servingwait_until_disconnectedwait_until_ended)argsr*   r   r   r   r	   r
   r   r&   	endpointsclient_hostclient_portexcserver_hostserver_portsocksock_ior$   fr"   r   s                      @@r#   mainrb      s=    yy"2::s33
V%11::"77g yy%4		wwyA~YY

CJJ6 	E 	 

S_,||llKK(K)CD33G%}}RZZ^UCJJ7SII#*==DII#F [ (3KH	("	M'.}}$K ,7"LIhKOOIIi 	
	S((*D	+%k4??;<--a0$MM$**Y"7">">w"GHMMO$$T* iII;<HHQKII9:M 3]DIIiDX	
		KmS) 5Q 45djj+!45 yyw
 OOG(()
OOG(()##%HHPQHH67W  R??"ECPQ	R  	V "ICPSH"TUI	V( MMO$$T* 	S!!"QR	S.5 5  	K!!"IJ	Ks   *)R# )S 1T) A T /S> 2T T) ?U 2U
=U #	S,SS	S; S66S;>TT T&&T) )UU
UU U54U5c                 R   t        j                         }|j                  dt        dt         j                         |j                  dt        d dd       |j                  dt
        dd	d
       |j                  dt
        d       |j                  dt
        d       |j                  dt
        dd       |j                  ddd       |j                  | dd        }|j                  :|j                  r|j                  d       |j                  |j                  d       |S )Nz--for-serverPORT)typemetavarhelpz--portz;start the adapter in debugServer mode on the specified port)re   defaultrf   rg   z--hostr   HOSTz;start the adapter in debugServer mode on the specified hostz--access-tokenz%access token expected from the server)re   rg   z--server-access-tokenz#access token expected by the serverz	--log-dirDIRz/enable logging and use DIR to save adapter logsz--log-stderr
store_truezenable logging to stderr)actionrg   r   z--log-stderr requires --portz--for-server requires --port)argparseArgumentParseradd_argumentintSUPPRESSrH   
parse_argsr   r:   r   r1   )argvparserrX   s      r#   _parse_argvru      sD   $$&F
S&x7H7H   J   J   s)P   c0U   >	   |2L   T!"X&Dyy??LL78??&LL78K    __main__r.   z/../../ )rm   r+   rC   localer   r)   rb   ru   __name__modulespath
__import__	setlocaleLC_ALLr    rs    rv   r#   <module>r      s   
     	 
v8r2j z, #hhqkI-9HHQK+ 	SXX	K >   		s   'B B&%B&