
    %
i*                        d Z ddlZddlZddlZddlZddlmZmZmZ dZ	dZ
dZdZdZd	 Zd
 Zd@dZd ZdAdZd Zd Zd Zd Zd Zd Zd@dZd Zedk    r ej        de           Ze                    dddddd !           e                    d"d#d$d%&           e                    d"d'd()           e                    d"d*d+)           e                    d"d,d-)           e                    d"d.d/)           e                    d"d0d1)           e                    d"d2d3)           e                    d"d4d5)           e                    d"d6d7d89           e                    d"d:d;d<9           e                    d"d=d>)           e                                \  Z Z!e!se"                    d?           e!D ]#Z# ej        e#          D ]Z$ ee$e            "dS dS )Bz.Stamp a Win32 binary with version information.    N)BeginUpdateResourceEndUpdateResourceUpdateResourceii   ?   i      c                     | rdS dS )N   r    )debugs    C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32/lib/win32verstamp.py
file_flagsr      s     q1    c                     | rdS dS )N      r
   )is_dlls    r   	file_typer      s     q1r   r   c                     t          j        dt          t          | dz  |z  |dz  |z  | dz  |z  |dz  |z  t          t          |          t          t          |          ddd          S )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!   %   st    ;	c	e	c	e5&  r   c                 L    t          |           dz                       d          S )N zutf-16le)strencodess    r   nulltermr(   8   s     FFTM!!*---r   r   c                 \    dt          |           |z   dz  z
  }|dk     r| t          |z  z   S | S )N   r	   )len	null_byte)r'   extrals      r   pad32r/   =   s8    	c!ffun!"A1uuIM""Hr   c                 R    t          j        dt          |           dz             | z   S )Nhr   )r   r   r+   r&   s    r   addlenr2   E   s#    ;sCFFQJ''!++r   c                     t          |           } t          |          }t          j        dt          |          dz  d          }|| z  }t	          |          |z   }t          |          S )Nhhr   r   )r(   r   r   r+   r/   r2   keyvalueresults      r   Stringr9   I   sZ    
3--CUOOE[s5zzQ22F
cMF6]]U"F&>>r   c                     t          |           } t          j        ddd          }|| z  }|                                D ]'\  }}|t	          ||          z  }t          |          }(t          |          S )Nr4   r   r   )r(   r   r   itemsr9   r/   r2   )r6   datar8   kvs        r   StringTabler?   R   so    
3--C[q!$$F
cMF

  1&A,,v&>>r   c                     t          j        ddd          }|t          d          z  }t          |          t	          d|           z   }t          |          S )Nr4   r   r   StringFileInfo040904E4)r   r   r(   r/   r?   r2   )r<   r8   s     r   rA   rA   \   sN    [q!$$F
h'(((F6]][T:::F&>>r   c                     t          j        dt          |          d          }|t          |           z  }t	          |          |z   }t          |          S )Nr4   r   )r   r   r+   r(   r/   r2   r5   s      r   VarrD   d   sG    [s5zz1--F
hsmmF6]]U"F&>>r   c                     t          j        ddd          }|t          d          z  }t          |          }|                                 D ]\  }}|t          ||          z  }t          |          S )Nr4   r   r   VarFileInfo)r   r   r(   r/   r;   rD   r2   )r<   r8   r=   r>   s       r   rF   rF   k   sm    [q!$$F
h}%%%F6]]F

  1#a))&>>r   c                 4   t          | |||||          }t          j        dt          |          d          }	|	t	          d          z  }	t          |	          |z   }	t          |	          t          |          z   t          |          z   }	t          |	          S )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   s    
3S%
?
?C[s3xx++F
h()))F6]]S F6]]^E222[5G5GGF&>>r   c                    	 t          | d          }|                                 n,# t          $ r}t          d|  d|            Y d }~nd }~ww xY w|j        }	 d |                    d          D             }|\  }}}}	n-# t          t          t          f$ r t          d|z            w xY w|j	        }
|
st          j                            |           }
|j        }|t          j                            |           }|j        |j        |j        ||
|j        |j        ||j        |d
}dt)          j        d	d
d          i}|j        }|Kt          j                            |           d                                         d                                v }|j        }|Jt          j                            |           d                                                             d          }|                                D ]\  }}|d||<   t9          ||||	||||          }t;          | d          }t=          |dd|           t?          |d           |j         rt          d|            d S d S )Nza+bzWARNING: File z could not be opened - c                 ,    g | ]}t          |          S r
   )int).0is     r   
<listcomp>zstamp.<locals>.<listcomp>   s    ///1A///r   .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
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bitsvmajvminvsubvbuildifnofnrI   rJ   r   is_debugr=   r>   vsr1   s                       r   stampr   }   s   G5!!					 G G GExEEEEFFFFFFFFG /CT//		#///#' dD&&	:. T T TLsRSSST 
C )gx((

#C
{gx(( $".!+"- E 	v{455E [F~!!(++A.4466+:K:K:M:MM}H7##H--a06688AA$GG  19E!H	tT65%6	R	RBHa((A1b!R   a $j(#####$ $s    $' 
AAA&B *B,__main__z%prog [options] filespec ...)rp   z-qz--quietstore_falserx   Tz%don't print status messages to stdout)actiondestdefaulthelpr_   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optparserj   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_argsrz   argserrorgr{   r
   r   r   <module>r      s   4 4   				              !  	       &. . .
   , , ,             8$ 8$ 8$v z"X"#AwWWWF
4     
K1P     
@     b)*QRRR
b+,LMMM
b+,LMMM
b./OPPP
b,-LMMM

M L     
OV2M     
7	     
:     %%''MGT RPQQQ  1 	 	AE!W	e b r   