Ë
    âQ(h’F  ã                   ój  — 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ZddlZddl	Z	ddl
mZ d„ ZdD � cg c]  } d| z   ‘Œ	 c} Zg d¢Zd	„ Zg d
¢Zej"                  j$                  d„ «       Zg d¢Zd„ Zd„ Zej"                  j$                  ej"                  j/                  dg d¢«      d„ «       «       Zyc c} w )zo
This test script is adopted from:
    https://github.com/numpy/numpy/blob/main/numpy/tests/test_public_api.py
é    N)Úimport_module©Úxp_available_backendsc                  ó|   — t        t        t        «      «      t        t        t        t        «      «      «      k(  sJ ‚y)zWAssert that output of dir has only one "testing/tester"
    attribute without duplicateN)ÚlenÚdirÚscipyÚset© ó    ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/_lib/tests/test_public_api.pyÚtest_dir_testingr      s'   € ô Œs”5‹z‹?œc¤#¤c¬%£j£/Ó2Ò2Ð2Ñ2r   )'Úclusterz
cluster.vqzcluster.hierarchyÚ	constantsÚdatasetsÚdifferentiateÚfftÚfftpackÚ	integrateÚinterpolateÚiozio.arffz	io.matlabz
io.wavfileÚlinalgzlinalg.blaszlinalg.cython_blaszlinalg.lapackzlinalg.cython_lapackzlinalg.interpolativeÚndimageÚodrÚoptimizezoptimize.elementwiseÚsignalzsignal.windowsÚsparsezsparse.linalgzsparse.csgraphÚspatialzspatial.distancezspatial.transformÚspecialÚstatszstats.contingencyzstats.distributionszstats.mstatsz	stats.qmczstats.samplingúscipy.)súscipy.constants.codataúscipy.constants.constantsúscipy.fftpack.basiczscipy.fftpack.convolveúscipy.fftpack.helperúscipy.fftpack.pseudo_diffsúscipy.fftpack.realtransformsúscipy.integrate.dopúscipy.integrate.lsodaúscipy.integrate.odepackúscipy.integrate.quadpackúscipy.integrate.vodezscipy.interpolate.dfitpackúscipy.interpolate.fitpackúscipy.interpolate.fitpack2zscipy.interpolate.interpndúscipy.interpolate.interpolateúscipy.interpolate.ndgriddataúscipy.interpolate.polyintúscipy.interpolate.rbfúscipy.io.arff.arffreadúscipy.io.harwell_boeingúscipy.io.idlúscipy.io.matlab.byteordercodesúscipy.io.matlab.mioúscipy.io.matlab.mio4úscipy.io.matlab.mio5úscipy.io.matlab.mio5_paramsúscipy.io.matlab.mio5_utilsúscipy.io.matlab.mio_utilsúscipy.io.matlab.miobaseúscipy.io.matlab.streamsúscipy.io.mmioúscipy.io.netcdfúscipy.linalg.basicúscipy.linalg.decompúscipy.linalg.decomp_choleskyúscipy.linalg.decomp_luúscipy.linalg.decomp_qrúscipy.linalg.decomp_schurúscipy.linalg.decomp_svdúscipy.linalg.matfuncsúscipy.linalg.miscúscipy.linalg.special_matricesú
scipy.misczscipy.misc.commonzscipy.misc.doccerúscipy.ndimage.filtersúscipy.ndimage.fourierúscipy.ndimage.interpolationúscipy.ndimage.measurementsúscipy.ndimage.morphologyúscipy.odr.modelsúscipy.odr.odrpackúscipy.optimize.cobylazscipy.optimize.cython_optimizeúscipy.optimize.lbfgsbúscipy.optimize.linesearchúscipy.optimize.minpackúscipy.optimize.minpack2úscipy.optimize.moduleTNCúscipy.optimize.nonlinúscipy.optimize.optimizeúscipy.optimize.slsqpúscipy.optimize.tncúscipy.optimize.zerosúscipy.signal.bsplinesúscipy.signal.filter_designúscipy.signal.fir_filter_designúscipy.signal.lti_conversionúscipy.signal.ltisysúscipy.signal.signaltoolsúscipy.signal.spectralzscipy.signal.splineúscipy.signal.waveformsúscipy.signal.waveletsúscipy.signal.windows.windowszscipy.sparse.basezscipy.sparse.bsrzscipy.sparse.compressedzscipy.sparse.constructzscipy.sparse.coozscipy.sparse.csczscipy.sparse.csrzscipy.sparse.datazscipy.sparse.diazscipy.sparse.dokzscipy.sparse.extractúscipy.sparse.lilúscipy.sparse.linalg.dsolveúscipy.sparse.linalg.eigenúscipy.sparse.linalg.interfaceúscipy.sparse.linalg.isolveúscipy.sparse.linalg.matfuncsúscipy.sparse.sparsetoolsúscipy.sparse.spfuncsúscipy.sparse.sputilsúscipy.spatial.ckdtreeúscipy.spatial.kdtreeúscipy.spatial.qhullú scipy.spatial.transform.rotationúscipy.special.add_newdocsúscipy.special.basiczscipy.special.cython_specialúscipy.special.orthogonalúscipy.special.sf_errorúscipy.special.specfunúscipy.special.spfun_statsúscipy.stats.biasedurnúscipy.stats.kdeúscipy.stats.morestatsúscipy.stats.mstats_basicúscipy.stats.mstats_extrasúscipy.stats.mvnúscipy.stats.statsc                 óB   — d| v sd| v sd| v ry| t         v ry| t        v ryy)z%Check if this needs to be considered.z._z.testsz.setupFT)ÚPUBLIC_MODULESÚPRIVATE_BUT_PRESENT_MODULES)Únames    r   Úis_unexpectedr†   È   s4   € àˆt�|�x 4Ñ'¨8°tÑ+;ØàŒ~ÑØàÔ*Ñ*Øàr   )zscipy.conftestzscipy.versionzscipy.special.libsf_error_statec                  óŽ  — d„ } g }t         j                  j                  «       5 }|j                  t        d«       t        j                  t        j                  t        j                  dz   | ¬«      D ],  \  }}}t        |«      sŒ|t        vsŒ|j                  |«       Œ. 	 ddd«       |rt        d|› �«      ‚y# 1 sw Y   ŒxY w)z|
    Test that we don't add anything that looks like a new public module by
    accident.  Check is based on filenames.
    c                 óB   — h d£}|D ]  }d|› �}|| v sŒ|t         vsŒ y  ‚ )N>   ú
