????

Your IP : 3.143.213.242


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/f2py/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/f2py/__pycache__/cb_rules.cpython-311.pyc

�

_�����ƍ���dZddlmZddlmZmZmZmZmZm	Z	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!ddlm"Z"ej#Z$ddgd�dd	d
ddd
�Z%ididd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�dd�d d�d!d�d"d�d#d��dd$�dd%�dd&�dg�dd�d'd�d(d�dd)�dg�dd�d*d�dg�dd�d+d�d,d�dd-�ddd.d/d0d1dddd2d3d4d5e	d6ee	��did7��d8ed9id:ed;igd<ed=id>gd?eeee��ee
����d@�edAidBdCdDedEidFedGigd<ed=idHdIgdJedK�dLdMdNdOed9idPedQigdRd<ed=idHd>dSge
dT�dUdVe	d6igdWedX�edJdY�gZ&eee��dZieee��dZiedUieee��d[e	d6igieee��d[e	d6igiedVee	e��d6ee	e��d\igieee��d]ieee��d]idd^�	eee��d_eeee����d`e
daed_ieee��dbeeee����dce
dbedbieee��dSeeee����dde
ddedSieee
e��dSiedeiedfiedgidh�ee��diieeee!dj����diedkiedlieeeee��e����dmieeeee��ee������dnieeeee����doieeeeee������dpiged<d>gied=igedq�edriedsigedtieduiedSigeee��ddv�edwidxedyigdSdIed=idHgeee��dz�ed{ied|ied}iged~ieduigeee��ddv�dd�e
dd��ed�ied�ee��d�id�gee
eeee����dd��edkid�ed�id�ed�igd�edSigee
e��dz�d]ed��g
Z'iZ(d��Z)d��Z*d�S)�aK

Build call-back mechanism for f2py2e.

Copyright 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/07/20 11:27:58 $
Pearu Peterson

�)�__version__)�
applyrules�	debugcapi�
dictappend�errmess�getargs�hasnote�isarray�	iscomplex�iscomplexarray�iscomplexfunction�
isfunction�
isintent_c�
isintent_hide�isintent_in�isintent_inout�isintent_nothide�isintent_out�
isoptional�
isrequired�isscalar�isstring�isstringfunction�issubroutine�l_and�l_not�l_or�outmess�replace�
stripcomma�throw_error)�cfuncszPtypedef #rctype#(*#name#_typedef)(#optargs_td##args_td##strarglens_td##noargs#);a^
#begintitle#
typedef struct {
    PyObject *capi;
    PyTupleObject *args_capi;
    int nofargs;
    jmp_buf jmpbuf;
} #name#_t;

#if defined(F2PY_THREAD_LOCAL_DECL) && !defined(F2PY_USE_PYTHON_TLS)

static F2PY_THREAD_LOCAL_DECL #name#_t *_active_#name# = NULL;

static #name#_t *swap_active_#name#(#name#_t *ptr) {
    #name#_t *prev = _active_#name#;
    _active_#name# = ptr;
    return prev;
}

static #name#_t *get_active_#name#(void) {
    return _active_#name#;
}

#else

static #name#_t *swap_active_#name#(#name#_t *ptr) {
    char *key = "__f2py_cb_#name#";
    return (#name#_t *)F2PySwapThreadLocalCallbackPtr(key, ptr);
}

static #name#_t *get_active_#name#(void) {
    char *key = "__f2py_cb_#name#";
    return (#name#_t *)F2PyGetThreadLocalCallbackPtr(key);
}

#endif

/*typedef #rctype#(*#name#_typedef)(#optargs_td##args_td##strarglens_td##noargs#);*/
#static# #rctype# #callbackname# (#optargs##args##strarglens##noargs#) {
    #name#_t cb_local = { NULL, NULL, 0 };
    #name#_t *cb = NULL;
    PyTupleObject *capi_arglist = NULL;
    PyObject *capi_return = NULL;
    PyObject *capi_tmp = NULL;
    PyObject *capi_arglist_list = NULL;
    int capi_j,capi_i = 0;
    int capi_longjmp_ok = 1;
#decl#
#ifdef F2PY_REPORT_ATEXIT
f2py_cb_start_clock();
#endif
    cb = get_active_#name#();
    if (cb == NULL) {
        capi_longjmp_ok = 0;
        cb = &cb_local;
    }
    capi_arglist = cb->args_capi;
    CFUNCSMESS("cb:Call-back function #name# (maxnofargs=#maxnofargs#(-#nofoptargs#))\n");
    CFUNCSMESSPY("cb:#name#_capi=",cb->capi);
    if (cb->capi==NULL) {
        capi_longjmp_ok = 0;
        cb->capi = PyObject_GetAttrString(#modulename#_module,"#argname#");
        CFUNCSMESSPY("cb:#name#_capi=",cb->capi);
    }
    if (cb->capi==NULL) {
        PyErr_SetString(#modulename#_error,"cb: Callback #argname# not defined (as an argument or module #modulename# attribute).\n");
        goto capi_fail;
    }
    if (F2PyCapsule_Check(cb->capi)) {
    #name#_typedef #name#_cptr;
    #name#_cptr = F2PyCapsule_AsVoidPtr(cb->capi);
    #returncptr#(*#name#_cptr)(#optargs_nm##args_nm##strarglens_nm#);
    #return#
    }
    if (capi_arglist==NULL) {
        capi_longjmp_ok = 0;
        capi_tmp = PyObject_GetAttrString(#modulename#_module,"#argname#_extra_args");
        if (capi_tmp) {
            capi_arglist = (PyTupleObject *)PySequence_Tuple(capi_tmp);
            Py_DECREF(capi_tmp);
            if (capi_arglist==NULL) {
                PyErr_SetString(#modulename#_error,"Failed to convert #modulename#.#argname#_extra_args to tuple.\n");
                goto capi_fail;
            }
        } else {
            PyErr_Clear();
            capi_arglist = (PyTupleObject *)Py_BuildValue("()");
        }
    }
    if (capi_arglist == NULL) {
        PyErr_SetString(#modulename#_error,"Callback #argname# argument list is not set.\n");
        goto capi_fail;
    }
#setdims#
#ifdef PYPY_VERSION
#define CAPI_ARGLIST_SETITEM(idx, value) PyList_SetItem((PyObject *)capi_arglist_list, idx, value)
    capi_arglist_list = PySequence_List(capi_arglist);
    if (capi_arglist_list == NULL) goto capi_fail;
#else
#define CAPI_ARGLIST_SETITEM(idx, value) PyTuple_SetItem((PyObject *)capi_arglist, idx, value)
#endif
#pyobjfrom#
#undef CAPI_ARGLIST_SETITEM
#ifdef PYPY_VERSION
    CFUNCSMESSPY("cb:capi_arglist=",capi_arglist_list);
#else
    CFUNCSMESSPY("cb:capi_arglist=",capi_arglist);
#endif
    CFUNCSMESS("cb:Call-back calling Python function #argname#.\n");
#ifdef F2PY_REPORT_ATEXIT
f2py_cb_start_call_clock();
#endif
#ifdef PYPY_VERSION
    capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist_list);
    Py_DECREF(capi_arglist_list);
    capi_arglist_list = NULL;
#else
    capi_return = PyObject_CallObject(cb->capi,(PyObject *)capi_arglist);
#endif
#ifdef F2PY_REPORT_ATEXIT
f2py_cb_stop_call_clock();
#endif
    CFUNCSMESSPY("cb:capi_return=",capi_return);
    if (capi_return == NULL) {
        fprintf(stderr,"capi_return is NULL\n");
        goto capi_fail;
    }
    if (capi_return == Py_None) {
        Py_DECREF(capi_return);
        capi_return = Py_BuildValue("()");
    }
    else if (!PyTuple_Check(capi_return)) {
        capi_return = Py_BuildValue("(N)",capi_return);
    }
    capi_j = PyTuple_Size(capi_return);
    capi_i = 0;
#frompyobj#
    CFUNCSMESS("cb:#name#:successful\n");
    Py_DECREF(capi_return);
#ifdef F2PY_REPORT_ATEXIT
f2py_cb_stop_clock();
#endif
    goto capi_return_pt;
capi_fail:
    fprintf(stderr,"Call-back #name# failed.\n");
    Py_XDECREF(capi_return);
    Py_XDECREF(capi_arglist_list);
    if (capi_longjmp_ok) {
        longjmp(cb->jmpbuf,-1);
    }
capi_return_pt:
    ;
#return#
}
#endtitle#
)zsetjmp.h�
CFUNCSMESS�F2PY_THREAD_LOCAL_DECLz#maxnofargs#z#nofoptargs#zF    def #argname#(#docsignature#): return #docreturn#\n\
#docstrsigns#zc
{{}\verb@def #argname#(#latexdocsignature#): return #docreturn#@{}}
#routnote#

#latexdocstrsigns#z1def #argname#(#docsignature#): return #docreturn#)�
cbtypedefs�body�need�
maxnofargs�
nofoptargs�docstr�latexdocstr�docstrshort�
separatorsfor�decl�
�args�,�optargs��	pyobjfrom�freemem�args_td�
optargs_td�args_nm�
optargs_nm�	frompyobj�setdims�docstrsignsz\n"
"�latexdocstrsigns�latexdocstrreq�latexdocstropt�latexdocstrout�latexdocstrcbsz/*decl*/z
/*pyobjfrom*/z
/*frompyobj*/�return�
strarglensz/*freemem*/�
strarglens_td�
strarglens_nm�noargsz/*setdims*/z    Required arguments:z    Optional arguments:z    Return objects:z    Call-back functions:z\noindent Required arguments:z\noindent Optional arguments:z\noindent Return objects:z\noindent Call-back functions:z
--- #note#)r<r=�	docstrreq�	docstropt�	docstrout�	docstrcbs�	docreturn�docsign�
docsignoptr>r?r@rA�routnotez    #ctype# return_value = 0;z,    CFUNCSMESS("cb:Getting return_value->");a�    if (capi_j>capi_i) {
        GETSCALARFROMPYTUPLE(capi_return,capi_i++,&return_value,#ctype#,
          "#ctype#_from_pyobj failed in converting return_value of"
          " call-back function #name# to C #ctype#\n");
    } else {
        fprintf(stderr,"Warning: call-back function #name# did not provide"
                       " return value (index=%d, type=#ctype#)\n",capi_i);
    }z8    fprintf(stderr,"#showvalueformat#.\n",return_value);z#ctype#_from_pyobjr#�GETSCALARFROMPYTUPLEz    return return_value;)r.r:r'rB�_checkzB    fprintf(stderr,"debug-capi:cb:#name#:%d:\n",return_value_len);z)#ctype# return_value,int return_value_lenzreturn_value,&return_value_lenz#ctype# ,intz.    CFUNCSMESS("cb:Getting return_value->\"");a    if (capi_j>capi_i) {
        GETSTRFROMPYTUPLE(capi_return,capi_i++,return_value,return_value_len);
    } else {
        fprintf(stderr,"Warning: call-back function #name# did not provide"
                       " return value (index=%d, type=#ctype#)\n",capi_i);
    }z:    fprintf(stderr,"#showvalueformat#\".\n",return_value);zstring.h�GETSTRFROMPYTUPLEzreturn;)r4r0r8r6r:r'rBrPz<
#ifndef F2PY_CB_RETURNCOMPLEX
#ctype# *return_value
#endif
z3
#ifndef F2PY_CB_RETURNCOMPLEX
return_value
#endif
z0
#ifndef F2PY_CB_RETURNCOMPLEX
#ctype# *
#endif
zH
#ifdef F2PY_CB_RETURNCOMPLEX
    #ctype# return_value = {0, 0};
#endif
a    if (capi_j>capi_i) {
#ifdef F2PY_CB_RETURNCOMPLEX
        GETSCALARFROMPYTUPLE(capi_return,capi_i++,&return_value,#ctype#,
          "#ctype#_from_pyobj failed in converting return_value of call-back"
          " function #name# to C #ctype#\n");
#else
        GETSCALARFROMPYTUPLE(capi_return,capi_i++,return_value,#ctype#,
          "#ctype#_from_pyobj failed in converting return_value of call-back"
          " function #name# to C #ctype#\n");
#endif
    } else {
        fprintf(stderr,
                "Warning: call-back function #name# did not provide"
                " return value (index=%d, type=#ctype#)\n",capi_i);
    }z�#ifdef F2PY_CB_RETURNCOMPLEX
    fprintf(stderr,"#showvalueformat#.\n",(return_value).r,(return_value).i);
#else
    fprintf(stderr,"#showvalueformat#.\n",(*return_value).r,(*return_value).i);
#endif
zP
#ifdef F2PY_CB_RETURNCOMPLEX
    return return_value;
#else
    return;
#endif
z#ctype#)r2r9r7r.r:rBr'rPz        #pydocsignout#z"\item[]{{}\verb@#pydocsignout#@{}}z#rname#,)rIr@rKrP)rPrBz        #pydocsign#z\item[]{{}\verb@#pydocsign#@{}}z--- See above.z
#varname#,)	rHrGrIr?r>r@rLrM�dependz#ctype# #varname_i#z#ctype# *#varname_i#_cb_capiz#ctype# *#varname_i#z#varname_i#z#varname_i#_cb_capiz	#ctype# *z,int #varname_i#_cb_lenz,intz,#varname_i#_cb_len)r0r8r6r'rCrDrEz/    #ctype# #varname_i#=(*#varname_i#_cb_capi);z8intent(c,out) is forbidden for callback scalar argumentsz)    CFUNCSMESS("cb:Getting #varname#->");z�    if (capi_j>capi_i)
        GETSCALARFROMPYTUPLE(capi_return,capi_i++,#varname_i#_cb_capi,#ctype#,"#ctype#_from_pyobj failed in converting argument #varname# of call-back function #name# to C #ctype#\n");z7    fprintf(stderr,"#showvalueformat#.\n",#varname_i#);z@    fprintf(stderr,"#showvalueformat#.\n",*#varname_i#_cb_capi);zK    fprintf(stderr,"#showvalueformat#.\n",(#varname_i#).r,(#varname_i#).i);z]    fprintf(stderr,"#showvalueformat#.\n",(*#varname_i#_cb_capi).r,(*#varname_i#_cb_capi).i);)r.�errorr:r'rPz�    if (cb->nofargs>capi_i)
        if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_#ctype#1(#varname_i#)))
            goto capi_fail;z�    if (cb->nofargs>capi_i)
        if (CAPI_ARGLIST_SETITEM(capi_i++,pyarr_from_p_#ctype#1(#varname_i#_cb_capi)))
            goto capi_fail;zpyobj_from_#ctype#1zpyarr_from_p_#ctype#1)r4r'rP�	_optionalz+    CFUNCSMESS("cb:Getting #varname#->\"");zf    if (capi_j>capi_i)
        GETSTRFROMPYTUPLE(capi_return,capi_i++,#varname_i#,#varname_i#_cb_len);zP    fprintf(stderr,"#showvalueformat#\":%d:.\n",#varname_i#,#varname_i#_cb_len);)r:r'rPze    fprintf(stderr,"debug-capi:cb:#varname#=#showvalueformat#:%d:\n",#varname_i#,#varname_i#_cb_len);z�    if (cb->nofargs>capi_i)
        if (CAPI_ARGLIST_SETITEM(capi_i++,pyobj_from_#ctype#1size(#varname_i#,#varname_i#_cb_len)))
            goto capi_fail;z�    if (cb->nofargs>capi_i) {
        int #varname_i#_cb_dims[] = {#varname_i#_cb_len};
        if (CAPI_ARGLIST_SETITEM(capi_i++,pyarr_from_p_#ctype#1(#varname_i#,#varname_i#_cb_dims)))
            goto capi_fail;
    }zpyobj_from_#ctype#1sizez6    npy_intp #varname_i#_Dims[#rank#] = {#rank*[-1]#};z    #cbsetdims#;)r.r;rP�_dependz0    fprintf(stderr,"debug-capi:cb:#varname#\n");a�    if (cb->nofargs>capi_i) {
        /* tmp_arr will be inserted to capi_arglist_list that will be
           destroyed when leaving callback function wrapper together
           with tmp_arr. */
        PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,
          #rank#,#varname_i#_Dims,#atype#,NULL,(char*)#varname_i#,#elsize#,
          NPY_ARRAY_CARRAY,NULL);
a�    if (cb->nofargs>capi_i) {
        /* tmp_arr will be inserted to capi_arglist_list that will be
           destroyed when leaving callback function wrapper together
           with tmp_arr. */
        PyArrayObject *tmp_arr = (PyArrayObject *)PyArray_New(&PyArray_Type,
          #rank#,#varname_i#_Dims,#atype#,NULL,(char*)#varname_i#,#elsize#,
          NPY_ARRAY_FARRAY,NULL);
z�
        if (tmp_arr==NULL)
            goto capi_fail;
        if (CAPI_ARGLIST_SETITEM(capi_i++,(PyObject *)tmp_arr))
            goto capi_fail;
})r4rPrTz�    if (capi_j>capi_i) {
        PyArrayObject *rv_cb_arr = NULL;
        if ((capi_tmp = PyTuple_GetItem(capi_return,capi_i++))==NULL) goto capi_fail;
        rv_cb_arr =  array_from_pyobj(#atype#,#varname_i#_Dims,#rank#,F2PY_INTENT_INz|F2PY_INTENT_Ca8,capi_tmp);
        if (rv_cb_arr == NULL) {
            fprintf(stderr,"rv_cb_arr is NULL\n");
            goto capi_fail;
        }
        MEMCOPY(#varname_i#,PyArray_DATA(rv_cb_arr),PyArray_NBYTES(rv_cb_arr));
        if (capi_tmp != (PyObject *)rv_cb_arr) {
            Py_DECREF(rv_cb_arr);
        }
    }z    fprintf(stderr,"<-.\n");�MEMCOPY)rKrPc���gt|d<|dD]J}|ddkr<|dD]3}|rt||d���td|dz���4�KdS)N�namer&�block�	interfacezwarning: empty body for %s
)�cb_map�
buildcallbackr)�m�bi�bs   �f/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/numpy/f2py/cb_rules.py�buildcallbacksras����F�1�V�9����i�J�J��
�g�;�+�%�%���Z�
J�
J���J�!�!�Q�v�Y�/�/�/�/��:�a��i�H�I�I�I�I��
J�J�c��ddlm}td|d�d|�d���t|��\}}||_|d}|�||��}t
i|��}t|�|d|dg��tD]<}d|vr|d|��sd|vr!t|||��}	t
||	��}�=i}
t|��D]�\}}|�||||�	��}||
|<tD]m}d
|vr�d|vrt||��r�!d|vr|d||��sd|vr-t||||��}	t
||	��}d|vrn�n��|D]�}|
|}tD]q}d
|vr�d|vsd|vrt||��r�%d|vr|d||��sd|vr-t||||��}	t
||	��}d|vrn�r��|D]j}|
|}tD]X}d
|vr�d|vr�d|vr|d||��sd|vr-t||||��}	t
||	��}d|vrn�Y�kd
|vrLd|vrHt!|dt"��r-|ddgz|d<|ddgz|d<|ddgz|d<t!|dt"��r(t%t'dd|di����|d<t%t'dd|di����}
|
dkr)t%t'dd|di����|d<nt'd|d|
d���|d<|d�dd��|d<|d�dd ��|d<g|d!<g|d"<d#D]�}||vr/t!||t"��r|d!||z|d!<d$|z}||vrPt!||t"��r5|d"||d%d�zd&gz||dd�zd'gz|d"<��d
|vrd|d
<d|d(<d|d)<|�d
��s/|�d��s|�d*��sd+|d,<tt*|��}	|	d-t,j|d<t!|	d.t0��r|	d.g|	d.<d.|vrFt,j���D]'}||d.vr|	d.�|���(|	d/t,j|dd0z<|	d.�|dd0z��|	d.t,j|d<|	d1|	d2|	d3|	d4|d5d6�|j|d<td7|	d8z��dS)9Nr)�	capi_mapsz(    Constructing call-back function "cb_rX�_in_z"
�varsrP)�indexrUrT�_breakr0r2z(
#ifndef F2PY_CB_RETURNCOMPLEX
,
#endif
r9r7rKz#docreturn#z#docsignopt#rMr3z	#docsign#rL�docsignaturez#docsign#[#docsignopt#])rLrM�_z\_�latexdocsignaturer1z, r<r=)rGrHrIrJ�latex�z\begin{description}z\end{description}r6r8rC�voidrFr&r'r%�_typedefr(r)r*r+�argname)r(r)r*r+rpz	      %s
r,)r3rdrr�depargs�cb_routsign2maprr[�append�
cb_rout_rulesr�	enumerate�cb_sign2map�cb_arg_rulesrr�
isinstance�listr r�get�cb_routine_rulesr"�	callbacks�str�typedefs�keys�typedefs_generated�needs�lcb2_map)�rout�umrdr0rq�var�vrd�rd�r�ar�savevrd�i�ar2�k�ts                r`r\r\s>���������G�
�&�\�\�\�2�2�2�
� � � ��D�M�M�M�D�'��I��
�v�,�C�
�
#�
#�D�"�
-�
-�C�	�B��	�	�B�
�2�J���t�F�|�R��Z�0�1�1�1�
�$�$����M�M�k�a��k�$�/�/�M�X�Q�5F�5F��A�s�D�)�)�B��B��#�#�B���G��$�������1��#�#�A�s�1�v�Q�#�7�7�����
��		�		�A��A�~�~���a���J�s�1�v�$6�$6����A�
�
�+�!�H�+�c�!�f�"5�"5�
�8�1�;L�;L���3��A��/�/����B�'�'���q�=�=��E���
�����a�j���		�		�A��A�~�~���1�$�$�+��*:�*:�z�#�a�&�?Q�?Q�*:���A�
�
�+�!�H�+�c�!�f�"5�"5�
�8�1�;L�;L���3��A��/�/����B�'�'���q�=�=��E���
�����a�j���		�		�A���!�!���a�����A�
�
�+�!�H�+�c�!�f�"5�"5�
�8�1�;L�;L���3��A��/�/����B�'�'���q�=�=��E���
��|�|�	�R����b��m�T�*�*�	��y�M�.�-��B�y�M�
 "�,�/�4�3� �B�|��
 "�,�/�4�3� �B�|��
