
    Xfq	                     X    d dl Z d dlZd dlmZ d dlmZmZ  G d dej                  ZdS )    N)Union)objects
interfacesc                   h    e Zd Z	 	 ddej        j        deeej        j	        f         de
de
de
f
dZdS )	GenericIntelProcessNcontextdtbconfig_prefixpreferred_namereturnc                    |Od                     d t          d          D                       }t          j                            dd|z             }|)|j                            | j        j        dz             }n$||j        v r|j                            |          }|j        | j        j                 }|	                                }|j
        d	         |d	<   ||d
<   t          j                            ||          }|j
                            ||           |                    |||          }	|j                            |	           |S )zAConstructs a new layer based on the process's DirectoryTableBase.N c              3      K   | ]A}t          j                                        t          j        t          j        z             V  Bd S )N)randomSystemRandomchoicestringascii_uppercasedigits).0_s     `/home/panchajanya/Development/work/volatility3/volatility3/framework/symbols/generic/__init__.py	<genexpr>z9GenericIntelProcess._add_process_layer.<locals>.<genexpr>   sW       $ $ #%%,,V-Cfm-STT$ $ $ $ $ $       	temporaryr   _Process)prefixmemory_layerpage_map_offset)config_pathname)joinranger   configuration	path_joinlayersfree_layer_namevol
layer_namebuild_configurationconfigsplice	__class__	add_layer)
selfr   r	   r
   r   random_prefixparent_layerparent_configr!   	new_layers
             r   _add_process_layerz&GenericIntelProcess._add_process_layer   sq     GG $ $q$ $ $  M '4>>S=0 M
 !$^;;x*Z7 <  NN //!(!?!?~!?!V!V ~dh&9:$88:: )5(;N(Kn%+.'( !.88WWk=999 **> + 
 
	
 	  +++r   )NN)__name__
__module____qualname__r   r   ContextInterfacer   intr   ObjectInterfacestrr5    r   r   r   r      s{        
 ""- -#4- 3
*::;- 	-
 - 
- - - - - -r   r   )	r   r   typingr   volatility3.frameworkr   r   
StructTyper   r=   r   r   <module>rA      sz   
         5 5 5 5 5 5 5 5. . . . .', . . . . .r   