o
    U=ºi3ö  ã                   @   sz  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 ej	Z
ej	ZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ ddlmKZK ddlmLZL dd	lmMZM dd
lmNZN ddlmOZO ddlmPZP i ZQi ZRdD ]ZSdeReS< qÎeTejU Vde ¡ ¡ƒZWde Xe YeW¡¡ d edƒ d edƒ d edƒ d edƒ d edƒ d edƒ d edƒ d ed ƒ d! ed"ƒ d# ed$ƒ d% ed&ƒ d' ed(ƒ d) ed*ƒ d+ ed,ƒ d- ed.ƒ d/ e d0 d+d+d1œg d2¢d3d4gd5œZZd6d7d8d9d:d;d<d=d=ed>eEeƒd=id?œ
gZ[eRd@dAdBdCdDdEdFg dG¢edHidIdJgdKgdLœZ\i dMi dNd“dOd“dPd“dQd“dRd“dSdT“dUd“dVd“dWd“dXd“dYdZ“d[d“d\d“d]d“d^d“d_d““d`d=“dad=“dbd=“dcd=“ddd=“ded=“dPdf“dgdh“did=“djd=“dYd=“d[d=“dUdk“dVdl“dWdm“dXdn“i d\do“d]dp“d^dq“d_dr“dsd=“dtd=“dud=“dvdw“dxdyg“dzd{“d|d}g“d~d“dQd€“dOd�“dRd‚“dNdƒ“d„d=“¥d=d=d=d=d=d=d=d=d=d=d=d=ed…eEeƒd=id†œ¥d‡dˆd=eEe2ƒd‰œdŠd‹d=e2d‰œdŒeDeEeFe2e$ƒƒeEeƒƒd�eDeEe2ƒe$eEeƒƒdŽe2d=ed=ieEeFe2e$eƒƒd�eDeEe2ƒe$eEeƒƒd�eDeEe2ƒeƒd‘ieDeEeFe2e$ƒƒeEeƒƒd’ied“gied”ie<d•ied–ieEeFeeƒƒd—ie<d˜ied™igeDe:eEe;ƒƒdšœdŒeEeFe2eƒƒd›ed=ieEeFe2eƒƒdœed‘ieEeFe2eƒƒd�ieEeFe2eƒƒdžd’giedŸgied ie<d¡ieEeFeeƒƒd¢ied£ie<d¤ied¥ige!d¦œdŒeEeFe2eƒƒd›ed=ieEeFe2eƒƒdœed‘ieEeFe2eƒƒd§ieEeFe2eƒƒdžd’giedŸgied ie<d¡ieEeFeeƒƒd¢ied£ie<d¤ied¥ige;d¦œd¨eEe'ƒd©idªd«ed¬igeDee9ƒd­ieDeeEe9ƒƒd®igeDe eEe!ƒƒd¯œeDeEeFe2e$ƒƒeEeƒƒd°eDeEe2ƒe$eEeƒƒd±ed=ieDeEeFe2e$ƒƒeEeƒƒd�eDeEe2ƒe$eEeƒƒd�ed‘ied²eEeƒd³ied´iged ie<d¡iedµieEeFeeƒƒd¶ie<d¤ied¥ieDeeƒd·ieDeeEeƒƒd¸iged¹ieEeƒd’iedºie1d»ie/d¼igeEe'ƒd½ied¾eEeFee'ƒƒd¿ieDe eEe9ƒeEe!ƒƒdÀœ	d�eEeFe2e$ƒƒd�eDeEe2ƒe$ƒd�idÁdÂgdÃdÄdÅdÆdÇdÈdÉd¥dÊed”ie<dËidÌe<dÍied™iedÎidÏgd½d¿dÐg dÑ¢eDe9eEe!ƒƒdÒœ
dÓdÔdÕedÖœg
Z]e0d»e.d¼e-d×e>dØeBdÙe=dÚe@dÛe?dØeCdÙeAdÛe6d»iZ^dMeRidÜedÝigdÞe^dßœdàedáiedâieDe5eEeƒƒdãœdädªdådæeDe5eEeƒe*ƒdçœdèedéiedêœdëdìgdíge7dîœg dï¢díedðiedñigedîœdòeDeeEeƒƒidòeDeeEeƒe)ƒid¨e"d=dóœd¨e?d=dóœd¨eCd=dóœd¨eAd=dóœd¨ed=dóœedôidõe8döœgZ_g dMeRi‘d÷edÝigdÞd=e^døœ‘eDe3e)ƒdùieDe4e)ƒdùie*dªieDe3e)ƒdúed…igieDe4e)ƒdúed…igie*d«eDee'ƒd…eDee)ƒdûigid=düœ‘dýdþeDe)eEe3ƒƒdÿœ‘dý�d dþeDe)e3ƒ�dœ‘dådæe*�dœ‘i �de)�di“�de)�di“dVe)�di“dX�d“d_�d	“d]e)�d
i“dP�d�d�deEe%ƒ�dig“�de)�di“d„e4�di“�de3�di“�de)�di“dse4�di“dte3�di“�d�d“dS�d“dbeEe%ƒ�di“�d�d�dg“dòei¥‘eEe%ƒ�die%�di�de�d eEe%ƒ�d!igi�d"g�d#�d$�d%ged=�d&œ‘dàe�d'ie$dþeEe$ƒ�d(ie*däieDe5eEeƒƒ�d)œ‘edáieDe5eEeƒƒ�d*œ‘�d+e4�die3�die4�d,ie3�d,ie(�d-ie(�d.ie(�d/ieDe5eEeƒe)ƒ�d0œ	‘e�d1�d2d=ieDe3eEeƒƒ�d3�d2d=ieEe,ƒ�d4ie,�d5ig�d6eEe,ƒ�d7ieDe5eEeƒe)ƒd=�d&œ‘edâie^eDe5eEeƒe'ƒd=�d8œ‘e�d'ieDe5eEeƒƒd=�d9œ‘dèe$dþeEe$ƒ�d(ie�d:ie*�d;ie�d<œ‘�d+e4�die3�die4�d,ie3�d,ie(�d/ie(�d=ie(�d>ieDee)ƒ�d?œ	‘e�d@ieDe3eEeƒƒ�d3i�d4g�dA�d7geDee)ƒd=�d&œ‘e*�d+ieDee'ƒ�dBœ‘edéieDee'ƒd=�d9œ‘e*�dCidºge�dDœ‘e�d:ied=�d9œ‘g �dE¢dþ�dFe�dGieDe*eEe$ƒƒ�dHige*däidíeDe*eEe$ƒƒ�dIige7�dJœ‘�dKeEe$ƒ�dLig�dM�d7dí�dNeEe$ƒ�dIige7d=�d&œ‘e4�die3�die4�d,ie3�d,ieDe(eEe$ƒƒ�dHie(�dOige(�d.ie(�d/eDe(eEe$ƒƒ�dIieDe7e)ƒ�dPœ‘dòeDe7e'ƒi‘e�dGie7d=�d9œ‘g �dQ¢dþe*�dRidíe�dSœ‘�dT�dU�dV�dW�dX�dY�dZeDee+ƒ�d[œ‘�d\eDee+ƒd=�d9œ‘�d]�dU�dV�dW�d^�dY�d_eDee&ƒ�d[œ‘�d\eDee&ƒd=�d9œ‘edðiedñiged=dóœ‘�d+e4�die3�die4�d,ie3�d,ieDee)ƒ�d`œ‘�da�dbe'�dcie)�ddi�deee)�dfie'�dgie�dhi�digig�djeEeFe*e'ƒƒ�dkieDe'eEe*ƒƒ�dlie�dmiged=�dnœ‘dòeDeeEeƒƒi‘dòeDeeEeƒe)ƒi‘d¨e"d=dóœ‘d¨e?d=dóœ‘d¨eCd=dóœ‘d¨eAd=dóœ‘d¨ed=dóœ‘edôidõe8döœ‘Z`e�doidí�dpœ�dq�dr�dseDe5eEeƒƒd=�dtœ�du�dv�dwe7d=�dtœ�dx�dy�dzed=�d{œ�d|�d}�d~�dœgZa�d€�d�„ Zb�d‚�dƒ�d„�d…�d…�d…�d…�d…�d…�d…�d†œ
Zc�d‡�dˆ„ ZddS (‰  aG  

Rules for building C/API module with f2py2e.

Here is a skeleton of a new wrapper function (13Dec2001):

wrapper_function(args)
  declarations
  get_python_arguments, say, `a' and `b'

  get_a_from_python
  if (successful) {

    get_b_from_python
    if (successful) {

      callfortran
      if (successful) {

        put_a_to_python
        if (successful) {

          put_b_to_python
          if (successful) {

            buildvalue = ...

          }

        }

      }

    }
    cleanup_b

  }
  cleanup_a

  return buildvalue

Copyright 1999,2000 Pearu Peterson all rights reserved,
Pearu Peterson <pearu@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/08/30 08:58:42 $
Pearu Peterson

é    N)ÚPathé   )Ú__version__)>Ú
applyrulesÚ	debugcapiÚ
dictappendÚerrmessÚgentitleÚgetargs2ÚhascallstatementÚhasexternalsÚhasinitvalueÚhasnoteÚhasresultnoteÚisarrayÚisarrayofstringsÚ	iscomplexÚiscomplexarrayÚiscomplexfunctionÚiscomplexfunction_warnÚisdummyroutineÚ
isexternalÚ
isfunctionÚisfunction_wrapÚisint1arrayÚisintent_auxÚ
isintent_cÚisintent_callbackÚisintent_copyÚisintent_hideÚisintent_inoutÚisintent_nothideÚisintent_outÚisintent_overwriteÚ	islogicalÚislong_complexÚislong_doubleÚislong_doublefunctionÚislong_longÚislong_longfunctionÚismoduleroutineÚ
isoptionalÚ
isrequiredÚisscalarÚissigned_long_longarrayÚisstringÚisstringarrayÚisstringfunctionÚissubroutineÚissubroutine_wrapÚisthreadsafeÚ
isunsignedÚisunsigned_charÚisunsigned_chararrayÚisunsigned_long_longÚisunsigned_long_longarrayÚisunsigned_shortÚisunsigned_shortarrayÚl_andÚl_notÚl_orÚoutmessÚreplaceÚ
stripcommaÚrequiresf90wrapper)Ú	capi_maps)Úcfuncs)Úcommon_rules)Ú	use_rules)Úf90mod_rules)Ú	func2subr)ÚdeclÚ	frompyobjÚcleanupfrompyobjÚtopyarrÚmethodÚ	pyobjfromÚclosepyobjfromÚfreememÚuserincludesÚ	includes0ÚincludesÚtypedefsÚtypedefs_generatedÚ	cppmacrosrD   Ú	callbacksÚlatexdocÚrestdocÚroutine_defsÚexternroutinesÚinitf2pywraphooksÚcommonhooksÚinitcommonhooksÚf90modhooksÚinitf90modhooksÚ
ÚSOURCE_DATE_EPOCHzò/* File: #modulename#module.c
 * This file is auto-generated with f2py (version:#f2py_version#).
 * f2py is a Fortran to Python Interface Generator (FPIG), Second Edition,
 * written by Pearu Peterson <pearu@cens.ioc.ee>.
 * Generation date: a  
 * Do not edit this file directly unless you know what you are doing!!!
 */

