Ë
    íì�i  ã                   ó�  — d 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Zddl	m
Z
 ddlmZ  ee«      Z e
j                  «       D ]2  \  Z\  ZZej'                  d«      D ]  Zee   j+                  e«       Œ Œ4 dd	d
œZeD ]  Zde› �Zeee<   Œ d„ Z	 dd„Zej6                  j9                  dej                  «       «      d„ «       Zy)zCTests for the minimum dependencies in README.rst and pyproject.tomlé    N)Údefaultdict)ÚPath)Údependent_packages)Úparse_versionz, ÚbuildÚinstall)zbuild-system.requireszproject.dependencieszproject.optional-dependencies.c                  ó`  — t        j                  d«      } t        t        j                  «      j
                  j
                  }|dz  }t        j                  j                  |«      st        j                  d«       |j                  d«      5 }|D ]‡  }| j                  |«      }|sŒ|j                  d«      |j                  d«      }}|j                  «       }|t        v sŒRt!        |«      }t!        t        |   d   «      }|› d|› d	|› �}	||k(  rŒ‚J |	«       ‚ 	 d d d «       y # 1 sw Y   y xY w)
NzE\.\. \|([A-Za-z-]+)MinVersion\| replace::( [0-9]+\.[0-9]+(\.[0-9]+)?)z
README.rstz%The README.rst file is not available.Úré   é   r   zH has inconsistent minimum versions in README.rst and _min_depencies.py: ú != )ÚreÚcompiler   ÚsklearnÚ__file__ÚparentÚosÚpathÚexistsÚpytestÚskipÚopenÚmatchÚgroupÚlowerr   r   )
ÚpatternÚreadme_pathÚreadme_fileÚfÚlineÚmatchedÚpackageÚversionÚmin_versionÚmessages
             ú�/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/site-packages/sklearn/tests/test_min_dependencies_readme.pyÚtest_min_dependencies_readmer'      s+  € ô
 �j‰jð	(ó€Gô ”w×'Ñ'Ó(×/Ñ/×6Ñ6€KØ Ñ,€Kä�7‰7�>‰>˜+Ô&ô 	�‰Ð;Ô<à	×	Ñ	˜#Ó	ð 7 !Øò 	7ˆDØ—m‘m DÓ)ˆGáØà&Ÿ}™}¨QÓ/°·±¸qÓ1A�WˆGØ—m‘m“oˆGàÔ,Ò,Ü'¨Ó0�Ü+Ô,>¸wÑ,GÈÑ,JÓK�ð �ið  +Ø+2¨)°4¸°}ðFð ð  +Ó-Ð6¨wÓ6Ð-ñ#	7÷7÷ 7ñ 7ús   ÂAD$Ã"/D$ÄD$Ä$D-c                 ó0  — t        j                  d«      }|€g }t        |   }t        t        j
                  «      j                  j                  }|dz  }|j                  «       st        j                  d«       |j                  d«      5 }|j                  |«      }d d d «       | j                  d«      }	}
|	D ]  }|
|   }
Œ	 i }d}|
D ]R  }t        j                  ||«      }|€t        |› d|›d�«      ‚|j                  d	«      |j                  d
«      }}|||<   ŒT t!        |«      t!        |«      k(  sJ ‚|j#                  «       D ]@  \  }}t%        |«      }t%        t&        |   d   «      }||v rŒ+|› d|› d|› �}||k(  rŒ;J |«       ‚ y # 1 sw Y   ŒðxY w)NÚtomllibzpyproject.tomlz pyproject.toml is not available.Úrbú.z([\w-]+)\s*[>=]=\s*([\d\w.]+)z does not match expected regex z7. Only >= and == are supported for version requirementsr   r   r   zL has inconsistent minimum versions in pyproject.toml and _min_depencies.py: r   )r   ÚimportorskipÚ-min_depencies_tag_to_packages_without_versionr   r   r   r   r   r   r   ÚloadÚsplitr   ÚsearchÚNotImplementedErrorr   ÚsortedÚitemsr   r   )Úpyproject_sectionÚmin_dependencies_tagÚskip_version_check_forr)   Úexpected_packagesÚroot_directoryÚpyproject_toml_pathr   Úpyproject_tomlÚpyproject_section_keysÚinfoÚkeyÚpyproject_build_min_versionsr   Úrequirementr   r"   r#   Úexpected_min_versionr%   s                       r&   Úcheck_pyproject_sectionrA   E   só  € ô ×!Ñ! )Ó,€GàÐ%Ø!#ÐäEØñÐô œ'×*Ñ*Ó+×2Ñ2×9Ñ9€NØ(Ð+;Ñ;Ðà×%Ñ%Ô'ô 	�‰Ð6Ô7à	×	!Ñ	! $Ó	'ð )¨1Ø Ÿ™ a›ˆ÷)ð /×4Ñ4°SÓ9ÐØ€DØ%ò ˆØ�C‰y‰ðð $&Ð ð /€GØò 
8ˆÜ—	‘	˜' ;Ó/ˆØˆ=Ü%Ø�-Ð>¸w¸kð JHð Hóð ð
 !Ÿ;™; q›>¨5¯;©;°q«>�ˆà07Ð$ WÒ-ð
8ô Ð.Ó/´6Ð:KÓ3LÒLÐLÐLà8×>Ñ>Ó@ò 
8Ñˆ�Ü Ó(ˆÜ,Ô-?ÀÑ-HÈÑ-KÓLÐØÐ,Ñ,Øð ˆið #Ø#* )¨4Ð0DÐ/EðGð 	ð Ð.Ó.Ð7°Ó7Ð.ñ
8÷7)ð )ús   ÂFÆFz'pyproject_section, min_dependencies_tagc                 ó4   — |dk(  rdgnd}t        | ||¬«       y)zFCheck versions in pyproject.toml is consistent with _min_dependencies.r   ÚnumpyN)r6   )rA   )r4   r5   r6   s      r&   Ú$test_min_dependencies_pyproject_tomlrD   ‚   s&   € ð +?À'Ò*I˜g™YÈtÐÜØØØ5öó    )N)Ú__doc__r   r   Úcollectionsr   Úpathlibr   r   r   Úsklearn._min_dependenciesr   Úsklearn.utils.fixesr   Úlistr-   r3   r"   r$   Úextrasr/   ÚextraÚappendÚ)pyproject_section_to_min_dependencies_tagÚtagÚsectionr'   rA   ÚmarkÚparametrizerD   © rE   r&   ú<module>rU      sü   ðÙ Iã 	Û 	Ý #Ý ã ã Ý 8Ý -á0;¸DÓ0AÐ -Ø&>Ð&8×&>Ñ&>Ó&@ò MÑ"€GÑ"ˆk˜6Ø—‘˜dÓ#ò MˆØ5°eÑ<×CÑCÀGÕLñMðMð
 %Ø%ñ-Ð )ð 9ò =€CØ.¨s¨eÐ4€GØ9<Ð-¨gÒ6ð=ò
&7ðT EIó:8ðz ‡�×ÑØ-Ø-×3Ñ3Ó5óñ	ó	ñ	rE   