
    4bh                     ^    	 d dl Z d dlZd dlZd dlZg dZi Zd Zd	dZd	dZd	dZ	d	dZ
d Zy)
    N)getline
clearcache
checkcache	lazycachec                  .    	 t         j                          y N)cacheclear     3/opt/python-3.12.12/usr/lib/python3.12/linecache.pyr   r      s    #	KKMr   c                 \    	 t        | |      }d|cxk  rt        |      k  rn y||dz
     S y)N    )getlineslen)filenamelinenomodule_globalsliness       r   r   r      s>    N X~.EF c%j  VaZ  r   c                     	 | t         v r#t         |    }t        |      dk7  rt         |    d   S 	 t        | |      S # t        $ r t	                g cY S w xY w)Nr      )r	   r   updatecacheMemoryErrorr   )r   r   entrys      r   r   r   $   s`    N 5hu:??1%%8^44 	s   : AAc                    	 | #t         j                         j                         }n| g}|D ]p  } 	 t         |    }t	        |      dk(  r|\  }}}}|&	 t        j                  |      }||j                  k7  s||j                  k7  s[t         j                  | d        r y # t        $ r Y w xY w# t        t        f$ r t         j                  | d        Y w xY w)Nr   )r	   copykeysKeyErrorr   osstatOSError
ValueErrorpopst_sizest_mtime)r   	filenamesr   sizemtimer   fullnamer!   s           r   r   r   4   s    - JJL%%'	J		(OE u:?',$eUH=	778$D 4<<5DMM#9IIh%%   		 $ 	IIh%	s#   	B B/ 	B,+B,/%CCc                    	 | t         v r+t        t         |          dk7  rt         j                  | d        | r"| j                  d      r| j	                  d      rg S | }	 t        j                  |      }	 t%        j&                  |      5 }|j)                         }	d d d        	r!|	d   j	                  d      s|	dxx   dz  cc<   |j.                  |j0                  }}
|
||	|ft         | <   |	S # t        $ r& | }t        | |      ru	 t        |    d          }|g cY S t        |      d |j                         D cg c]  }|dz   	 nc c}w c}|ft         | <   t         |    d   cY S # t        t        f$ r Y nw xY wt
        j                  j                  |       rg cY S t        j                  D ]e  }	 t
        j                  j                  ||      }n# t        t         f$ r Y 6w xY w	 t        j                  |      } n# t        t"        f$ r Y cw xY w g cY S Y t"        $ r g cY S w xY w# 1 sw Y   xY w# t        t*        t,        f$ r g cY S w xY w)Nr   <>r   
r   )r	   r   r$   
startswithendswithr    r!   r"   r   
splitlinesImportErrorpathisabssysjoin	TypeErrorAttributeErrorr#   tokenizeopen	readlinesUnicodeDecodeErrorSyntaxErrorr%   r&   )r   r   r*   r!   basenamedatalinedirnamefpr   r(   r)   s               r   r   r   S   sC   ! 5uX1$IIh%++C0X5F5Fs5K	H,wwx X]]8$LLNE % U2Y''-b	T	,,%DE5(2E(OLi  ( X~.*Xq)+ < II-1__->?->TTD[->?	#h Xq))  ) " 77=="IxxG77<<:~. wwx(Z(    I	 
  	 %$'5 	s   C, 4H8 	H+H8 ,H(E$H(H(8E
H($E63H(5E66$H(H(0 GH(G# H("G##H('G><H(>HH(HH(
H('H(+H50H8 8IIc                    	 | t         v rt        t         |          dk(  ryy| r"| j                  d      r| j                  d      ry|r{d|v rw|j	                  d      }t        |dd       xs |d   }t        |d	d       }||j	                  d
      }t        |dd       }|r#|r!t        j                  ||      }|ft         | <   yy)Nr   TFr,   r-   __name____spec__nameloader
__loader__
get_source)r	   r   r0   r1   getgetattr	functoolspartial)r   r   specrG   rH   rJ   	get_liness          r   r   r      s     5uX1$++C0X5F5Fs5K*6!!*-tVT*HnZ.Hx.>#''5FV\48
J!))*d;I(lE(Or   r   )rM   r6   r    r:   __all__r	   r   r   r   r   r   r   r   r   r   <module>rR      sD     
 	 
>
 	
 &>BJ!r   