Ë
    Ç[;jŒ  ã            	       ó¢  — d dl Z d dlZd dlZd dlZej                  dd dk  rCej
                  j                  d eej                  dd «      z  «        ej                  d«       ddl	m
Z
 ddlmZ ddlmZmZ dd	l
mZmZmZmZ dd
lmZ ddl	mZ ddl	mZ ddlmZmZ ddlmZ ddlmZmZmZm Z  d„ Z!djE                  e e!e«      e e!e «      «      Z# ejH                  djE                  e#«      «      Z#e jJ                  jM                  e jJ                  jO                  e jJ                  jQ                  e jJ                  jQ                  e)«      «      d«      «      Z* G d„ d«      Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0 G d„ d«      Z1 G d„ d«      Z2 G d„ d e3«      Z4d!„ Z5d)d"„Z6d*d#„Z7d+d$„Z$ejp                  d,d%„«       Z9ejp                  d&„ «       Z:d'„ Z;d-d(„Z<y).é    Né   )é   é   z0Sorry, Cython requires Python 3.8+, found %d.%d
é   )ÚErrors)ÚEncodedString)ÚPyrexScannerÚFileSourceDescriptor)Ú
PyrexErrorÚCompileErrorÚerrorÚwarning)ÚModuleScope)ÚUtils)ÚOptions)ÚCompilationOptionsÚdefault_options)Úparse_command_line)Úunicode_start_ch_anyÚunicode_continuation_ch_anyÚunicode_start_ch_rangeÚunicode_continuation_ch_rangec           	      ó²   — g }t        dt        | «      d«      D ],  }|j                  dj                  | |   | |dz      «      «       Œ. dj	                  |«      S )Nr   r   z{}-{}r   Ú )ÚrangeÚlenÚappendÚformatÚjoin)ÚchrsÚoutÚis      ú]G:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Compiler/Main.pyÚ_make_range_rer$   !   sO   € Ø
€CÜ�1”c˜$“i Ö#ˆØ�
‰
�7—>‘> $ q¡'¨4°°!±©9Ó5Õ6ð $à�7‰7�3‹<Ðó    z[{0}{1}][{0}{2}{1}{3}]*z{0}(\.{0})*$ÚIncludesc                   ó  — e Zd ZdZdZ	 	 dd„Zed„ «       Zed„ «       Z	ed„ «       Z
d„ Zd d„Zd„ Zd	„ Zd!d
„Zed„ «       Zed„ «       Z	 	 d"d„Zd#d„Zd#d„Zd$d„Z	 d%d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd!d„Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$y)&ÚContextNc                 óŽ  — ddl m}m} d|j                  i| _        |j                  | «      | _        | j                  | j                  d<   || _        t        «       | _	        || _
        || _        || _        i | _        i | _        i | _        |�| j!                  |«       | j                  j#                  dd«      | _        d | _        y )Nr   )ÚBuiltinÚCythonScopeÚ__builtin__ÚcythonÚlegacy_implicit_noexceptF)r   r*   r+   Úbuiltin_scopeÚmodulesÚcreate_cython_scopeÚcython_scopeÚinclude_directoriesÚsetÚfuture_directivesÚcompiler_directivesÚcppÚoptionsÚpxdsÚutility_pxdsÚ	_internedÚset_language_levelÚgetr.   Úgdb_debug_outputwriter)Úselfr3   r6   r7   Úlanguage_levelr8   r*   r+   s           r#   Ú__init__zContext.__init__B   s·   € ÷ 	+Ø%¨×(=Ñ(=Ð>ˆŒØ'×;Ñ;¸DÓAˆÔØ!%×!2Ñ!2ˆ�‰�XÑØ#6ˆÔ Ü!$£ˆÔØ#6ˆÔ ØˆŒØˆŒàˆŒ	ØˆÔØˆŒàÐ%Ø×#Ñ# NÔ3à(,×(@Ñ(@×(DÑ(DÐE_ÐafÓ(gˆÔ%à&*ˆÕ#r%   c                 ól   —  | |j                   |j                  |j                  |j                  |¬«      S )N)r8   )Úinclude_pathr6   Úcplusr@   )Úclsr8   s     r#   Úfrom_optionszContext.from_options]   s2   € á�7×'Ñ'¨×)DÑ)DØ—=‘= '×"8Ñ"8À'ôKð 	Kr%   c                 óJ   — | j                   r| j                   j                  S d S ©N)r8   Úshared_c_file_path©r?   s    r#   rI   zContext.shared_c_file_pathb   s   € à26·,²,ˆt�|‰|×.Ñ.ÐHÀDÐHr%   c                 óJ   — | j                   r| j                   j                  S d S rH   )r8   Úshared_utility_qualified_namerJ   s    r#   rL   z%Context.shared_utility_qualified_namef   s   € à=A¿\º\ˆt�|‰|×9Ñ9ÐSÈtÐSr%   c                 óð   — ddl m}m}m}m}m} t        «       }|dk(  rd}nt        |«      }|dk\  r|j                  |||||g«       || _	        || _
        |dk\  r| j                  d   | j                  d<   y y )Nr   )Úprint_functionÚunicode_literalsÚabsolute_importÚdivisionÚgenerator_stopÚ3strr   r,   Úbuiltins)ÚFuturerN   rO   rP   rQ   rR   r4   ÚintÚupdater@   r5   r0   )r?   ÚlevelrN   rO   rP   rQ   rR   r5   s           r#   r<   zContext.set_language_levelj   s{   € ßgÕgÜ›EÐØ�FŠ?Ø‰Eä˜“JˆEØ�AŠ:Ø×$Ñ$Ð&6¸ÈÐYaÐcqÐ%rÔsØ#ˆÔØ!2ˆÔØ�AŠ:Ø'+§|¡|°MÑ'BˆD�L‰L˜Ò$ð r%   c                 óœ   — t         ||f}	 | j                  |   S # t        $ r Y nw xY wt        |«      }|r||_        || j                  |<   |S rH   )r   r;   ÚKeyErrorÚencoding)r?   Úvaluer[   Úkeys       r#   Úintern_ustringzContext.intern_ustringx   s[   € Ü˜e XÐ.ˆð	Ø—>‘> #Ñ&Ð&øÜò 	Ùð	úä˜eÓ$ˆÙØ%ˆEŒNØ#ˆ�‰�sÑØˆs   ‹ š	&¥&c                 ó   — ddl m} t        |t        «      rj|j                  dk(  r[t        ||t        j                  «       «      }t        || j                  «      }|j                  | |«      }|j                  ||«      }|S |j                  r\ddl m}	 |	j                  | «      }
