Ë
    ¡eht   ã                  ó  — U d dl m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Zd dlmZ dej                  v ZeredvrdZej                   j#                  e d	¬
«      Z	 d dlmZ dZe
rd dlmZ d dlmZ ej6                  j9                  ej6                  j;                  e«      d«      Zej6                  j9                  ed«      Z ej6                  j9                  ed«      Z!ej6                  j9                  ed«      Z"ej6                  j9                  ed«      Z#ej6                  j9                  ed«      Z$ej6                  j9                  ed«      Z% ee&«      Z'de(d<   d7d„Z)d8d„Z*d9d„Z+ ejX                  dd¬«      d:d„«       Z-d;d„Z.ej                   j^                  ej                   j#                  ed¬
«      ej                   ja                  d  e.e «      «      d:d!„«       «       «       Z1ej                   j^                  ej                   j#                  ed¬
«      ej                   ja                  d  e.e!«      «      d<d"„«       «       «       Z2d#Z3d$Z4	 	 	 	 	 	 	 	 	 	 	 	 d=d%„Z5d&Z6ej                   j^                  ej                   j#                  ed¬
«      ej                   ja                  d  e.e"«      «      d<d'„«       «       «       Z7ej                   j^                  ej                   j#                  ed¬
«      ej                   ja                  d  e.e «      «      d<d(„«       «       «       Z8d)d*d+d,d-d.d/d0d1d2d3d4d5œZ9ej                   j^                  ej                   j#                  ed¬
«      d:d6„«       «       Z:y# e$ r dZY �Œw xY w)>é    )ÚannotationsN)Údefaultdict)ÚTYPE_CHECKING)Ú_EXTENDED_PRECISION_LISTÚNPY_RUN_MYPY_IN_TESTSUITE)Ú0Ú ÚfalseTz#`NPY_RUN_MYPY_IN_TESTSUITE` not set)Úreason)ÚapiF)ÚIterator)ÚParameterSetÚdataÚpassÚfailÚrevealÚmisczmypy.iniz.mypy_cachezdefaultdict[str, list[str]]ÚOUTPUT_MYPYc                ó¬   — t         j                  j                  | «      \  }}t         j                  j                  ||j	                  dd«      d   «      S )zySplit at the first occurrence of the ``:`` character.

    Windows drive-letters (*e.g.* ``C:``) are ignored herein.
    ú:é   r   )ÚosÚpathÚ
splitdriveÚjoinÚsplit)ÚkeyÚdriveÚtails      ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/numpy/typing/tests/test_typing.pyÚ	_key_funcr!   6   sA   € ô
 —'‘'×$Ñ$ SÓ)�K€Eˆ4Ü�7‰7�<‰<˜˜tŸz™z¨#¨qÓ1°!Ñ4Ó5Ð5ó    c                ó¨   — t         j                  j                  | «      \  }}|j                  dd«      \  }}} t	        |«      | j                  «       fS )z7Strip the filename and line number from a mypy message.r   é   )r   r   r   r   ÚintÚstrip)ÚmsgÚ_r   Úlinenos       r    Ú_strip_filenamer*   ?   sE   € ä�g‰g× Ñ  Ó%�G€A€tØ—Z‘Z  QÓ'�N€A€vˆsÜˆv‹;˜Ÿ	™	›Ð#Ð#r"   c                ó(   — | j                  «       d   S )z4`re.sub` helper function for stripping module names.r   )Úgroups)Úmatchs    r    Ú
strip_funcr.   F   s   € à�<‰<‹>˜!ÑÐr"   Úmodule)ÚscopeÚautousec                 ó²  — t         j                  j                  t        «      rBt	        t         j
                  j                  dd«      «      rt        j                  t        «       t        j                  d«      } t        t        t        t        fD ]Ä  }t        j                   dt"        dt        |g«      \  }}}|rt%        j&                  d|› �«       n|dvrt%        j&                  d|› d	|› �«       d
}d}|j)                  d«      D ]J  }d|v rŒ|€t+        |«      }||› d�z  }| j-                  |«      €Œ/t.        |   j1                  |«       d
}d}ŒL ŒÆ y)zøClears the cache and run mypy before running any of the typing tests.

    The mypy results are cached in `OUTPUT_MYPY` for further use.

    The cache refresh can be skipped using

    NUMPY_TYPING_TEST_CLEAR_CACHE=0 pytest numpy/typing/tests
    ÚNUMPY_TYPING_TEST_CLEAR_CACHETz(\s+)?\^(\~+)?z--config-filez--cache-dirz Unexpected mypy standard error

