
    ti                     n   d dl mZ d dlmZ d dlmZ deez  dee   fdZ	dee   dee   d	e
e   defd
Z	 ddedee   ee   z  ez  dz  defdZedk(  r`d dlZ eej                         dk  r+ edej                   d     d        ej$                  d        e eej                   d                yy)    )Sequence)Path)matchfnamereturnc                 h    t        | d      5 }|j                         cd d d        S # 1 sw Y   y xY w)Nzutf-8)encoding)open	readlines)r   fs     d/home/ubuntu/crypto_trading_bot/.venv/lib/python3.12/site-packages/torch/utils/_cpp_embed_headers.py	read_filer      s,    	eg	& !{{}  s   (1contentinclude_dirsprocessed_filesc                 d   t        |       D ]  \  }}|j                  d      rd| |<   t        d|      }|,|D ]b  }||d   z  }|j                         st	        |      |v rd| |<   /|j                  t	        |             t        t        |      ||      | |<      dj                  |       S )Nz#pragma once z^\s*#include\s*[<"]([^>"]+)[>"]   )		enumerate
startswith_matchexistsstradd_embed_headersr   join)r   r   r   line_idxcur_lineminclude_dirpaths           r   r   r      s     (0 (~. "GH6A9' 	K1%D;;=4yO+$&!D	* .$!GH 	( 777    Nc                    |8t        t              j                  j                  j                  }||dz  dz  g}n5t        |t              rt        |      g}n|D cg c]  }t        |       }}t        t        |       || h      S c c}w )Natensrc)r   __file__parent
isinstancer   r   r   )r   r   base_dirxs       r   embed_headersr+   %   s     >((//66 (V"3e";<	L#	&\*+)56AQ66)E*L5'BB 7s   B__main__   zUsage:
 z	 filenamer   )N)collections.abcr   pathlibr   rer   r   r   listr   setr   r+   __name__syslenargvprintexit r"   r   <module>r:      s    $  TCZ DI 
#Y&*4jCFs86 MQCC&smhtn<sBTICC z
388}q	#((1+i01	-
$% r"   