+
     iiV                          ^ RI H t  ^ RIt^ RIt^ RIHtHt ^ RIHt ]P                  ! ]
4      t]P                  ! R4      t ! R R4      tR	R ltR#   ] d    Rt  LVi ; i)
    )datetimeN)PIPEPopen)dumpsz4.*?/usr/lib/python(\d(?:.\d+)?)/(site|dist)-packagesc                   ,   a  ] tR t^t o R tR tRtV tR# )memoizec                     Wn         / V n        R # N)funccache)selfr   s   &&(/usr/share/python3/debpython/__init__.py__init__memoize.__init__   s    	
    c                    \        W34      pW0P                  9  d    V P                  ! V/ VB V P                  V&   V P                  V,          # r
   )r   r   r   )r   argskwargskeys   &*, r   __call__memoize.__call__   sA    TN#jj "ii88DJJsOzz#r   )r   r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s      r   r   c           
     V   RRRVRV/pRpVRJ d   MVf   VP                  \        \        R7       MV'       d   \        V\        4      '       d   Rp\	        VR4      p\
        '       dB   VP                  R	P                  \
        P                  ! 4       P                  4       4      4       VP                  R
P                  \        V 4      4      4       VP                  4        VP                  W3R7       \        P                  RV 4       \        V 3/ VB ;_uu_ 4       pVP                  4       w  rxT;'       d    VP!                  4        \#        VP$                  T;'       d    \        VR4      T;'       d    \        VR4      R7      uuRRR4       #   + '       g   i     R# ; i)a  Execute external commad.

:param cdw: currennt working directory
:param env: environment
:param log_output:
    * opened log file or path to this file, or
    * None if output should be included in the returned dict, or
    * False if output should be redirectored to stdout/stderr
shellFcwdenvN)stdoutstderrTaz
# command executed on {}z
$ {}
zinvoking: %rzutf-8)
returncoder#   r$   )updater   
isinstancestropenr   writeformatnow	isoformatreprflushlogdebugr   communicateclosedictr&   )	commandr!   r"   
log_outputr   r4   processr#   r$   s	   &&&&     r   executer9      sJ    UE3s3DEU		4-	j#&&Ej#.J89@@AYAYA[\]**4=9::9IIng&	w	$		7 ,,.$$*""$w11!::c&'&:!::c&'&:< 
 			s    AF&F;FF(	)NNN)r   ImportErrorloggingre
subprocessr   r   pickler   	getLoggerr   r1   compilePUBLIC_DIR_REr   r9    r   r   <module>rC      s_   !  	 " !

RS	 	 </  Hs   A 	AA