#ifdef __cplusplus
extern "C" {
#endif

#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */

/* Unconditionally included */
#include <Python.h>
#include <numpy/npy_os.h>

zSee f2py2e/cfuncs.py: includesz
#includes#
#includes0#

z,See f2py2e/rules.py: mod_rules['modulebody']zM
static PyObject *#modulename#_error;
static PyObject *#modulename#_module;

zSee f2py2e/cfuncs.py: typedefsz
#typedefs#

z(See f2py2e/cfuncs.py: typedefs_generatedz
#typedefs_generated#

zSee f2py2e/cfuncs.py: cppmacrosz
#cppmacros#

zSee f2py2e/cfuncs.py: cfuncsz
#cfuncs#

z"See f2py2e/cfuncs.py: userincludesz
#userincludes#

z"See f2py2e/capi_rules.py: usercodez9
#usercode#

/* See f2py2e/rules.py */
#externroutines#

z#See f2py2e/capi_rules.py: usercode1z
#usercode1#

z%See f2py2e/cb_rules.py: buildcallbackz
#callbacks#

zSee f2py2e/rules.py: buildapiz	
#body#

z&See f2py2e/f90mod_rules.py: buildhooksz
#f90modhooks#

z/See f2py2e/rules.py: module_rules['modulebody']ú

z&See f2py2e/common_rules.py: buildhooksz
#commonhooks#

zSee f2py2e/rules.pya,  

static FortranDataDef f2py_routine_defs[] = {
#routine_defs#
    {NULL}
};

static PyMethodDef f2py_module_methods[] = {
#pymethoddef#
    {NULL,NULL}
};

static struct PyModuleDef moduledef = {
    PyModuleDef_HEAD_INIT,
    "#modulename#",
    NULL,
    -1,
    f2py_module_methods,
    NULL,
    NULL,
    NULL,
    NULL
};

PyMODINIT_FUNC PyInit_#modulename#(void) {
    int i;
    PyObject *m,*d, *s, *tmp;
    m = #modulename#_module = PyModule_Create(&moduledef);
    Py_SET_TYPE(&PyFortran_Type, &PyType_Type);
    import_array();
    if (PyErr_Occurred())
        {PyErr_SetString(PyExc_ImportError, "can't initialize module #modulename# (failed to import numpy)"); return m;}
    d = PyModule_GetDict(m);
    s = PyUnicode_FromString("#f2py_version#");
    PyDict_SetItemString(d, "__version__", s);
    Py_DECREF(s);
    s = PyUnicode_FromString(
        "This module '#modulename#' is auto-generated with f2py (version:#f2py_version#).\nFunctions:\n"
#docs#".");
    PyDict_SetItemString(d, "__doc__", s);
    Py_DECREF(s);
    s = PyUnicode_FromString("az  ");
    PyDict_SetItemString(d, "__f2py_numpy_version__", s);
    Py_DECREF(s);
    #modulename#_error = PyErr_NewException ("#modulename#.error", NULL, NULL);
    /*
     * Store the error object inside the dict, so that it could get deallocated.
     * (in practice, this is a module, so it likely will not and cannot.)
     */
    PyDict_SetItemString(d, "_#modulename#_error", #modulename#_error);
    Py_DECREF(#modulename#_error);
    for(i=0;f2py_routine_defs[i].name!=NULL;i++) {
        tmp = PyFortranObject_NewAsAttr(&f2py_routine_defs[i]);
        PyDict_SetItemString(d, f2py_routine_defs[i].name, tmp);
        Py_DECREF(tmp);
    }
#initf2pywraphooks#
#initf90modhooks#
#initcommonhooks#
#interface_usercode#

#ifdef F2PY_REPORT_ATEXIT
    if (! PyErr_Occurred())
        on_exit(f2py_report_on_exit,(void*)"#modulename#");
#endif
    return m;
}
#ifdef __cplusplus
}
#endif
)rX   rY   )z*\section{Module \texttt{#texmodulename#}}
z
#modnote#
z
#latexdoc#zdModule #modulename#
================================================================================z

#restdoc#)Ú
modulebodyÚseparatorsforrX   rY   z/*eof body*/z/*eof method*/z/*eof externroutines*/z/*eof routine_defs*/z/*eof initf90modhooks*/z/*eof initf2pywraphooks*/z/*eof initcommonhooks*/Ú z#note#)
ÚbodyrM   r[   rZ   r`   r\   r^   rX   rY   Zmodnotea=  
#begintitle#
static char doc_#apiname#[] = "\
#docreturn##name#(#docsignatureshort#)\n\nWrapper for ``#name#``.\
\n#docstrsigns#";
/* #declfortranroutine# */
static PyObject *#apiname#(const PyObject *capi_self,
                           PyObject *capi_args,
                           PyObject *capi_keywds,
                           #functype# (*f2py_func)(#callprotoargument#)) {
    PyObject * volatile capi_buildvalue = NULL;
    volatile int f2py_success = 1;
#decl#
    static char *capi_kwlist[] = {#kwlist##kwlistopt##kwlistxa#NULL};
#usercode#
#routdebugenter#
#ifdef F2PY_REPORT_ATEXIT
f2py_start_clock();
#endif
    if (!PyArg_ParseTupleAndKeywords(capi_args,capi_keywds,\
        "#argformat#|#keyformat##xaformat#:#pyname#",\
        capi_kwlist#args_capi##keys_capi##keys_xa#))
        return NULL;
#frompyobj#
/*end of frompyobj*/
#ifdef F2PY_REPORT_ATEXIT
f2py_start_call_clock();
#endif
#callfortranroutine#
if (PyErr_Occurred())
  f2py_success = 0;
#ifdef F2PY_REPORT_ATEXIT
f2py_stop_call_clock();
#endif
/*end of callfortranroutine*/
        if (f2py_success) {
#pyobjfrom#
/*end of pyobjfrom*/
        CFUNCSMESS("Building return value.\n");
        capi_buildvalue = Py_BuildValue("#returnformat#"#return#);
/*closepyobjfrom*/
#closepyobjfrom#
        } /*if (f2py_success) after callfortranroutine*/
/*cleanupfrompyobj*/
#cleanupfrompyobj#
    if (capi_buildvalue == NULL) {
#routdebugfailure#
    } else {
#routdebugleave#
    }
    CFUNCSMESS("Freeing memory.\n");
#freemem#
#ifdef F2PY_REPORT_ATEXIT
f2py_stop_clock();
#endif
    return capi_buildvalue;
}
#endtitle#
z#routine_def#z#initf2pywraphook#z#declfortranroutine#z!#docreturn##name#(#docsignature#)z&#docreturn##name#(#docsignatureshort#)z*"    #docreturn##name#(#docsignature#)\n"
)zarrayobject.hÚ
CFUNCSMESSZMINMAXz#define DEBUGCFUNCSz1\subsection{Wrapper function \texttt{#texname#}}
zk
\noindent{{}\verb@#docreturn##name#@{}}\texttt{(#latexdocsignatureshort#)}
#routnote#

#latexdocstrsigns#
zlWrapped function ``#name#``
--------------------------------------------------------------------------------)re   rg   rZ   r\   r[   ÚdocÚdocshortZdocsÚneedrV   rX   rY   re   ÚcallfortranroutineÚroutdebugenterrI   ÚroutdebugleaveÚroutdebugfailureZ	setjmpbufz || Ú	docstrreqÚ	docstroptÚ	docstroutÚ	docstrcbsÚdocstrsignsz\n"
"ÚlatexdocstrsignsÚlatexdocstrreqÚlatexdocstroptÚlatexdocstroutZlatexdocstrcbsÚkwlistÚ	kwlistoptÚcallfortranÚcallfortranappendÚdocsignÚ
docsignoptz/*decl*/rP   z/*freemem*/ZdocsignshortÚdocsignoptshortz\nParameters\n----------z$\nOther Parameters\n----------------z\nReturns\n-------z'\nNotes\n-----\nCall-back functions::\nz\noindent Required arguments:z\noindent Optional arguments:z\noindent Return objects:z\noindent Call-back functions:Ú	args_capiÚ	keys_capiÚfunctyperJ   z/*frompyobj*/rK   z/*end of cleanupfrompyobj*/rN   z/*pyobjfrom*/rO   z/*end of closepyobjfrom*/rL   z/*topyarr*/z/*routdebugleave*/z/*routdebugenter*/z/*routdebugfailure*/z/*callfortranroutine*/Ú	argformatz
--- #note#)Ú	keyformatZneed_cfuncsÚ	docreturnÚreturnÚreturnformatZrformatÚkwlistxaÚkeys_xaÚxaformatÚ	docsignxaÚdocsignxashortÚinitf2pywraphookZroutnotezf2py_rout_#modulename#_#name#z#modulename#.#name#)ZapinameZpynamerI   Ú_checkz-f2py_rout_#modulename#_#f90modulename#_#name#z##modulename#.#f90modulename#.#name#ZvoidzGextern void #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);z/extern void #fortranname#(#callprotoargument#);zq    {"#name#",-1,{{-1}},0,(char *)#F_FUNC#(#fortranname#,#FORTRANNAME#),(f2py_init_func)#apiname#,doc_#apiname#},zY    {"#name#",-1,{{-1}},0,(char *)#fortranname#,(f2py_init_func)#apiname#,doc_#apiname#},zH    {"#name#",-1,{{-1}},0,NULL,(f2py_init_func)#apiname#,doc_#apiname#},ÚF_FUNCzU    fprintf(stderr,"debug-capi:Fortran subroutine `#fortranname#(#callfortran#)'\n");zI        if (#setjmpbuf#) {
            f2py_success = 0;
        } else {z"            Py_BEGIN_ALLOW_THREADSzQ                #callstatement#;
                /*(*f2py_func)(#callfortran#);*/z,                (*f2py_func)(#callfortran#);z             Py_END_ALLOW_THREADSz	        })r‚   ÚdeclfortranroutineÚroutine_defrk   rl   rŽ   zFextern void #F_WRAPPEDFUNC#(#name_lower#,#NAME#)(#callprotoargument#);zp    {"#name#",-1,{{-1}},0,(char *)#F_WRAPPEDFUNC#(#name_lower#,#NAME#),(f2py_init_func)#apiname#,doc_#apiname#},a†  
    {
      extern #ctype# #F_FUNC#(#name_lower#,#NAME#)(void);
      PyObject* o = PyDict_GetItemString(d,"#name#");
      tmp = F2PyCapsule_FromVoidPtr((void*)#F_FUNC#(#name_lower#,#NAME#),NULL);
      PyObject_SetAttrString(o,"_cpointer", tmp);
      Py_DECREF(tmp);
      s = PyUnicode_FromString("#name#");
      PyObject_SetAttrString(o,"__name__", s);
      Py_DECREF(s);
    }
    ZF_WRAPPEDFUNCz\    fprintf(stderr,"debug-capi:Fortran subroutine `f2pywrap#name_lower#(#callfortran#)'\n");z=    if (#setjmpbuf#) {
        f2py_success = 0;
    } else {z    Py_BEGIN_ALLOW_THREADSz     (*f2py_func)(#callfortran#);z9    #callstatement#;
    /*(*f2py_func)(#callfortran#);*/z    Py_END_ALLOW_THREADSz    })r‚   r�   r‘   r�   rk   rl   rŽ   aƒ  
    {
      extern void #F_FUNC#(#name_lower#,#NAME#)(void);
      PyObject* o = PyDict_GetItemString(d,"#name#");
      tmp = F2PyCapsule_FromVoidPtr((void*)#F_FUNC#(#name_lower#,#NAME#),NULL);
      PyObject_SetAttrString(o,"_cpointer", tmp);
      Py_DECREF(tmp);
      s = PyUnicode_FromString("#name#");
      PyObject_SetAttrString(o,"__name__", s);
      Py_DECREF(s);
    }
    ú#ctype#z#rname#,z#pydocsignout#z"\item[]{{}\verb@#pydocsignout#@{}}z--- #resultnote#zà#ifdef USESCOMPAQFORTRAN
    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callcompaqfortran#)\n");
#else
    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callfortran#)\n");
#endif
zZ    fprintf(stderr,"debug-capi:Fortran function #ctype# #fortranname#(#callfortran#)\n");
)r‚   r…   rr   rx   rl   rŽ   zJextern #ctype# #F_FUNC#(#fortranname#,#FORTRANNAME#)(#callprotoargument#);z2extern #ctype# #fortranname#(#callprotoargument#);z&    #ctype# #name#_return_value={0,0};z"    #ctype# #name#_return_value=0;z1    PyObject *#name#_return_value_capi = Py_None;zP    #callstatement#;
/*    #name#_return_value = (*f2py_func)(#callfortran#);*/
z6    #name#_return_value = (*f2py_func)(#callfortran#);zY    fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value.r,#name#_return_value.i);zA    fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value);zH    #name#_return_value_capi = pyobj_from_#ctype#1(#name#_return_value);zpyobj_from_#ctype#1Z	long_longZlong_doublez	#rformat#z,#name#_return_value_capiz,#name#_return_value)	r�   r‘   rI   rl   rN   rk   r‡   r†   rŽ   z'    #ctype# #name#_return_value = NULL;z$    int #name#_return_value_len = 0;z,#name#_return_value,#name#_return_value_len,z(    #name#_return_value_len = #rlength#;zS    if ((#name#_return_value = (string)malloc(#name#_return_value_len+1) == NULL) {z<        PyErr_SetString(PyExc_MemoryError, "out of memory");z        f2py_success = 0;z    } else {z>        (#name#_return_value)[#name#_return_value_len] = '\0';z    if (f2py_success) {z        Py_BEGIN_ALLOW_THREADSzv#ifdef USESCOMPAQFORTRAN
        (*f2py_func)(#callcompaqfortran#);
#else
        (*f2py_func)(#callfortran#);
#endif
z        Py_END_ALLOW_THREADSz]        fprintf(stderr,"#routdebugshowvalue#\n",#name#_return_value_len,#name#_return_value);z2    } /* if (f2py_success) after (string)malloc */z$    STRINGFREE(#name#_return_value);)r�   r’   Ú
STRINGFREE)
r�   r‘   rI   r{   rl   r‡   r†   rP   rk   rŽ   z]    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#(#docsignature#)\n");zZ    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#: successful.\n");zW    fprintf(stderr,"debug-capi:Python C/API function #modulename#.#name#: failure.\n");)rm   rn   ro   rŽ   Zcomplex_long_doubleZunsigned_charZunsigned_shortZunsignedZunsigned_long_longz1    /* Processing auxiliary variable #varname# */z'    fprintf(stderr,"#vardebuginfo#\n");z,    /* End of cleaning variable #varname# */)rJ   rK   rk   z    #ctype# #varname# = 0;zmath.hz    #varname# = #init#;)rI   rk   rJ   rŽ   z
,#varname#z#outvarname#,z#varrformat#)r†   rr   r…   r‡   rŽ   z    #ctype# #varname#;z3    #varname#.r = #init.r#, #varname#.i = #init.i#;)rI   rJ   rŽ   ú    #ctype# #varname# = NULL;ú    int slen(#varname#);zlen..)rI   rk   rŽ   )ú    #ctype# *#varname# = NULL;ú4    npy_intp #varname#_Dims[#rank#] = {#rank*[-1]#};ú&    const int #varname#_Rank = #rank#;Zforcombrh   rŽ   )rk   rŽ   Ú_dependzflen(#varname#),Ústring)r|   rk   rŽ   z'    /* Processing variable #varname# */)rJ   rK   r™   rk   z#pydocsign#z\item[]{{}\verb@#pydocsign#@{}}z--- See above.)rq   rp   rr   rw   rv   rx   Zdependz"#varname#",z
#varname#,)ry   r}   rŽ   z#varname#=#showinit#,)rz   r~   r   rŽ   )r…   r‡   rŽ   r‹   z#varname#_extra_args=(),rŒ   z#varname#_extra_args,z=#varname#_extra_args : input tuple, optional\n    Default: ()z
#cbdocstr#z\item[] #cblatexdocstr#z}\item[]{{}\verb@#varname#_extra_args := () input tuple@{}} --- Extra arguments for call-back function {{}\verb@#varname#@{}}.z3    #cbname#_t #varname#_cb = { Py_None, NULL, 0 };z1    #cbname#_t *#varname#_cb_ptr = &#varname#_cb;z,    PyTupleObject *#varname#_xa_capi = NULL;z$    #cbname#_typedef #varname#_cptr;rˆ   z"#varname#_extra_args",ÚOr„   rŠ   zO!z,&#varname#_cb.capir‰   z!,&PyTuple_Type,&#varname#_xa_capiz(setjmp(#varname#_cb.jmpbuf))z#varname#_cptr,rk   z#cbname#zsetjmp.hz�if(F2PyCapsule_Check(#varname#_cb.capi)) {
  #varname#_cptr = F2PyCapsule_AsVoidPtr(#varname#_cb.capi);
} else {
  #varname#_cptr = #cbname#;
}
aË  if (#varname#_cb.capi==Py_None) {
  #varname#_cb.capi = PyObject_GetAttrString(#modulename#_module,"#varname#");
  if (#varname#_cb.capi) {
    if (#varname#_xa_capi==NULL) {
      if (PyObject_HasAttrString(#modulename#_module,"#varname#_extra_args")) {
        PyObject* capi_tmp = PyObject_GetAttrString(#modulename#_module,"#varname#_extra_args");
        if (capi_tmp) {
          #varname#_xa_capi = (PyTupleObject *)PySequence_Tuple(capi_tmp);
          Py_DECREF(capi_tmp);
        }
        else {
          #varname#_xa_capi = (PyTupleObject *)Py_BuildValue("()");
        }
        if (#varname#_xa_capi==NULL) {
          PyErr_SetString(#modulename#_error,"Failed to convert #modulename#.#varname#_extra_args to tuple.\n");
          return NULL;
        }
      }
    }
  }
  if (#varname#_cb.capi==NULL) {
    PyErr_SetString(#modulename#_error,"Callback #varname# not defined (as an argument or module #modulename# attribute).\n");
    return NULL;
  }
}
zÈ    if (create_cb_arglist(#varname#_cb.capi,#varname#_xa_capi,#maxnofargs#,#nofoptargs#,&#varname#_cb.nofargs,&#varname#_cb.args_capi,"failed in processing argument list for call-back #varname#.")) {
z¾        fprintf(stderr,"debug-capi:Assuming %d arguments; at most #maxnofargs#(-#nofoptargs#) is expected.\n",#varname#_cb.nofargs);
        CFUNCSMESSPY("for #varname#=",#varname#_cb.capi);zK        fprintf(stderr,"#vardebugshowvalue# (call-back in C).\n",#cbname#);z†        CFUNCSMESS("Saving callback variables for `#varname#`.\n");
        #varname#_cb_ptr = swap_active_#cbname#(#varname#_cb_ptr);zº        CFUNCSMESS("Restoring callback variables for `#varname#`.\n");
        #varname#_cb_ptr = swap_active_#cbname#(#varname#_cb_ptr);
        Py_DECREF(#varname#_cb.args_capi);
    }ZSWAPZcreate_cb_arglist)rJ   rK   rk   rŽ   r™   z6    fprintf(stderr,"#vardebugshowvalue#\n",#varname#);z&#varname#,)rI   rN   r{   r†   rŽ   )rk   rŽ   ú'    PyObject *#varname#_capi = Py_None;z,&#varname#_capiz]    f2py_success = try_pyarr_from_#ctype#(#varname#_capi,&#varname#);
    if (f2py_success) {z2    } /*if (f2py_success) of #varname# pyobjfrom*/ztry_pyarr_from_#ctype#)	rI   rƒ   r„   r€   r�   rN   rO   rk   rŽ   z;    if (#varname#_capi == Py_None) #varname# = #init#; elser™   z"    if (#varname#_capi != Py_None)zš        f2py_success = #ctype#_from_pyobj(&#varname#,#varname#_capi,"#pyname#() #nth# (#varname#) can't be converted to #ctype#");
    if (f2py_success) {zo        #varname# = (#ctype#)PyObject_IsTrue(#varname#_capi);
        f2py_success = 1;
    if (f2py_success) {z(    } /*if (f2py_success) of #varname#*/z#ctype#_from_pyobj)rJ   rk   rŽ   r™   )rJ   rŽ   r™   zD    fprintf(stderr,"#vardebugshowvalue#\n",#varname#.r,#varname#.i);z,#varname#_capi)rI   r{   rN   r†   rŽ   ze        f2py_success = try_pyarr_from_#ctype#(#varname#_capi,&#varname#);
        if (f2py_success) {z6        } /*if (f2py_success) of #varname# pyobjfrom*/)	rI   rƒ   r„   r€   r�   rk   rN   rO   rŽ   zW    if (#varname#_capi==Py_None) {#varname#.r = #init.r#, #varname#.i = #init.i#;} elsez3    }  /*if (f2py_success) of #varname# frompyobj*/)rI   rŽ   z4    #varname#_capi = pyobj_from_#ctype#1(#varname#);)rN   rk   rŽ   )r”   r•   rœ   zslen(#varname#),zF    fprintf(stderr,"#vardebugshowvalue#\n",slen(#varname#),#varname#);z:        STRINGPADN(#varname#, slen(#varname#), ' ', '\0');Z
STRINGPADN)rI   r{   r|   rN   r†   rk   rŽ   zå    slen(#varname#) = #length#;
    f2py_success = #ctype#_from_pyobj(&#varname#,&slen(#varname#),#init#,#varname#_capi,"#ctype#_from_pyobj failed in converting #nth#`#varname#' of #pyname# to C #ctype#");
    if (f2py_success) {z:        STRINGPADN(#varname#, slen(#varname#), '\0', ' ');zH        STRINGFREE(#varname#);
    }  /*if (f2py_success) of #varname#*/r“   z˜    f2py_success = try_pyarr_from_#ctype#(#varname#_capi, #varname#,
                                          slen(#varname#));
    if (f2py_success) {)rƒ   r„   r€   r�   rN   rO   rk   rŽ   )r–   r—   r˜   z-    PyArrayObject *capi_#varname#_tmp = NULL;z"    int capi_#varname#_intent = 0;z,capi_#varname#_tmp)rI   r{   r†   rk   rŽ   z%    int capi_overwrite_#varname# = 1;z"overwrite_#varname#",Úiz,&capi_overwrite_#varname#zoverwrite_#varname#=1,zoverwrite_#varname#,z9overwrite_#varname# : input int, optional\n    Default: 1)rI   rˆ   rŠ   r‰   r‹   rŒ   rq   rŽ   zK    capi_#varname#_intent |= (capi_overwrite_#varname#?0:F2PY_INTENT_COPY);z%    int capi_overwrite_#varname# = 0;zoverwrite_#varname#=0,z9overwrite_#varname# : input int, optional\n    Default: 0)rI   rƒ   r„   r€   r�   rŽ   z    #setdims#;z&    capi_#varname#_intent |= #intent#;zo    capi_#varname#_tmp = array_from_pyobj(#atype#,#varname#_Dims,#varname#_Rank,capi_#varname#_intent,Py_None);zv    capi_#varname#_tmp = array_from_pyobj(#atype#,#varname#_Dims,#varname#_Rank,capi_#varname#_intent,#varname#_capi);av      if (capi_#varname#_tmp == NULL) {
        PyObject *exc, *val, *tb;
        PyErr_Fetch(&exc, &val, &tb);
        PyErr_SetString(exc ? exc : #modulename#_error,"failed in converting #nth# `#varname#' of #pyname# to C/Fortran array" );
        npy_PyErr_ChainExceptionsCause(exc, val, tb);
    } else {
        #varname# = (#ctype# *)(PyArray_DATA(capi_#varname#_tmp));
z$    if (#varname#_capi == Py_None) {z    {z        #ctype# capi_c;ay          int *_i,capi_i=0;
        CFUNCSMESS("#name#: Initializing #varname#=#init#\n");
        if (initforcomb(PyArray_DIMS(capi_#varname#_tmp),PyArray_NDIM(capi_#varname#_tmp),1)) {
            while ((_i = nextforcomb()))
                #varname#[capi_i++] = #init#; /* fortran way */
        } else {
            PyObject *exc, *val, *tb;
            PyErr_Fetch(&exc, &val, &tb);
            PyErr_SetString(exc ? exc : #modulename#_error,"Initialization of #nth# #varname# failed (initforcomb).");
            npy_PyErr_ChainExceptionsCause(exc, val, tb);
            f2py_success = 0;
        }
    }
    if (f2py_success) {z@    }  /*if (capi_#varname#_tmp == NULL) ... else of #varname#*/zb    if((PyObject *)capi_#varname#_tmp!=#varname#_capi) {
        Py_XDECREF(capi_#varname#_tmp); }z'        Py_XDECREF(capi_#varname#_tmp);z.    }  /*if (f2py_success) of #varname# init*/)rJ   rK   rŽ   r™   z6    fprintf(stderr,"debug-capi:Checking `#check#'\n");)rJ   rk   zQ    CHECKSCALAR(#check#,"#check#","#nth# #varname#","#varshowvalue#",#varname#) {z    } /*CHECKSCALAR(#check#)*/ZCHECKSCALAR)rJ   rK   rk   rŽ   Ú_breakzQ    CHECKSTRING(#check#,"#check#","#nth# #varname#","#varshowvalue#",#varname#) {z    } /*CHECKSTRING(#check#)*/ZCHECKSTRINGZ
CHECKARRAYz5    CHECKARRAY(#check#,"#check#","#nth# #varname#") {z    } /*CHECKARRAY(#check#)*/)rk   rJ   rK   rŽ   rž   ZCHECKGENERICz7    CHECKGENERIC(#check#,"#check#","#nth# #varname#") {z    } /*CHECKGENERIC(#check#)*/)rk   rJ   rK   c           "      C   sü  t d| d  ƒ i }tdd… }t | ¡}tdti|ƒ}g }g }| d D ]Þ}d}	| d D ]}
|
d dvr9td	ƒ q,|
d D ]}|d |krI|}	 q,q=q,|	sWtd
| tj	d� q$|	g}d|	v r~|	d  
¡ D ]\}}t |	¡}|d= ||d< ||d< | |¡ qd|D ]�}	t|	ƒ}td râtd }|d }t dƒ t|› d|d › �ƒ ¡  |rÎt d|› d�ƒ t|› d|› d�ƒ ¡  t d|› d�ƒ t|› d|› d�ƒ ¡  nt d|› d�ƒ t|› d|› d�ƒ ¡  t|	ƒ\}}|r÷|rò| |¡ n| |¡ t||ƒ}t||ƒ}q€q$t | ¡\}}|�r| |¡ t||ƒ}t||ƒ}t | ¡\}}|�r+| |¡ t||ƒ}t||ƒ}|D ]}t || d |d  ¡}t||ƒ}�q7t ¡ }|d  dd„ tjD ƒ7  < i }| ¡ D ]š}g ||< || D ]Ž}d}|tjv �r~tj| }nv|tjv �rŠtj| }nj|tjv �r–tj| }n^|tj v �r¢tj | }nR|tj!v �r®tj!| }nF|tj"v �rºtj"| }n:|tjv �rÆtj| }n.|tj#v �rÒtj#| }n"|tj$v �rÞtj$| }n|tj%v �rêtj%| }n
tdt&|ƒ ƒ �qn||  |¡ �qn�qd| |¡ |D ]}d|v �r|d | ƒ�sd|v�r$t||| ƒ}t||ƒ}�qtt'|ƒ}t(j) *td |d ¡}||d < t+|d!ƒ�}| ,|d"  -d#d$¡¡ W d  ƒ n	1 �sVw   Y  t d%| d |f ƒ td& �r¨t(j) *td |d d' ¡}t+|d!ƒ�}| ,d(¡ | ,d) *|d* ¡¡ W d  ƒ n	1 �s—w   Y  t d+td |d f ƒ td, �rt(j) *td |d d- ¡}||d.< t+|d!ƒ�-}| ,d/t ¡ d0tv�rß| ,d1¡ | ,d) *|d2 ¡¡ d0tv�ré| ,d3¡ W d  ƒ n	1 �sôw   Y  t d4td |d f ƒ |�rµt(j) *td |d5 ¡}||d6< t+|d!ƒ�Š}| ,d7¡ | ,d8t ¡ | ,d9¡ g } d: *|¡d)  .d)¡D ]V}!d;|! /d<¡  k�rKd=k �rVn n	|  |!d) ¡ �q:|!�rˆ|!d; d>k�rˆt0|!ƒd=k�r|  |!dd=… d? ¡ |!d=d… }!t0|!ƒd=k�sg|  |!d) ¡ �q:|  |!d) ¡ �q:d *| ¡ -d@d)¡} | ,| ¡ W d  ƒ n	1 �sªw   Y  t dA| ƒ |�r|t(j) *td dB|d  ¡}||d6< t+|d!ƒ�Ÿ}| ,dC¡ | ,dDt ¡ | ,dE¡ g } d: *|¡d)  .d)¡D ]k}!d;|! /d<¡  k�rýdFk �rn n	|  |!d) ¡ �qìt0|!ƒdFk�rO|!d; d>k�rO|  |!ddF… dG ¡ |!dFd… }!t0|!ƒd=k�rF|  |!dd=… dG ¡ |!d=d… }!t0|!ƒd=k�s.|  |!d) ¡ �qì|  |!d) ¡ �qìd *| ¡ -d@d)¡} | ,| ¡ W d  ƒ n	1 �sqw   Y  t dH| ƒ |S )Iz
    Return
    z    Building module "%s"...
