+
    -j\                        ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIt^ RI	t	^ RI
t
^ RIt^ RIHt ^ RIt ! R R4      tR	 R
 ltRR R lltR R ltR R ltRR R lltR# )    )annotationsN)bisect_right)Iterable)Iterator)overloadc                      ] tR t^tRtRR R lltR R ltRt]R R l4       t	]R	 R
 l4       t	R R lt	R R lt
R R ltR R ltRR R lltR R ltR R ltR R ltR R ltRtR# ) SourceznAn immutable object holding a source code fragment.

When using Source(...), the source lines are deindented.
Nc                    V ^8  d   QhRRRR/# )   objobjectreturnNone )formats   "i/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/_pytest/_code/source.py__annotate__Source.__annotate__   s     - -F -d -    c                	   V'       g   . V n         . V n        R# \        V\        4      '       d%   VP                   V n         VP                  V n        R# \        V\        \
        ,          4      '       d1   \        R  V 4       4      V n         \        R V 4       4      V n        R# \        V\        4      '       d8   \        VP                  R4      4      V n         VP                  R4      V n        R#  \        V4      p\        P                  ! V4      p\        VP                  R4      4      V n         VP                  R4      V n        R#   \         d    \        P                  ! T4      p LZi ; i)c              3  B   "   T F  qP                  R 4      x  K  	  R# 5i
Nrstrip.0xs   & r   	<genexpr>"Source.__init__.<locals>.<genexpr>        !>#Q((4..#   c              3  B   "   T F  qP                  R 4      x  K  	  R# 5ir   r   r   s   & r   r   r       r!   r"   r   N)lines	raw_lines
isinstancer	   tuplelistdeindentstrsplit
getrawcodeinspect	getsource	TypeError)selfr   rawcodesrcs   &&  r   __init__Source.__init__   s    $&DJ(*DNV$$DJ ]]DNUT\**!!>#!>>DJ!!>#!>>DNS!!!#))D/2DJ YYt_DN-$S/''0 "#))D/2DJ YYt_DN  -'',-s   2!E
 
!E.-E.c                    V ^8  d   QhRRRR/# )r   otherr   r   boolr   )r   s   "r   r   r   ,   s     ) )F )t )r   c                	l    \        V\        4      '       g   \        # V P                  VP                  8H  # N)r&   r	   NotImplementedr$   )r0   r6   s   &&r   __eq__Source.__eq__,   s(    %((!!zzU[[((r   c                    V ^8  d   QhRRRR/# )r   keyintr   r*   r   )r   s   "r   r   r   5   s    //s/s/r   c                	    R # r9   r   r0   r>   s   &&r   __getitem__Source.__getitem__4   s    ,/r   c                    V ^8  d   QhRRRR/# )r   r>   slicer   r	   r   )r   s   "r   r   r   8   s    44u44r   c                	    R # r9   r   rA   s   &&r   rB   rC   7   s    14r   c                    V ^8  d   QhRRRR/# )r   r>   zint | slicer   zstr | Sourcer   )r   s   "r   r   r   :   s     	 	{ 	| 	r   c                	D   \        V\        4      '       d   V P                  V,          # VP                  R9  d   \	        R4      h\        4       pV P                  VP                  VP                   Vn        V P                  VP                  VP                   Vn        V# )Nz!cannot slice a Source with a step)N   )	r&   r?   r$   step
IndexErrorr	   startstopr%   )r0   r>   	newsources   && r   rB   rC   :   sw    c3::c?"xxy( !DEEI"jjSXX>IO"&..SXX"FIr   c                   V ^8  d   QhRR/# )r   r   zIterator[str]r   )r   s   "r   r   r   E   s        -  r   c                	,    \        V P                  4      # r9   )iterr$   r0   s   &r   __iter__Source.__iter__E   s    DJJr   c                   V ^8  d   QhRR/# )r   r   r?   r   )r   s   "r   r   r   H   s       r   c                	,    \        V P                  4      # r9   )lenr$   rR   s   &r   __len__Source.__len__H   s    4::r   c                   V ^8  d   QhRR/# r   r   r	   r   )r   s   "r   r   r   K   s     
 