>   r   r   zUnexpected mypy exit code: ú

r	   Nú
znote:)r   r   ÚisdirÚ	CACHE_DIRÚboolÚenvironÚgetÚshutilÚrmtreeÚreÚcompileÚPASS_DIRÚ
REVEAL_DIRÚFAIL_DIRÚMISC_DIRr   ÚrunÚMYPY_INIÚpytestr   r   r!   r-   r   Úappend)Úsplit_patternÚ	directoryÚstdoutÚstderrÚ	exit_codeÚ
str_concatÚfilenameÚis           r    Úrun_mypyrO   K   s<  € ô 	�‰�‰”iÔ Ü”—‘—‘Ð ?ÀÓFÔGä�‰”iÔ ä—J‘JÐ0Ó1€MÜ¤
¬H´hÐ?ò  ˆ	ä$'§G¡GØÜØÜØð-
ó %Ñ!ˆ�˜	ñ Ü�K‰KÐ<¸V¸HÐEÕFØ˜fÑ$Ü�K‰KÐ5°i°[ÀÀVÀHÐMÔNàˆ
Ø#ˆØ—‘˜dÓ#ò 
	 ˆAØ˜!‰|ØØÐÜ$ Q›<�à˜Q˜C˜r˜(Ñ"ˆJØ×"Ñ" 1Ó%Ñ1Ü˜HÑ%×,Ñ,¨ZÔ8Ø�
Ø‘ñ
	 ñ! r"   c              #  ó  K  — t        j                  | «      D ]m  \  }}}|D ]b  }t         j                  j                  |«      \  }}|dv sŒ*t         j                  j	                  ||«      }t        j                  ||¬«      –— Œd Œo y ­w)N)z.pyiz.py)Úid)r   Úwalkr   Úsplitextr   rE   Úparam)rH   Úrootr(   ÚfilesÚfnameÚshort_fnameÚextÚfullpaths           r    Úget_test_casesr[   y   sy   è ø€ ÜŸ'™' )Ó,ò =‰ˆˆa�Øò 	=ˆEÜ!Ÿw™w×/Ñ/°Ó6ÑˆK˜Ø�oÒ%ÜŸ7™7Ÿ<™<¨¨eÓ4�Ü—l‘l 8°Ô<Ó<ñ		=ñ=ùs   ‚AB	Á>B	zMypy is not installedr   c                ón   — t         }| |v r+d}|dj                  d„ ||    D «       «      z  }t        |«      ‚y )NzUnexpected mypy output

r5   c              3  ó8   K  — | ]  }t        |«      d    –— Œ y­w)r   N)r*   )Ú.0Úvs     r    ú	<genexpr>ztest_success.<locals>.<genexpr>Š   s   è ø€ ÒJ°1œ¨Ó+¨AÕ.ÑJùs   ‚)r   r   ÚAssertionError)r   Úoutput_mypyr'   s      r    Útest_successrc   ‚   sD   € ô
 €KØˆ{ÑØ*ˆØˆt�y‰yÑJ¸ÀDÑ8IÔJÓJÑJˆÜ˜SÓ!Ð!ð r"   c                ó0  — d}t        | «      5 }|j                  «       }d d d «       t        d„ «      }t        }| |v sJ ‚||    D ]   }t	        |«      \  }}||xx   |› d�z  cc<   Œ" t        «      D ]–  \  }}	|dz   }|	j                  d«      sd|	vr||vrŒ%||dz
     }