ÚnameNÚf2py_versionZ
interfacedrg   Úblock)Z	interfacezabstract interfacez1buildmodule: Expected interface block. Skipping.
zKbuildmodule: Could not find the body of interfaced routine "%s". Skipping.
)ÚfileÚentryÚargsZemptygenZ	buildpathÚ
modulenamez(    Generating possibly empty wrappers"
ú/Zcoutputz    Maybe empty "z-f2pywrappers2.f90"
z-f2pywrappers2.f90z-f2pywrappers.f"
z-f2pywrappers.fZuserT   c                 S   s   g | ]
}|t  ¡ v r|‘qS © )Útypedef_need_dictÚvalues)Ú.0Zcvarr§   r§   úVC:\Users\psant\Downloads\PAF backend\school\venv\Lib\site-packages\numpy/f2py/rules.pyÚ
<listcomp>ò  s    

ÿzbuildmodule.<locals>.<listcomp>rf   zbuildmodule: unknown need %s.
rŽ   ZcsrcÚwrd   ú	z  z)    Wrote C/API module "%s" to file "%s"
Z	dorestdoczmodule.restz.. -*- rest -*-
ra   rY   z;    ReST Documentation is saved to file "%s/%smodule.rest"
Z
dolatexdocz
module.texZltxz6%% This file is auto-generated with f2py (version:%s)
Z
shortlatexzO\documentclass{article}
\usepackage{a4wide}
\begin{document}
\tableofcontents