v 
r   c                x   ^ \        V 4      r!W8  d3   V P                  V,          P                  4       '       g   V^,          pK8  W!8  d:   V P                  V^,
          ,          P                  4       '       g   V^,          pK?  \        4       pV P                  Vn        V P                  W VP                  R&   V# )zGReturn new Source object with trailing and leading blank lines removed.NNN)rW   r$   stripr	   r%   )r0   rL   endsources   &   r   r^   Source.stripK   s    D	sk$**U"3"9"9";";QJEk$**S1W"5";";"="=1HC>>**U/Qr   c                    V ^8  d   QhRRRR/# )r   indentr*   r   r	   r   )r   s   "r   r   r   W   s      S v r   c                    \        4       pV P                  Vn        V P                   Uu. uF  q1V,           NK  	  upVn        V# u upi )zVReturn a copy of the source object with all lines indented by the
given indent-string.)r	   r%   r$   )r0   rc   rN   lines   &&  r   rc   Source.indentW   sA     H	"nn	7;zzBztTMMzB	 Cs   Ac                    V ^8  d   QhRRRR/# )r   linenor?   r   r	   r   )r   s   "r   r   r   _   s      3 6 r   c                0    V P                  V4      w  r#WV # )zMReturn Source statement which contains the given linenumber
(counted from 0).)getstatementrange)r0   rh   rL   r_   s   &&  r   getstatementSource.getstatement_   s      ++F3
#r   c                    V ^8  d   QhRRRR/# )r   rh   r?   r   ztuple[int, int]r   )r   s   "r   r   r   e   s        r   c                n    ^ Tu;8:  d   \        V 4      8  g   M \        R4      h\        W4      w  r#pW43# )zeReturn (start, end) tuple which spans the minimal statement region
which containing the given lineno.zlineno out of range)rW   rK   getstatementrange_ast)r0   rh   _astrL   r_   s   &&   r   rj   Source.getstatementrangee   s8     V'c$i'2330>Szr   c                   V ^8  d   QhRR/# r[   r   )r   s   "r   r   r   m   s      & r   c                    \        4       p\        V P                  4      VP                  R&   V P                  Vn        V# )z&Return a new Source object deindented.r]   )r	   r)   r$   r%   )r0   rN   s   & r   r)   Source.deindentm   s2    H	%djj1	"nn	r   c                   V ^8  d   QhRR/# )r   r   r*   r   )r   s   "r   r   r   t   s     % % %r   c                	8    R P                  V P                  4      # r   )joinr$   rR   s   &r   __str__Source.__str__t   s    yy$$r   )r$   r%   r9   )z    )__name__
__module____qualname____firstlineno____doc__r3   r;   __hash__r   rB   rS   rX   r^   rc   rk   rj   r)   ry   __static_attributes__r   r   r   r	   r	      sf    
-,) H/ /4 4	 
% %r   r	   c                   V ^8  d   QhRR/# )r   r   ztuple[Source | None, int]r   )r   s   "r   r   r   }   s      0 r   c                     \         P                  ! V 4      w  r\        4       pT Uu. uF  qDP	                  4       NK  	  upTn        Yn        Y23#   \         d    Ru # i ; iu upi )N)N)r-   
findsource	Exceptionr	   r   r$   r%   )r   sourcelinesrh   r`   re   s   &    r   r   r   }   se    %005 XF.9:kdKKMk:FL">   ;s   A A$A! A!c               $    V ^8  d   QhRRRRRR/# )r   r   r   trycallr7   r   ztypes.CodeTyper   )r   s   "r   r   r      s!     
> 
>F 
>T 
>^ 
>r   c                     V P                   #   \         d     Mi ; iT'       d9   \        T RR4      pT'       d$   \        T \        4      '       g   \        TRR7      # \        RT : 24      h)z&Return code object for given function.__call__NF)r   zcould not get code object for )__code__AttributeErrorgetattrr&   typer,   r/   )r   r   calls   && r   r,   r,      sc    || sJ-
3--dE22
4SG<
==s    c                    V ^8  d   QhRRRR/# )r   r$   zIterable[str]r   z	list[str]r   )r   s   "r   r   r      s     : :M :i :r   c                h    \         P                  ! R P                  V 4      4      P                  4       # rw   )textwrapdedentrx   
splitlines)r$   s   &r   r)   r)      s#    ??499U+,7799r   c               $    V ^8  d   QhRRRRRR/# )r   rh   r?   nodezast.ASTr   ztuple[int, int | None]r   )r   s   "r   r   r      s"      C w ;Q r   c                &   . p\         P                  ! V4       EF+  p\        V\         P                  \         P                  ,          4      '       g   K;  \        V\         P
                  \         P                  ,          \         P                  ,          4      '       d6   VP                   F%  pVP                  VP                  ^,
          4       K'  	  VP                  VP                  ^,
          4       R FI  p\        W5R4      pV'       g   K  VP                  V^ ,          P                  ^,
          ^,
          4       KK  	  EK.  	  VP                  4        \        W 4      pW'^,
          ,          pV\        V4      8  d   Rp	W3# W',          p	W3# )rI   N)	finalbodyorelse)astwalkr&   stmtExceptHandlerClassDefFunctionDefAsyncFunctionDefdecorator_listappendrh   r   sortr   rW   )
rh   r   valuesr   dnamevalinsert_indexrL   r_   s
   &&        r   get_statement_startend2r      s    FXXd^aC$5$5566!S\\COO;c>R>RRSS))AMM!((Q,/ *MM!((Q,'/-4Qd-C3MM#a&--!"3a"78	 0  KKM/L!#$Es6{" : ":r   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   rh   r?   r`   r	   	assertionr7   astnodezast.AST | Noner   ztuple[ast.AST, int, int]r   )r   s   "r   r   r      s:     . ... . 	.
 .r   c                  a
 Vf`   \        V4      p\        P                  ! 4       ;_uu_ 4        \        P                  ! R4       \        P
                  ! VRR4      pR R R 4       \        W4      w  rVVf   \        VP                  4      pWe^,           8  d   \        P                  ! 4       p\        VP                  V,          4      ;'       d)    VP                  V,          ^ ,          P                  4       Vn        R VP                  WV  4       o
 \        P                  ! V
3R l4       F  pVP                   ! V!   K  	  V'       dT   VP                  V^,
          ,          P+                  4       p	V	P-                  R4      '       g	   V	'       g   V^,          pKZ   W5V3#   + '       g   i     ELP; i  \        P"                  \$        3 d    TP&                  T,           p L\(         d     Li ; i)Nignorer`   execc              3  2   "   T F  qR ,           x  K  	  R# 5ir   r   r   s   & r   r   (getstatementrange_ast.<locals>.<genexpr>   s     :"9Q4xx"9s   c                    < \        S 4      # r9   )next)its   r   <lambda>'getstatementrange_ast.<locals>.<lambda>   s	    Rr   #)r*   warningscatch_warningssimplefilterr   parser   rW   r$   r-   BlockFinderr7   isspacestartedtokenizegenerate_tokens
tokeneater
EndOfBlockIndentationErrorlastr   lstrip
startswith)rh   r`   r   r   contentrL   r_   block_findertokre   r   s   &&&&      @r   ro   ro      s    f+ $$&&!!(+ii6:G ' )9JE
 {&,,
QY **, e$%JJ&,,u*=a*@*H*H*J 	 ;&,,u"9:	//0@A''- B ||C!G$++-??3t1HC3I '&&0 ""$45 	,##e+C 		s)   /F$1F8 $F5	8.G5(G51G54G5)T)FN)
__future__r   r   bisectr   collections.abcr   r   r-   r   r   typestypingr   r   r	   r   r,   r)   r   ro   r   r   r   <module>r      sQ    " 
  $ $      e% e%Z
>:4. .r   