|j                  | ||«      }|j!                  ||
|	j"                  ¬«      }|j                  ||«      }|S |j                  | ||«      }|j                  ||«      }|S )Nr   ©ÚPipelineÚpyx)ÚParseTreeTransforms)Úbefore)r   ra   Ú
isinstancer
   Ú
_file_typeÚCompilationSourceÚosÚgetcwdÚcreate_default_resultobjr8   Úcreate_pyx_as_pxd_pipelineÚrun_pipelineÚin_utility_coderc   ÚCnameDirectivesTransformÚcreate_pxd_pipelineÚinsert_into_pipelineÚInterpretCompilerDirectives)r?   Úsource_descÚscopeÚmodule_namera   ÚsourceÚresult_sinkÚpipelineÚresultrc   Ú	transforms              r#   Úprocess_pxdzContext.process_pxd†   s  € ÝÜ�kÔ#7Ô8¸[×=SÑ=SÐW\Ò=\Ü& {°KÄÇÁÃÓMˆFÜ2°6¸4¿<¹<ÓHˆKØ×:Ñ:¸4ÀÓMˆHØ×*Ñ*¨8°VÓ<ˆFð ˆð ×(Ò(Ý-Ø+×DÑDÀTÓJˆIØ×3Ñ3°D¸%ÀÓMˆHØ×4Ñ4Ø˜)Ø*×FÑFð 5ó HˆHð ×*Ñ*¨8°[ÓAˆFð ˆð  ×3Ñ3°D¸%ÀÓMˆHØ×*Ñ*¨8°[ÓAˆFØˆr%   c                 ó,   — t        j                  |«      S rH   )r   Úreport_error)r?   Úexcs     r#   Únonfatal_errorzContext.nonfatal_errorš   s   € Ü×"Ñ" 3Ó'Ð'r%   c                 ó  — |j                  d«      }|j                  «       }|D �cg c]  }|df‘Œ }}|dk7  rHd}dD ].  }| j                  ||d d | ¬«      }|sŒ| j                  |«      } n |j	                  ||f«       |S c c}w )NÚ.TrA   F)ú.pyú.pyx)ÚsuffixÚ
source_posÚsource_file_pathÚsys_path)ÚsplitÚpopÚsearch_include_directoriesÚ_is_init_filer   )	r?   Úqualified_nameÚrelative_importÚqualified_name_partsÚ	last_partÚpÚ
is_packagerƒ   Úpaths	            r#   Ú_split_qualified_namezContext._split_qualified_name�   s²   € à-×3Ñ3°CÓ8ÐØ(×,Ñ,Ó.ˆ	Ù3GÓHÑ3G¨a  D¢	Ð3GÐÐHØ˜
Ò"ð ˆJÛ)�Ø×6Ñ6Ø"¨6¸dÐUYÐhwÐdwð 7ó y�âØ!%×!3Ñ!3°DÓ!9�JÙð *ð !×'Ñ'¨°JÐ(?Ô@Ø#Ð#ùò  Is   ¦Bc                 óL   — | r!t         j                  j                  | «      dv S dS )N)z__init__.pyxz__init__.pyz__init__.pxdF)rh   r‘   Úbasename)r‘   s    r#   rŠ   zContext._is_init_file°   s%   € á\`Œr�w‰w×Ñ Ó%Ð)XÐXÐkÐfkÐkr%   c                 óÀ   — |sy t         j                  j                  |«      }d|v r8|t         j                  j                  |«      d   k(  rt	        | d|z  d¬«       y y y )Nr€   r   ú^Dotted filenames ('%s') are deprecated. Please use the normal Python package directory layout.r   ©rX   )rh   r‘   r”   Úsplitextr   )ÚposÚpxd_pathnamer‹   Úpxd_filenames       r#   Ú_check_pxd_filenamezContext._check_pxd_filename´   sf   € áØÜ—w‘w×'Ñ'¨Ó5ˆØ�.Ñ  ^´r·w±w×7GÑ7GÈÓ7UÐVWÑ7XÒ%XÜ�Cð NØP\ñ]Ødeögð &YÐ r%   c           
      ó˜  — d}|rt        d|›d|›d|›d|›�«       d }d }	|r%|r|j                  |«      }
n|j                  }
|}d }n|}
t        j	                  |
«      st        |xs |ddfd|z  «      ‚|rn|rt        d«       |j                  |«      }|sN| j                  |
|| ¬«      }	| j                  ||	|
«       |	r$| j                  |	«      }|j                  ||¬	«      }|sA|rt        d
«       |r|}
| }| j                  |
|¬«      D ]  \  }}|j                  ||¬	«      }Œ |rt        d|z  «       |j                  �sv|rt        d«       |	s¹|rt        d«       | j                  |
||xr | ¬«      }	| j                  ||	|
«       |rt        d|	z  «       |	sn|rld|_        | j                  |
d|| ¬«      }|r |j                  t        j                   «      rn-t#        |d|
j%                  dt&        j(                  «      z  «       |	r¬d|_        	 |rt        d|	z  «       |j%                  dt&        j(                  «      t&        j*                  j-                  |	«      d   z   }|	j                  |«      s|	}t/        |	|«      }| j1                  |||
«      \  }}|r|‚|\  }}||f| j2                  |<   |S |S # t
        $ r Y |S w xY w)Nr   z#Context.find_module: module_name = z, from_module = z, pos = z, need_pxd = z'%s' is not a valid module namez...trying relative import©r†   )Ú