rX   z\end{document}z5    Documentation is saved to file "%s/%smodule.tex"
Zf2py_wrapper_outputÚfsrczC     -*- fortran -*-
z8C     This file is autogenerated with f2py (version:%s)
z<C     It contains Fortran 77 wrappers to fortran functions.
rc   r   ú!éB   ú z
     &z
     &
z*    Fortran 77 wrappers are saved to "%s"
z%s-f2pywrappers2.f90z!     -*- f90 -*-
z8!     This file is autogenerated with f2py (version:%s)
z<!     It contains Fortran 90 wrappers to fortran functions.
éH   z&
     &z*    Fortran 90 wrappers are saved to "%s"
)1r?   Údefmod_rulesrC   Zmodsign2mapr   r    r   ÚprintÚsysÚstderrÚitemsÚcopyÚdeepcopyÚappendrB   Úoptionsr   ÚtouchÚbuildapir   rE   Z
buildhooksrG   rF   ZbuildusevarsrD   Z	get_needsZf2cmap_mappedÚkeysrR   rS   rQ   rT   rU   rV   rW   r_   r]   ÚreprÚmodule_rulesÚosÚpathÚjoinÚopenÚwriter@   ÚsplitÚfindÚlen)"ÚmZumÚretZ	mod_rulesÚvrdÚrdZfuncwrappersZfuncwrappers2ÚnÚnbZbiÚbZnb_listÚkÚaZnb1Zisf90Úb_pathZm_nameÚapiÚwrapÚarZcrÚmrÚuZneedsÚcodeÚcÚrÚfnÚfZwnÚlinesÚlr§   r§   r«   ÚbuildmoduleŸ  s�  
þÿ
ÿ