dask.arrayÚcupyÚtorchzarray_api_compat.r   )r…   ÚbackendsÚbackendÚpaths       r   Úignore_errorsz4test_all_modules_are_expected.<locals>.ignore_errorsé   s;   € ò
 3ˆØò 	ˆGØ& w iÐ0ˆDØ�tŠ| Ô/DÒ DÙð	ð 	r   rK   ú.)rŽ   ÚprefixÚonerrorNzFound unexpected modules: )ÚnpÚtestingÚsuppress_warningsÚfilterÚDeprecationWarningÚpkgutilÚwalk_packagesr	   Ú__path__Ú__name__r†   Ú	SKIP_LISTÚappendÚAssertionError)r�   ÚmodnamesÚsupÚ_Úmodnames        r   Útest_all_modules_are_expectedr£   â   s¶   € ò
ð €Hä	�‰×	%Ñ	%Ó	'ð 	)¨3Ø�
‰
Ô% lÔ3Ü$×2Ñ2¼¿¹Ü:?¿.¹.È3Ñ:NØ;HôJò 	)‰MˆAˆw˜ô ˜WÕ%¨'¼Ò*Bð —‘ Õ(ñ	)÷	)ñ ÜÐ9¸(¸ÐDÓEÐEð ÷	)ð 	)ús   ¤A B;ÂB;ÂB;Â;C)z
scipy.charz	scipy.reczscipy.emathz
scipy.mathzscipy.randomzscipy.ctypeslibzscipy.mac                  ó  — d„ } t         j                  j                  «       5 }|j                  t        d«        | d«      }ddd«       t
        D ]  }j                   | |«      «       Œ rt        d|› �«      ‚y# 1 sw Y   Œ<xY w)z£
    Method checking all objects. The pkgutil-based method in
    `test_all_modules_are_expected` does not catch imports into a namespace,
    only filenames.
    c                 óT  — g }t        j                  | «      }t        |d«      r|j                  }nt	        |«      }|D ]g  }|j                  d«      rŒ| dz   |z   }t        t        ||«      t        j                  «      sŒBt        |«      sŒN|t        vsŒW|j                  |«       Œi |S )NÚ__all__r¡   r�   )Ú	importlibr   Úhasattrr¦   r   Ú
