§
    Ëãßc2`  ã                   ó0  — d Z ddlZddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddlm
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ej        Zej        Zej        j        Zej        Zej        Zde› de› d�Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ Z d„ Z!dS )a‡  

f2py2e - Fortran to Python C/API generator. 2nd Edition.
         See __usage__ below.

Copyright 1999--2011 Pearu Peterson all rights reserved,
Pearu Peterson <pearu@cens.ioc.ee>
Permission to use, modify, and distribute this software is given under the
terms of the NumPy License.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
$Date: 2005/05/06 08:31:19 $
Pearu Peterson

é    N)ÚPathé   )Úcrackfortran)Úrules)Úcb_rules)Úauxfuncs)Úcfuncs)Úf90mod_rules)Ú__version__)Ú	capi_mapsa‚  Usage:

1) To construct extension module sources:

      f2py [<options>] <fortran files> [[[only:]||[skip:]] \
                                        <fortran functions> ] \
                                       [: <fortran files> ...]

2) To compile fortran files and build extension modules:

      f2py -c [<options>, <build_flib options>, <extra options>] <fortran files>

3) To generate signature files:

      f2py -h <filename.pyf> ...< same options as in (1) >

Description: This program generates a Python C/API file (<modulename>module.c)
             that contains wrappers for given fortran functions so that they
             can be called from Python. With the -c option the corresponding
             extension modules are built.

Options:

  --2d-numpy       Use numpy.f2py tool with NumPy support. [DEFAULT]
  --2d-numeric     Use f2py2e tool with Numeric support.
  --2d-numarray    Use f2py2e tool with Numarray support.
  --g3-numpy       Use 3rd generation f2py from the separate f2py package.
                   [NOT AVAILABLE YET]

  -h <filename>    Write signatures of the fortran routines to file <filename>
                   and exit. You can then edit <filename> and use it instead
                   of <fortran files>. If <filename>==stdout then the
                   signatures are printed to stdout.
  <fortran functions>  Names of fortran routines for which Python C/API
                   functions will be generated. Default is all that are found
                   in <fortran files>.
  <fortran files>  Paths to fortran/signature files that will be scanned for
                   <fortran functions> in order to determine their signatures.
  skip:            Ignore fortran functions that follow until `:'.
  only:            Use only fortran functions that follow until `:'.
  :                Get back to <fortran files> mode.

  -m <modulename>  Name of the module; f2py generates a Python/C API
                   file <modulename>module.c or extension module <modulename>.
                   Default is 'untitled'.

  '-include<header>'  Writes additional headers in the C wrapper, can be passed
                      multiple times, generates #include <header> each time.

  --[no-]lower     Do [not] lower the cases in <fortran files>. By default,
                   --lower is assumed with -h key, and --no-lower without -h key.

  --build-dir <dirname>  All f2py generated files are created in <dirname>.
                   Default is tempfile.mkdtemp().

  --overwrite-signature  Overwrite existing signature file.

  --[no-]latex-doc Create (or not) <modulename>module.tex.
                   Default is --no-latex-doc.
  --short-latex    Create 'incomplete' LaTeX document (without commands
                   \documentclass, \tableofcontents, and \begin{document},
                   \end{document}).

  --[no-]rest-doc Create (or not) <modulename>module.rst.
                   Default is --no-rest-doc.

  --debug-capi     Create C/API code that reports the state of the wrappers
                   during runtime. Useful for debugging.

  --[no-]wrap-functions    Create Fortran subroutine wrappers to Fortran 77
                   functions. --wrap-functions is default because it ensures
                   maximum portability/compiler independence.

  --include-paths <path1>:<path2>:...   Search include files from the given
                   directories.

  --help-link [..] List system resources found by system_info.py. See also
                   --link-<resource> switch below. [..] is optional list
                   of resources names. E.g. try 'f2py --help-link lapack_opt'.

  --f2cmap <filename>  Load Fortran-to-Python KIND specification from the given
                   file. Default: .f2py_f2cmap in current directory.

  --quiet          Run quietly.
  --verbose        Run with extra verbosity.
  --skip-empty-wrappers   Only generate wrapper files when needed.
  -v               Print f2py version ID and exit.


numpy.distutils options (only effective with -c):

  --fcompiler=         Specify Fortran compiler type by vendor
  --compiler=          Specify C compiler type (as defined by distutils)

  --help-fcompiler     List available Fortran compilers and exit
  --f77exec=           Specify the path to F77 compiler
  --f90exec=           Specify the path to F90 compiler
  --f77flags=          Specify F77 compiler flags
  --f90flags=          Specify F90 compiler flags
  --opt=               Specify optimization flags
  --arch=              Specify architecture specific optimization flags
  --noopt              Compile without optimization
  --noarch             Compile without arch-dependent optimization
  --debug              Compile with debugging information

Extra options (only effective with -c):

  --link-<resource>    Link extension module with <resource> as defined
                       by numpy.distutils/system_info.py. E.g. to link
                       with optimized LAPACK libraries (vecLib on MacOSX,
                       ATLAS elsewhere), use --link-lapack_opt.
                       See also --help-link switch.

  -L/path/to/lib/ -l<libname>
  -D<define> -U<name>
  -I/path/to/include/
  <filename>.o <filename>.so <filename>.a

  Using the following macros may be required with non-gcc Fortran
  compilers:
    -DPREPEND_FORTRAN -DNO_APPEND_FORTRAN -DUPPERCASE_FORTRAN
    -DUNDERSCORE_G77

  When using -DF2PY_REPORT_ATEXIT, a performance report of F2PY
  interface is printed out at exit (platforms: Linux).

  When using -DF2PY_REPORT_ON_ARRAY_COPY=<int>, a message is
  sent to stderr whenever F2PY interface makes a copy of an
  array. Integer <int> sets the threshold for array sizes when
  a message should be shown.

Version:     z
numpy Version: zñ
Requires:    Python 3.5 or higher.
License:     NumPy license (see LICENSE.txt in the NumPy source code)
Copyright 1999 - 2011 Pearu Peterson all rights reserved.
https://web.archive.org/web/20140822061353/http://cens.ioc.ee/projects/f2py2ec           	      ót	  — g g g g f\  }}}}d\	  }}}}}	}
}}}d}d}d}d}d}d}d}g }d\  }}|d d dœ}| D �]2}|d	k    rŒ
|d
k    rd}Œ|dk    rd}Œ|dk    rd}Œ%|d d…         dk    r|                      |dd …         ¦  «         ŒQ|dk    rd}ŒZ|dk    rd}	Œc|dk    rd}Œl|dk    rd}Œu|dk    r|dz  }Œ�|dk    rd}ŒŠ|dk    rd}Œ“|dk    rd}Œœ|dk    rd}Œ¥|dk    rd}Œ®|dk    rd}Œ·|dk    rd|d<   ŒÃ|dk    rd}ŒÌ|dk    rd}ŒÕ|dk    rd}ŒÞ|dk    rd|d <   Œê|d!k    rd}Œó|d"k    rd}Œü|d d#…         d$k    r)t          t          ¦  «         t          j        ¦   «          �Œ3|d%k    rd}�Œ=|d d…         d&k    rQt
          j        d'                               |d(d…         ¦  «         d)|dd …         z   t
          j        |d(d…         <   �Œœ|d d*…         d+v rt          d,¦  «         d}
�Œ»|d d*…         d-v rd}
�ŒË|d.k    rd/}�ŒÕ|d         d0k    r4t          d1t          |¦  «        z  ¦  «         t          j        ¦   «          �Œ|rd}|}�Œ|rd}|}�Œ%|	rd}	|}�Œ-|
r6d}
|                     |                     t          j        ¦  «        ¦  «         �Œe|r	d}||d2<   �Œp|r	d}||d3<   �Œ{|r	d}||d4<   �Œ†|dk    rn	 t          |¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         �ŒÌ# t           $ r!}t          d5|›d6|›d7�¦  «         Y d }~�Œòd }~ww xY w|dk    r|                      |¦  «         �Œ|dk    r|                      |¦  «         �Œ4|s+|s)|s't          t"          ¦  «         t          j        ¦   «          t          j                             |¦  «        s(|st          d8|z  ¦  «         t          j        |¦  «         |r t          j                             ||¦  «        }|rHt          j                             |¦  «        r)d |vr%t          d9|z  ¦  «         t          j        ¦   «          ||d:<   ||d;<   ||d<<   |dk    r|sd|d=<   n||d=<   |r||d><   |r||d?<   |r||d@<   |r||dA<   ||dB<   ||dC<   ||dD<   ||dE<   ||dF<   |                     d4d ¦  «         ||fS )GN)	r   r   r   r   r   r   r   r   r   r   Téÿÿÿÿr   ú.)NN)Ú	buildpathÚcoutputÚf2py_wrapper_outputÚ úonly:úskip:ú:é   z--debug-z--lowerú--build-dirz
--no-lowerú--quietz	--verbosez--latex-docz--no-latex-docz
--rest-docz--no-rest-docz--wrap-functionsz--no-wrap-functionsz--short-latexÚ
shortlatexz	--coutputz--f2py-wrapper-outputú--f2cmapz--overwrite-signaturezh-overwritez-hú-mé   z-vz--show-compilersz-includeÚuserincludesé	   z	#include é   ú--include_pathszHf2py option --include_paths is deprecated, use --include-paths instead.
ú--include-pathsz--skip-empty-wrappersFú-zUnknown option %s
r   r   Úf2cmap_filez	OSError: z. Skipping file "z".
zCreating build directory %s
zFSignature file "%s" exists!!! Use --overwrite-signature to overwrite.
ÚemptygenÚdebugÚverboseúdo-lowerÚmoduleÚ	signsfileÚ	onlyfuncsÚ	skipfuncsÚ
dolatexdocÚ	dorestdocÚ	wrapfuncsr   Úinclude_paths)ÚappendÚprintÚf2py_versionÚsysÚexitr	   Úoutneedsr   ÚoutmessÚerrmessÚreprÚextendÚsplitÚosÚpathsepÚopenÚOSErrorÚ	__usage__ÚpathÚisdirÚmkdirÚjoinÚisfileÚ
setdefault)Ú	inputlineÚfilesr,   r+   r&   ÚfÚf2Úf3Úf5Úf6Úf7Úf8Úf9Úf10r'   r%   Údolcr-   r.   r/   r   r0   r*   Ú
modulenameÚoptionsÚlÚdetails                              ú3/usr/lib/python3/dist-packages/numpy/f2py/f2py2e.pyÚscaninputlinerX   ³   s  € Ø)+¨R°°R¨Ñ&€Eˆ9�i Ø)BÑ&€A€rˆ2ˆr�2�r˜2˜r 3Ø€GØ€HØ€DØ€JØ€IØ€IØ€IØ€MØ&Ñ€IˆzØ%ØØ&*ð,ð ,€Gð ð a ñ a ˆØ�Š7ˆ7ØØ�'Š\ˆ\ØˆAˆAØ�'Š\ˆ\ØˆAˆAØ�#ŠXˆXØˆAˆAØˆr�ˆrŒU�jÒ Ð Ø�LŠL˜˜1˜2˜2œÑÔÐÐØ�)Š^ˆ^ØˆDˆDØ�-ÒÐØˆBˆBØ�,ÒÐØˆDˆDØ�)Š^ˆ^ØˆGˆGØ�+ÒÐØ�q‰LˆGˆGØ�-ÒÐØˆJˆJØÐ"Ò"Ð"ØˆJˆJØ�,ÒÐØˆIˆIØ�/Ò!Ð!ØˆIˆIØÐ$Ò$Ð$ØˆIˆIØÐ'Ò'Ð'ØˆIˆIØ�/Ò!Ð!Ø$%ˆG�LÑ!Ð!Ø�+ÒÐØˆBˆBØÐ)Ò)Ð)ØˆBˆBØ�*Š_ˆ_ØˆCˆCØÐ)Ò)Ð)Ø%&ˆG�MÑ"Ð"Ø�$ŠYˆYØˆBˆBØ�$ŠYˆYØˆBˆBØˆr�ˆrŒU�dŠ]ˆ]Ý•,ÑÔÐÝŒH‰JŒJˆJ‰JØÐ$Ò$Ð$ØˆB‰BØˆr�ˆrŒU�jÒ Ð ÝŒO˜NÔ+×2Ò2°1°Q°r°T´7Ñ;Ô;Ð;Ø+6¸¸1¸2¸2¼Ñ+>�FÔ  ! B $¤Ñ(Ñ(Øˆs�ˆsŒVÐ(Ð(Ð(ÝØ[ñ]ô ]ð ]àˆB‰BØˆs�ˆsŒVÐ(Ð(Ð(ØˆB‰BØÐ)Ò)Ð)ØˆH‰HØˆqŒT�SŠ[ˆ[ÝÐ)­D°©G¬GÑ3Ñ4Ô4Ð4ÝŒH‰JŒJˆJ‰JØð 	 ØˆBØˆI‰IØð 	 ØˆBØˆJ‰JØð 	 ØˆBØˆI‰IØð 	 ØˆBØ× Ò  §¢­¬Ñ!4Ô!4Ñ5Ô5Ð5Ñ5Øð 	 ØˆBØ!"ˆG�IÑÑØð 	 ØˆBØ-.ˆGÐ)Ñ*Ñ*Øð 	 ØˆCØ%&ˆG�MÑ"Ñ"Ø�!ŠVˆVðJÝ˜!‘W”Wð ð Øðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à—’˜Q‘”�‘øÝð Jð Jð JÝÐH FÐHÐH¸qÐHÐHÐHÑIÔIÐIÐIÐIÐIÐIÑIøøøøðJøøøà�"ŠWˆWØ×Ò˜QÑÔÐÑØ�!ŠVˆVØ×Ò˜QÑÔÐùØð �eð  Jð Ý�iÑÔÐÝŒ‰
Œ
ˆ
ÝŒ7�=Š=˜Ñ#Ô#ð Øð 	CÝÐ3°yÑAÑBÔBÐBÝ
Œ�ÑÔÐØð 7Ý”G—L’L ¨IÑ6Ô6ˆ	Øð •R”W—^’^ IÑ.Ô.ð °=ÈÐ3OÐ3OÝØUÐYbÑcñ	eô 	eð 	eåŒ‰
Œ
ˆ
à"€GˆJÑØ€GˆGÑØ €GˆIÑØˆr‚z€z˜)€zØˆ�
ÑÐà"ˆ�
ÑØð 'Ø&ˆ�ÑØð )Ø(ˆ�ÑØð )Ø(ˆ�ÑØð )Ø(ˆ�ÑØ&€GˆLÑØ$€GˆKÑØ$€GˆKÑØ$€GˆKÑØ,€GˆOÑØ×Ò�} dÑ+Ô+Ð+Ø�'ˆ>Ðs<   ËLËKËLËK#	Ë#LË&K#	Ë'LÌ
L,ÌL'Ì'L,c                 ób  — |t           _        |d         t          _        |d         t          _        d|v r|d         t          _        d|v r|d         t          _        d|v r|d         t          _        |d         t          j        d d …<   |d         t          _	        t          j        | ¦  «        }d|v r£t          d	|d         z  ¦  «         t          j        |¦  «        }|d         d
d …         dk    r t          j                             |¦  «         nCt          |d         d¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   |d         €|D ]}d|d         z  |d<   Œn|D ]}|d         |d<   Œ|d         €|D ]}d|d         z  |d<   Œn|D ]}|d         |d<   Œ|S )Nr&   r'   r)   r,   r+   r0   r(   r*   zSaving signatures to file "%s"
iúÿÿÿÚstdoutÚwr   z
%smodule.cÚnamer   z%s-f2pywrappers.f)r   rT   r   r&   r'   Úf77modulenamer,   r+   r0   Údolowercaser7   Úcrack2fortranr4   rZ   Úwriter>   )rH   rT   ÚpostlistÚpyfrI   Úmods         rW   Úcallcrackfortranrd   J  s4  € Ø…E„MØ  Ô)…LÔØ" 9Ô-…LÔØ�7ÐÐØ%,¨XÔ%6�Ô"Ø�gÐÐØ!(¨Ô!5�ÔØ�gÐÐØ!(¨Ô!5�ÔØ$+¨OÔ$<…LÔ˜q˜q˜qÑ!Ø& zÔ2…LÔÝÔ(¨Ñ/Ô/€HØ�gÐÐÝÐ2°g¸kÔ6JÑKÑLÔLÐLÝÔ(¨Ñ2Ô2ˆØ�;Ô   Ô$¨Ò0Ð0ÝŒJ×Ò˜SÑ!Ô!Ð!Ð!å�g˜kÔ*¨CÑ0Ô0ð °AØ—’˜‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àˆyÔÐ!Øð 	8ð 	8ˆCØ)¨C°¬KÑ7ˆC�	‰NˆNð	8ð ð 	0ð 	0ˆCØ$ YÔ/ˆC�	‰NˆNØÐ$Ô%Ð-Øð 	Kð 	KˆCØ)<¸sÀ6¼{Ñ)JˆCÐ%Ñ&Ð&ð	Kð ð 	Hð 	HˆCØ)0Ð1FÔ)GˆCÐ%Ñ&Ð&Ø€Os   Ä*EÅEÅEc                 ó|  — t          j        ¦   «          t          d¦  «         g g i }}}| D ]œ}d|d         v rt          j        |¦  «         Œ!d|v rG|d                              ¦   «         D ],}||vrg ||<   ||                              |d         ¦  «         Œ-|                     |¦  «         |                     |d         ¦  «         Œ�i }t          ||¦  «        D ]á\  }}||v r:t          d|›dd                     d„ ||         D ¦   «         ¦  «        ›d	�¦  «         ŒCg }	d|v rj|d                              ¦   «         D ]O}||v r3||v r/|	                     || 	                    |¦  «                 ¦  «         Œ9t          d
|› d|› d�¦  «         ŒPi ||<   t          ||         t          j        ||	¦  «        ¦  «         Œâ|S )NzBuilding modules...
Ú__user__r\   Úusez	Skipping module "z" which is used by ú,c              3   ó    K  — | ]	}d |z  V — Œ
dS )z"%s"N© ©Ú.0Úss     rW   ú	<genexpr>zbuildmodules.<locals>.<genexpr>�  s&   è è € ÐBÐB¨a˜v¨™zÐBÐBÐBÐBÐBÐBó    z.
z		Module "z" uses nonexisting "z" which will be ignored.
)r	   Úbuildcfuncsr7   r   ÚbuildcallbacksÚkeysr1   ÚziprD   ÚindexÚdict_appendr   Úbuildmodule)
ÚlstÚmodulesÚmnamesÚisusedbyÚitemÚuÚretr)   r\   Úums
             rW   Úbuildmodulesr   n  s6  € Ý
ÔÑÔÐÝÐ#Ñ$Ô$Ð$Ø " B¨�XˆV€GØð 
(ð 
(ˆØ˜˜fœÐ%Ð%ÝÔ# DÑ)Ô)Ð)Ð)à˜ˆ}ˆ}Ø˜eœ×)Ò)Ñ+Ô+ð 5ð 5�AØ Ð(Ð(Ø&(˜ ™Ø˜Q”K×&Ò& t¨F¤|Ñ4Ô4Ð4Ð4Ø�NŠN˜4Ñ Ô Ð Ø�MŠM˜$˜vœ,Ñ'Ô'Ð'Ð'Ø
€CÝ˜G VÑ,Ô,ð Bð B‰ˆ�Ø�8ÐÐÝˆGØ���c—h’hÐBÐB°8¸D´>ÐBÑBÔBÑBÔBÐBÐBðDñ Eô Eð Eð Eð ˆBØ˜ˆˆØ œ×+Ò+Ñ-Ô-ð 8ð 8�AØ˜H�}�}¨¨f¨¨ØŸ	š	 '¨&¯,ª,°q©/¬/Ô":Ñ;Ô;Ð;Ð;åð7¨ð 7ð 7À1ð 7ð 7ð 7ñ8ô 8ð 8ð 8ð ˆC�‰IÝ˜˜Dœ	¥5Ô#4°V¸RÑ#@Ô#@ÑAÔAÐAÐAØ€Jro   c                 óÊ   — |                      ¦   «         D ]M\  }}|| vrg | |<   t          |t          ¦  «        r| |         |z   | |<   Œ2| |                              |¦  «         ŒNd S ©N)ÚitemsÚ
isinstanceÚlistr1   )Úd_outÚd_inÚkÚvs       rW   ru   ru   ‘  sw   € Ø—*’*‘,”,ð ð ‰ˆˆAØ�Eˆ>ˆ>ØˆE�!‰HÝ�a�ÑÔð 	Ø˜Q”x !‘|ˆE�!‰HˆHà�!ŒH�OŠO˜AÑÔÐÐðð ro   c                 ó¦  — t          j        ¦   «          t          j                             t          j                             t          j        ¦  «        ¦  «        }t          j                             |dd¦  «        }t          j                             |dd¦  «        }t          | ¦  «        \  }}|t          _        t          j        |d         ¦  «         t          ||¦  «        }i }|D ]M}d|v rG|d                              ¦   «         D ],}	|	|vrg ||	<   ||	                              |d         ¦  «         Œ-ŒN|D ]w}|d         dk    rid	|d         v r_|d         |v rUt#          d
|d         › d�                     d                     d„ ||d                  D ¦   «         ¦  «        ¦  «        ¦  «         Œxd|v re|d         dk    rWt#          d¦  «         t#          t          j                             t(          j        d         ¦  «        ›d|d         ›d�¦  «         dS |D ]F}|d         dk    r8d|vrt-          d¦  «         t/          dt1          |d         ¦  «        z  ¦  «        ‚ŒG|d         t          _        |t4          _        |d         t          _        t9          |¦  «        }
|
                     ¦   «         D ]}t;          |
|         ||dœ¦  «         Œ|
S )au  
    Equivalent to running::

        f2py <args>

    where ``<args>=string.join(<list>,' ')``, but in Python.  Unless
    ``-h`` is used, this function returns a dictionary containing
    information on generated modules and their dependencies on source
    files.

    You cannot build extension modules with this function, that is,
    using ``-c`` is not allowed. Use the ``compile`` command instead.

    Examples
    --------
    The command ``f2py -m scalar scalar.f`` can be executed from Python as
    follows.

    .. literalinclude:: ../../source/f2py/code/results/run_main_session.dat
        :language: python

    Úsrczfortranobject.hzfortranobject.cr$   rg   r\   Úblockzpython modulerf   z$Skipping Makefile build for module "z" which is used by {}
rh   c              3   ó"   K  — | ]
}d |› d �V — ŒdS )ú"Nrj   rk   s     rW   rn   zrun_main.<locals>.<genexpr>È  s*   è è € Ð KÐ K¨a  Q   Ð KÐ KÐ KÐ KÐ KÐ Kro   r*   r'   r   zKStopping. Edit the signature file and then run f2py on the signature file: r   ú ú
NzJTip: If your original code is Fortran source then you must use -m option.
z2All blocks must be python module blocks but got %sr&   r/   )ÚcsrcÚh)r   Úreset_global_f2py_varsr<   rA   ÚdirnameÚabspathr	   Ú__file__rD   rX   r   rT   r   Úload_f2cmap_filerd   rr   r1   r7   ÚformatÚbasenamer4   Úargvr8   Ú	TypeErrorr9   Údebugoptionsr
   r/   r   ru   )Úcomline_listÚf2pydirÚfobjhsrcÚfobjcsrcrH   rT   ra   rz   Úplistr|   r}   Úmns               rW   Úrun_mainr¢   ›  s  € õ. Ô'Ñ)Ô)Ð)ÝŒg�oŠo�bœgŸošo­f¬oÑ>Ô>Ñ?Ô?€GÝŒw�|Š|˜G UÐ,=Ñ>Ô>€HÝŒw�|Š|˜G UÐ,=Ñ>Ô>€HÝ" <Ñ0Ô0�N€Eˆ7Ø…HÔÝÔ˜w }Ô5Ñ6Ô6Ð6Ý  wÑ/Ô/€HØ€HØð 2ð 2ˆØ�Eˆ>ˆ>Ø˜5”\×&Ò&Ñ(Ô(ð 2ð 2�Ø˜HÐ$Ð$Ø"$�H˜Q‘KØ˜”×"Ò" 5¨¤=Ñ1Ô1Ð1Ð1øØð Nð NˆØ�Œ>˜_Ò,Ð,°¸uÀV¼}Ð1LÐ1LØ�VŒ} Ð(Ð(åð,¸5À¼=ð ,ð ,ð ,ß,2ªFØŸšÐ KÐ K°8¸EÀ&¼MÔ3JÐ KÑ KÔ KÑKÔKñ-Mô -MñNô Nð Nøð �gÐÐØ�9Ô Ò!Ð!ÝØ]ñ_ô _ð _åÝ”W×%Ò%¥c¤h¨q¤kÑ2Ô2Ð2Ð2°G¸KÔ4HÐ4HÐ4HðJñ Kô Kð KàˆØð 'ð 'ˆØ�Œ>˜_Ò,Ð,Ø gÐ-Ð-ÝØañcô cð cåÐPÝ�U˜7”^Ñ$Ô$ñ&ñ 'ô 'ð 'ð	 -ð $ GÔ,…HÔØ"…LÔØ  Ô-…HÔå
�xÑ
 Ô
 €Cà�hŠh‰jŒjð @ð @ˆÝ�C˜”G h°XÐ>Ð>Ñ?Ô?Ð?Ð?Ø€Jro   c                 ó  — g g }}t          j        | dz   |z   dz   ¦  «        j        }|rt          | ¦  «        }nd}d„ |D ¦   «         D ]@} ||¦  «        r|                     ||d…         ¦  «         Œ+|                     |¦  «         ŒA||fS )z,
    Filter files by prefix and suffix.
    z.*z\Zr   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rj   )Ústrip)rl   Úxs     rW   ú
<listcomp>z filter_files.<locals>.<listcomp>ì  s    € Ð*Ð*Ð*˜q�—’‘”Ð*Ð*Ð*ro   N)ÚreÚcompileÚmatchÚlenr1   )	ÚprefixÚsuffixrH   Úremove_prefixÚfilteredÚrestrª   ÚindÚfiles	            rW   Úfilter_filesr³   â  s°   € ð ˜ˆd€HÝŒJ�v ‘~¨Ñ.°Ñ6Ñ7Ô7Ô=€EØð Ý�&‰kŒkˆˆàˆØ*Ð* EÐ*Ñ*Ô*ð ð ˆØˆ5�‰;Œ;ð 	Ø�OŠO˜D   œJÑ'Ô'Ð'Ð'à�KŠK˜ÑÔÐÐØ�Tˆ>Ðro   c                 óˆ   — t           j                             t           j                             | j        ¦  «        ¦  «        }|S r�   )r<   rA   r“   r•   )r)   Úps     rW   Ú
get_prefixr¶   ô  s*   € Ý
Œ�Š�œŸš¨¬Ñ8Ô8Ñ9Ô9€AØ€Hro   c            
      óÜ  ‡$‡%‡&‡'‡(‡)‡*‡+‡,‡-‡.— ddl } t          j                             d¦  «        }t          j        |= d}	 t          j                             d¦  «        }n# t          $ r d}Y nw xY w|�3t          j        |dz            }t          j        |dz   = t          j        |= nd}|                      ¦   «         }t          j        d¦  «        Š$ˆ$fd„t          j        dd…         D ¦   «         Š.ˆ.fd„t          j        D ¦   «         t          _        ‰.rd	„ ‰.D ¦   «         Š.t          j        d
¦  «        Š%ˆ%fd„t          j        dd…         D ¦   «         Š)ˆ)fd„t          j        D ¦   «         t          _        g Š*d}t          j        dd…         D ].}|dv rd}n|dk    rd}|s|dk    r‰*                     |¦  «         Œ/‰*r!‰*d         dk    r‰*                     d¦  «         ‰) 	                    ‰*¦  «         ˆ*fd„t          j        D ¦   «         t          _        t          j        d¦  «        Š&ˆ&fd„t          j        dd…         D ¦   «         Š,ˆ,fd„t          j        D ¦   «         t          _        t          j        d¦  «        Š'ˆ'fd„t          j        dd…         D ¦   «         Š+ˆ+fd„t          j        D ¦   «         t          _        g }‰,D �]	}d}|dt          |¦  «        …         |k    réddlm}	 |	                     ¦   «          t          |	j                             ¦   «         ¦  «        }
|t          |¦  «        d…                              ¦   «         x}}||
vr[i }	 ||         }nM# t$          $ r@ ||                     ¦   «         vr't)          d|t          |¦  «        d…         z  ¦  «         Y nw xY w|}‰,                     |¦  «        }d|z   ‰,|<   �Œ	�Œ|D ]}‰,                     |¦  «        }‰,|= Œt          ‰,¦  «        dk    sJ t+          ‰,¦  «        ¦   «         ‚t          j        d¦  «        Š(ˆ(fd„t          j        dd…         D ¦   «         Š-ˆ-fd„t          j        D ¦   «         t          _        d‰)v r‰-                     d¦  «         d}t          j        dd…         }d D ]Š}|t          j        v rzt          j                             |¦  «        }‰) 	                    t          j        ||dz   …         ¦  «         t          j        |dz   = t          j        |= t          j        dd…         }Œ‹d!t          j        v rft          j                             d!¦  «        }t          j        |dz            }t          j        |dz   = t          j        |= t          j        dd…         }n3dd"lm} t1          d#d$|¦  «        \  }}||z   }|D ]} ||¦  «        }|r nŒt1          d#d%|¦  «        \  }}t1          d&d#|d¬'¦  «        \  }}t1          d(d#|d¬'¦  «        \  }}t1          d)d#|d¬'¦  «        \  }}t1          d*d#|d¬'¦  «        \  }}t1          d+d#|d¬'¦  «        \  }}t3          t          |¦  «        ¦  «        D ]|}||                              d,d¦  «        }t          |¦  «        dk    r|                     d¦  «         t          |¦  «        dk    rt7          |¦  «        ||<   Œlt)          d-|¦  «         Œ}dd.lm} i }|r)| 	                    |                     d/g ¦  «        ¦  «         dd0lm }m!} ||||||||‰)d1œ	}‰.r@dd2l"m#}  ‰.D ]7}! ||!¦  «        }|stI          d3t+          |!¦  «        z  ¦  «          | |fi |¤Ž Œ8 |d>i |¤Ž}"t          j        d         g‰-z   t          _        t          j         	                    d4d5|d6|d7d8d9g¦  «         ‰+r#t          j         	                    d:g‰+z   ¦  «         ‰,r#t          j         	                    d;g‰,z   ¦  «          ||"g¬<¦  «         |rLtJ          j&         '                    |¦  «        r/ddl(}#tI          d=|z  ¦  «         |# )                    |¦  «         dS dS dS )?z 
    Do it all in one call!
    r   Nú-cr   r   z--link-c                 ó>   •— g | ]}‰                      |¦  «        ¯|‘ŒS rj   ©rª   )rl   Ú_mÚ_reg1s     €rW   r§   zrun_compile.<locals>.<listcomp>  s(   ø€ ÐBÐBÐB˜B°%·+²+¸b±/´/ÐB�RÐBÐBÐBro   c                 ó   •— g | ]}|‰v¯|‘Œ	S rj   rj   )rl   r»   Úsysinfo_flagss     €rW   r§   zrun_compile.<locals>.<listcomp>  s#   ø€ ÐAÐAÐA�r¨°=Ð)@Ð)@�Ð)@Ð)@Ð)@ro   c                 ó"   — g | ]}|d d…         ‘ŒS )é   Nrj   )rl   rI   s     rW   r§   zrun_compile.<locals>.<listcomp>  s    € Ð6Ð6Ð6 1˜˜1˜2˜2œÐ6Ð6Ð6ro   zN--((no-|)(wrap-functions|lower)|debug-capi|quiet|skip-empty-wrappers)|-includec                 ó>   •— g | ]}‰                      |¦  «        ¯|‘ŒS rj   rº   )rl   r»   Ú_reg2s     €rW   r§   zrun_compile.<locals>.<listcomp>  ó(   ø€ Ð?Ð?Ð?˜¨u¯{ª{¸2©¬Ð?�"Ð?Ð?Ð?ro   c                 ó   •— g | ]}|‰v¯|‘Œ	S rj   rj   )rl   r»   Ú
f2py_flagss     €rW   r§   zrun_compile.<locals>.<listcomp>  ó#   ø€ Ð>Ð>Ð>�r¨°:Ð)=Ð)=�Ð)=Ð)=Ð)=ro   )r   r   r   r   c                 ó   •— g | ]}|‰v¯|‘Œ	S rj   rj   )rl   r»   Úf2py_flags2s     €rW   r§   zrun_compile.<locals>.<listcomp>&  ó#   ø€ Ð?Ð?Ð?�r¨°;Ð)>Ð)>�Ð)>Ð)>Ð)>ro   z4--((f(90)?compiler(-exec|)|compiler)=|help-compiler)c                 ó>   •— g | ]}‰                      |¦  «        ¯|‘ŒS rj   rº   )rl   r»   Ú_reg3s     €rW   r§   zrun_compile.<locals>.<listcomp>)  rÃ   ro   c                 ó   •— g | ]}|‰v¯|‘Œ	S rj   rj   )rl   r»   Ú
flib_flagss     €rW   r§   zrun_compile.<locals>.<listcomp>*  rÆ   ro   zH--((f(77|90)(flags|exec)|opt|arch)=|(debug|noopt|noarch|help-fcompiler))c                 ó>   •— g | ]}‰                      |¦  «        ¯|‘ŒS rj   rº   )rl   r»   Ú_reg4s     €rW   r§   zrun_compile.<locals>.<listcomp>-  s(   ø€ Ð=Ð=Ð=�r¨U¯[ª[¸©_¬_Ð=�Ð=Ð=Ð=ro   c                 ó   •— g | ]}|‰v¯|‘Œ	S rj   rj   )rl   r»   Úfc_flagss     €rW   r§   zrun_compile.<locals>.<listcomp>.  s#   ø€ Ð<Ð<Ð<�r¨°8Ð);Ð);�Ð);Ð);Ð);ro   z--fcompiler=)Ú	fcompilerzUnknown vendor: "%s"r   z--(verbose)c                 ó>   •— g | ]}‰                      |¦  «        ¯|‘ŒS rj   rº   )rl   r»   Ú_reg5s     €rW   r§   zrun_compile.<locals>.<listcomp>I  s(   ø€ Ð@Ð@Ð@˜"°·²¸B±´Ð@�2Ð@Ð@Ð@ro   c                 ó   •— g | ]}|‰v¯|‘Œ	S rj   rj   )rl   r»   Úsetup_flagss     €rW   r§   zrun_compile.<locals>.<listcomp>J  rÉ   ro   r   Úuntitled)r!   r"   r   r   )Úget_f2py_modulenamer   z[.]pyf([.]src|)z[.](o|a|so|dylib)z-I)r®   z-Lz-lz-Uz-Dú=zInvalid use of -D:)Úget_infoÚinclude_dirs)ÚsetupÚ	Extension)	r\   ÚsourcesrÛ   Úlibrary_dirsÚ	librariesÚdefine_macrosÚundef_macrosÚextra_objectsÚf2py_options)ru   z9No %s resources found in system (try `f2py --help-link`)
Úbuildz--build-tempz--build-basez--build-platlibr   z--disable-optimizationÚ	config_fcÚ	build_ext)Úext_moduleszRemoving build directory %s
rj   )*Útempfiler4   r™   rt   Ú
ValueErrorÚmkdtempr¨   r©   r1   r:   r«   Únumpy.distutilsrÒ   Úload_all_fcompiler_classesr„   Úfcompiler_classrr   ÚlowerÚKeyErrorÚvaluesr2   r9   Ú!numpy.distutils.command.build_srcrØ   r³   Úranger;   ÚtupleÚnumpy.distutils.system_inforÚ   ÚgetÚnumpy.distutils.corerÜ   rÝ   Únumpy.distutils.misc_utilru   r7   r<   rA   ÚexistsÚshutilÚrmtree)/ré   ÚiÚremove_build_dirÚ	build_dirÚflÚaÚdel_listrm   rˆ   rÒ   Úallowed_keysÚnvÚovÚvmaprS   rÞ   ÚoptnamerØ   Ú	pyf_filesrI   rã   rÛ   rß   rà   râ   rá   Ú
name_valuerÚ   Únum_inforÜ   rÝ   Úext_argsru   ÚnÚextrú   r¼   rÂ   rË   rÏ   rÔ   rÅ   rÈ   rÑ   rÍ   rÖ   r¾   s/                                       @@@@@@@@@@@rW   Úrun_compiler  ù  s…	  øøøøøøøøøøø€ ð €O€O€OåŒ�Š�tÑÔ€AÝŒ�ˆàÐðÝŒH�NŠN˜=Ñ)Ô)ˆˆøÝð ð ð Øˆˆˆðøøøà€}Ý”H˜Q ™U”Oˆ	ÝŒH�Q˜‘UˆOÝŒH�QˆKˆKàÐØ×$Ò$Ñ&Ô&ˆ	åŒJ�zÑ"Ô"€EØBÐBÐBÐB¥#¤(¨1¨2¨2¤,ÐBÑBÔB€MØAÐAÐAÐA�SœXÐAÑAÔA…C„HØð 7Ø6Ð6¨Ð6Ñ6Ô6ˆåŒJØYñ[ô [€Eà?Ð?Ð?Ð?�sœx¨¨¨œ|Ð?Ñ?Ô?€JØ>Ð>Ð>Ð>�SœXÐ>Ñ>Ô>…C„HØ€KØ	
€BÝŒX�a�b�bŒ\ð "ð "ˆØÐ"Ð"Ð"ØˆBˆBØ�#ŠXˆXØˆBØð 	"��c’�Ø×Ò˜qÑ!Ô!Ð!øØð  �{ 2”¨#Ò-Ð-Ø×Ò˜3ÑÔÐØ×Ò�kÑ"Ô"Ð"à?Ð?Ð?Ð?�SœXÐ?Ñ?Ô?…C„HÝŒJØ?ñAô A€Eà?Ð?Ð?Ð?�sœx¨¨¨œ|Ð?Ñ?Ô?€JØ>Ð>Ð>Ð>�SœXÐ>Ñ>Ô>…C„HÝŒJØSñUô U€Eà=Ð=Ð=Ð=�SœX a b bœ\Ð=Ñ=Ô=€HØ<Ð<Ð<Ð<�SœXÐ<Ñ<Ô<…C„Hà€HØð ñ ˆØˆØˆW�c�!‰fŒfˆWŒ:˜Š?ˆ?Ø1Ð1Ð1Ð1Ð1Ð1Ø×0Ò0Ñ2Ô2Ð2Ý 	Ô 9× >Ò >Ñ @Ô @ÑAÔAˆLØ�˜A™œ˜˜”j×&Ò&Ñ(Ô(Ð(ˆB�Ø˜Ð%Ð%Ø�ðEØ˜bœ�B�BøÝð Eð Eð EØ §¢¡¤Ð.Ð.ÝÐ4¸½#¸a¹&¼&¸'¸'¼
ÑCÑDÔDÐDøøðEøøøð �Ø× Ò  Ñ#Ô#ˆAØ*¨RÑ/ˆJ�q‰MÙñ ð  ð ð ˆØ×Ò˜QÑÔˆØ�qˆMˆMÝˆz‰?Œ?˜aÒÐÐ¥ jÑ!1Ô!1ÑÔÐåŒJ�~Ñ&Ô&€EØ@Ð@Ð@Ð@¥¤¨¨¨¤Ð@Ñ@Ô@€KØ?Ð?Ð?Ð?�SœXÐ?Ñ?Ô?…C„Hà�JÐÐØ×Ò˜9Ñ%Ô%Ð%à€JÝŒh�q�r�rŒl€GàEð #ð #ˆØ•c”hÐÐÝ”—’˜wÑ'Ô'ˆAØ×Ò�cœh q¨¨Q© wÔ/Ñ0Ô0Ð0Ý”˜˜Q™�¥¤¨! Ý”h˜q˜r˜r”lˆGøà�sŒxÐÐÝŒH�NŠN˜4Ñ Ô ˆÝ”X˜a !™e”_ˆ
ÝŒH�Q˜‘UˆO�SœX a˜[Ý”(˜1˜2˜2”,ˆˆàIÐIÐIÐIÐIÐIÝ)¨"Ð.?ÀÑIÔIÑˆ	�7Ø˜gÑ%ˆØð 	ð 	ˆAØ,Ð,¨QÑ/Ô/ˆJØð Ø�ðõ *¨"Ð.AÀ7ÑKÔKÑ€M�7Ý(¨¨r°7È!ÐLÑLÔLÑ€L�'Ý(¨¨r°7È!ÐLÑLÔLÑ€L�'Ý% d¨B°ÀqÐIÑIÔIÑ€IˆwÝ(¨¨r°7È!ÐLÑLÔLÑ€L�'Ý)¨$°°GÈ1ÐMÑMÔMÑ€M�7Ý•3�}Ñ%Ô%Ñ&Ô&ð 4ð 4ˆØ" 1Ô%×+Ò+¨C°Ñ3Ô3ˆ
Ýˆz‰?Œ?˜aÒÐØ×Ò˜dÑ#Ô#Ð#Ýˆz‰?Œ?˜aÒÐÝ$ ZÑ0Ô0ˆM˜!ÑÐåÐ&¨
Ñ3Ô3Ð3Ð3à4Ð4Ð4Ð4Ð4Ð4à€HØð >Ø×Ò˜HŸLšL¨¸Ñ<Ô<Ñ=Ô=Ð=à5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ø"¨wØ ,Ø ,Ø&Ø!.Ø ,Ø!.Ø *ðð €Hð ð 'Ø9Ð9Ð9Ð9Ð9Ð9Øð 	'ð 	'ˆAØ�˜‘”ˆAØð CÝð 6Ý9=¸a¹¼ñBñ Cô Cð CàˆK˜Ð&Ð& AÐ&Ð&Ð&Ð&à
ˆ)Ð
Ð
�hÐ
Ð
€CÝ”˜”ˆ}˜{Ñ*…C„HÝ„H‡O‚O�WØ# YØ# YØ&¨à-ð/ñ 0ô 0ð 0ð ð 2ÝŒ�Š˜˜¨Ñ0Ñ1Ô1Ð1Øð 4ÝŒ�Š˜˜¨
Ñ2Ñ3Ô3Ð3à	€E�s�eÐÑÔÐàð !�BœGŸNšN¨9Ñ5Ô5ð !ØˆˆˆÝÐ/°9Ñ=Ñ>Ô>Ð>Ø�Š�iÑ Ô Ð Ð Ð ð!ð !ð !ð !s$   ¿A ÁA.Á-A.ÍM"Í"AN,Î+N,c                  ó:  — dt           j        dd …         v r1t           j                             d¦  «         ddlm}   | ¦   «          d S dt           j        dd …         v r4t           j                             d¦  «         t          j        d¦  «         nÂdt           j        dd …         v r t           j                             d¦  «         nŒdt           j        dd …         v r?t           j                             d	¦  «         t           j                             d¦  «         n7d
t           j        dd …         v r t           j                             d
¦  «         n	 dt           j        dd …         v rt          ¦   «          d S t          t           j        dd …         ¦  «         d S )Nz--help-linkr   r   ©Úshow_allz
--g3-numpyz*G3 f2py support is not implemented, yet.\nz--2e-numericz--2e-numarrayz
-DNUMARRAYz
--2e-numpyr¸   )r4   r™   Úremoverõ   r  Ústderrr`   r5   r1   r  r¢   r  s    rW   Úmainr  ¥  sg  € Ø�œ   œÐ$Ð$ÝŒ�Š˜Ñ&Ô&Ð&Ø8Ð8Ð8Ð8Ð8Ð8Øˆ‰
Œ
ˆ
Øˆð •s”x   ”|Ð#Ð#ÝŒ
×ÒÐFÑGÔGÐGÝŒ�‰ŒˆˆØ	�3œ8 A B Bœ<Ð	'Ð	'ÝŒ�Š˜Ñ'Ô'Ð'Ð'Ø	�CœH Q R RœLÐ	(Ð	(õ 	Œ�Š˜Ñ%Ô%Ð%ÝŒ�Š˜Ñ(Ô(Ð(Ð(Ø	�œ ! " "œÐ	%Ð	%ÝŒ�Š˜Ñ%Ô%Ð%Ð%àà�sŒx˜˜˜Œ|ÐÐÝ‰Œˆˆˆå•”˜!˜"˜"”ÑÔÐÐÐro   r�   )"Ú__doc__r4   r<   Úpprintr¨   Úpathlibr   r   r   r   r   r   r	   r
   r   r   Úversionr3   Únumpy_versionr  r`   r8   Úshowr7   r@   rX   rd   r   ru   r¢   r³   r¶   r  r  rj   ro   rW   ú<module>r     sâ  ððð ð €
€
€
Ø 	€	€	€	Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð àÔ"€ØÔ#€Ø
Œ*Ô
€à„}€Ø
Ô
€ðHQðF ðGHQð HQðH ðIHQð HQð HQð 
ðXTð Tð Tðn!ð !ð !ðH ð  ð  ðFð ð ðDð Dð DðNð ð ð ð$ð ð ð
i!ð i!ð i!ðXð ð ð ð ro   