+
    Spj9                        ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt R R	 ltR
 R ltR R ltRR R lltRR R lltR# )    )annotations)Iterator)saferepr)_AssertionTextDiffStyle)_HighlightFunc)dummy_highlighter)assert_neverc               0    V ^8  d   QhRRRRRRRRRR	R
R/# )   leftstrrighthighlighterr   verboseintassertion_text_diff_styler   returnIterator[str] )formats   "E/tmp/pip-target-d46v3snk/lib/python/_pytest/assertion/compare_text.py__annotate__r      sD     & &
&&  & 	&
  7& &    c              #     "   T;R 8X  d    \        W4       Rj  xL
  R# ;R8X  d    \        WW#4       Rj  xL
  R# p\        V4       R#  L2 L5i)blockNndiff)_diff_text_block
_diff_textr	   )r   r   r   r   r   unreachables   &&&&& r   _compare_eq_textr       sA      $'444!${DDD%	 5Ds   AAAAAAc               $    V ^8  d   QhRRRRRR/# )r   r   r   r   r   r   r   )r   s   "r   r   r      s!     / /3 /s /} /r   c              #  z   "   R x  \        V 4       Rj  xL
  Rx  Rx  \        V4       Rj  xL
  R#  L! L5i)zLeft:N zRight:)_format_text_block_lines)r   r   s   &&r   r   r      s:     
M'---
H
N'... . /s   ;7;9;;c                    V ^8  d   QhRRRR/# )r   textr   r   r   r   )r   s   "r   r   r   $   s      3 = r   c              #  L   "   V P                  R 4       F
  pRV 2x  K  	  R# 5i)
  N)split)r&   lines   & r   r$   r$   $   s$     

4 4&k !s   "$c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r   r   r   r   r   r   r   r   r   r   )r   s   "r   r   r   )   s4     - -
--(6-AD--r   c              #  >  "   ^ RI Hp V^8  d   ^ p\        \        \	        V 4      \	        V4      4      4       F  pW,          W,          8w  g   K   M	  V^*8  d   V^
,          pRV R2x  WR p WR p\	        V 4      \	        V4      8X  dW   \        \	        V 4      4       F  pW) ,          W) ,          8w  g   K   M	  V^*8  d   V^
,          pRV R2x  V RV)  p VRV)  pRpV P                  4       '       g   VP                  4       '       d-   \        \        V 4      4      p \        \        V4      4      pRx  V! RP                  R	 V! VP                  V4      V P                  V4      4       4       4      R
R7      P                  4        Rj  xL
  R#  L5i)zYield the explanation for the diff between text.

Unless --verbose is used this will skip leading and trailing
characters which are identical to keep the diff minimal.
)r   z	Skipping z5 identical leading characters in diff, use -v to showNz6 identical trailing characters in diff, use -v to showTz;Strings contain only whitespace, escaping them using repr()r(   c              3  D   "   T F  pVP                  R 4      x  K  	  R# 5i)r(   N)strip).0r+   s   & r   	<genexpr>_diff_text.<locals>.<genexpr>Q   s#      
T JJtTs    diff)lexer)
difflibr   rangeminlenisspacereprr   join
splitlines)r   r   r   r   r   ikeependss   &&&&   r   r   r   )   s     {s3t9c%j12Aw%(" 3 r6GAaS UVV8D"IEt9E
"3t9%8uRy( & 2vRs #9 9 CaRycr
H||~~CISZ KK 		 
e..x8$//(:ST
 	
  jl s,   A
FA&F<?F<FBFFFc               (    V ^8  d   QhRRRRRRRR/# )r   termr   r&   r   r   r   r   r   )r   s   "r   r   r   Y   s(      c  s = r   c              #    "   VP                  V 4      pVR V pW\        V 4      ,           R  pWE,           p\        W\        V4      p\	        V ^*R7       R2x  V Fd  pVP                  R4      '       d   K  VP                  R4      '       d   K5  VP                  R4      '       d   RVR,          ,           x  K`  Vx  Kf  	  R # 5i)N)maxsizez is contained here:Skippingz- z+ r)   :r   NN)findr8   r   r   r   
startswith)	r@   r&   r   indexheadtailcorrect_textr3   r+   s	   &&&      r   _notin_textrJ   Y   s     IIdOE<DD	!#$D;Ld*;WEDdB'((;
<<??:&&??4  ??4  b/!J s   B
CC&CN)r   )
__future__r   collections.abcr   _pytest._io.safereprr   _pytest.assertion._typingr   r   _pytest.assertion.highlightr   _pytest.compatr	   r    r   r$   r   rJ   r   r   r   <module>rQ      s9    " $ ) = 4 9 '& /
-` r   