d|
v rH|
j                  d«      \  }}}||   j                  «       }|j                  «       }t        | ||||«       Œyt        j                  d	|› d
||   › �«       Œ˜ y # 1 sw Y   ŒîxY w)NTc                  ó   — y)Nr	   © rf   r"   r    ú<lambda>ztest_fail.<locals>.<lambda>—   s   � r"   r5   r   ú#z E:z# E:z  # E: zUnexpected mypy output at line r4   )ÚopenÚ	readlinesr   r   r*   Ú	enumerateÚ
startswithÚ	partitionr&   Ú
_test_failrE   r   )r   Ú__tracebackhide__ÚfinÚlinesÚerrorsrb   Ú
error_liner)   rN   ÚlineÚtarget_lineÚ
expressionr(   ÚmarkerÚerrorÚexpected_errors                   r    Ú	test_failrz   Ž   sF  € ð Ðä	ˆd‹ð  �sØ—‘“ˆ÷ ô ™Ó$€Fä€KØ�;ÑÐÐà! $Ñ'ò ,ˆ
Ü,¨ZÓ8Ñˆ�
Øˆv‹˜Z˜L¨Ð+Ñ+Œð,ô ˜UÓ#ò ‰ˆˆ4Ø�Q‘ˆà�O‰O˜CÔ Ø˜TÑ! f°FÑ&:àà˜F Q™JÑ'ˆØ�[Ñ Ø$/×$9Ñ$9¸)Ó$DÑ!ˆJ˜˜6Ø˜6‘N×(Ñ(Ó*ˆEØ#Ÿ\™\›^ˆNÜ�t˜Z¨°ÀÕGä�K‰KØ1°&°¸¸fÀV¹nÐ=MÐNõñ÷ ð  ús   ŽDÄDz9Extra error at line {}

Expression: {}
Extra error: {!r}
zRError mismatch at line {}

Expression: {}
Expected error: {}
Observed error: {!r}
c                ó’   — |€ t        t        j                  |||«      «      ‚||vr!t        t        j                  ||||«      «      ‚y )N)ra   Ú
_FAIL_MSG1ÚformatÚ
_FAIL_MSG2)r   rv   rx   ry   r)   s        r    rn   rn   Â   sT   € ð ÐÜœZ×.Ñ.¨v°zÀ5ÓIÓJÐJØ	˜uÑ	$ÜœZ×.Ñ.Ø�J °ó
ó ð 	ð 
%r"   zReveal mismatch at line {}

{}
c                óŠ   — d}t         }| |vry||    D ].  }t        |«      \  }}t        t        j	                  ||«      «      ‚ y)z[Validate that mypy correctly infers the return-types of
    the expressions in `path`.
    TN)r   r*   ra   Ú_REVEAL_MSGr}   )r   ro   rb   rs   r)   s        r    Útest_revealr�   ×   sW   € ð Ðä€KØ�;ÑØà! $Ñ'ò Eˆ