å





ç
"
€
ÿ
ÿ
þÿ
ÿÿ
ÿ

€ø	ÿ
ÿÿ"þíÿ
ÿÿ"þërà   ÚstÚndrÍ   Úth)
r   é   é   é   é   é   é   é   é	   r   c                 C   sÚ  t  | ¡\} }t| ƒ\}}|t_| d }t| ƒr%td| d | d f ƒ ntd| d  ƒ t | ¡}ti |ƒ}t	D ]}d|v rE|d | ƒsId|vrTt
||| ƒ}t||ƒ}q9d\}	}
i }|D ]|}t ||| ¡}t|| ƒrpt}n8t}t|| ƒs¤t|| ƒs‘|	d }	t|	ƒt|	d	   d
 |d< n|
d }
t|
ƒt|
d	   d |d< nd|d< |||< |D ]*}d|v rµq®d|v rÁ|d || ƒsÅd|vrØt
|||| ƒ}t||ƒ}d|v rØ q]q®q]|D ]e}t|| ƒrçt}nt}|| }|D ]/}d|vröqïd|v �r|d || ƒ�s	d|v�rt
|||| ƒ}t||ƒ}d|v �r �qqïd|| v �rA|| d D ]}||d< t
t||| ƒ}t||ƒ}�q,qÜt|d tƒ�rP|d  ¡  t|d tƒ�r^|d  ¡  ttd|d |d |d dœƒƒ|d< ttd|d |d dœƒƒ}|dk�r’ttdd|d iƒƒ|d< ntd |d |d!œƒ|d< |d  d"d#¡|d$< |d$  d%d&¡|d$< ttd'|d( |d) d*œƒƒ}t|d) ƒdk�rÚttd+|d( |d) d*œƒƒ|d,< n||d,< ||d(< t|d- tƒ�rùttd.d-|d- iƒƒd/ |d-< g |d0< g |d1< d2D ]G}||v �rt|| tƒ�r|d0 ||  |d0< d3| }||v �rIt|| tƒ�rI|d1 || d4d…  d5g || dd …  d6g |d1< �qt
t|ƒ}t| ƒ�ratd7|d8  ƒ ||fS td9|d8  ƒ ||fS ):NÚvarsz5            Constructing wrapper function "%s.%s"...
r¥   rŸ   z.        Constructing wrapper function "%s"...
rŽ   )r   r   r   é
   z	 argumentÚnthz keywordÚhiddenr™   rž   ÚcheckrK   rO   z #docsign##docsignopt##docsignxa#r}   r~   r‹   )r}   r~   r‹   Zdocsignaturez#docsignopt##docsignxa#rŒ   r   )r‹   r~   rf   z	#docsign#Zdocsignatureshortz#docsign#[#docsignopt#])r}   r~   Ú_z\_Zlatexdocsignatureshortú,z, z #callfortran##callfortranappend#r{   r|   )r{   r|   z##callfortran# 0,#callfortranappend#Zcallcompaqfortranr…   z#docreturn#z = rt   ru   )rp   rq   rr   rs   Zlatexr   z\begin{description}z\end{description}z              %s
