
    R"h?                        d dl mZmZ d dlmZ  G d de          Ze G d de                      Ze G d de                      Ze G d	 d
e                      Ze G d de                      Z	e G d de                      Z
dS )    )ABCabstractmethod)	dataclassc                   L    e Zd ZU eed<   eed<   edee         fd            ZdS )BrowserDataoffset
entry_typereturnc                     d S N selfs    L/home/seanl/mnt/public/Repos/DarkWeb_Forensics/Tor Memory Parsers/records.py
to_csv_rowzBrowserData.to_csv_row   s        N)	__name__
__module____qualname__int__annotations__strr   listr   r   r   r   r   r      sQ         KKKOOODI    ^  r   r   c                   F    e Zd ZU eed<   eed<   eed<   dee         fdZdS )BrowserActivityr   r	   datar
   c                 D    t          | j                  | j        | j        gS r   )r   r   r	   r   r   s    r   r   zBrowserActivity.to_csv_row   s    DK  $/49==r   Nr   r   r   r   r   r   r   r   r   r   r   r   r      sP         KKKOOO
III>DI > > > > > >r   r   c                   Z    e Zd ZU eed<   eed<   eed<   eed<   eed<   dee         fdZdS )	BrowserRequestmatch_offsetr	   private_browsing_idfirst_party_domainrequested_resourcer
   c                 \    t          | j                  | j        | j        | j        | j        gS r   )r   r!   r	   r"   r#   r$   r   s    r   r   zBrowserRequest.to_csv_row   s5    D%&&9QSWSjlp  mD  E  	Er   Nr   r   r   r   r    r       su         OOOEDI E E E E E Er   r    c                   Z    e Zd ZU eed<   eed<   eed<   eed<   eed<   dee         fdZdS )	TabDatar!   r	   urltitlefavicon_urlr
   c                 \    t          | j                  | j        | j        | j        | j        gS r   )r   r!   r	   r(   r)   r*   r   s    r   r   zTabData.to_csv_row(   s'    D%&&4:tO_``r   Nr   r   r   r   r'   r'       so         OOO	HHHJJJaDI a a a a a ar   r'   c                   x    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   d	ee         fd
ZdS )HttpRequestr!   r	   method
request_idr(   
origin_urldocument_urlrequest_typer
   c                     t          | j                  | j        | j        | j        | j        | j        | j        | j        gS r   )	r   r!   r	   r.   r/   r(   r0   r1   r2   r   s    r   r   zHttpRequest.to_csv_row6   sL    D%&&doW[W_aeaprv  sD  FJ  FW  X  	Xr   Nr   r   r   r   r-   r-   +   s         OOOKKKOOO	HHHOOOXDI X X X X X Xr   r-   c                   x    e Zd ZU eed<   eed<   eed<   eed<   eed<   eed<   eed<   eed<   d	ee         fd
ZdS )SocksRequestr!   r	   tls_metadatar(   
socks_info
second_urlr"   r#   r
   c           	          t          | j                  | j        | j        | j        | j        | j        | j        | j        | j        g	S r   )	r   r!   r	   r6   r(   r7   r8   r"   r#   r   s    r   r   zSocksRequest.to_csv_rowD   s[    D%&&$J[]a]egkgvx|  yH  JN  Jb  dh  d{  |  	|r   Nr   r   r   r   r5   r5   9   s         OOO	HHHOOOOOO|DI | | | | | |r   r5   N)abcr   r   dataclassesr   r   r   r    r'   r-   r5   r   r   r   <module>r<      s   # # # # # # # # ! ! ! ! ! !    #    > > > > >k > > > E E E E E[ E E E a a a a ak a a a X X X X X+ X X X | | | | |; | | | | |r   