
    	h*              	       ,   S r SSKrSSKrSSKrSSKrSSKJrJrJr  Sr	Sr
SrSrSrS	 rS
 rS>S jrS rS?S jrS rS rS rS rS rS rS>S jrS r\S:X  Ga:  \R8                  " S\ S9r\R=                  SSSSSSS9  \R=                  S S!S"S#S$9  \R=                  S S%S&S'9  \R=                  S S(S)S'9  \R=                  S S*S+S'9  \R=                  S S,S-S'9  \R=                  S S.S/S'9  \R=                  S S0S1S'9  \R=                  S S2S3S'9  \R=                  S S4S5S6S79  \R=                  S S8S9S:S79  \R=                  S S;S<S'9  \R?                  5       u  r r!\!(       d  \RE                  S=5        \! H%  r#\R                  " \#5       H  r$\" \$\ 5        M     M'     gg)@z.Stamp a Win32 binary with version information.    N)BeginUpdateResourceEndUpdateResourceUpdateResourceii   ?   i      c                     U (       a  gg)N   r    )debugs    jC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\win32/lib/win32verstamp.py
file_flagsr      s        c                     U (       a  gg)N      r
   )is_dlls    r   	file_typer      s    r   c                     [         R                  " S[        [        U S-  U-  US-  U-  U S-  U-  US-  U-  [        [        U5      [        [        U5      SSS5      $ )Nlllllllllllll   r   )structpackVS_FFI_SIGNATUREVS_FFI_STRUCVERSIONVS_FFI_FILEFLAGSMASKr   VOS_NT_WINDOWS32r   )majminsubbuildr   r   s         r   VS_FIXEDFILEINFOr!   %   sk    ;;	c	e	c	e5& r   c                 <    [        U 5      S-   R                  S5      $ )N zutf-16le)strencodess    r   nulltermr(   8   s    FTM!!*--r   c                 R    S[        U 5      U-   S-  -
  nUS:  a  U [        U-  -   $ U $ )N   r	   )len	null_byte)r'   extrals      r   pad32r/   =   s4    	c!fun!"A1uIM""Hr   c                 N    [         R                  " S[        U 5      S-   5      U -   $ )Nhr   )r   r   r+   r&   s    r   addlenr2   E   s     ;;sCFQJ'!++r   c                     [        U 5      n [        U5      n[        R                  " S[        U5      S-  S5      nX -  n[	        U5      U-   n[        U5      $ )Nhhr   r   )r(   r   r   r+   r/   r2   keyvalueresults      r   Stringr9   I   sM    
3-CUOE[[s5zQ2F
MF6]U"F&>r   c                     [        U 5      n [        R                  " SSS5      nX -  nUR                  5        H  u  p4U[	        X45      -  n[        U5      nM      [        U5      $ )Nr4   r   r   )r(   r   r   itemsr9   r/   r2   )r6   datar8   kvs        r   StringTabler?   R   sY    
3-C[[q!$F
MF

&,v  &>r   c                     [         R                  " SSS5      nU[        S5      -  n[        U5      [	        SU 5      -   n[        U5      $ )Nr4   r   r   StringFileInfo040904E4)r   r   r(   r/   r?   r2   )r<   r8   s     r   rA   rA   \   sC    [[q!$F
h'((F6][T::F&>r   c                     [         R                  " S[        U5      S5      nU[        U 5      -  n[	        U5      U-   n[        U5      $ )Nr4   r   )r   r   r+   r(   r/   r2   r5   s      r   VarrD   d   s>    [[s5z1-F
hsmF6]U"F&>r   c                     [         R                  " SSS5      nU[        S5      -  n[        U5      nU R	                  5        H  u  p#U[        X#5      -  nM     [        U5      $ )Nr4   r   r   VarFileInfo)r   r   r(   r/   r;   rD   r2   )r<   r8   r=   r>   s       r   rF   rF   k   sV    [[q!$F
h}%%F6]F

#a) &>r   c                     [        XX#Xg5      n[        R                  " S[        U5      S5      n	U	[	        S5      -  n	[        U	5      U-   n	[        U	5      [        U5      -   [        U5      -   n	[        U	5      $ )Nr4   r   VS_VERSION_INFO)	r!   r   r   r+   r(   r/   rA   rF   r2   )
r   r   r   r    sdatavdatar   r   ffir8   s
             r   rH   rH   t   sk    
3S
?C[[s3x+F
h())F6]S F6]^E22[5GGF&>r   c                     [        U S5      nUR                  5         UR                  n UR                  S5       Vs/ s H  n[        U5      PM     nnUu  pxpUR                  nU(       d  [        R                  R                  U 5      nUR                  nUc  [        R                  R                  U 5      nUR                  UR                   UR"                  UUUR$                  UR&                  UUR(                  US.
nS[*        R,                  " SS	S
5      0nUR.                  nUcA  [        R                  R1                  U 5      S   R3                  5       SR                  5       ;   nUR4                  nUc?  [        R                  R1                  U 5      S   R3                  5       R7                  S5      nUR9                  5        H  u  nnUb  M  SUU'   M     [;        XxXXUU5      n[=        U S5      n[?        USSU5        [A        US5        URB                  (       a  [        SU 5        g g ! [         a  n[        SU  SU 35         S nAGN6S nAff = fs  snf ! [        [        [        4 a    [        SU-  5      ef = f)Nza+bzWARNING: File z could not be opened - .z1--version must be a.b.c.d (all integers) - got %r)
CommentsCompanyNameFileDescriptionFileVersionInternalNameLegalCopyrightLegalTrademarksOriginalFilenameProductNameProductVersionTranslationr4   i	  i  r   z	.dll .pydr   _d r   zStamped:)"opencloseOSErrorprintversionsplitint
IndexError	TypeError
ValueErrorinternal_nameospathbasenameoriginal_filenamecommentscompanydescription	copyright
trademarksproductr   r   dllsplitextlowerr   endswithr;   rH   r   r   r   verbose)pathnameoptionsfwhyveribitsvmajvminvsubvbuildifnofnrI   rJ   r   is_debugr=   r>   vsr1   s                        r   stampr   }   sI   G5!		 //CT #		#/1A/#' D 

Cggx(

#
#C
{ggx( $$"..!++"--E 	v{{45E [[F~!!(+A.446+:K:K:MM}}H77##H-a0668AA$G19E!H  
T56	RBHa(A1b!R aj(# a  Gxj(?uEFFG
 0	:. TLsRSSTs3   H3 I! II! 3
I=III! !$J__main__z%prog [options] filespec ...)rl   z-qz--quietstore_falsert   Tz%don't print status messages to stdout)actiondestdefaulthelprZ   z	--versionz0.0.0.0zThe version number as m.n.s.b)r   r   z--dllzpStamp the file as a DLL.  Default is to look at the
                            file extension for .dll or .pyd.)r   z--debugz!Stamp the file as a debug binary.z	--productzThe product name to embed.z	--companyzThe company name to embed.z--trademarkszThe trademark string to embed.z
--commentszThe comments string to embed.z--copyrightz&The copyright message string to embed.z--descriptionDESCzThe description to embed.)metavarr   z--internal-nameNAMEzdThe internal filename to embed. If not specified
                         the base filename is used.z--original-filenamezgThe original filename to embed. If not specified
                            the base filename is used.z9You must supply a file to stamp.  Use --help for details.)r   r   )r   )%__doc__globoptparserf   r   _win32verstamp_pywin32ctypesr   r   r   r   r   r   r   r,   r   r   r!   r(   r/   r2   r9   r?   rA   rD   rF   rH   r   __name__OptionParserparser
add_option
parse_argsrv   argserrorgrw   r
   r   r   <module>r      s>   4   	      !  	&.
,8$v z""#AwWF
4   
K1P   
@   b)*QR
b+,LM
b+,LM
b./OP
b,-LM

M L   
OV2M   
7	   
:   %%'MGTPQ1A!W  c r   