rj   z          %s
)rH   Zassubrr
   rC   Údepargsr*   r?   Zroutsign2mapr   Ú
rout_rulesr   Zsign2mapr   Ú	aux_rulesÚ	arg_rulesr   r+   rÀ   ÚstndÚcheck_rulesÚ
isinstanceÚlistÚreverserA   r@   rÉ   Úroutine_rules)ZroutrÕ   r¤   ró   ÚvarrÌ   rÍ   rÛ   rÖ   rî   ZnthkZsavevrdrÒ   Z_rulesrÚ   ZoptargsZcfsrÑ   r§   r§   r«   r¾   p  sþ   ÿ


€ 
€ù&

€€þ
ÿÿÿ

ÿÿÿÿÿ
ÿÿÿÿÿÿþ€

ÿr¾   )eÚ__doc__rÂ   r¶   Útimer¹   Úpathlibr   rf   r   Úversionr    Znumpy_versionZauxfuncsr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   r¼   ZsepdictrÑ   ÚintÚenvironÚgetZgenerationtimeÚasctimeÚgmtimerÁ   r´   rü   rô   r¨   rõ   rö   rø   rà   r÷   r¾   r§   r§   r§   r«   Ú<module>   sÞ  3þ 
ûûëëççãã à à#Ý#Ý&Ú&Ú)×)×,Ô,Ô2Î2Î5Ë5Ë8È8È;Å;Å>Â>Â@À@ÀC½C½k•k• 
ÿÿ �ð ÷ÿ8ÿ·Qÿÿþýýýüüûúúùùÿ
ö
ö
ö
öõõõôóóòòñðïîíìëêéééèæåãââá à!ß"Þ"
Ú(üüýþÿÿóåÿÿÿÿÿóÛ'ÿÿÿÿÿóÛ'
ÿùïþþÿÿþÿÿñ
ý
ÿÚ(ýÿÿç×,ü ��  
öÿÿüüû	ýÿû	ú
ÿÿþþþþþý±Vÿÿÿûü
ÿ
ÿ

ÿÿõôýæ üá'ýÚ,ÿþ
ýüû
úÿýùó
òñð
ï
îíìëêéÔFýØ-
Ë»~ûƒ þ �ü õ �ù $ÿÿéà �í 5ü �Ì :ý �Ç @û �Á Fõ �» Rÿý÷ �¯ \þ �¥ _ý �¢ cý �ž gý �š mÿÿûÿï �”  ÿø
ÿî �‚  ÿýÿñ � �î  
#ÿ � �Þ  %ý � �Ü  +ö � �Ö  6ø � �Ë  ?ý � �Â  Dø � �½  Mý � �´  Qý � �°  Uú � �¬  \ÿÿ	ÿûñ%ÿù	Ñ � �¥   ÿ � � �ò   ÿ � � �ð   þ � � �ì   þ � � �ç   þ � � �â   #þ � � �Ý   (þ � � �Ø   .ý � � �Ó   8þûûûýê" Nÿ