startswithÚ
isinstanceÚgetattrÚtypesÚ
ModuleTyper†   ÚSKIP_LIST_2r�   )Úmod_nameÚmembersÚmoduleÚobjnamesÚobjnameÚfullobjnames         r   Úfind_unexpected_membersz@test_all_modules_are_expected_2.<locals>.find_unexpected_members  s—   € ØˆÜ×(Ñ(¨Ó2ˆÜ�6˜9Ô%Ø—~‘~‰Hä˜6“{ˆHàò 	4ˆGØ×%Ñ% cÕ*Ø&¨™n¨wÑ6�Üœg f¨gÓ6¼×8HÑ8HÕIÜ$ [Õ1°kÌÒ6TØŸ™ {Õ3ð	4ð ˆr   rK   r	   Nz3Found unexpected object(s) that look like modules: )r“   r”   r•   r–   r—   rƒ   Úextendrž   )rµ   r    Úunexpected_membersr¢   s       r   Útest_all_modules_are_expected_2r¸     s˜   € òô  
�‰×	%Ñ	%Ó	'ð >¨3Ø�
‰
Ô% |Ô4Ù4°WÓ=Ð÷>ô "ò DˆØ×!Ñ!Ñ"9¸'Ó"BÕCðDñ Üð )Ø);Ð(<ð>ó ?ð 	?ð ÷>ð >ús   ¢A<Á<Bc                  ó¦  — d„ } g }t         D ]  } | |«      rŒ|j                  |«       Œ |rt        d|› �«      ‚t        j                  d¬«      5  t        j
                  dt        ¬«       t        j
                  dt        ¬«       t        D ]  } | |«      rŒ|j                  |«       Œ 	 ddd«       |rt        d|› �«      ‚y# 1 sw Y   ŒxY w)	a  
    Check that all submodules listed higher up in this file can be imported
    Note that if a PRIVATE_BUT_PRESENT_MODULES entry goes missing, it may
    simply need to be removed from the list (deprecation may or may not be
    needed - apply common sense).
    c                 óZ   — 	 t        j                  | «       y# t        t        f$ r Y yw xY w)NFT)r§   r   ÚImportErrorÚAttributeError)Úmodule_names    r   Úcheck_importablez-test_api_importable.<locals>.check_importable=  s3   € ð	Ü×#Ñ# KÔ0ð øô œ^Ð,ò 	Ùð	ús   ‚ ˜*©*z3Modules in the public API that cannot be imported: T)ÚrecordÚalways)ÚcategoryNzNModules that are not really public but looked public and can not be imported: )	rƒ   r�   rž   ÚwarningsÚcatch_warningsÚfilterwarningsr—   ÚImportWarningr„   )r¾   Úmodule_namesr½   s      r   Útest_api_importablerÇ   6  sæ   € òð €LÜ%ò -ˆÙ Õ,Ø×Ñ Õ,ð-ñ Üð *Ø*6¨ð9ó :ð 	:ô 
×	 Ñ	 ¨Ô	-ñ 1Ü×Ñ Ô3EÕFÜ×Ñ ´=ÕAÜ6ò 	1ˆKÙ# KÕ0Ø×#Ñ# KÕ0ñ	1÷1ñ Üð @à ,˜~ð/ó 0ð 	0ð ÷1ð 1ús   ÁACÂCÃC)r½   Úcorrect_module)_)r"   N)r#   N)r$   N)r%   N)r&   N)r'   N)r(   N)r)   N)r*   N)r+   N)r,   N)r-   N)r.   N)r/   N)r0   N)r1   N)r2   N)r4   N)r5   N)r?   N)r@   N)r3   Úarff)r6   Úmatlab)r<   rÊ   )r7   rÊ   )r8   rÊ   )r:   rÊ   )r;   rÊ   )r9   rÊ   )r=   rÊ   )r>   rÊ   )rA   N)rB   N)rC   N)rD   N)rE   N)rF   N)rG   N)rH   N)rI   N)rJ   N)rL   N)rM   N)rN   N)rO   N)rP   N)rQ   N)rR   N)rS   N)rT   N)rU   N)rV   N)rW   N)rX   N)rY   N)rZ   N)r[   N)r\   N)r]   N)r^   N)r_   N)r`   N)ra   N)rb   N)rc   N)rd   N)re   N)rf   N)rg   Úwindows)rh   N)ri   r   )rj   r   )rk   r   )rl   r   )rm   r   )rn   N)ro   N)rp   N)rq   N)rr   N)rs   N)rt   Ú	transform)ru   N)rv   N)rw   N)rx   N)ry   N)rz   N)r{   N)r|   N)r}   N)r~   Úmstats)r   rÍ   )r€   N)r�   Nc                 óÜ  — t        | «      }|€d| j                  d«      d   › �}nd| j                  d«      d   › d|› �}t        |«      }|j                  D ]E  }t        ||d «      €J ‚d|› d|› d�}t	        j
                  |¬«      5  t        ||«       d d d «       ŒG d| › d	�}t	        j                  t        |¬«      5  t        |d
