§
    `Štj.  ã                   óÐ  — d dl Z d dlZd dlZdZdZd eej        dd…         ¦  «        z  ZddgZdez  Z	 e j
        d	ez  e j        ¦  «        Z e j
        d
ez  e j        ¦  «        Zd„ Zdddez  gdfd„Zd„ Zej        fd„Zedk    r] e¦   «         \  ZZe€ej        Zn eed¦  «        Ze ee¦  «        gz   Z eed¬¦  «        Z ee¦  «        \  ZZ eeee	e¦  «         dS dS )é    NaÔ  This module generates a DEF file from the symbols in
an MSVC-compiled DLL import library.  It correctly discriminates between
data and functions.  The data is collected from the output of the program
nm(1).

Usage:
    python lib2def.py [libname.lib] [output.def]
or
    python lib2def.py [libname.lib] > output.def

libname.lib defaults to python<py_ver>.lib and output.def defaults to stdout

Author: Robert Kern <kernr@mail.ncifcrf.gov>
Last Update: April 30, 1999
z0.1az%d%dé   Únmz-CszrLIBRARY         python%s.dll
;CODE           PRELOAD MOVEABLE DISCARDABLE
;DATA           PRELOAD SINGLE

EXPORTS
z^(.*) in python%s\.dllz^_imp__(.*) in python%s\.dllc                  ó  — t          t          j        ¦  «        dk    rÈt          j        d         dd…         dk    r7t          j        d         dd…         dk    rt          j        dd…         \  } }�n
t          j        d         dd…         dk    r6t          j        d         dd…         dk    rt          j        dd…         \  }} n¶t          d¦  «         t          d	¦  «         n—t          t          j        ¦  «        dk    rnt          j        d         dd…         dk    rt          j        d         }d
t          z  } n?t          j        d         dd…         dk    rd}t          j        d         } nd
t          z  } d}| |fS )zBParses the command-line arguments.

libfile, deffile = parse_cmd()é   é   éüÿÿÿNz.libr   z.defz4I'm assuming that your first argument is the libraryzand the second is the DEF file.úpython%s.lib)ÚlenÚsysÚargvÚprintÚpy_ver)ÚlibfileÚdeffiles     úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/distutils/lib2def.pyÚ	parse_cmdr   &   sS  € õ �3Œ8�}„}˜ÒÐÝŒ8�AŒ;�r�s�sÔ˜vÒ%Ð%­#¬(°1¬+°b°c°cÔ*:¸fÒ*DÐ*DÝ"œx¨¨¨œ|ÑˆG�W‘WÝŒX�aŒ[˜˜˜Ô Ò'Ð'­C¬H°Q¬K¸¸¸Ô,<ÀÒ,FÐ,FÝ"œx¨¨¨œ|ÑˆG�W�WåÐHÑIÔIÐIÝÐ3Ñ4Ô4Ð4Ð4Ý	�SŒX‰Œ˜!Ò	Ð	ÝŒ8�AŒ;�r�s�sÔ˜vÒ%Ð%Ý”h˜q”kˆGØ$¥vÑ-ˆGˆGÝŒX�aŒ[˜˜˜Ô Ò'Ð'ØˆGÝ”h˜q”kˆGøà ¥6Ñ)ˆØˆØ�GÐÐó    r	   Tc                 óö   — t          j        | |t           j        t           j        d¬¦  «        }|                     ¦   «         \  }}|j        dk    r)t          dd                     | ¦  «        ›d|›d�¦  «        ‚|S )zUReturns the output of nm_cmd via a pipe.

nm_output = getnm(nm_cmd = 'nm -Cs py_lib')T)ÚshellÚstdoutÚstderrÚtextr   zfailed to run "ú z": "ú")Ú
subprocessÚPopenÚPIPEÚcommunicateÚ
returncodeÚRuntimeErrorÚjoin)Únm_cmdr   ÚpÚ	nm_outputÚnm_errs        r   Úgetnmr&   >   s†   € õ 	Ô˜ uµZ´_Ý *¤°dð	<ñ 	<ô 	<€AàŸš™œÑ€IˆvØ„|�qÒÐÝˆlØ%(§X¢X¨fÑ%5Ô%5Ð%5Ð%5°v°v°vð?ñ @ô @ð 	@àÐr   c                 óÎ  — t                                | ¦  «        }t                               | ¦  «        }g }|D ]E}||v r?|dd…         dk    s|dd…         dk    s|dd…         dk    r|                     |¦  «         ŒFg }|D ]7}||vr1|dd…         dk    s|dd…         dk    r|                     |¦  «         Œ8|                     ¦   «          |                     ¦   «          ||fS )zŒReturns a tuple of lists: dlist for the list of data
symbols and flist for the list of function symbols.

dlist, flist = parse_nm(nm_output)Nr   ÚPyr   Ú_Pyé   Úinit)ÚDATA_REÚfindallÚFUNC_REÚappendÚsort)r$   ÚdataÚfuncÚflistÚsymÚdlists         r   Úparse_nmr6   J   s  € õ
 �?Š?˜9Ñ%Ô%€DÝ�?Š?˜9Ñ%Ô%€Dà€EØð ð ˆØ�$ˆ;ˆ;˜C   œG tšO˜O¨s°2°A°2¬w¸%Ò/?Ð/?À3ÀrÈÀrÄ7ÈfÒCTÐCTØ�LŠL˜ÑÔÐøà€EØð ð ˆØ�eÐÐ  R a R¤¨D¢ °C¸¸¸´G¸uÒ4DÐ4DØ�LŠL˜ÑÔÐøà	‡J‚J�L„L€LØ	‡J‚J�L„L€LØ�%ˆ<Ðr   c                 ón   — | D ]
}|d|z  z   }Œ|dz   }|D ]
}|d|z  z   }Œ|                      |¦  «         dS )zoOutputs the final DEF file to a file defaulting to stdout.

output_def(dlist, flist, header, file = sys.stdout)z		%s DATA
ú
z	%s
N)Úwrite)r5   r3   ÚheaderÚfileÚdata_symÚfunc_syms         r   Ú
output_defr>   `   se   € ð ð 3ð 3ˆØ˜-¨(Ñ2Ñ2ˆˆØ�d‰]€FØð .ð .ˆØ˜( XÑ-Ñ-ˆˆØ‡J‚JˆvÑÔÐÐÐr   Ú__main__ÚwF)r   )Úrer   r   Ú__doc__Ú__version__ÚtupleÚversion_infor   Ú
DEFAULT_NMÚ
DEF_HEADERÚcompileÚ	MULTILINEr.   r,   r   r&   r6   r   r>   Ú__name__r   r   ÚopenÚstrr"   r$   r5   r3   © r   r   ú<module>rN      sž  ðØ 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð ð€ð  €à	�%�%˜Ô(¨¨!¨Ô,Ñ-Ô-Ñ	-€à�Eˆ]€
ðð
 ñ€
ð ˆ"Œ*Ð.°Ñ7¸¼Ñ
FÔ
F€Ø
ˆ"Œ*Ð4°vÑ=¸r¼|Ñ
LÔ
L€ðð ð ð0 ˜˜~°Ñ6Ð7¸tð 
ð 
ð 
ð 
ðð ð ð, -0¬Jð 	ð 	ð 	ð 	ð ˆzÒÐØ �y‘{”{Ñ€GˆWØ€Ø”*ˆˆà�$�w Ñ$Ô$ˆØ˜3˜3˜w™<œ<˜.Ñ(€FØ��f EÐ*Ñ*Ô*€IØ�8˜IÑ&Ô&�L€Eˆ5Ø€Jˆu�e˜Z¨Ñ1Ô1Ð1Ð1Ð1ð Ðr   