as_packagez...trying absolute import)rŒ   z...scope = %sz...pxd not loadedz...looking for pxd filez......found %sTr�   )rƒ   r„   r†   z'%s.pxd' not foundr€   zContext.find_module: Parsing %sr   )ÚprintÚqualify_namer‹   Úmodule_name_patternÚmatchr   Úlookup_submoduleÚfind_pxd_filerœ   rŠ   Úfind_submoduler’   Úpxd_file_loadedr‰   Úendswithr   ÚPACKAGE_FILESr   Úreplacerh   Úsepr‘   r˜   r
   rz   r9   )r?   rt   Úfrom_moduler™   Úneed_pxdÚabsolute_fallbackrŒ   Údebug_find_modulers   rš   r‹   r�   ÚnameÚpackage_pathnameÚrel_pathrr   Úerrrx   Úpxd_codenodesÚ	pxd_scopes                       r#   Úfind_modulezContext.find_module½   s  € ð ÐÙÝÚš[ª#©xð9ô :ð ˆØˆÙÙà!,×!9Ñ!9¸+Ó!F‘ð "-×!;Ñ!;�Ø#�Ø"‘à(ˆNä"×(Ñ(¨Ô8Ü˜sÒ9 {°A°qÐ&9Ø@À;ÑNóPð Pñ Ù ÜÐ1Ô2Ø×0Ñ0°Ó=ˆEÙØ#×1Ñ1°.À#ÐTcÐPcÐ1Ód�Ø×(Ñ(¨¨l¸NÔKÙØ!%×!3Ñ!3°LÓ!A�JØ'×6Ñ6°{ÈzÐ6ÓZ�EÙÙ ÜÐ1Ô2Ù Ø!,�ØˆEØ$(×$>Ñ$>¸~Ð_nÐ$>Ö$oÑ ��jØ×,Ñ,¨T¸jÐ,ÓI‘ð %páÜ�/ EÑ)Ô*Ø×$Ó$Ù ÜÐ)Ô*ÙÙ$ÜÐ3Ô4ð  $×1Ñ1°.À#ÐPXÒPpÐapÐ]pÐ1Óq�Ø×(Ñ(¨¨l¸NÔKÙ$ÜÐ*¨\Ñ9Ô:Ù#©ð -1�EÔ)Ø'+×'FÑ'FØ&¨uÀÐSbÐObð (Gó (dÐ$á'Ð,<×,EÑ,EÄe×FYÑFYÔ,ZØä˜cÐ#7¸.×:PÑ:PÐQTÔVX×V\ÑV\Ó:]Ñ#]Ô^ÙØ(,�Ô%ðÙ(ÜÐ?À,ÑNÔOØ*×2Ñ2°3¼¿¹Ó?Ä"Ç'Á'×BRÑBRÐS_ÓB`ÐabÑBcÑc�HØ'×0Ñ0°Ô:Ø#/˜Ü"6°|ÀXÓ"N�KØ"&×"2Ñ"2°;ÀÀ~Ó"V‘K�C˜ÙØ!˜	Ø17Ñ.�] IØ.;¸YÐ-G�D—I‘I˜kÑ*ð ˆˆuˆøô $ò ØØˆðús   ÈB"J< Ê<	K	ËK	c                 ó~   — | j                  |d|||¬«      }|€$t        j                  r| j                  |||¬«      S |S )Nú.pxd©rƒ   r„   r†   r…   rž   )r‰   r   Úcimport_from_pyxÚfind_pyx_file)r?   r‹   r™   r†   r…   Úpxds         r#   r¥   zContext.find_pxd_file  sP   € ð ×-Ñ-Ø 6°cÀHÐ_oð .ó qˆàˆ;œ7×3Ò3Ø×%Ñ% n°cÀHÐ%ÓMÐMØˆ
r%   c                 ó.   — | j                  |d|||¬«      S )Nr‚   r¹   )r‰   )r?   r‹   r™   r†   r…   s        r#   r»   zContext.find_pyx_file(  s*   € ð ×.Ñ.Ø 6°cÀHÐ_oð /ó qð 	qr%   c                 óR   — | j                  ||d|¬«      }|st        |d|z  «       |S )NT)r„   Úincluder…   z'%s' not found)r‰   r   )r?   Úfilenamer™   r…   r‘   s        r#   Úfind_include_filezContext.find_include_file.  s<   € ð ×.Ñ.Ø ¨dÐEUð /ó WˆáÜ�#Ð'¨(Ñ2Ô3Øˆr%   c                 ó’   — | j                   }|r|t        j                  z   }t        |t        gz   «      }t        |||xs d|||«      S )Nr   )r3   Úsysr‘   ÚtupleÚstandard_include_pathr‰   )r?   r‹   rƒ   r„   r¿   r†   r…   Úinclude_dirss           r#   r‰   z"Context.search_include_directories7  sR   € à×/Ñ/ˆÙØ'¬#¯(©(Ñ2ˆLä˜\Ô-BÐ,CÑCÓDˆÜ)Ø˜.¨&ª,°B¸
ÀGÐM]ó_ð 	_r%   c                 ó,   — t        j                  |«      S rH   )r   Úfind_root_package_dir)r?   Ú	file_paths     r#   rÈ   zContext.find_root_package_dirA  s   € Ü×*Ñ*¨9Ó5Ð5r%   c                 ó@   — t        j                  |t        |«      «      S rH   )r   Úcheck_package_dirrÄ   )r?   ÚdirÚpackage_namess      r#   rË   zContext.check_package_dirD  s   € Ü×&Ñ& s¬E°-Ó,@ÓAÐAr%   c                 ó  — t         j                  j                  |«      syt        j                  |«      }t        j
                  ||«      ryt        j                  |d«      }t         j                  j                  |«      rt        j
                  ||«      ry| j                  |«      D ]S  \  }}|dk(  r| j                  ||¬«      }n|dk(  r| j                  ||¬«      }nŒ9|sŒ<t        j
                  ||«      sŒS y y)Nr   r¸   Úcimport)r…   r¿   r   )