«       d d d «       y # 1 sw Y   ŒˆxY w# 1 sw Y   y xY w)Nr!   r�   é   zPlease import `z` from the `z`...)Úmatchú`z` is deprecated...Úekki)r   Úsplitr¦   r«   ÚpytestÚdeprecated_callÚraisesr¼   )r½   rÈ   r±   Úimport_nameÚcorrect_importÚ	attr_nameÚmessages          r   Ú$test_private_but_present_deprecationrÛ   [  s  € ôJ ˜;Ó'€FØÐØ˜{×0Ñ0°Ó5°aÑ8Ð9Ð:‰à˜{×0Ñ0°Ó5°aÑ8Ð9¸¸>Ð:JÐKˆä" ;Ó/€Nð —^‘^ò 'ˆ	ä�~ y°$Ó7ÐCÐCÐCØ# I ;¨l¸;¸-ÀtÐLˆÜ×#Ñ#¨'Ô2ñ 	'Ü�F˜IÔ&÷	'ð 	'ð	'ð �+�Ð0Ð1€GÜ	�‰”~¨WÔ	5ñ  Ü�˜Ô÷ ð  ÷	'ð 	'ú÷ ð  ús   ÂCÃ C"ÃC	Ã"C+)Ú__doc__r˜   r¬   r§   rÂ   r   rÔ   Únumpyr“   r	   Úscipy.conftestr   r   rƒ   r„   r†   rœ   ÚmarkÚthread_unsafer£   r®   r¸   rÇ   ÚparametrizerÛ   )Úss   0r   ú<module>rã      sÚ   ðñó
 Û Û Û Ý #ã ã Û å 0ò3ð()ö ( 1�(˜Q“,ò (€ò`tÐ ònò€	ð ‡�×Ññ Fó ð FòJ€ò ?òF"0ðJ ‡�×ÑØ‡�×ÑÐ:ò^7ó_8ñ@ óA_8ó ñB ùòw(s   ²B0