Ü,¨ZÓ8Ñˆ�
Üœ[×/Ñ/°¸
ÓCÓDÐDñEr"   c                ót  — t         j                  j                  | «      \  }}| j                  t         j                  «      dd \  }}t
        j                  j                  |› d|› �| «      }|€J ‚|j                  €J ‚t
        j                  j                  |«      }|j                  j                  |«       y)z9Validate that the code in `path` properly during runtime.éþÿÿÿNú.)r   r   rS   r   ÚsepÚ	importlibÚutilÚspec_from_file_locationÚloaderÚmodule_from_specÚexec_module)r   Úpath_without_extensionr(   ÚdirnamerM   ÚspecÚtest_modules          r    Útest_code_runsr�   é   s¤   € ô
 !#§¡× 0Ñ 0°Ó 6ÑÐ˜AØŸ
™
¤2§6¡6Ó*¨2¨3Ð/Ñ€GˆXä�>‰>×1Ñ1Øˆ)�1�X�JÐ ó€Dð ÐÐÐØ�;‰;Ð"Ð"Ð"ä—.‘.×1Ñ1°$Ó7€KØ‡K�K×Ñ˜KÕ(r"   Úuint128Úuint256Úint128Úint256Úfloat80Úfloat96Úfloat128Úfloat256Ú
complex160Ú
complex192Ú
complex256Ú
complex512)é   é   é   é   é   é   é   é   é   é   é   é   c                 ó¦  — t         j                  j                  t        d«      } t        }| |v sJ ‚t        | «      5 }|j                  «       }d d d «       ||    D ]i  }t        |«      \  }}|dz
     j                  d«      }t        |   t        v rt        t        j                  ||«      «      ‚d|vsŒ[t        | ||d|«       Œk y # 1 sw Y   Œ{xY w)Nzextended_precision.pyir   r5   rx   zExpression is of type "Any")r   r   r   rB   r   ri   rj   r*   ÚrstripÚLINENO_MAPPINGr   ra   r€   r}   rn   )r   rb   ÚfÚexpression_listÚ_msgr)   r'   rv   s           r    Útest_extended_precisionr¯     sÔ   € ô �7‰7�<‰<œÐ":Ó;€DÜ€KØ�;ÑÐÐä	ˆd‹ð (�qØŸ+™+›-ˆ÷(ð ˜DÑ!ò 	ˆÜ% dÓ+‰ˆ�Ø$ V¨a¡ZÑ0×7Ñ7¸Ó=ˆ
ä˜&Ñ!Ô%=Ñ=Ü ¤×!3Ñ!3°F¸CÓ!@ÓAÐAØ˜CÒÜØ�j #Ð'DÀfõñ	÷(ð (ús   ¼CÃC)r   ÚstrÚreturnr°   )r'   r°   r±   ztuple[int, str])r-   zre.Match[str]r±   r°   )r±   ÚNone)rH   r°   r±   zIterator[ParameterSet])r   r°   r±   r²   )r   r°   rv   r°   rx   r°   ry   z
None | strr)   r%   r±   r²   );Ú
__future__r   Úimportlib.utilr†   r   r=   r;   Úcollectionsr   Útypingr   rE   Únumpy.typing.mypy_pluginr   r9   ÚRUN_MYPYÚmarkÚskipifÚ
pytestmarkÚmypyr   ÚNO_MYPYÚImportErrorÚcollections.abcr   Ú_pytest.mark.structuresr   r   r   r�   Ú__file__ÚDATA_DIRr?   rA   r@   rB   rD   r7   Úlistr   Ú__annotations__r!   r*   r.   ÚfixturerO   r[   ÚslowÚparametrizerc   rz   r|   r~   rn   r€   r�   r�   r«   r¯   rf   r"   r    ú<module>rÈ      s–  ðÞ "ã Û 	Û 	Û Ý #Ý  ã Ý =ð '¨"¯*©*Ð4€Ù�Ð 2Ñ2Ø€Hð �[‰[×ÑØ€LØ0ð  ó €
ðÝð €GáÝ(õ 5à�7‰7�<‰<˜Ÿ™Ÿ™¨Ó1°6Ó:€Ø�7‰7�<‰<˜ &Ó)€Ø�7‰7�<‰<˜ &Ó)€Ø�W‰W�\‰\˜( HÓ-€
Ø�7‰7�<‰<˜ &Ó)€Ø�7‰7�<‰<˜ *Ó-€Ø�G‰G�L‰L˜ =Ó1€	ñ ,7°tÓ+<€Ð(Ó <ó6ó$óð
 €‡��h¨Ô-ò* ó .ð* óZ=ð ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°Ó!9Ó:ò"ó ;ó =ó ð"ð ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°Ó!9Ó:ò ó ;ó =ó ð ðF€
ð€
ðØ
ðàðð ðð ð	ð
 ðð 
óð€ð ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°
Ó!;Ó<òEó =ó =ó ðEð ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<Ø‡�×Ñ˜¡°Ó!9Ó:ò)ó ;ó =ó ð)ð  	ØØØØØØØØØØØñ€ð  ‡�×ÑØ‡�×Ñ�GÐ$;ÐÓ<òó =ó ñøð_ ò ØƒGðús   Á#M9 Í9NÎN