rh   r‘   Úexistsr   Úmodification_timeÚfile_newer_thanÚreplace_suffixÚread_dependency_filer¥   r‰   )r?   Úsource_pathÚoutput_pathÚc_timeÚpxd_pathÚkindr°   Údep_paths           r#   Úc_file_out_of_datezContext.c_file_out_of_dateG  sÞ   € Ü�w‰w�~‰~˜kÔ*ØÜ×(Ñ(¨Ó5ˆÜ× Ñ  ¨fÔ5ØÜ×'Ñ'¨°VÓ<ˆÜ�7‰7�>‰>˜(Ô#¬×(=Ñ(=¸hÈÔ(OØØ×3Ñ3°KÖ@‰JˆD�$Ø�yÒ Ø×-Ñ-¨dÀ[Ð-ÓQ‘Ø˜Ò"Ø×:Ñ:¸4ÐR]Ð:Ó^‘àÚœE×1Ñ1°(¸FÕCÙð Að r%   c                 ó`   — | j                  |«      D ��cg c]  \  }}|dk(  r|‘Œ c}}S c c}}w )NrÏ   )rÔ   )r?   rÕ   rÙ   r°   s       r#   Úfind_cimported_module_namesz#Context.find_cimported_module_names[  s>   € Ø(,×(AÑ(AÀ+Ô(Nô (Ñ(N™*˜$ Ø˜IÒ%ò Ð(Nò (ð 	(ùó (s   •*c                 ó,   — t        j                  |«      S rH   )r   Úis_package_dir)r?   Údir_paths     r#   rß   zContext.is_package_dir_  s   € Ü×#Ñ# HÓ-Ð-r%   c                 ó  — t        j                  |d«      }t        j                  j	                  |«      r@t        |«      5 }d„ |D «       D �cg c]  }d|v r|j                  dd«      ‘Œ }}d d d «       |S yc c}w # 1 sw Y   S xY w)Nz.depc              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wrH   )Ústrip)Ú.0Úls     r#   Ú	<genexpr>z/Context.read_dependency_file.<locals>.<genexpr>g  s   è ø€ Ð'=¹1°a¨¯©¯	¹1ùs   ‚Ú r   © )r   rÓ   rh   r‘   rÐ   Úopenr‡   )r?   rÕ   rÚ   ÚfÚlineÚchunkss         r#   rÔ   zContext.read_dependency_fileb  s…   € Ü×'Ñ'¨°VÓ<ˆÜ�7‰7�>‰>˜(Ô#Ü�h” 1á'=¹1Ô'=ó,Ù'=˜tØ! T™kð  Ÿ:™: c¨1Õ-Ø'=ð ð ,÷  ð ˆMàùò,÷  ð ˆMús   ÁA<ÁA7Á*A<Á7A<Á<Bc                 ó:   — | j                   j                  |d «      S rH   )r0   r=   )r?   r°   s     r#   r¤   zContext.lookup_submodulem  s   € à�|‰|×Ñ  dÓ+Ð+r%   c                 óh   — | j                  |«      }|st        |d | |¬«      }|| j                  |<   |S )N)Úparent_moduleÚcontextr�   )r¤   r   r0   )r?   r°   rŸ   rs   s       r#   r¦   zContext.find_submoduleq  s<   € à×%Ñ% dÓ+ˆÙÜ Ø $°ÀôMˆEà!&ˆD�L‰L˜ÑØˆr%   c                 ó`  — t        |t        «      st        d«      ‚| j                  |_        t	        j
                  «       }	 |j                  «       5 }ddlm} t        |||j                  || ¬«      }|j                  |||«      }	| j                  j                  r"	 ddlm}
 |
j                  |j"                  «       d d d «       t	        j
                  «       |kD  r
t)        «       ‚	S # t         $ r t        d«      ‚w xY w# 1 sw Y   ŒDxY w# t$        $ r}| j'                  ||«      ‚d }~ww xY w)Nú$Only file sources for code supportedr   )ÚParsing)Úsource_encodingrs   rð   r   )ÚConcreteSyntaxTreezLFormal grammar can only be used with compiled Cython with an available pgen.)re   r
   ÚRuntimeErrorr7   r   Úget_errors_countÚget_file_objectr   ró   r	   r[   Úp_moduler8   Úformal_grammarÚParserrõ   ÚImportErrorrÀ   ÚUnicodeDecodeErrorÚ_report_decode_errorr   )r?   rr   rs   r¼   Úfull_module_nameÚ
num_errorsrê   ró   ÚsÚtreerõ   Úes               r#   ÚparsezContext.parsez  s  € Ü˜+Ô';Ô<ÜÐEÓFÐFØ—H‘HˆŒ	ä×,Ñ,Ó.ˆ
ð	<Ø×,Ñ,Ô.°!Ý%Ü   KÀ1Ç:Á:Ø).¸$ô@�à×'Ñ'¨¨3Ð0@ÓA�Ø—<‘<×.Ò.ðlÝ?ð '×/Ñ/°×0DÑ0DÔE÷ /ô" ×"Ñ"Ó$ zÒ1Ü“.Ð Øˆøô 'ò lÜ*Øjólð lðlú÷ /Ð.ûô "ò 	<ð ×+Ñ+¨K¸Ó;Ð;ûð	<úsI   ÁD ÁA
DÂC)Â#DÂ>D Ã)C>Ã>DÄD
ÄD Ä	D-ÄD(Ä(D-c                 óh  — |j                   d   }|j                   d   }|j                   d   }d}dx}}t        |j                  dd¬«      5 }	t        |	d«      D ].  \  }}
|t	        |
«      z  }||k\  sŒ||t	        |
«      z
  z
  dz   } n d d d «       t        |||fd|›d	|›d