�"�[�/�4�(�(�D�$��M�K��K��#A�B�B�D�D��;�����".��<�0@�!A�#�#�$�$�G��"�}�}�'��K�)�R�	�]�!;�<�<�>�>��>���%�%>�13�I��4;�&(�&(�)�)��>��!��0�8�8��e�D�D�B��� �!4�5�=�=�c�4�H�H�B����B�}���B���
A�'�'����7�7�z�"�Q�%��.�.�7� "�=� 1�B�q�E� 9�B�}���a�K����7�7�z�"�Q�%��.�.�7�%'�(:�%;�b��e�A�a�C�j�%H�'�(�&)�+-�a�5����9�&5�%�&�&'�B�!�"���R�����6�
���9�
���9�
��F�F�6�N�N��b�f�f�Y�/�/��2�6�6�,�3G�3G����8��	�$�b�	)�	)�B�#%�f�:�F��R��Z� ��"�V�*�c�"�"�"���j�\��6�
�
��|�|���%�%�'�'�	%�	%�A��B�v�J����6�
�!�!�!�$�$�$��9;�L�9I�F��b��j�:�5�6��v�J���b��j�:�-�.�.�.�!�&�z�F�L��F���46�|�4D�46�|�4D�02�8��57�
�5F�13�I��	&(�&(�I��r�&�z�"��L�B�}�-�.�/�/�/�
�FrbN)+�__doc__r3r�auxfuncsrrrrrr	r
rrr
rrrrrrrrrrrrrrrrrrr r!r"�version�f2py_versionr{rtrwr[rar\�rbr`�<module>r�s�
��
�
������������������������������������������������������������������������������"��e�[
�x
A�@�@� � ���
G�Sj�j��X��	�&�$�	� �#�	�'0�"�	�6A�4�	�IR�TX�	�#�S�	�*6��	�$�S�	�+7��	�&�t�		�.7��		�
(��	�-�d�
	�+�D�	�3C�D�	�+�D�	�3C�D�	��	�
��(���;F���	����r��$,�R��2>�r��DM�m��	�2��$�R��*9�"��	�2��$�R��*9�"��	�"�� 	�=�!�"�r�.�.�*�/��B�b�:�:�6�;��l�E�E�'�N�N�B�?�7���:0�
�F�G�
	��
H�
J�

�&�	�<�'@�BX�Y�,��%�
�E�E�*:�$;�$;�U�U�CT�=U�=U�V�V�%��* �!f�g�;�3�!�
�I�J�
	��
K�
M�
�&�	�<�'@��0�2��"�)��.�
�
�
��F�G�
	� ��
�%
�4�&�	�<�'@��3�Y�@�#�q9�9�t+�>� �,�/�1���	��
�y�1�1�MG�
�V�e�J�(8�9�9�;P�Q��e�J�(8�9�9�;P�Q�"�$<�=� �5��-=�>�>�Ad�BI�<�AX�AZ�[� �5��-=�>�>�Ad�BI�<�AX�AZ�[�'�*P�+0�5��-�+H�+H�,�+0�5��:J�+K�+K�M]�+_�*`�a��E�*�&6�7�7��F��u�Z�)9�:�:�L�I����"
�E�(�J�'�'�)>��E�(�E�E�*�-�-�.�.�0N��+��+�	
�
�E�(�J�'�'���E�(�E�E�*�-�-�.�.�0E��]��m�	
�
�E�(�J�'�'���E�(�E�E�*�-�-�.�.���[��i�	
���h���2�2�I�>��!:�;�"�F�+�"�$9�:�1��6��z�"�"�$U�V��%�
�L�#��$^�_�_�a�a���!�"M�N�#�k�l��u�Y���e�e�I�.>�.>�
�(K�(K�L�L�T�V��u�Y���e�e�I�.>�.>���z�@R�@R�(S�(S�T�T�]�_��u�Y���i��(D�(D�E�E�h�j��u�Y���i���
�9K�9K�(L�(L�M�M�z�|���!5�7M� N�O��\�*�,��'��*#�%� �&�(� �	!��4�5� �"9�:��Y�'�)��%��"2�3�3����!�"P�Q�S� �k�m���/��\�*�J�8��%��,�/�/�
�
��9�
;���
 �&�(	�
�
��8�9� �"9�:�<��%��"2�3�3��%��,I�%���	��!�"U�V�!�$��u�Z�(�(�+��&�)�4�%��!1�4�4��^�3T�3T�U�U��9��<!�"M�N�X�"�#3�4�		�!�"A�B�!�$�^�Y�7�8��%���.�.�)��,"����Gg��T
��J�J�J�|�|�|�|�|rb