�«      S # 1 sw Y   ŒxY w)Néÿÿÿÿr   r   r   z	iso8859-1r   )r[   ÚnewlinezjDecoding error, missing or incorrect coding=<encoding-name> at top of source (cannot decode with encoding z: Ú))Úargsré   rÀ   Ú	enumerater   r   )r?   rr   r}   ÚmsgÚpositionr[   rë   ÚcolumnÚidxrê   Údatas              r#   rþ   zContext._report_decode_error–  sÅ   € Ø�h‰h�r‰lˆØ—8‘8˜A‘;ˆØ—8‘8˜A‘;ˆàˆØÐˆ�Ü�+×&Ñ&°ÀbÕIÈQÜ'¨¨1žo‘
��dØ”s˜4“yÑ �Ø˜(“?Ø%¨¬s°4«y©Ñ9¸AÑ=�FÙð	 .÷ Jô �k 4¨Ñ0âPXÒZ]ð_ó`ð 	`÷ JÐIús   Á&B(Á3B(Â(B1c                 óš  — t         j                  j                  |«      \  }}t         j                  j                  |«      \  }}d|v r|S |g}| j	                  |«      rMt         j                  j                  |«      \  }}	||k(  rn%|j                  |	«       |}| j	                  |«      rŒM|j                  «        dj                  |«      S ©Nr€   )rh   r‘   r‡   r˜   rß   r   Úreverser   )
r?   r‘   r8   rÌ   rÀ   rt   Ú_ÚnamesÚparentÚpackage_names
             r#   Úextract_module_namezContext.extract_module_name¨  s°   € ô Ÿ™Ÿ™ dÓ+‰ˆˆXÜŸ™×)Ñ)¨(Ó3‰ˆ�QØ�+ÑØÐØ�ˆØ×!Ñ! #Ô&Ü#%§7¡7§=¡=°Ó#5Ñ ˆF�LØ˜Š}ØØ�L‰L˜Ô&ØˆCð ×!Ñ! #Õ&ð 	�‰ŒØ�x‰x˜‹Ðr%   c                 óÚ   — t        j                  «        |j                  r(t        j                  |j
                  d«      x}|_        nd }t        j                  ||j                  ¬«       y )Nz.lis)r‘   Úecho_to_stderr)	r   Úinit_threadÚuse_listing_filer   rÓ   Úmain_source_fileÚlisting_fileÚopen_listing_fileÚerrors_to_stderr)r?   r8   rx   r‘   s       r#   Úsetup_errorszContext.setup_errors¹  sS   € Ü×ÑÔØ×#Ò#Ü).×)=Ñ)=¸f×>UÑ>UÐW]Ó)^Ð^ˆD�6Õ&àˆDÜ× Ñ  d¸7×;SÑ;SÖTr%   c                 óª  — |j                   j                  }t        |t        «      st	        d«      ‚t        j                  «        t        j                  «       |_        |j                  dkD  rd}|rS|j                  rF	 t        j                  |j                  t        j                  |j                  «      «       d |_	        y y y # t        $ r Y Œw xY w)Nrò   r   T)Úcompilation_sourcerr   re   r
   rö   r   Úclose_listing_filer÷   r   Úc_filer   Úcastrate_filerh   ÚstatrÀ   ÚOSError)r?   r³   r8   rx   rr   s        r#   Úteardown_errorszContext.teardown_errorsÁ  s¯   € Ø×/Ñ/×;Ñ;ˆÜ˜+Ô';Ô<ÜÐEÓFÐFÜ×!Ñ!Ô#Ü"×3Ñ3Ó5ˆÔØ×Ñ˜qÒ ØˆCÙ�6—=’=ðÜ×#Ñ# F§M¡M´2·7±7¸;×;OÑ;OÓ3PÔQð !ˆF�Mð !ˆ3øô ò Ùðús   Á?=C Ã	CÃC)FNNrH   )F)NNr   TF)NTN©NN)NNFFN)%Ú__name__Ú
__module__Ú__qualname__r2   r@   rA   ÚclassmethodrF   ÚpropertyrI   rL   r<   r^   rz   r~   r’   ÚstaticmethodrŠ   rœ   r¶   r¥   r»   rÁ   r‰   rÈ   rË   rÛ   rÝ   rß   rÔ   r¤   r¦   r  rþ   r  r   r(  rè   r%   r#   r(   r(   3   s  „ ð €LØ€NàEJØ.2ó+ð6 ñKó ðKð ñIó ðIð ñTó ðTòCó
òò((ó$ð& ñló ðlð ñgó ðgð MNØ<AóZóxóqóð rvó_ò6òBòò((ò.ò	ò,óòò8`ò$ò"Uó!r%   r(   c                 ó|  — |j                   rd}nd}t        j                  | |«      }|j                  rˆt        j
                  j                  ||j                  «      }t        j
                  j                  |«      r=t        j
                  j                  |t        j
                  j                  |«      «      S |S |S )Nz.cppz.c)	rD   r   rÓ   Úoutput_filerh   r‘   r   Úisdirr”   )Úsource_filenameÚcwdr8   Úc_suffixÚsuggested_file_nameÚout_paths         r#   Úget_output_filenamer8  Ñ  s‰   € Ø‡}‚}Ø‰àˆÜ×.Ñ.¨ÀÓIÐØ×ÒÜ—7‘7—<‘<  W×%8Ñ%8Ó9ˆÜ�7‰7�=‰=˜Ô"Ü—7‘7—<‘< ¬"¯'©'×*:Ñ*:Ð;NÓ*OÓPÐPàˆOà"Ð"r%   c                 óä   — t        «       }| j                  j                  |_        | |_        | j                  }t        |j                  | j                  |«      |_        |j                  |_        |S rH   )	ÚCompilationResultrr   rÀ   r  r"  r8  r4  r$  Úembedded_metadata)r"  r8   rx   rr   s       r#   rj   rj   á  sc   € ÜÓ €FØ0×<Ñ<×EÑE€FÔØ 2€FÔØ$×0Ñ0€KÜ'¨×(<Ñ(<Ø*×.Ñ.°ó9€F„Mà&×8Ñ8€FÔØ€Mr%   c                 ó�  — t        j                  «       }t         j                  j                  | «      }|xs |j	                  | |«      }t        |«      }t        j                  |«       |j                  r7|j                  dt         j                  «      |z   }|j                  |«      s| }n|}t        ||«      }t        |||«      S r  )rh   ri   r‘   Úabspathr  r   r   Ú$raise_error_if_module_name_forbiddenÚ'relative_path_in_code_position_commentsrª   r«   r¨   r
   rg   )	ru   Ú
source_extrÿ   r8   rð   r4  Úabs_pathr²   rr   s	            r#   Úsetup_source_objectrB  ì  sª   € Ü
�)‰)‹+€CÜ�w‰w�‰˜vÓ&€Hà'ÒW¨7×+FÑ+FÀvÈwÓ+WÐÜ$Ð%5Ó6Ðä	×.Ñ.Ð/?Ô@Ø×6Ò6Ø#×+Ñ+¨C´·±Ó8¸:ÑEˆØ× Ñ  Ô*Ø‰HàˆÜ& x°Ó:€KÜ˜[Ð*:¸CÓ@Ð@r%   c                 ó|  — t        j                  «       }t        | ||«      }|j                  ||«      }|rc|j	                  ||«       t         j
                  j                  | «      d   }	|j                  |	dd  «       t        | |	|||«      } t        | |«      S t        | |||«      }
|r|j                  |||
«       |
S )Nr   )rh   ri   r8  Úlookup_cacheÚload_from_cacher‘   r˜   Úconfigure_language_defaultsrB  rj   rl   Ústore_to_cache)ru   r8   rÿ   rð   ÚcacheÚfingerprintr4  Úoutput_filenameÚcachedr@  rx   s              r#   Úrun_cached_pipelinerL  þ  s¹   € Ü
�)‰)‹+€CÜ)¨&°#°wÓ?€OØ×Ñ °Ó=€FÙØ×Ñ˜o¨vÔ6ä—W‘W×%Ñ% fÓ-¨aÑ0ˆ
Ø×+Ñ+¨J°q°r¨NÔ;ä$ V¨ZÐ9IÈ7ÐT[Ó\ˆä'¨°Ó8Ð8ä˜& 'Ð+;¸WÓE€FÙØ×Ñ˜_¨k¸6ÔBØ€Mr%   c                 óü  — ddl m} |j                  r"t        j                  j                  d| z  «       t        j                  j                  | «      d   }t        j                  j                  | «      }|j                  |dd  «       t        | ||||«      } t        | |«      }|j                  €~t        j                  j                  |j                  «      d   dz   }t        j                  j                  |«      r0t!        |d¬«      5 }	d|	j#                  d	«      v rd
|_        d d d «       |j%                  «       dk(  s|s|j'                  |||«      }
n|j)                  |||«      }
|j+                  ||«       d| j,                  v r|dt        j                  j                  t        j                  j/                  |«      «      d   v r;t1        | j2                  ddfdt        j                  j/                  |«      z  d¬«       t5        j6                  d|j                  t4        j8                  j:                  «      r'|j<                  st1        | j2                  ddfdd¬«       |j?                  |
| «      \  }}|jA                  |||«       |€^|jB                  rRddl"m#}  ||«      jI                  |jJ                  «      }tM        jN                  |j                  |jJ                  |«       |S # 1 sw Y   �ŒÌxY w)Nr   r`   zCompiling %s
r   z.htmlzUTF-8)r[   z<!-- Generated by Cythonéd   Tr�   r€   r–   r—   z[.]c(pp|[+][+]|xx)$z:Filename implies a c++ file but Cython is not in c++ mode.r   ©Úcreate_dependency_tree)(r   ra   ÚverboserÃ   ÚstderrÚwriterh   r‘   r˜   r=  rF  rB  rj   Úannotater$  rÐ   ré   ÚreadÚlowerÚcreate_py_pipelineÚcreate_pyx_pipeliner   rÿ   r”   r   rr   ÚreÚsearchÚ	RegexFlagÚ
IGNORECASEr7   rl   r(  ÚdepfileÚBuild.DependenciesrP  Úall_dependenciesr  r   Úwrite_depfile)ru   r8   rÿ   rð   ra   r@  rA  rx   Úhtml_filenameÚ	html_filerw   r³   ÚenddatarP  Údependenciess                  r#   rl   rl     sp  € ÝØ‡‚Ü�
‰
×ÑÐ)¨FÑ2Ô3Ü—‘×!Ñ! &Ó)¨!Ñ,€JÜ�w‰w�‰˜vÓ&€HØ×'Ñ'¨
°1°2¨Ô7ä  ¨Ð5EÀwÐPWÓX€Fä% f¨gÓ6€Fà×ÑÐäŸ™×(Ñ(¨¯©Ó7¸Ñ:¸WÑDˆÜ�7‰7�>‰>˜-Ô(Ü�m¨gÕ6¸)Ø-°·±ÀÓ1DÑDØ'+�GÔ$÷ 7ð
 ×ÑÓ˜UÒ"©*Ø×.Ñ.¨w¸ÀÓH‰à×/Ñ/°¸À&ÓIˆà×Ñ˜ &Ô)à
ˆf×%Ñ%Ñ%¨#´·±×1AÑ1AÄ"Ç'Á'×BRÑBRÐS[ÓB\Ó1]Ð^_Ñ1`Ñ*`Ü�×#Ñ# Q¨Ð*ðJÜLNÏGÉG×L\ÑL\Ð]eÓLfñgØnoõ	qô 
‡y�yÐ&¨¯©´r·|±|×7NÑ7NÔOÐX_×XcÒXcÜ�×#Ñ# Q¨Ð*ØLØõ	ð ×(Ñ(¨°6Ó:�L€CˆØ×Ñ˜C ¨&Ô1Ø
€{�w—’Ý?Ù-¨gÓ6×GÑGÈ×H_ÑH_Ó`ˆÜ×Ñ˜FŸM™M¨6×+BÑ+BÀLÔQØ€M÷7 7Ñ6ús   ÄK1Ë1K;c                   ó   — e Zd ZdZd„ Zy)rg   zk
    Contains the data necessary to start up a compilation pipeline for
    a single compilation unit.
    c                 ó.   — || _         || _        || _        y rH   )rr   rÿ   r4  )r?   rr   rÿ   r4  s       r#   rA   zCompilationSource.__init__K  s   € Ø&ˆÔØ 0ˆÔØˆ�r%   N)r*  r+  r,  Ú__doc__rA   rè   r%   r#   rg   rg   F  s   „ ñór%   rg   c                   ó:   — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZd„ Zy)r:  af  
    Results from the Cython compiler:

    c_file           string or None   The generated C source file
    h_file           string or None   The generated C header file
    i_file           string or None   The generated .pxi file
    api_file         string or None   The generated C API .h file
    listing_file     string or None   File of error messages
    object_file      string or None   Result of compiling the C file
    extension_file   string or None   Result of linking the object file
    num_errors       integer          Number of compilation errors
    compilation_source CompilationSource
    Nr   c                 óˆ   — | j                   | j                  | j                  | j                  fD �cg c]  }|r|‘Œ c}S c c}w rH   )r$  Úh_fileÚi_fileÚapi_file)r?   Úsource_files     r#   Úget_generated_source_filesz,CompilationResult.get_generated_source_filesj  sF   € à,0¯K©K¸¿¹ÀdÇkÁkÐSW×S`ÑS`Ñ+aó
Ù+a˜KÙò Ð+añ
ð 	
ùò 
s   ±?)r*  r+  r,  rg  r$  rj  rk  rl  r  Úobject_fileÚextension_filer  r   rn  rè   r%   r#   r:  r:  Q  s<   „ ñð €FØ€FØ€FØ€HØ€LØ€KØ€NØÐØ€Jó
r%   r:  c                   ó   — e Zd ZdZdZd„ Zy)ÚCompilationResultSetzè
    Results from compiling multiple Pyrex source files. A mapping
    from source file paths to CompilationResult instances. Also
    has the following attributes:

    num_errors   integer   Total number of compilation errors
    r   c                 óL   — || |<   | xj                   |j                   z  c_         y rH   )r   )r?   ru   rx   s      r#   ÚaddzCompilationResultSet.add|  s   € ØˆˆV‰Ø�Š˜6×,Ñ,Ñ,Žr%   N)r*  r+  r,  rg  r   rt  rè   r%   r#   rr  rr  q  s   „ ñð €Jó-r%   rr  c           	      óÚ   — ddl m} ddlm} t        j                  |«      } ||«      }| j                  ||j                  |«      | ||j                  rdnd|j                  ¬«      «      S )Nr   rO  )ÚFingerprintFlagszc++Úc)Ú
np_pythran)
r^  rP  ÚBuild.Cacherv  r(   rF   Útransitive_fingerprintr_  rD   rx  )rH  ru   r8   rP  rv  rð   rd  s          r#   Úget_fingerprintr{  �  sc   € Ý;Ý.Ü×"Ñ" 7Ó+€GÙ)¨'Ó2€LØ×'Ñ'Ø�L×1Ñ1°&Ó9¸7ÙØ Ÿš‘¨CØ"×-Ñ-ôóð r%   c                 ó’   — |€t         j                  |«      }|r!|xs t        || |«      }t        | |||||«      S t	        | |||«      S )a  
    compile_single(source, options, full_module_name, cache, context, fingerprint)

    Compile the given Pyrex implementation file and return a CompilationResult.
    Always compiles a single file; does not perform timestamp checking or
    recursion.
    )r(   rF   r{  rL  rl   )ru   r8   rÿ   rH  rð   rI  s         r#   Úcompile_singler}  �  sX   € ð €Ü×&Ñ& wÓ/ˆáØ!ÒL¤_°U¸FÀGÓ%LˆÜ" 6¨7Ð4DÀgÈuÐVaÓbÐbä˜F GÐ-=¸wÓGÐGr%   c                 óL  — t        | «      dkD  r|j                  rt        d«      ‚| D �cg c]!  }t        j                  j                  |«      ‘Œ# } }t        «       }t        «       }|j                  }d}t        j                  «       }| D ]€  }||vsŒt        |||«      }	|€t        j                  |«      }|j                  ||	«      }
|r|
r.t        |||j                  ||¬«      }|j                  ||«       d}|j                  |«       Œ‚ |r|j!                  «        |S c c}w )zû
    compile_multiple(sources, options, cache)

    Compiles the given sequence of Pyrex implementation files and returns
    a CompilationResultSet. Performs timestamp checking, caching and/or recursion
    if these are specified in the options.
    r   z>Full module name can only be set for single source compilationN)rÿ   rH  rð   )r   rt   rö   rh   r‘   r=  r4   rr  Ú
timestampsri   r8  r(   rF   rÛ   r}  rt  Úcleanup_cache)Úsourcesr8   rH  ru   Ú	processedÚresultsr  rð   r4  rJ  Úout_of_daterx   s               r#   Úcompile_multipler…  ¢  s  € ô ˆ7ƒ|�aÒ˜G×/Ò/Üð ;ó <ð 	<ñ 6=Ó=±W¨6Œr�w‰w�‰˜vÕ&°W€GÐ=Ü“€IÜ"Ó$€GØ×#Ñ#€JØ€GÜ
�)‰)‹+€CÛˆØ˜Ò"Ü1°&¸#¸wÓGˆOØˆÜ!×.Ñ.¨wÓ7�Ø!×4Ñ4°V¸_ÓMˆKÙ¡;Ü'¨°È'×J]ÑJ]ÐejÐt{Ô|�Ø—‘˜F FÔ+ð �Ø�M‰M˜&Õ!ð ñ Ø×ÑÔØ€Nùò+ >s   ª&D!c                 ó�  — t        dd|i|¤Ž}d}|j                  rr|j                  st        j                  r,|j                  rJt
        j                  j                  d«       n*ddlm	} |j                  du rdn|j                  } ||«      }t        | t        «      r|j                  st        | |||«      S | g} t        | ||«      S )a›  
    compile(source [, options], [, <option> = <value>]...)

    Compile one or more Pyrex implementation files, with optional timestamp
    checking and recursing on dependencies.  The source argument may be a string
    or a sequence of strings.  If it is a string and no recursion or timestamp
    checking is requested, a CompilationResult is returned, otherwise a
    CompilationResultSet is returned.
    ÚdefaultsNz/Cache is ignored when annotations are enabled.
r   )ÚCacheTrè   )r   rH  rT  r   rQ  rÃ   rR  rS  ry  rˆ  re   Ústrr  r}  r…  )ru   r8   rÿ   ÚkwdsrH  rˆ  Ú
cache_paths          r#   ÚcompilerŒ  Ç  s­   € ô !Ñ<¨GÐ<°tÑ<€Gð €EØ‡}‚}Ø×Òœw×/Ò/Ø�ŠÜ—
‘
× Ñ Ð!SÕTå+Ø!(§¡°$Ñ!6™¸G¿M¹MˆJÙ˜*Ó%ˆEä�&œ#ÔØ×!Ò!Ü! &¨'Ð3CÀUÓKÐKØ�ˆÜ˜F G¨UÓ3Ð3r%   c                 ó¤  — |r.|s,|d   }t        |t        «      st        d«      ‚|j                  }|r?|r$t        j
                  j                  |«      f| z   } nt        j                  |«      f| z   } |}|r||z  }| D ]E  }t        j
                  j                  ||«      }	t        j
                  j                  |	«      sŒC|	c S  |sŠ|j                  d«      }
t        |
dd «      }|
d   }g }| D ]E  }t        j                  ||«      \  }}|€Œ|r|j                  |«       Œ3t        |||«      }	|	sŒC|	c S  |D ]  }t        |||«      }	|	sŒ|	c S  y)a)  
    Search the list of include directories for the given file name.

    If a source file path or position is given, first searches the directory
    containing that file.  Returns None if not found, but does not report an error.

    The 'include' option will disable package dereferencing.
    r   rò   r€   Nr  )re   r
   rö   rÀ   rh   r‘   Údirnamer   rÈ   r   rÐ   r‡   rÄ   rË   r   Úsearch_module_in_dir)Údirsr‹   rƒ   r™   r¿   r…   Ú	file_descÚdotted_filenamerŽ  r‘   r  rÍ   rt   Únamespace_dirsÚpackage_dirÚis_namespaces                   r#   r‰   r‰   è  sd  € ñ Ñ#Ø˜‘Fˆ	Ü˜)Ô%9Ô:ÜÐEÓFÐFØ$×-Ñ-ÐÙÙÜ—G‘G—O‘OÐ$4Ó5Ð7¸$Ñ>‰Dä×/Ñ/Ð0@ÓAÐCÀdÑJˆDð %€OÙØ˜6Ñ!ˆãˆÜ�w‰w�|‰|˜G _Ó5ˆÜ�7‰7�>‰>˜$ÕØŠKð ñ à×$Ñ$ SÓ)ˆÜ˜e C R˜jÓ)ˆØ˜B‘iˆð ˆÛˆGÜ(-×(?Ñ(?ÀÈÓ(WÑ%ˆK˜ØÑ&ÙØ"×)Ñ)¨+Ô6ØÜ+¨K¸ÀfÓM�ÚØ’Kð ó *ˆKÜ'¨°[À&ÓIˆDÚØ’ð *ð
 r%   c                 ó¦   — t        j                  | ||«      }|s7|r5t        j                  t        j                  j	                  | |«      d|«      }|S )NrA   )r   Úfind_versioned_filerh   r‘   r   )r”  rt   rƒ   r‘   s       r#   r�  r�  #  sI   € ô ×$Ñ$ [°+¸vÓF€Dñ ‘FÜ×(Ñ(¬¯©¯©°kÀ;Ó)OÐQ[Ð]cÓdˆà€Kr%   c                  ó   — t        d¬«      S )Nr   )Úcommand_line)Úmainrè   r%   r#   Úsetuptools_mainr›  5  s   € Ü˜qÔ!Ð!r%   c                 ó(  — t         j                  dd  }d}| r	 t        |«      \  }}nt        t        «      }|}j                  rt        j                  «        |j                  dk7  rt        j                   |j                  «       	 |j"                  rddlm}  ||«       y t)        |«      }|j*                  dkD  rd}|rt        j                  d«       y y # t        $ rf}t	        dj                  t         j                  d   |j                  «      t         j                  ¬«       t        j                  d«       Y d }~�Œ
d }~ww xY w# t,        t.        f$ r7}t         j                  j1                  t3        |«      dz   «       d}Y d }~ŒÌd }~ww xY w)	Nr   r   z#{}: No such file or directory: '{}')Úfiler   r   )Úgenerate_shared_moduleÚ
)rÃ   Úargvr   ÚFileNotFoundErrorr    r   rÀ   rR  Úexitr   r   Úshow_versionr   Úprint_versionÚworking_pathrh   ÚchdirrI   ÚBuild.SharedModulerž  rŒ  r   r'  r   rS  r‰  )r™  r	  Úany_failuresr8   r�  r  rž  rx   s           r#   rš  rš  9  sB  € Ü�8‰8�A�Bˆ<€DØ€LÙð	Ü1°$Ó7ÑˆG‘Wô
 %¤_Ó5ˆØˆà×ÒÜ×ÑÔà×Ñ˜RÒÜ
�‰�×%Ñ%Ô&ðØ×%Ò%ÝCÙ" 7Ô+Øä˜ 'Ó*ˆØ×Ñ˜qÒ ØˆLñ Ü�‰��ð øô3 !ò 	ÜÐ7×>Ñ>¼s¿x¹xÈ¹{ÈAÏJÉJÓWÔ^a×^hÑ^hÕiÜ�H‰H�Q�KŠKûð	ûô, ”ZÐ ò Ü�
‰
×Ñœ˜Q› $™Ô'Ø�ûðús6   ™C ÂE Â#E Ã	EÃ"AEÅEÅFÅ-FÆF)NNNrH   r)  )r   NFN)r   )=rh   rY  rÃ   ÚioÚversion_inforR  rS  rÄ   r¢  r   r   ÚStringEncodingr   ÚScanningr	   r
   r   r   r   r   ÚSymtabr   r   r   r   r   ÚCmdLiner   ÚLexiconr   r   r   r   r$   r   r¢   rŒ  r‘   r=  r   rŽ  Ú__file__rÅ   r(   r8  rj   rB  rL  rl   rg   r:  Údictrr  r{  r}  r…  Úcached_functionr‰   r�  r›  rš  rè   r%   r#   Ú<module>r³     s½  ðó 
Û 	Û 
Û 	à×Ñ�B�QÐ˜&Ò Ø‡J�J×ÑÐHÉ5ÐQT×QaÑQaÐbdÐcdÐQeÓKfÑfÔgØ€C‡H�HˆQ„Kõ Ý )ß 8ß <Ó <Ý Ý Ý ß 8Ý '÷Mó Mòð 0×6Ñ6Ø™.Ð)?Ó@ØÙÐ0Ó1ó3Ð ð !�b—j‘j ×!7Ñ!7Ð8KÓ!LÓMÐ ð Ÿ™Ÿ™Ø‡G�G‡L�L�—‘—‘ §¡§¡°Ó!:Ó;¸ZÓHóJÐ ÷[!ñ [!ò|#ò òAò$ò(+÷hñ ÷
ñ 
ô@-˜4ô -ò óHó&"óJ4ðB ×Ñò7ó ð7ðt ×Ññó ðò""ô r%   