+
    &jr                        ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt ! R R]4      t	 ! R R]
4      t ! R R]P                  4      tR	 t]R
8X  d
   ]! 4        R# R# )    )proxyNc                   2   a a ] tR t^
t oV 3R ltRtVtV ;t# )StrSubclassc                4   < \        \        SV `	  V4      4      # N)r   super__getitem__selfindex	__class__s   &&n/Users/jameslopez/projects/CWCArchive/cwc-podcast/.venv/lib/python3.14/site-packages/regex/tests/test_regex.pyr	   StrSubclass.__getitem__   s    57.u566     __name__
__module____qualname____firstlineno__r	   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r   r   
   s     7 7r   r   c                   2   a a ] tR t^t oV 3R ltRtVtV ;t# )BytesSubclassc                4   < \        \        SV `	  V4      4      # r   )r   r   r	   r
   s   &&r   r	   BytesSubclass.__getitem__   s    UW0788r   r   r   r   s   @@r   r   r      s     9 9r   r   c                     a  ] tR t^t o RtRtRtRtRtRt	Rt
RtRtR	tR
tRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRR ltR t R t!R t"R  t#R! t$R" t%R# t&R$ t'R% t(R& t)R' t*R( t+R) t,R* t-R+ t.R, t/R- t0R. t1R/ t2R0 t3R1 t4R2 t5R3 t6R4 t7R5 t8R6 t9R7 t:R8 t;R9 t<R: t=R; t>R< t?R= t@R> tAR? tBR@ tCRA tDRB tERC tFRD tGRE tHRF tIRG tJRH tKRI tLRJ tMRK tNRL tORM tPRN tQRO tRRP tSRQ tTRR tURS tVRT tWRU tXRV tYRW tZRX t[RY t\RZ t]R[ t^R\ t_R] t`R^ taR_ tbR` tcRa tdRb teRc tfRd tgRe thRf tiRg tjRh tkRi tlRj tmRk tnRl toRm tpRn tqRo trRp tsRq ttRr tuRs tvRt twRu txRv tyRw tzRx t{Ry t|Rz t}R{ t~R| tR} tR~ tR tR tR tR tRtV tR# )
RegexTestsz<class '_regex.Pattern'>z5cannot process flags argument with a compiled patternzinvalid group referencez	missing >zbad character in group namezmissing group namez	missing <zunknown groupzbad escape \(end of pattern\)zbad escape \\zunterminated character setz2cannot use a string pattern on a bytes-like objectz2cannot use a bytes pattern on a string-like objectz"expected str instance, bytes foundz'expected a bytes-like object, str foundz,cannot use UNICODE flag with a bytes patternz9ASCII, LOCALE and UNICODE flags are mutually incompatiblez
missing \)zunbalanced parenthesiszbad character rangeznothing to repeatzmultiple repeatzcannot refer to an open groupzduplicate groupz'bad inline flags: cannot turn flags offzundefined character nameNc                P   a aa S P                  WS4       VVV 3R  loS! W4       R# )c                    < \        V\        \        34      '       d   \        W4       F  w  r#S! W#4       K  	  R # SP	                  \        V 4      \        V4      S4       R # r   )
isinstancetuplelistzipassertIstype)actualexpectxymsgrecurser   s   &&  r   r/   ,RegexTests.assertTypedEqual.<locals>.recurse2   sF    &5$-00/DAAM 0 d6lDL#>r   N)assertEqual)r   r*   r+   r.   r/   s   f&&f@r   assertTypedEqualRegexTests.assertTypedEqual/   s"    -	? 	r   c                    R p\         P                  ! R4      p\        V4      pVP                  R 4      VP                  R 4      8w  d   V P	                  4        R# R# )QabbbcRzab+cN)regexcompiler   findallfail)r   sr,   r-   s   &   r   test_weakrefRegexTests.test_weakref;   sF    MM&!!H99Y199Y#77IIK 8r   c                   V P                  \        P                  ! R R4      P                  ^ 4      R
4       V P                  \        P                  ! RR4      P                  4       R
4       V P                  \        P                  ! RR4      P                  ^ 4      R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! R R4      P                  ^ 4      R
4       V P                  \        P                  ! R R4      P                  4       R
4       V P                  \        P                  ! RR4      P                  ^ 4      R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! R	R4      R4       R# )a*xxxzx*axxx+r,   aaaNxxxaa+r   r         r   rH   )r1   r6   searchspanmatchr   s   &r   test_search_star_plus RegexTests.test_search_star_plusB   s`   dE277:FCdE27796BdE277:FCdE27796Bc5148T5166q96BT51668&AT6277:FCT627796BT5148r   c                J    \        V^ ,          4      p\        V^,           4      # )r   )intstr)r   matchobj	int_values   && r   bump_numRegexTests.bump_numN   s    $	9q=!!r   c                   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RV P                  R4      R4       V P                  \        P                  ! RV P                  R^4      R4       V P                  \        P                  ! RR	 R4      R
4       V P                  \        P                  ! RR
R4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      \	        ^	4      \	        ^
4      ,           \	        ^4      ,           \	        ^4      ,           \	        ^4      ,           \	        ^4      ,           4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R 4       V P                  \        P                  ! R!R"R!4      R#4       R$# )%(?i)b+r,   	bbbb BBBBx x\d+z08.2 -2 23x99yz9.3 -3 24x100yz9.3 -3 23x99y.c                     R # )\nr   ms   &r   <lambda>1RegexTests.test_basic_regex_sub.<locals>.<lambda>Y   s    %r   r^   
(?P<a>x)z
\g<a>\g<a>xxxxxxz
\g<a>\g<1>
(?P<unk>x)z\g<unk>\g<unk>z
\g<1>\g<1>az\t\n\v\r\f\a\bz	
	
z^\s*XtestXtestz\x0Az\u000Az
\U0000000Az\N{LATIN CAPITAL LETTER A}A   xs   \x0A   
N)r1   r6   subrU   chrrM   s   &r   test_basic_regex_subRegexTests.test_basic_regex_subR   sp   8S+>F64==:JK
	64==:JAN
	 	3=uE3s3T::}dCVL:}dCVL<1BDI
	<EvN3(93?AQR3<nM3<c!fs2w>NG?"g? #B?(*-a&?1 	2 	7C8'B4#6=4C8$?4<dC4)F
	 	5(D95Ar   c                V    V P                  \        P                  ! R RR4      R4       R# )rg   z\g<1>\g<1>\bre   zxxxxNr1   r6   rp   rM   s   &r   test_bug_449964RegexTests.test_bug_449964q   s"    =/4H
	r   c                F   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       R# )z\r\nr^   z
abc
def
zabc
def

rc   Nru   rM   s   &r   test_bug_449000RegexTests.test_bug_449000v   s    7E3CD
	652BC
	7D2BC
	641AB
	r   c                \  a \         P                  ! R 4      oV P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       R# )r\   c                  P   < \         P                  ! S R \         P                  4      # rm   )r6   rL   Ipatterns   r   ra   *RegexTests.test_bug_1661.<locals>.<lambda>   s    %++gsEGG4r   c                  P   < \         P                  ! S R \         P                  4      # r~   )r6   rJ   r   r   s   r   ra   r      s    %,,wUWW5r   c                  P   < \         P                  ! S R \         P                  4      # r~   )r6   r8   r   r   s   r   ra   r      s    %--egg6r   c                  N   < \         P                  ! S \         P                  4      # r   )r6   r7   r   r   s   r   ra   r      s    %--1r   N)r6   r7   assertRaisesRegex
ValueErrorFLAGS_WITH_COMPILED_PATr   r   s   &@r   test_bug_1661RegexTests.test_bug_1661   s}    --$z4+G+G
4	6z4+G+G
5	7z4+G+G
6	8z4+G+G
1	3r   c           	         V P                  \        \        \        P                  ! R 4      4      4      V P
                  4       R# )z(?P<quote>)(?(quote))N)r1   reprr)   r6   r7   PATTERN_CLASSrM   s   &r   test_bug_3629RegexTests.test_bug_3629   s/    d5==1H#IJK


	r   c                
   V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R24       V P                  \        P                  ! R RR 4      R34       V P                  \        P                  ! R RR 4      R	4       V P                  \        P                  ! R R
R 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R24       V P                  \        P                  ! R RR 4      R34       V P                  \        P                  ! R RR 4      R44       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! R RR 4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  V P
                  R 4       V P                  \        P                  V P
                  R 4       V P                  \        P                  V P
                  R 4       V P                  \        P                  V P
                  R  4       V P                  \        P                  V P
                  R! 4       V P                  \        P                  V P
                  R" 4       V P                  \        P                  V P
                  R# 4       V P                  \        P                  V P
                  R$ 4       V P                  \        P                  V P
                  R% 4       V P                  \        P                  V P
                  R& 4       V P                  \        P                  V P
                  R' 4       V P                  \        P                  V P
                  R( 4       V P                  \        P                  ! R)R*R 4      R 4       V P                  \        P                  ! R+R,R-4      R.4       V P                  \        P                  ! R+R/R-4      R04       R1# )5r,   \0 z\000z\001z\008z\009z\111r   z\117Oz\1111I1z\00z\07z\08\09z\0az\400u   Āz\777u   ǿrn   s   \400    s   \777   c                  2    \         P                  ! R RR 4      # )r,   \1r6   rp   r   r   r   ra   =RegexTests.test_sub_template_numeric_escape.<locals>.<lambda>       
))C
$r   c                  2    \         P                  ! R RR 4      # )r,   z\8r   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR 4      # )r,   z\9r   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR 4      # )r,   \11r   r   r   r   ra   r          
))C
%r   c                  2    \         P                  ! R RR 4      # )r,   z\18r   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR 4      # )r,   z\1ar   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR 4      # )r,   z\90r   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR 4      # )r,   z\99r   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR 4      # )r,   \118r   r   r   r   ra   r          
))C#
&r   c                  2    \         P                  ! R RR 4      # )r,   \11ar   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR 4      # )r,   z\181r   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR 4      # )r,   z\800r   r   r   r   ra   r      r   r   z(((((((((((x)))))))))))r   z((((((((((y))))))))))(.)r   xyzxz8r   xzaNz 8z 9z a)r1   r6   rp   r   errorINVALID_GROUP_REFrM   s   &r    test_sub_template_numeric_escape+RegexTests.test_sub_template_numeric_escape   s	   3s3T:35v>35v>35zB35zB35v>35v>3#6@3#6E34f=34f=34jA34jA34jA35x@35x@448'B448'Bu{{D,B,B E% 	&u{{D,B,B E% 	&u{{D,B,B E% 	&u{{D,B,B E& 	'u{{D,B,B E& 	'u{{D,B,B E& 	'u{{D,B,B E& 	'u{{D,B,B E& 	'u{{D,B,B E' 	(u{{D,B,B E' 	(u{{D,B,B E' 	(u{{D,B,B E' 	( 	#<fcJ
	#=wN
	#=wN
	r   c                    V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R RR^4      R4       R# )rh   baaaaabbbbbbaaaaNru   rM   s   &r   test_qualified_re_sub RegexTests.test_qualified_re_sub   s>    3W5w?3Wa8'Br   c                V    V P                  \        P                  ! R RR4      R4       R# )z(\S)\s+(\S)z\1 \2zhello  therezhello thereNru   rM   s   &r   test_bug_114660RegexTests.test_bug_114660   s"    >8^L
	r   c                r   \         P                  R
8  d*   V P                  \        P                  ! RRR4      R4       M(V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       R	# )rH   z(?V0)x*-abxdz-a-b--d-z-a-b-d-z(?V1)x*rA   zab-dNrH      r   sysversion_infor1   r6   rp   rM   s   &r   test_bug_462270RegexTests.test_bug_462270   s    y(UYYy#v>
KUYYy#v>	J9c6:JG4f5v>r   c                    R pV P                  \        P                  ! RV,           R,           R4      P                  V4      R4       R# )   ÿz(?P<z>a)abcrh   N)r1   r6   rJ   group)r   
group_names   & r   test_bug_14462RegexTests.test_bug_14462   s;    
g
&:U&B
z"C	)r   c                   V P                  \        P                  V P                  R  4       V P                  \        P                  V P                  R 4       V P                  \        P                  V P
                  R 4       V P                  \        P                  V P                  R 4       V P                  \        P                  V P                  R 4       V P                  \        V P                  R 4       V P                  \        P                  ! RRR4      R	4       V P                  \        P                  ! RR
R4      R	4       V P                  \        P                  V P                  R 4       R# )c                  2    \         P                  ! R RR4      # )rd   z\g<are   r   r   r   r   ra   /RegexTests.test_symbolic_refs.<locals>.<lambda>   s    
))J
.r   c                  2    \         P                  ! R RR4      # )rd   z\g<re   r   r   r   r   ra   r      s    
))J
-r   c                  2    \         P                  ! R RR4      # )rd   \gre   r   r   r   r   ra   r      s    
))Jt
,r   c                  2    \         P                  ! R RR4      # )rd   z\g<a a>re   r   r   r   r   ra   r          
))J
D
1r   c                  2    \         P                  ! R RR4      # )rd   z\g<1a1>re   r   r   r   r   ra   r      r   r   c                  2    \         P                  ! R RR4      # )rd   z\g<ab>re   r   r   r   r   ra   r          
))J	4
0r   z(?P<a>x)|(?P<b>y)z\g<b>re    z\2c                  2    \         P                  ! R RR4      # )rd   z\g<-1>re   r   r   r   r   ra   r      r   r   N)r   r6   r   
MISSING_GTMISSING_GROUP_NAME
MISSING_LTBAD_GROUP_NAME
IndexErrorUNKNOWN_GROUP_Ir1   rp   rM   s   &r   test_symbolic_refsRegexTests.test_symbolic_refs   s&   u{{DOO >/ 	0u{{D,C,C F. 	/u{{DOO >- 	.u{{D,?,? B2 	3u{{D,?,? B2 	3z4+?+? B1 	2
 	#6$GL#6tDbI 	u{{D,?,? B1 	2r   c                   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R	4       V P                  \        P                  ! RRR4      R
4       V P                  \        P                  ! RRR^4      R4       R# )rX   r,   rY   zb+r   zb*N)rZ      )zx BBBBrG   )r   r   )xxxyxzx   )xxxyzr   )r1   r6   subnrM   s   &r   test_re_subnRegexTests.test_re_subn   s    Hc;?LD#{;]KD#u5zBD#u5~FD#ua8,Gr   c                0   V P                  \        P                  ! R R4      . RO4       \        P                  R8  d   V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       MV P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! R	R4      . RO4       V P                  \        P                  ! R
R4      . RO4       T P                  \        P
                  ! R
R4       Uu. uF  qNK  	  up. RO4       V P                  \        P                  ! RR4      . RO4       T P                  \        P
                  ! RR4       Uu. uF  qNK  	  up. RO4       V P                  \        P                  ! RR4      . RO4       T P                  \        P
                  ! RR4       Uu. uF  qNK  	  up. RO4       V P                  \        P                  ! RR4      . R O4       T P                  \        P
                  ! RR4       Uu. uF  qNK  	  up. R O4       V P                  \        P                  ! RR4      . R!O4       V P                  \        P                  ! RR4      . R"O4       V P                  \        P                  ! RR4      . R#O4       R# u upi u upi u upi u upi )$::a:b::c:*(:*)z(?::*)z(:)*Nz([b:]+)z(b)|(:+)z(?:b)|(?::+)r,   xaxbxcz(?r)xz(x)|(y)z(?r)(x)|(y)(?V1)\bza b cz(?V1)\mz(?V1)\Mr   rh   r   r   cr   r   r   rh   r   r   r   r   r   r   r   r   r   rh   r   r   r   r   ::r   r   r   r   r   )r   r   r   Nrh   r   r   Nr   r   r   Nr   Nr   r   rh   r   r   r   r   rh   r   r   r   r   )r   r   rh   r   r   r   r   )r   r   rh   z:b::r   )r   Nr   rh   Nr   r   r   Nr   Nr   r   )r   rh   r   r   r   )r   r   rh   r   )
r   r,   Nrh   r,   Nr   r,   Nr   )
r   r,   Nr   r,   Nrh   r,   Nr   )r   rh    r   r   r   r   )r   a zb r   )rh    bz cr   )r1   r6   splitr   r   	splititerr   r`   s   & r   test_re_splitRegexTests.test_re_split   sP   S)46MNy(U[[y9 <  !U[[; >@ AU[[9= @$ %U[[; >K L U[[y9;NOU[[; ># $U[[9= @ U[[; >" #Y	: = 	Z; >> 	?^Y? B 	 	S(35HIU__S(%CD%C!%CD G 	 	Wh79LMU__Wh%GH%G!%GH K 	 	Y9 <* 	+U__Y%IJ%I!%IJ
>	@ 	]H= @. 	/U__]H%MN%M!%MN
>	@ 	Z9 < 	Z9 < 	Z9 < 	+ E I
 K
 Os   
P1
P	
P3
Pc                   V P                  \        P                  ! R R^4      . RO4       V P                  \        P                  ! R R^4      . RO4       V P                  \        P                  ! RR^4      . RO4       \        P                  R	8  d-   V P                  \        P                  ! RR^4      . R
O4       R# V P                  \        P                  ! RR^4      . RO4       R# )r   r   za:b:c:dz(:)r   N)r   rh   b::c)rh   r   zc:d)r   r   rh   r   r  r   )r   r   r   r   za:b::c)r1   r6   r   r   r   rM   s   &r   test_qualified_re_split"RegexTests.test_qualified_re_split3  s    S)Q79JKS)Q79JKUIq9 < 	 y(U[[A> A  U[[A> A r   c                   V P                  \        P                  ! R R4      . 4       V P                  \        P                  ! R R4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      . RO4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! R	R
4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      R.4       R# ):+r   
a:b::c:::d(:+)(:)(:*)z\((?P<test>.{0,5}?TEST)\)z	(MY TEST)zMY TESTz\((?P<test>.{0,3}?TEST)\)z\((?P<test>.{0,3}?T)\)z(MY T)zMY Tz[^a]{2}[A-Z]z
  Sz  Sz[^a]{2,3}[A-Z]z
   Sz   SzX(Y[^Y]+?){1,2}( |Q)+DEFzXYABCYPPQ
Q DEFz(\nTest(\n+.+?){0,2}?)?\n+Endz
Test
xyz
xyz
EndNr   r   z:::)r   r   )r   r   )r   r   )zYPPQ
r   )z
Test
xyz
xyzz
xyzr1   r6   r8   rM   s   &r   test_re_findallRegexTests.test_re_findall@  s   tU3R8t\:<NOv|< ? 	y,? B# 	$ 	'C
"	%'C
"	%'@(K(	 	@5'J'8'BWIN'8(CfXN'B
 /0	2 	'G
!#%B$C	Er   c                X    V P                  \        P                  ! R R4      . RO4       R# )z(a|(b))abaN)rh   r   )r   r   r  r  rM   s   &r   test_bug_117612RegexTests.test_bug_117612Y  s"    z59 < 	r   c                .   V P                  \        P                  ! R R 4      R,          R4       V P                  \        P                  ! RR 4      R,          R4       V P                  \        P                  ! RR 4      ^ ,          R 4       V P                  \        P                  ! RR 4      ^,          R 4       V P                  \        P                  ! RR 4      P                  ^^4      R4       \        P                  ! R4      pV P                  VP                  R 4      R,          R4       V P                  VP                  R4      R,          R4       V P                  VP                  R4      R,          R4       V P                  VP                  R4      R,          R4       V P                  VP                  R4      R,          R4       \        P                  ! RR 4      pV P                  VP                  4       R 4       V P                  VP                  ^ 4      R 4       V P                  VP                  ^4      R 4       V P                  VP                  ^^4      R4       \        P                  ! R4      pV P                  VP                  R 4      P                  ^^^4      R4       V P                  VP                  R4      P                  R	R
R4      R4       V P                  VP                  R4      P                  ^R
^4      R4       R# )rh   NNN(a)z((a)|(b))(c)?Nr   acbcz!(?:(?P<a1>a)|(?P<b2>b))(?P<c3>c)?a1b2c3rh   rh   rh   )rh   rh   rh   NN)r   r   Nr   N)r  rh   rh   Nr   )r  r   Nr   r   )rh   NN)Nr   Nrh   Nr   )r1   r6   rL   r   r7   r   patr`   s   &  r   test_re_matchRegexTests.test_re_match]  sL   S#.q16:UC03Z@VS1!4c:VS1!4c:VS1771=zJmmO,3*,GH3*,GH4+-HI4+-HI4+-HI KKs#C(S)S)A
3mm?@3--aA68IJ3--dD$? B 	4..q$:<LMr   c                   V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR	4      R,          R4       V P                  \        P                  ! R
R	4      R,          R4       V P                  \        P                  ! R
R4      R,          R4       \        P                  ! R4      pV P                  VP                  R4      R,          R4       V P                  VP                  R4      R,          R4       V P                  VP                  R4      R4       V P                  VP                  R4      R4       R# )z^(\()?([^()]+)(?(1)\))$r  r  rh   Nza)z(az^(?:(a)|c)((?(1)b|d))$abcdz^(?:(a)|c)((?(1)|d))$z(?P<g1>a)(?P<g2>b)?((?(g2)c|d))r   adabdr  )r  (rh   rh   Nrh   )r(  rh   r   )r)  Nd)rh   rh   r   )r   rh   r   r   )r*  rh   Nr.  )r1   r6   rL   r7   r   ps   & r   test_re_groupref_exists"RegexTests.test_re_groupref_existsx  s   %?GJ
	%?EaH K 	%?FM%?FM%=tDQG J 	%=tDQG J 	%<dCAF I 	%<cB1E H 	 MM;<*,BCq)+AB.-r   c                b   V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR	4      R,          R4       V P                  \        P                  ! R
R4      R,          R4       V P                  \        P                  ! RR4      R.4       R# )z^(\|)?([^()]+)\1$|a|r  rh   z^(\|)?([^()]+)\1?$Nza|z|az^(?:(a)|c)(\1)$aaz^(?:(a)|c)(\1)?$r   zE(?i)(.{1,40}?),(.{1,40}?)(?:;)+(.{1,80}).{1,40}?\3(\ |;)+(.{1,80}?)\1z&TEST, BEST; LEST ; Lest 123 Test, Best)r4  |rh   r-  )r5  rh   rh   )r   NN)TESTz BESTz LESTr   z123 )r1   r6   rL   r8   rM   s   &r   test_re_grouprefRegexTests.test_re_groupref  s   %95A!D G 	%:C@C F 	%94@$G%94@$G%7>qA D 	%8#>qA D 	 	'o
247  6!	"r   c                x    V P                  \        P                  ! R R4      P                  4       RRRR/4       R# )#(?P<first>first) (?P<second>second)first secondfirstsecondN)r1   r6   rL   	groupdictrM   s   &r   test_groupdictRegexTests.test_groupdict  s4    %J
#)+(H'M	Or   c                r    V P                  \        P                  ! R R4      P                  R4      R4       R# )r;  r<  z\2 \1 \g<second> \g<first>zsecond first second firstN)r1   r6   rL   expandrM   s   &r   test_expandRegexTests.test_expand  s/    %J
 &!>?
%	'r   c                t
   V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! R	R4      ^,          R4       V P                  \        P                  ! R
R4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! R
R4      ^,          R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        P                  ! R!R4      R4       V P                  \        \        P                  ! R!R"4      4      R4       R# )#z	^(\w){1}$r   Nz
^(\w){1}?$z^(\w){1,2}$z^(\w){1,2}?$z	^(\w){3}$r   z^(\w){1,3}$z^(\w){1,4}$z^(\w){3,4}?$z
^(\w){3}?$z^(\w){1,3}?$z^(\w){1,4}?$z^x{1}$r?   z^x{1}?$z^x{1,2}$z	^x{1,2}?$z^x{1}r,   z^x{1}?z^x{0,1}z^x{0,1}?r   z^x{3}$Tz^x{1,3}$z^x{1,4}$z	^x{3,4}?$z^x{3}?$z	^x{1,3}?$z	^x{1,4}?$z^x{}$zx{})r1   r6   rL   boolrM   s   &r   test_repeat_minmaxRegexTests.test_repeat_minmax  s   \594@]E:DA^U;TB_e<dC\59!<cB^U;A>D^U;A>D_e<Q?E]E:1=sC_e<Q?E_e<Q?E_e<Q?EXu5t<Y6=Z7>[%8$?We4Q7=Xu5a8#>Y6q93?Z7:B?ekk(E:;TBekk*e<=tDekk*e<=tDekk+u=>Eekk)U;<dCekk+u=>Eekk+u=>Eekk+u=>EWe4d;ekk'59:DAr   c           
     z   V P                  \        P                  ! R 4      P                  R 4       V P                  \        P                  ! R 4      P                  \        P
                  \        P                  ,          \        P                  ,          4       V P                  \        P                  ! R4      P                  \        P                  \        P
                  ,          \        P                  ,          4       V P                  \        P                  ! R 4      P                  ^4       V P                  \        P                  ! R 4      P                  / 4       V P                  \        P                  ! R4      P                  R^R^/4       V P                  \        P                  ! RR4      P                  ^ 4       V P                  \        P                  ! RR4      P                  ^4       V P                  \        P                  ! RR4      P                  ^ 4       V P                  \        P                  ! RR4      P                  ^4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  ^4      R4       V P                  \        P                  ! RR4      P                   R4       V P                  \        P                  ! RR4      P"                  R4       V P                  \%        \'        \        P                  ! RR4      P(                  4      4      V P*                  4       \        P                  ! R	4      p^ VP                  R
&   V P                  VP                  R
,          ^4       R# )z
(?i)(a)(b)s
   (?i)(a)(b)z(?i)(?P<first>a)(?P<other>b)r=  otherr  rh   zb(c)abcdefzabc(?P<n>def)nNrF   r   rH   r   rG   rP  )r1   r6   r7   r   flagsr   UDEFAULT_VERSIONrm   groups
groupindexrL   posendposrJ   rK   stringregsr   r)   rer   r/  s   & r   test_getattrRegexTests.test_getattr  s   |4<<lK|4::EGGegg<M


=  	!}5;;UWWuww=N!!>" 	#|4;;Q?|4??D'EFQQAw
"	$ 	UC044a8UC077;fh7;;Q?fh7>>Bfh7<<>Gfh7<<Q?HUC077=UC0557GHd5;;uc#:#=#=>?


	 MM*+Sc*A.r   c                n   V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR	\        P                  4      ^,          R4       V P                  \        P                  ! R R\        P                  4      ^,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! R
R\        P
                  4      ^ ,          R4       V P                  \        P                  ! RR\        P
                  4      ^ ,          R4       V P                  \        P                  ! RR\        P
                  4      R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR	4      ^,          R4       V P                  \        P                  ! RR\        P
                  4      ^ ,          R4       V P                  \        P                  ! RR\        P
                  4      ^ ,          R4       V P                  \        P                  ! RR\        P
                  4      R4       V P                  \        P                  ! RR4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^ ,          R4       R# )z\b(b.)\bzabcd abc bcd bxbxz\B(b.)\Bzabc bcd bc abxds   \b(b.)\bs   abcd abc bcd bxs   bxs   \B(b.)\Bs   abc bcd bc abxd^abc$z
abc
r   z	^\Aabc\Z$Ns   ^abc$s   
abc
   abcs	   ^\Aabc\Z$z\d\D\w\W\s\Sz1aa! as   \d\D\w\W\s\Ss   1aa! a)r1   r6   rJ   LOCALEUNICODEMrM   s   &r   test_special_escapesRegexTests.test_special_escapes  s   k3DEaH$Ok3DEaH$Ol4F
,,!	#l4F
,,!	#k3D
--!	#k3D
--!	# 	h	577CAFNlE577CAFNlIuwwGNl4FGJ
	l4FGJ
	iUWWEaH
	mVUWWEaH
	mZI
	 	ox@CXN&6	
,,%	'ox
--%	'r   c           
        V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! R R\        P                  4      ^,          R4       V P                  RP	                  \        P
                  ! RR\        P                  R7      4      R4       V P                  RP	                  \        P
                  ! RR\        P                  R7      4      R4       V P                  RP	                  \        P
                  ! RR\        P                  R7      4      R4       R# )	z([\u2222\u2223])u   ∢r   r\   u   eèéêëēěėrQ  z%[e\xe8\xe9\xea\xeb\u0113\u011b\u0117]z*e|\xe8|\xe9|\xea|\xeb|\u0113|\u011b|\u0117N)r1   r6   rL   rb  joinr8   rM   s   &r   test_bigcharsetRegexTests.test_bigcharset  s    %8(CAF
	%8(
--%	's
/u}}"F G
/	1 	/W
/u}}"F G
/	1 	/\
/u}}"F G
/	1r   c                    V P                  \        P                  ! R R\        P                  4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^ ,          R4       R# )a.ba
ba.*bza

bN)r1   r6   rL   DOTALLrM   s   &r   test_anyallRegexTests.test_anyall  sQ    UFELLA!DfMVXu||DQG
	r   c                   V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! R	R
4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       R# )z(a(?=\s[^a]))a brh   z(a(?=\s[^a]*))z(a(?=\s[abc]))z(a(?=\s[abc]*))za bcz(a)(?=\s\1)a az(a)(?=\s\1*)a aaz(a)(?=\s(abc|a))z(a(?!\s[^a]))z(a(?!\s[abc]))za dz(a)(?!\s\1)z(a)(?!\s(abc|a))Nr1   r6   rL   rM   s   &r   test_non_consumingRegexTests.test_non_consuming   sj   %5u=a@#F%6>qA3G%6>qA3G%7@CSI^U;A>D_f=a@#F%8%@CSI%5u=a@#F%6>qA3G^U;A>D%8%@CSIr   c                   V P                  \        P                  ! R R\        P                  4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^ ,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! R	R
\        P                  4      ^,          R
4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR
\        P                  4      ^,          R
4       V P                  \        P                  ! RR\        P                  4      ^,          R4       V P                  \        P                  ! RR4      P	                  4       R4       V P                  \        P                  ! RR4      P	                  4       R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       R# )r   ABCr`  s   ABCz
(a\s[^a]*)za bbz
(a\s[abc])rs  z(a\s[abc]*)z	((a)\s\2)rt  z
((a)\s\2*)ru  z((a)\s(abc|a))z((a)\s(abc|a)*)z[Z-a]_z	(?i)[Z-a]z(?i)naonAoTz
(?i)n\xE3ou   nÃou   NÃOz(?i)su   ſNrP  )r1   r6   rL   r   rK   rG  rM   s   &r   test_ignore_caseRegexTests.test_ignore_case.  s3   UE577;A>FVVUWW=a@&I]FEGGDQG
	]E577CAFN^VUWWEaH
	\5%''B1EuM]FEGGDQG
	%6uwwGJ
	%7I!L
	 	Xs388:FC\37<<>Gekk*e<=tDekk-BCTJekk-BCTJekk(H=>Er   c                P   V P                  \        P                  ! R R4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R24       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR	4      P                  4       R24       V P                  \        P                  ! RR
4      P                  4       R24       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R34       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R24       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R14       V P                  \        P                  ! RR4      P                  4       R44       V P                  \        P                  ! RR4      P                  4       R44       V P                  \        P                  ! RR4      P                  4       R44       RpV FB  pV F9  p\        P                  ! RV,           V4      '       d   K)  V P                  4        K;  	  KD  	  V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! R!R4      4      R4       V P                  \        \        P                  ! R!R4      4      R4       V P                  \        P                  ! R"R#4      R$R%.4       V P                  \        P                  ! R&R#4      R$R%.4       V P                  \        P                  ! R'R(4      P                  4       R54       V P                  \        P                  ! R)R(4      P                  4       R54       V P                  \        P                  ! R*R(4      P                  4       R54       V P                  \        P                  ! R+R,R.R-7      P                  4       R64       V P                  \        P                  ! R+R.R/.R-7      P                  4       R74       R0# )8z(?fi)ssSSz(?fi)SSss   ßz#(?fi)\N{LATIN SMALL LETTER SHARP S}z (?fi)\N{LATIN SMALL LIGATURE ST}STz(?fi)STu   ﬆu   ﬅz(?fi)SSTu   ßtu   sﬅu   sﬆSSTz(?fi)FFIu   ﬃu   ﬀiu   fﬁz!(?fi)\N{LATIN SMALL LIGATURE FFI}FFIz!(?fi)\N{LATIN SMALL LIGATURE FF}iz!(?fi)f\N{LATIN SMALL LIGATURE FI}u   Σσςz(?fi)z(?iV1)ffu   ﬀﬁTu   ﬁﬀz(?iV1)fiz
(?iV1)fffiz(?iV1)f\uFB03z(?iV1)f\uFB01z/(?iV0)\m(?:word){e<=3}\M(?<!\m(?:word){e<=1}\M)z.word word2 word word3 word word234 word23 wordword234word23z/(?iV1)\m(?:word){e<=3}\M(?<!\m(?:word){e<=1}\M)z$(?fi)a\N{LATIN SMALL LIGATURE FFI}nez
  affine  z*(?fi)a(?:\N{LATIN SMALL LIGATURE FFI}|x)nez+(?fi)a(?:\N{LATIN SMALL LIGATURE FFI}|xy)nez(?fi)a\L<options>neaffineoptionsu   aﬃneffiNr   r   rP  rF   rI   )r      r      r   r   )r1   r6   rJ   rK   rL   r9   rG  r8   )r   sigmach1ch2s   &   r   test_case_foldingRegexTests.test_case_foldingH  s   j$7<<>Gj$7<<>Gj
*,,0DFF	<&L
	  	&I
	 j
'))-	9j
-//3tvv	? 	k
+--1TVV	=k
.004	@k
(**.$&&	:&I
	!k
(**.$&&	: 	k
(**.$&&	:k
(**.$&&	:k
(**.$&&	:&J
	!&J
	!&J
	! %C{{8c>377IIK  
 	ell;GH
	ell;GH
	ell;GH
	ell;GH
	ell=.IJ
	ell+;
  	"ell;GH
	ell;GH
	ell=.IJ
	ell+;
  	"ell+;YGH
	ell+;YGH
	 	'Y
:<>G
>	 	'Y
:<>G
>	 	&M
	(&S	)&T	)&<h12448DFF	D&<
+eW>>Bdff	Nr   c                b    V P                  \        P                  ! R R4      ^,          R4       R# )z(\s)r   Nrv  rM   s   &r   test_categoryRegexTests.test_category  s"    Wc215s;r   c                    V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! RR4      ^,          R4       R# )z\s([^a])r   r   z	\s([^a]*)z bbbbNr1   r6   rJ   rM   s   &r   test_not_literalRegexTests.test_not_literal  sB    k48;SAlE:1=tDr   c                    V P                  \        P                  ! R R4      ^,          R4       V P                  \        P                  ! RR4      ^ ,          R4       R# )z\s(b)r   r   za\sr   Nr  rM   s   &r   test_search_coverageRegexTests.test_search_coverage  sB    h5a8#>fd3A6=r   c                   R pV P                  \        P                  ! V4      V4       \        ^ R4       F  pV\	        V4      ,          pV P                  \        \        P                  ! \        P                  ! \	        V4      4      \	        V4      4      4      R4       V P                  \        P                  ! \        P                  ! \	        V4      4      \	        V4      4      P                  4       R4       K  	  \        P                  ! \        P                  ! V4      4      pV P                  VP                  V4      P                  4       R4       R# )r      TNrP  r   r  )	r1   r6   escaperangerq   rG  rL   rK   r7   )r   r0  ir$  s   &   r   test_re_escapeRegexTests.test_re_escape  s    a!,q#AQKAT%++ell3q6.BCF"KLU[[c!f)=s1vFKKM	  mmELLO,1**,h7r   c           
     p   R pV P                  \        P                  ! V4      V4       \        ^ R4       F  p\	        V.4      pW,          pV P                  \        \        P                  ! \        P                  ! V4      V4      4      R4       V P                  \        P                  ! \        P                  ! V4      V4      P                  4       R4       K  	  \        P                  ! \        P                  ! V4      4      pV P                  VP                  V4      P                  4       R4       R# )r   r  TNrP  r  )	r1   r6   r  r  bytesrG  rL   rK   r7   )r   r0  r  r   r$  s   &    r   test_re_escape_byteRegexTests.test_re_escape_byte  s    a!,q#Aqc
AFAT%++ell1oq"ABDIU[[a!<AACVL	  mmELLO,1**,h7r   c                   \         P                  \         P                  8w  d   V P                  4        \         P                  \         P
                  8w  d   V P                  4        \         P                  \         P                  8w  d   V P                  4        \         P                  \         P                  8w  d   V P                  4        \         P                  \         P                  8w  d   V P                  4        R # R # r   )r6   r   
IGNORECASEr9   Lra  rc  	MULTILINESro  rj   VERBOSErM   s   &r   test_constantsRegexTests.test_constants  s    77e&&&IIK77ell"IIK77eoo%IIK77ell"IIK77emm#IIK $r   c                4   \         P                  \         P                  \         P                  \         P                  \         P
                  3 FF  pV P                  \        \        \         P                  ! R V4      4      4      V P                  4       KH  	  R# )z	^pattern$N)r6   r   rc  rj   r  r  r1   r   r)   r7   r   )r   flags   & r   
test_flagsRegexTests.test_flags  sZ    WWegguwwADT$u}}[$'G"HI  " Br   c                   R EF  pV P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      R,           4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      R,           4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      R,           4      4      R4       V P                  \        \        P                  ! R	V,          \	        V4      R
,           4      4      R4       EK  	  V P                  \        P                  V P                  R 4       R# )r   z\%03oTz\%03o00z\%03o88z\x%02xz\x%02x0z\x%02xzzc                  0    \         P                  ! R R4      # )z\911r   r6   rL   r   r   r   ra   8RegexTests.test_sre_character_literals.<locals>.<lambda>  s    
++gr
"r   Nr   r         @            )r1   rG  r6   rL   rq   r   r   r   r   r  s   & r   test_sre_character_literals&RegexTests.test_sre_character_literals  s<   2AT%++hlCF"CDdKT%++i!mSVc\"JKT%++i!mSVc\"JKT%++i!mSV"DEtLT%++j1nc!fsl"KLT%++j1nc!fsl"KL 3 	u{{D,B,B E# 	$r   c                t   R
 EF  pV P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       V P                  \        \        P                  ! RV,          \	        V4      4      4      R4       EK  	  V P                  \        P                  V P                  R 4       R	# )r   z[\%03o]Tz[\%03o0]z[\%03o8]z[\x%02x]z	[\x%02x0]z	[\x%02xz]c                  0    \         P                  ! R R4      # )z[\911]r   r  r   r   r   ra   >RegexTests.test_sre_character_class_literals.<locals>.<lambda>  s    
++i
$r   Nr  )r1   rG  r6   rL   rq   r   r   BAD_OCTAL_ESCAPEr  s   & r   !test_sre_character_class_literals,RegexTests.test_sre_character_class_literals  s"   2AT%++j1nc!f"EFMT%++kAos1v"FGNT%++kAos1v"FGNT%++kAos1v"FGNT%++lQ.>A"GH$OT%++lQ.>A"GH$O 3 	u{{D,A,A D% 	&r   c                J   V P                  \        P                  ! R R4      P                  ^4      R4       V P                  \        P                  ! R R4      P	                  ^4      R4       V P                  \        P                  ! R R4      P                  ^4      R4       R# )z(a)|(b)r   Nr  r  )r1   r6   rL   startendrK   rM   s   &r   test_bug_113254RegexTests.test_bug_113254  st    Z5;;A>CZ599!<bAZ5::1=xHr   c                   V P                  \        P                  ! R R4      P                  R4       V P                  \        P                  ! RR4      P                  ^4       V P                  \        P                  ! RR4      P                  R4       V P                  \        P                  ! RR4      P                  R4       V P                  \        P                  ! RR4      P                  ^4       R# )z(a)?arh   Nz(a)(b)?br(  z(?P<a>a)(?P<b>b)?bz(?P<a>a(b))((a)))r1   r6   rL   	lastindex	lastgrouprM   s   &r   test_bug_527371RegexTests.test_bug_527371  s    Xc2<<dC[6@@!D%:4@JJ
	]D9CCSIWc2<<a@r   c                ^    V P                  \        P                  V P                  R  4       R# )c                  .    \         P                  ! R 4      # )zfoo[a-r6   r7   r   r   r   ra   ,RegexTests.test_bug_545855.<locals>.<lambda>      
--
!r   N)r   r6   r   BAD_SETrM   s   &r   test_bug_545855RegexTests.test_bug_545855  s#     	u{{DLL ;" 	#r   c                P   V P                  \        P                  ! R RR,          R,           4      P                  ^ 4      R4       V P                  \        P                  ! RRR,          R,           RR,          ,           R,           4      P                  ^ 4      R	4       V P                  \        P                  ! RR
R,          R,           4      P                  ^ 4      R4       V P                  \        P                  ! RRR,          R,           4      P                  ^ 4      R4       R# )z.*?ci'  r(  r)  i!N  z.*?cdi  r   cdei#N  i N  r   deia  z(a|b)*?cN)r1   r6   rL   r  rJ   rM   s   &r   test_bug_418626RegexTests.test_bug_418626  s     	VUT\D-@AEEaH
	WdTkC.?$+.M
/ Q	 Weemd.BCGGJ
	 	j%$,2EFJJ1M
	r   c                    R \         P                  ! R4      ,           R,           pT P                  \         P                  ! V4      ;'       d    ^^4       R# )[u   ‹]N)r6   r  r1   r7   )r   r$  s   & r   test_bug_612074RegexTests.test_bug_612074  s;    ELL**S0s+1115r   c                `   V P                  \        P                  ! R RR,          4      ^,          R4       V P                  \        P                  ! RRR,          R,           4      ^,          R4       V P                  \        P                  ! RRR,          R,           4      ^,          R4       R# )z(x)*iP  r,   z(x)*yr-   z(x)*?yNrv  rM   s   &r   test_stack_overflowRegexTests.test_stack_overflow  sz     	VUS[9!<cBWeckC.?@CSIXus{S/@A!DcJr   c           	     P   R  pR pR pR p\         P                  ! RV3RV3RV3RV3R.4      pV P                  \        \	        VP
                  P                  R	4      P                  4      4      V P                  4       V P                  VP                  R
4      . ROR	34       R# )c                     V# r   r   scannertokens   &&r   s_ident(RegexTests.test_scanner.<locals>.s_ident   s    E\r   c                     R V,          # )zop%sr   r  s   &&r   
s_operator+RegexTests.test_scanner.<locals>.s_operator!  s    v~(=r   c                     \        V4      # r   )floatr  s   &&r   s_float(RegexTests.test_scanner.<locals>.s_float"  s    E%L%8r   c                     \        V4      # r   )rQ   r  s   &&r   s_int&RegexTests.test_scanner.<locals>.s_int#  s    #e*#4r   z[a-zA-Z_]\w*z\d+\.\d*r[   z=|\+|-|\*|/Nr   zsum = 3*foo + 312.50 + bar)z\s+N)	sumzop=rH   zop*fooop+g     s@r  bar)	r6   Scannerr1   r   r)   r  r   r   scan)r   r  r  r  r  r  s   &     r   test_scannerRegexTests.test_scanner  s    1=84--/7!;k
>UOnj%A D!  	d7??#:#:2#>#F#FGH


	 	&BC G>?AFC 	Dr   c                    R Fm  pV P                  \        P                  ! RV,          R4      R,          R4       V P                  \        P                  ! RV,          R4      R,          R4       Ko  	  R# )	r   z
((.%s):)?zr  r  Na:z)r   ?*)r  NN)r  za:rh   rv  )r   ops   & r   test_bug_448951RegexTests.test_bug_448951/  sd     BU[[);SA!D G U[[);UCAF I  r   c                   V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR4      R,          R4       V P                  \        P                  ! RR	4      R,          R4       V P                  \        P                  ! R
R4      R,          R4       V P                  \        P                  ! RR4      R,          R4       R# )z	^((a)|b)*r   r  z^(([ab])|c)*z^((d)|[ab])*Nz^((a)c|[ab])*z^((a)|b)*?cz^(([ab])|c)*?dabcdz^((d)|[ab])*?cz^((a)c|[ab])*?c)r(  r   rh   )r   r   r   )r(  r   N)r   r   rh   )r  r   r   )r   r   Nrv  rM   s   &r   test_bug_725106RegexTests.test_bug_7251068  s0   [%8;=MN^U;A> A 	^U;A> A 	_e<Q? B 	]E:1= @ 	%5v>qA D 	%5u=a@ C 	%6>qA D 	r   c                    V P                  \        P                  ! R R4      R,          R4       V P                  \        P                  ! RR4      R,          R4       R# )z(a)(?:(?=(b)*)c)*abbr  Nz(a)((?!(b)*))*rh   rh   N)rh   rh   NNrv  rM   s   &r   test_bug_725149RegexTests.test_bug_725149J  sP    %8%@C F 	%5u=a@ C 	r   c                     ! R  R\         4      p\        P                  ! V! R4      4      pV P                  VP	                  R4      R4       R# )c                       ] tR tRtRtR# ).RegexTests.test_bug_764548.<locals>.my_unicodeiS  r   N)r   r   r   r   r   r   r   r   
my_unicoder  S  s    tr   r  r   r   N)rR   r6   r7   r1   rL   )r   r  r$  s   &  r   test_bug_764548RegexTests.test_bug_764548Q  s6    ##mmJu-.5)40r   c                    \         P                  ! R R4      pT P                  V Uu. uF  q"^ ,          NK  	  up. RO4       R# u upi )r
  r  Nr  )r6   finditerr1   )r   ititems   &  r   test_finditerRegexTests.test_finditerW  s9    ^^E<0b1bdq''b13EF1s   Ac                    \         P                  ! R 4      \         P                  ! R4      J d   V P                  4        R# R# )
bug_926075s
   bug_926075N)r6   r7   r9   rM   s   &r   test_bug_926075RegexTests.test_bug_926075[  s+    ==&%--*FFIIK Gr   c                x    R pV P                  \        P                  ! V4      P                  R4      . RO4       R# )u   [.。．｡]za.b.cNrh   r   r   )r1   r6   r7   r   r   s   & r   test_bug_931848RegexTests.test_bug_931848_  s1    .w/55g> A 	r   c                  a \         P                  ! R R4      oV P                  \        S4      P	                  4       R4       V P                  \        V3R l4       \         P                  ! R 4      P                  R4      pV P                  VP                  4       P	                  4       R4       V P                  VP                  4       R4       R# )\srs  c                     < \        S 4      # r   nextr#  s   r   ra   ,RegexTests.test_bug_581080.<locals>.<lambda>g  	    br   NrG   r   )
r6   r"  r1   r3  rK   assertRaisesStopIterationr7   r  rJ   )r   r  r#  s   & @r   test_bug_581080RegexTests.test_bug_581080d  s    ^^E5)b&1-)9:--&..u5)..0&9)40r   c                  a \         P                  ! R R4      oV P                  \        S4      P	                  4       R4       V P                  \        S4      P	                  4       R4       V P                  \        V3R l4       R# )z.*asdfc                     < \        S 4      # r   r2  r4  s   r   ra   ,RegexTests.test_bug_817234.<locals>.<lambda>q  r6  r   Nr  r   r   )r6   r"  r1   r3  rK   r8  r9  )r   r#  s   &@r   test_bug_817234RegexTests.test_bug_817234m  sX    ^^E6*b&1b&1-)9:r   c                $   ^ RI pR F  pVP                  V4      pV P                  \        P                  ! R4      P	                  V4      R4       V P                  \        P                  ! R4      P	                  V4      R,          R4       K  	  R# )r   N
bBhHiIlLfds   blar   :rG   NNr   )arrayr1   r6   r7   rL   )r   rE  typecoderh   s   &   r   test_empty_arrayRegexTests.test_empty_arrays  sj    $HH%AU]]6288;TBU]]3/55a8>C %r   c                   \        R 4      p\        R4      p\        P                  ! V\        P                  \        P                  ,          4      pV P                  \        VP                  V4      4      R4       \        P                  ! V\        P                  \        P                  ,          4      pV P                  \        VP                  V4      4      R4       \        P                  ! RV,           \        P                  4      pV P                  \        VP                  V4      4      R4       \        P                  ! RV,           \        P                  4      pV P                  \        VP                  V4      4      R4       \        P                  ! RV,           4      pV P                  \        VP                  V4      4      R4       \        P                  ! RV,           4      pV P                  \        VP                  V4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        P                  ! RR4      R4       R# )	i  i  Tz(?i)z(?iu)(?i)arm   za(?i)N)rq   r6   r7   r   rR  r1   rG  rL   )r   
upper_char
lower_charr0  s   &   r   test_inline_flagsRegexTests.test_inline_flags{  s   [
[
MM*egg&78aggj12D9MM*egg&78aggj12D9MM&:-uww7aggj12D9MM&:-uww7aggj12D9MM'J./aggj12D9MM'J./aggj12D9 	ekk(C894@Xs3T:r   c                   \         P                  ! R 4      pV P                  VP                  RR4      R4       V P                  VP                  RR4      R4       V P                  VP                  RR4      R4       \         P                  ! R \         P                  4      pV P                  VP                  RR4      R4       V P                  VP                  RR4      R	4       V P                  VP                  RR4      R4       R
# )$#za
b
za
b#
#za
b
cza
b
c#rc   z#
#za#
b#
#za#
b#
c#N)r6   r7   r1   rp   r  r   s   & r   test_dollar_matches_twice$RegexTests.test_dollar_matches_twice  s    --$S(3Z@S)4jAS$/8--U__5S(4kBS)4lCS$/8r   c                J  aa \         P                  ! R 4      o\         P                  ! R4      oV P                  \        V P                  V3R l4       V P                  \        V P
                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P
                  V3R l4       V P                  \        V P                  V3R l4       V P                  \        V P
                  V3R	 l4       V P                  \        V P                  R
 4       V P                  \        V P                  R 4       V P                  \        V P                  R 4       V P                  \        V P                  R 4       V P                  \        V P                  R 4       V P                  \        V P                  R 4       R# )r\      .c                  &   < S P                  R 4      # )   brL   r$  s   r   ra   2RegexTests.test_bytes_str_mixing.<locals>.<lambda>  s    
))D/r   c                  &   < S P                  R 4      # )r   rX  bpats   r   ra   rZ    s    
**S/r   c                  (   < S P                  R R4      # rW  r   rp   rY  s   r   ra   rZ    s    
''$
r   c                  (   < S P                  R R4      # r      cr`  rY  s   r   ra   rZ    s    
''#t
r   c                  (   < S P                  R R4      # )rW  rc  r`  rY  s   r   ra   rZ    s    
''$
r   c                  (   < S P                  R R4      # r_  r`  r\  s   r   ra   rZ    s    
((4
r   c                  (   < S P                  R R4      # rb  r`  r\  s   r   ra   rZ    s    
((3
r   c                  (   < S P                  R R4      # r   r   r`  r\  s   r   ra   rZ    s    
((3
r   c                  L    \         P                  ! R \         P                  4      # )   \wr6   r7   rb  r   r   r   ra   rZ    s    
--
.r   c                  .    \         P                  ! R 4      # )s   (?u)\wr  r   r   r   ra   rZ        
--

#r   c                  v    \         P                  ! R \         P                  \         P                  ,          4      # )\w)r6   r7   rb  ASCIIr   r   r   ra   rZ    s    
--u}}u{{:
;r   c                  L    \         P                  ! R \         P                  4      # )z(?u)\w)r6   r7   rp  r   r   r   ra   rZ    s    
--	5;;
/r   c                  L    \         P                  ! R \         P                  4      # )(?a)\wrk  r   r   r   ra   rZ    s    
--	5==
1r   c                  .    \         P                  ! R 4      # z(?au)\wr  r   r   r   ra   rZ    rm  r   N)r6   r7   r   	TypeErrorSTR_PAT_ON_BYTESBYTES_PAT_ON_STRSTR_PAT_BYTES_TEMPLBYTES_PAT_STR_TEMPLr   BYTES_PAT_UNI_FLAGMIXED_FLAGS)r   r]  r$  s   &@@r   test_bytes_str_mixing RegexTests.test_bytes_str_mixing  s   mmC }}T"y$*?*? B 	y$*?*? B 	y$*B*B E 	y$*?*? B 	y$*?*? B 	y$*?*? B 	y$*B*B E 	y$*?*? B 	 	z4+B+B E/ 	0z4+B+B E$ 	%z4+;+; >< 	=z4+;+; >0 	1z4+;+; >2 	3z4+;+; >$ 	%r   c                    ^ \         P                  3 F  p\         P                  ! RV\         P                  ,          4      pV P	                  \        VP                  R4      4      R4       \         P                  ! RV4      pV P	                  \        VP                  R4      4      R4       K  	  \         P                  ! R\         P                  \         P                  ,          4      pV P	                  VP                  R4      R4       \         P                  ! R\         P                  4      pV P	                  VP                  R4      R4       \         P                  ! R\         P                  4      pV P	                  VP                  R4      R4       \         P                  ! R4      pV P	                  VP                  R4      R4       ^ \         P                  3 F  p\         P                  ! RV\         P                  ,          4      pV P	                  VP                  R	4      R4       \         P                  ! R
4      pV P	                  VP                  R	4      R4       K  	  V P                  \        V P                  R 4       R# )r      À   àTro  Nu   (?a)Àrs        rj  c                  .    \         P                  ! R 4      # ru  r  r   r   r   ra   8RegexTests.test_ascii_and_unicode_flag.<locals>.<lambda>  rm  r   )r6   rb  r7   r  r1   rG  rL   rp  r   r   r|  )r   rQ  r$  s   &  r   test_ascii_and_unicode_flag&RegexTests.test_ascii_and_unicode_flag  s   'E--0@0@(@ACT#))F"34d;--u-CT#))F"34d;	 ( mmFEKK%2B2B$BC6*D1mmJ(8(896*D1mmE5;;/6*D1mmI&6*D1 %E--1A1A)ABCSYYw/6--'CSYYw/6	 & 	z4+;+; >$ 	%r   c                   \         P                  ! R R4      pV'       g   V P                  R4       MSV'       d;   V^ ,          VP                  ^ 4      8w  g   V^,          VP                  ^4      8w  d   V P                  R4       V'       g   V P                  R4       R# VR,          R8w  d3   V P                  RP	                  \        VR,          4      4      4       R# R# )(?<a>\w)xyz(Failed: expected match but returned NoneFailedr  z0Failed: expected "('x', 'x')" but got {} insteadN)r,   r,   )r6   rL   r9   r   formatasciir  s   & r   test_subscripting_match"RegexTests.test_subscripting_match  s    KKT*II@Aadaggaj(AaDAGGAJ,>IIhII@AqTZIIJQQRWXYZ[X\R]^_  r   c                    \         P                  ! R R4      p\         P                  ! RR4      pV'       d   V'       d   VR,          VR,          8X  g   V P                  R4       R# R# )z	(?P<a>\w)r,   r  r  r  N)r6   rL   r9   )r   m0m1s   &  r   test_new_named_groups RegexTests.test_new_named_groups  sF    [[s+[[c*rber!unIIh -r   c           
        V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR	4      4      R4       V P                  \        \        P                  ! R
R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! R
R4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR	4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! R!R4      4      R4       V P                  \        \        P                  ! R"R4      4      R4       V P                  \        \        P                  ! R#R4      4      R4       V P                  \        \        P                  ! R$R4      4      R4       V P                  \        \        P                  ! R%R4      4      R4       V P                  \        \        P                  ! R&R4      4      R4       V P                  \        \        P                  ! R'R4      4      R4       V P                  \        \        P                  ! R(R4      4      R4       V P                  \        \        P                  ! R)R4      4      R4       V P                  \        \        P                  ! R*R4      4      R4       V P                  \        \        P                  ! R+R4      4      R4       V P                  \        \        P                  ! R,R4      4      R4       V P                  \        \        P                  ! R-R4      4      R4       V P                  \        \        P                  ! R.R/4      4      R4       V P                  \        \        P                  ! R0R14      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        P                  ! R.R24      R4       V P                  \        P                  ! R0R24      R4       V P                  \        P                  ! RR24      R4       V P                  \        P                  ! R3R/4      R4       V P                  \        P                  ! R4R14      R4       V P                  \        P                  ! R5R4      R4       V P                  \        \        P                  ! R3R24      4      R4       V P                  \        \        P                  ! R4R24      4      R4       V P                  \        \        P                  ! R5R24      4      R4       V P                  \        \        P                  ! R6R4      4      R4       V P                  \        \        P                  ! R6R74      4      R4       V P                  \        \        P                  ! R8R4      4      R4       V P                  \        \        P                  ! R9R74      4      R4       V P                  \        \        P                  ! R:R74      4      R4       V P                  \        \        P                  ! R:R4      4      R4       V P                  \        \        P                  ! RR/4      4      R4       V P                  \        \        P                  ! RR74      4      R4       V P                  \        \        P                  ! RR;4      4      R4       V P                  \        P                  ! R<R4      P	                  4       R4       V P                  \        P                  ! R<R=4      P	                  4       R4       V P                  \        P
                  ! R<R>4      . RO4       V P                  \        P
                  ! R?R>4      R@RA.4       V P                  \        P
                  ! R<RB4      . RO4       V P                  \        \        P                  ! R9R74      4      R4       RCpRDp\        REP                  4       4      p. RVRF3NRGVRF3NR5VRH3NRIVRH3NR.VRJ3NRKVRJ3NR3VRL3NRMVRL3NRNVRO3NRPVRQ3NRRVRS3NRTVRU3NRVVRW3NRXVRY3NRNRNRNRNRVRZ3NR[VRZ3NRVR\3NR]VR\3NRVR^3NR_VR^3NRVR`3NRaVR`3NRbVRc3NRdVRe3NRfVRg3NRhVRi3NRjVRk3NRlVRm3NRVRZ3NRnVRZ3NRoVR\3NRpVR\3NRqVR^3NRrVR^3NRsVR`3NRtVR`3NRuVRc3NRvVRe3NRwVRg3NRxVRi3NRyVRk3NRzVRm3NpV FZ  w  rVp VR{,          P                  \        P
                  ! WV4      4      V8w  d#   V P                  R|P                  V4      4       KZ  K\  	  V P                  \        \        P                  ! R~R/4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       R#   \         d7   pT P                  R}P                  T\        T4      4      4        Rp?EK,  Rp?ii ; i)s   (?ai)r  Ns	   (?ai)\xC0s   (?a)\wro  r  Ts   (?L)\d   0s   (?L)\s    s   (?L)\w   a   ?s   (?L)\Ds   (?L)\Ss   (?L)\Wz\p{Cyrillic}u   Аz(?i)\p{Cyrillic}z\p{IsCyrillic}z\p{Script=Cyrillic}z\p{InCyrillic}z\p{Block=Cyrillic}z[[:Cyrillic:]]z[[:IsCyrillic:]]z[[:Script=Cyrillic:]]z[[:InCyrillic:]]z[[:Block=Cyrillic:]]z\P{Cyrillic}rm   z\P{IsCyrillic}z\P{Script=Cyrillic}z\P{InCyrillic}z\P{Block=Cyrillic}z\p{^Cyrillic}z\p{^IsCyrillic}z\p{^Script=Cyrillic}z\p{^InCyrillic}z\p{^Block=Cyrillic}z[[:^Cyrillic:]]z[[:^IsCyrillic:]]z[[:^Script=Cyrillic:]]z[[:^InCyrillic:]]z[[:^Block=Cyrillic:]]\dr  r0  r   r  z\Dz\Sz\W\p{L}rh   z\p{Lu}\p{Ll}rJ  r{  \X   à   aààeéé\X{3}   aàà   eéé   
́Áu   -09AZaz_Γγs   -09AZaz_z#Ll Lm Lo Lt Lu Mc Me Mn Nd Nl No Pcu   09AZaz_Γγz
[[:word:]]r   z[[:^word:]]09z[[:digit:]]u
   -AZaz_Γγz[[:^digit:]]z[[:alpha:]]u   AZazΓγz[[:^alpha:]]z-09_z[[:alnum:]]u
   09AZazΓγz[[:^alnum:]]z-_z[[:xdigit:]]09Aaz[[:^xdigit:]]u   -Zz_Γγs   09AZaz_s   (?L)[[:word:]]   -s   (?L)[[:^word:]]s   09s   (?L)[[:digit:]]s   -AZaz_s   (?L)[[:^digit:]]s   (?L)[[:alpha:]]s   AZazs   (?L)[[:^alpha:]]s   -09_s   (?L)[[:alnum:]]s   09AZazs   (?L)[[:^alnum:]]s   -_s   (?L)[[:xdigit:]]s   09Aas   (?L)[[:^xdigit:]]s   -Zz_s   (?a)[[:word:]]s   (?a)\Ws   (?a)[[:^word:]]s   (?a)\ds   (?a)[[:digit:]]s   (?a)\Ds   (?a)[[:^digit:]]s   (?a)[[:alpha:]]s   (?a)[[:^alpha:]]s   (?a)[[:alnum:]]s   (?a)[[:^alnum:]]s   (?a)[[:xdigit:]]s   (?a)[[:^xdigit:]]:Nr   Nz
Failed: {}zFailed: {} raised {}z\p{NumericValue=0}z\p{NumericValue=1/2}   ½z\p{NumericValue=0.5}rP  r  rh   r  r  e   éu   éry   u   ́u   Á)z\p{InBasicLatin}   aárh   )z\P{InBasicLatin}r     á)z(?i)\p{InBasicLatin}r  rh   )z(?i)\P{InBasicLatin}r  r  )r1   r6   rL   rG  rK   r8   setr   rh  r9   r  	Exceptionr  )	r   chars_uchars_bword_settestsr   charsexpectedr  s	   &        r   test_propertiesRegexTests.test_properties  s   \7;TB]G<dCZ94@ekk%894@ 	ekk*d;<dCekk*d;<dCekk*d;<dCZ6=Z6=Z6=Z6=Z6=Z6=ekk*d;<dCekk*d;<dCekk*d;<dCekk/
)+ ,-1	3ekk*=
)+ ,-1	3ekk*;
)+ ,-1	3ekk*@
)+ ,-1	3ekk*;
)+ ,-1	3ekk*?
)+ ,-1	3ekk*;
)+ ,-1	3ekk*=
)+ ,-1	3ekk*B
)+ ,-1	3ekk*=
)+ ,-1	3ekk*A
)+ ,-1	3 	ekk/
&( )*.	0ekk*;
&( )*.	0ekk*@
&( )*.	0ekk*;
&( )*.	0ekk*?
&( )*.	0ekk*:
&( )*.	0ekk*<
&( )*.	0ekk*A
&( )*.	0ekk*<
&( )*.	0ekk*@
&( )*.	0ekk*<
&( )*.	0ekk*>
&( )*.	0ekk*C
&( )*.	0ekk*>
&( )*.	0ekk*B
&( )*.	0 	ekk%56=ekk%56=ekk%56=UC0$7UC0$7UC0$7UC0$7UC0$7UC0$7ekk%56=ekk%56=ekk%56=ekk(C894@ekk(C894@ekk)S9:DAekk)S9:DAekk(C894@ekk(C894@ekk%56=ekk%56=ekk%56=UF388:FCUI6;;=vFu
$&(	 	x
$&(6'G	Iu.CD
-	/ 	ekk)S9:DA(<BBDE1
G231
G%:;1
 GS!1
 Wc*	1

 GT"1
 Wd+1
 G121
 g';<1
 W&891
 gv.1
 W&:;1
 gt,1
 gv.1
 w(:;1
 01
  3!1
" 4#1
$ 7%1
( *-)1
*  *5+1
, $'-1
. !'40/1
0 %(11
2 !'5131
4 ),51
6 "7I671
8 !'7391
: "7G4;1
< !'95=1
> "7E2?1
@ "7G4A1
B #GW5C1
F *-G1
H  *5I1
J $'K1
L !'40M1
N %(O1
P !'51Q1
R ),S1
T "7I6U1
V !'73W1
X "7G4Y1
Z !'95[1
\ "7E2]1
^ "7G4_1
` #GW5a1
d ).$GHL#;##EMM'$ABhNIIl11':; O ). 	ekk*?EF
	ekk*A
(* +,0	2ekk*A
(* +,0	2  L		077qJKKLs   !Ay

z*zzc                L   V P                  \        P                  ! R R4      R.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      . R	O4       V P                  \        P                  ! RR4      . R
O4       R# )\w+u    हिन्दी,   हिन्दीz\W+r   ,r   z(?V1)\BN)r   r  r  )r   u    हu   िu   नu   ्u   दu   ी,r   )r1   r6   r8   r   rM   s   &r   test_word_classRegexTests.test_word_class  s    v
241
2	4 	v
24693Z	AZ
2467	8 	Z
246A	Br   c                X    V P                  \        P                  ! R R4      RR.4       R# )\G\w{2}abcd efr(  r)  Nr  rM   s   &r   test_search_anchorRegexTests.test_search_anchor  s!    z9=d|Lr   c           	        V P                  \        P                  ! R R4      . R7O4       V P                  \        P                  ! R RRR7      . R7O4       V P                  \        P                  ! RR4      R	R
.4       V P                  \        P                  ! RRRR7      . R8O4       V P                  \        P                  ! RRRR7      R9R:.4       T P                  \        P                  ! R R4       Uu. uF  q^ ,          NK  	  up. R7O4       T P                  \        P                  ! RRRR7       Uu. uF  q^ ,          NK  	  up. R8O4       T P                  \        P                  ! R R4       Uu. uF  q^ ,          NK  	  up. R7O4       T P                  \        P                  ! RRRR7       Uu. uF  q^ ,          NK  	  up. R8O4       V P                  \        P                  ! RR4      . R;O4       V P                  \        P                  ! RR4      . R;O4       V P                  \        P                  ! RR4      . R<O4       V P                  \        P                  ! RR4      . R<O4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. R;O4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. R;O4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. R<O4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. R<O4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      . 4       V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      . R=O4       V P                  \        P                  ! RR4      . R=O4       V P                  \        P                  ! RR4      . R>O4       V P                  \        P                  ! RR4      . R>O4       V P                  \        P                  ! R R^^R!7      RR.4       V P                  \        P                  ! R R^R?R!7      RR.4       T P                  \        P                  ! R R^^R!7       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! R R^R?R!7       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! R R^^R!7       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! R R^R?R!7       Uu. uF  q^ ,          NK  	  upRR.4       V P                  \        P                  ! R R^^R!7      RR.4       V P                  \        P                  ! R R^R?R!7      RR.4       V P                  \        P                  ! R"R#\        P                  4      RR$.4       V P                  \        P                  ! R%R#\        P                  4      R$R.4       V P                  \        P                  ! R&R4      R
.4       V P                  \        P                  ! R&RRR7      R
R.4       V P                  \        P                  ! R'R(4      R@RA.4       V P                  \        P                  ! R)R(4      RBRC.4       T P                  \        P                  ! R&R4       Uu. uF  q^ ,          NK  	  upR
.4       T P                  \        P                  ! R&RRR7       Uu. uF  q^ ,          NK  	  upR
R.4       T P                  \        P                  ! R'R(4       Uu. uF  q^ ,          NK  	  upR*R+.4       T P                  \        P                  ! R)R(4       Uu. uF  q^ ,          NK  	  upR,R-.4       V P                  \        P
                  ! R.R.4      P                  4       RD4       V P                  \        P
                  ! R/R.4      P                  4       RD4       V P                  \        P
                  ! R0R14      P                  4       RD4       V P                  \        P
                  ! R2R14      P                  4       RD4       V P                  \        P                  ! R3R4R4      R4       V P                  \        P                  ! R5R4R4      R4       R6# u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi )Ez(?r).r   r   r   rh   T
overlapped(?r)..abcder  r  r)  r(  (?r)(.)(-)(.)a-b-c^|\w+foo bar
(?V1)^|\w+	(?r)^|\w+(?rV1)^|\w+r  r  z.{2}(?<=\G.*)r  z(?r)\G\w{2}z(?r)\w{2}\Gefzq*qqwez(?V1)q*z(?r)q*z(?rV1)q*r\   rV  rW  z[ab]aBBz(?r)[ab]z(?r).{2}(\w+) (\w+)zfirst second third fourth fifthz(?r)(\w+) (\w+)r<  zthird fourthzfourth fifthzsecond thirdrL  z
(?r)abcdefz
(?i)abcdefABCDEFz(?ir)abcdef(.)r   (?r)(.)N)r   r   rh   r  r)  r  r(  r   r   r   rh   r   r   r   r  r  r  r  r   )qqr   r   r   )r   r   r  r   r  )r=  r>  )thirdfourth)r  fifth)r>  r  r  )r1   r6   r8   r"  r   rJ   rK   rp   r  s   & r   test_search_reverseRegexTests.test_search_reverse  s   x7Ix4H K 	y':T4LIy'dK
"	$'7,o>	@ 	x(GH(G1A$$(GH K 	y')  )1A$$ ) 5	7x(GH(G1A$$(GH K 	y')  )1A$$ ) 5	7 	x; > 	}i@ C 	|Y? B 	~yA D 	 	x(KL(K1A$$(KL
	}
)  )1A$$ ) )	+|
)  )1A$$ ) )	+~
)  )1A$$ ) )	+ 	z9=d|L'7@4,O~yA2F~yAD6Juf57IJz6:<NOy&9;MN{F; > 	 	sF!Ds
G 	sF"E
H 	sF)  )1A$$ ) Cj	"sF)  )1A$$ ) Sz	# 	wA)  )1A$$ ) Cj	"wA)  )1A$$ ) Sz	#wAaH3
K 	wAbI*	 	wegg>c
K{D%''BS#JO{E:TFC{EdK,	~
+-/B E /	 	'9
+-/B E /	 	{E(JK(J1A$$(JK&	{E)  )1A$$ ) "D\	+~
+)- . )-1A$$ )- .0>
0	 	7I
+)- . )-1A$$ )- .0>
0	 	h9>>@&IlH=BBDfMlH=BBDfMmX>CCEvN65%8%@:ue<eDm IH M$( L..s`   8f)9f.8f39f8f=ggg8g:g<g>g *g%*g*)g/(g4c                T    V P                  \        P                  ! R R4      R4       R# )z(?>a*)ar5  Nr  rM   s   &r   test_atomicRegexTests.test_atomic  s    j$7>r   c                   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! R
R	4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR	4      R4       V P                  \        P                  ! RR	4      R4       V P                  \        P                  ! RR	4      R4       R# )za?arh   za*arB   za+aza{1,3}az	(?:ab)?abr(  z	(?:ab)*ababababz	(?:ab)+abz(?:ab){1,3}abza?+aNza*+aza++aza{1,3}+az
(?:ab)?+abz
(?:ab)*+abz
(?:ab)++abz(?:ab){1,3}+abrP  rI   r  r  r1   r6   rJ   rK   rM   s   &r   test_possessiveRegexTests.test_possessive  s   fc27796Bfe499;VDfe499;VDj%8==?H 	lD9>>@&IlH=BBDfMlH=BBDfM&6AFFH K 	 	gs3T:gu5t<gu5t<k594@ 	mT:DAmX>EmX>E&7BDIr   c                	   \         P                  R8  d+   V P                  \        P                  ! RR4      . RO4       M(V P                  \        P                  ! RR4      R.4       V P                  \        P                  ! RR4      . RO4       V P                  \        P
                  ! RR4      . RO4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. RO4       V P                  \        P
                  ! RR4      . RO4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. RO4       V P                  \        P
                  ! RR4      . RO4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  up. RO4       V P                  \        P
                  ! R	R4      . RO4       T P                  \        P                  ! R	R4       Uu. uF  q^ ,          NK  	  up. RO4       \         P                  R8  dc   V P                  \        P                  ! RR
4      . RO4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  up. RO4       M_V P                  \        P                  ! RR
4      R
.4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  upR
.4       \         P                  R8  dc   V P                  \        P                  ! RR
4      . RO4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  up. RO4       M_V P                  \        P                  ! RR
4      R
.4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  upR
.4       V P                  \        P                  ! RR
4      . RO4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  up. RO4       V P                  \        P                  ! RR
4      . RO4       T P                  \        P                  ! RR
4       Uu. uF  qNK  	  up. RO4       R# u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi )rH   z\brs  r   r   r  r  r  r  r  r   z(?r)z(?V1)z(?rV1)Nr   )r   rh   r   r   r   r  r  )r   r,   rh   r,   r   r,   r   r   )r   r   r,   r   r,   rh   r,   r   )r   r   r1   r6   r   r8   r"  r  r  s   & r   test_zerowidthRegexTests.test_zerowidth8  s$   y(U[[6 9  U[[6@Z7 : 	 	x; > 	x(KL(K1A$$(KL
	|Y? B 	|
)  )1A$$ ) )	+}i@ C 	}
)  )1A$$ ) )	+~yA D 	~
)  )1A$$ ) )	+ y(U[[X6 9! "X)FG)FAa)FG J0 1 U[[X6
CX)FG)FAa)FGj y(U[[: =! ")JK)JAa)JK46 U[[:XJG)JK)JAa)JKj 	Wh7 : 	U__Wh%GH%G!%GH K, 	- 	Xx8 ; 	U__Xx%HI%H!%HI L, 	-U M H H L L
 I
 Js<   R!R&.R+R0
R54
R:)
R?

S*
S	
Sc                *   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR\        P                  R7      R4       V P                  \        P                  ! R	R\        P                  R7      R4       V P                  \        P                  ! R
R\        P                  R7      P                  4       R4       R# )z(?i)Abr(  z(?i:A)bzA(?i)bNz(?V0)Abz(?V1)Abz(?-i)Abrg  z(?-i:A)bzA(?-i)br  )r1   r6   rJ   rK   r   rM   s   &r   test_scoped_and_inline_flags'RegexTests.test_scoped_and_inline_flagsr  s
   i6;;=vFj$7<<>Gi6=j$7>j$7>j$eggFMk4uwwGNj$eggFKKM
	r   c                D   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       R# )z(?:a+)+rB   z(?:(?:ab)+c)+abcabcz
(?:a+){2,}NrI   r  r  rM   s   &r   test_repeated_repeats RegexTests.test_repeated_repeats  sw    j%8==?H&6AFFH K 	 	mU;@@BFKr   c           	     	   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! R	R4      4      R4       V P                  \        P
                  ! R
R4      R4       V P                  \        P
                  ! RR4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \        P
                  ! RR4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        P
                  ! RR4      R4       V P                  \	        \        P
                  ! RR4      4      R4       V P                  \        \        \        P                  ! R4      4      4      V P                  4       R# )z123(?<=a\d+)a123b123Nz123(?<!a\d+)z(a)b(?<=b)(c)r   Tz(a)b(?<=c)(c)z(a)b(?=c)(c)z(a)b(?=b)(c)z(?:(a)|(x))b(?<=(?(2)x|c))cz(?:(a)|(x))b(?<=(?(2)b|x))cz(?:(a)|(x))b(?<=(?(2)x|b))cz(?:(a)|(x))b(?<=(?(1)c|x))cz(?:(a)|(x))b(?<=(?(1)b|x))cz(?:(a)|(x))b(?=(?(2)x|c))cz(?:(a)|(x))b(?=(?(2)c|x))cz(?:(a)|(x))b(?=(?(1)b|x))cz(?:(a)|(x))b(?=(?(1)c|x))cz(a)b(?<=(?(2)x|c))(c)z(a)b(?<=(?(2)b|x))(c)z(a)b(?<=(?(1)c|x))(c)z(a)b(?<=(?(1)b|x))(c)z(a)b(?=(?(2)x|c))(c)z(a)b(?=(?(2)b|x))(c)z(a)b(?=(?(1)c|x))(c)z(a)\2(b)rG   r   )
r1   r6   rJ   rK   rG  rL   r   r)   r7   r   rM   s   &r   test_lookbehindRegexTests.test_lookbehind  sn   ov>CCEvNov>Eov>Eov>CCEvNekk/5ABDI_e<dCekk.%@A4H^U;TB%BEJ
	%BEJ
	ekk*G
 	%BEJ
	ekk*G
 	 	ekk*F
 	%A5I
	ekk*F
 	%A5I
	ekk*F
 	 	%<eDdK%<eDdK%<eDdKekk*A5IJ
	 	ekk*@%HI
	%;UCTJekk*@%HI
	 	d5==#=>?


	r   c                Z   \         P                  R8  d*   V P                  \        P                  ! RRR4      R4       M(V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RRR4      R4       \         P                  R8  d*   V P                  \        P                  ! RRR4      R4       M(V P                  \        P                  ! RRR4      R	4       V P                  \        P                  ! RRR4      R4       \         P                  R8  d*   V P                  \        P                  ! RRR
4      R4       M(V P                  \        P                  ! RRR
4      R4       V P                  \        P                  ! RRR
4      R4       R# )rH   z(?V0)(x)?(y)?z\2-\1r  zy-x-zy-xz(?V1)(x)?(y)?r,   z-x-z-xr-   zy--zy-Nr   r   rM   s   &r   test_unmatched_in_sub RegexTests.test_unmatched_in_sub  sD    y(UYY'74H UYY'74H#3XtDfMy(UYY'73GOUYY'73GN#3XsCUKy(UYY'73GOUYY'73GN#3XsCUKr   c                p   \         P                  ! R 4      p\        P                  R	8  d%   V P	                  VP                  R R4      R
4       M#V P	                  VP                  R R4      R4       T P	                  VP                  R4       Uu. uF  q"P                  4       NK  	  upRR.4       \         P                  ! R4      pV P	                  VP                  R R4      R
4       T P	                  VP                  R4       Uu. uF  q"P                  4       NK  	  upRR.4       R# u upi u upi )zD(?mV0)(?P<trailing_ws>[ \t]+\r*$)|(?P<no_final_newline>(?<=[^\n])\Z)c                 6    R V P                   ,           R,           # <>r  r_   s   &r   ra   +RegexTests.test_bug_10328.<locals>.<lambda>      akk0AC0Gr   zfoobar c                 6    R V P                   ,           R,           # r  r  r_   s   &r   ra   r    r  r   r   r   zD(?mV1)(?P<trailing_ws>[ \t]+\r*$)|(?P<no_final_newline>(?<=[^\n])\Z)c                 6    R V P                   ,           R,           # r  r  r_   s   &r   ra   r    s    C!++,=,Cr   Nr   )z%foobar<trailing_ws><no_final_newline>r   )zfoobar<trailing_ws>rG   )r6   r7   r   r   r1   r   r"  r   r#  s   &  r   test_bug_10328RegexTests.test_bug_10328  s   mmcdy(SXX&GFH SXX&G46S\\)-DE-D'')-DE
H 	mmcd"C
B	DS\\)-DE-D'')-DE
H 	 F
 Fs   D.
D3c                   V P                  \        P                  ! R R4      RR.4       V P                  \        P                  ! R RRR7      . RO4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RRRR7      . RO4       V P                  \        P                  ! R	R
RR7      RR.4       T P                  \        P                  ! R R4       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! R RRR7       Uu. uF  q^ ,          NK  	  up. RO4       T P                  \        P                  ! RR4       Uu. uF  q^ ,          NK  	  upRR.4       T P                  \        P                  ! RRRR7       Uu. uF  q^ ,          NK  	  up. RO4       T P                  \        P                  ! R	R
RR7       Uu. uF  qP	                  4       NK  	  upRR.4       T P                  \        P                  ! RR
RR7       Uu. uF  qP	                  4       NK  	  upRR.4       R# u upi u upi u upi u upi u upi u upi )..r  r(  r)  Tr  r  r  r  z	(.)(-)(.)r  r  N)r(  r  r)  r  r  r  r  )r1   r6   r8   r"  rT  r  s   & r   test_overlappedRegexTests.test_overlapped  sH   ug6tEug$G J 	y':T4LIy'dK
"	$|WNO
,	. 	ug(FG(F1A$$(FG$
J 	ug)  )1A$$ ) 5	7y'(JK(J1A$$(JK,	y')  )1A$$ ) 5	7 	enn\
d/$ % /$((* /$ %'6&H	Jenn=M
d/$ % /$((* /$ %'6&H	J HK%%s$   8I&9I+8I09I5:I:I?c                    V P                  \        P                  ! R R4      . RO4       T P                  \        P                  ! R R4       Uu. uF  qNK  	  up. RO4       R# u upi )r  za,b,,c,N)rh   r   r   r   r   )r1   r6   r   r  r  s   & r   test_splititerRegexTests.test_splititer  sS    T957NOU__T9%EF%E!%EF I 	Fs   
A$c                   V P                  \        P                  ! R R4      P                  4       R	4       V P                  \        P                  ! R R4      P                  4       R
4       V P                  \        P                  ! R R4      . RO4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! R R4      . RO4       R# )r  r  r  r  r  r  r  r  NrP  r  r  r  )r1   r6   rL   rK   r8   rM   s   &r   test_graphemeRegexTests.test_grapheme  s    UF388:FCUI6;;=vFu
$&(	 	x
$&(6'G	Iu.CD
-	/r   c                   R pV P                  \        P                  ! RV4      . RO4       V P                  \        P                  ! RV4      . RO4       RpV P                  \        P                  ! RV4      . RO4       V P                  \        P                  ! RV4      . RO4       RpV P                  \        P                  ! RV4      . R	O4       V P                  \        P                  ! RV4      . R
O4       R# )z4The quick ("brown") fox can't jump 32.3 feet, right?r   z(?V1w)\bzThe  foxzcan't aujourd'hui l'objectifN)r   Ther   quickz ("brownz") foxr   can'tr   jumpr   32r\   3r   feet, rightr  )r   r  r   r  r   r,  "r  r#  )r   r  r   can'tr   r  r   z32.3r   r   r  r   r"  r  r   )r   r  z  r  r   )r   r  r  r  r   aujourdr  huir   lr  objectifr   )r   r%  r   zaujourd'huir   z
l'objectifr   )r1   r6   r   r   texts   & r   test_word_boundaryRegexTests.test_word_boundary  s    FZ6 9 	 	[$7 : 	
 Z6 9 	[$7 : 	 .Z6 9 	 	[$7 :0 	1r   c                   V P                  \        P                  ! R R4      RR.4       V P                  \        P                  ! R R4      R.4       V P                  \        P                  ! R R4      RR.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! RR4      RR.4       V P                  \        P                  ! R	R
4      P	                  4       ^ 4       V P                  \        P                  ! R	R4      R4       V P                  \        P                  ! R	R4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^4       V P                  \        P                  ! RR4      P	                  4       ^4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR
4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       V P                  \        P                  ! RR4      P	                  4       ^ 4       R# )z.+zLine 1
Line 2
zLine 1zLine 2zLine 1Line 2zLine 1
Line 2
zLine 1zLine 2z(?w).+^abcr   z
abcNzabcz(?w)^abcabc$zabc
zabcz(?w)abc$(?m)^abcz	(?mw)^abc(?m)abc$z	(?mw)abc$)r1   r6   r8   rJ   r  rM   s   &r   test_line_boundaryRegexTests.test_line_boundary   s   u.@AH
D 	u.@A
	 u.DEz
"	$y2DEX
	 y2DEX
	 y2HIX
	  	gu5;;=qAgw7>gw7>k59??A1Ek7;TBk7;TBgu5;;=qAgw7==?Cgw7>k59??A1Ek7;AACQGk7;AACQGk59??A1Ek7;AACQGk7;TBlE:@@BAFlG<BBDaHlG<BBDaHk59??A1Ek7;AACQGk7;TBlE:@@BAFlG<BBDaHlG<BBDaHr   c                	   V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! R R4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR	4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P                  4       R4       V P                  \        P                  ! RR4      P	                  4       RR.RR./4       V P                  \        P                  ! RR4      P                  4       R 4       V P                  \        P                  ! RR4      P	                  4       RRR
.R. /4       R# )!z(?:(a)|(b))(c)r  rh   Nr   r  r   z(?:(?<a>a)|(?<b>b))(?<c>c)z!(?<a>a)(?:(?<b>b)|(?<c>c))(?<d>d)r+  r.  acdz(a)(?:(b)|(c))(d)z(a)(?|(b)|(b))(d)z(?|(?<a>a)|(?<b>b))(c)z(?|(?<a>a)|(?<a>b))(c)z$(?|(?<a>a)(?<b>b)|(?<b>c)(?<a>d))(e)aber  z (?|(?<a>a)(?<b>b)|(?<b>c)(d))(e)z(?|(?<a>a)(?<b>b)|(c)(d))(e)z (?|(?<a>a)(?<b>b)|(c)(?<a>d))(e)r"  )Nr   r   )rh   r   Nr.  )rh   Nr   r.  )rh   r   r.  )rh   r   rh  )rh   r   r  )r.  r   r  )r   r.  r  )r.  Nr  )r1   r6   rL   rT  capturesdictrM   s   &r   test_branch_resetRegexTests.test_branch_resetJ  s   %6=DDF I 	%6=DDF I 	%B
*	,%B
*	, 	%I
0	2%I
0	2%95AHHJ
	! 	%95AHHJ
	!%95AHHJ
	%>ELLN
	%>ELLN
	%>ELLN
	 	%>ELLN
	 	%L
?	,%L
?	,%H
?	,%H
?	,%D
?	,%D
?	, 	%H
?	,%H
#ucC5!9	;%H
+	-%H
#Sz3!;	=r   c           	        V P                  \        P                  ! R R4      P                  4       RC4       V P                  \        P                  ! RR4      P                  4       RC4       V P                  \        P                  ! RR4      P                  4       RC4       V P                  \        P                  ! RR4      P                  4       RC4       V P                  \        P                  ! RRR4      R	4       V P                  \        P
                  ! R
R4      R.4       V P                  \        P
                  ! RR4      R.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      . RDO4       V P                  \        P
                  ! RR4      . REO4       V P                  \        P
                  ! R
R4      R.4       V P                  \        P
                  ! RR4      R.4       V P                  \        P
                  ! RR4      R.4       V P                  \        P
                  ! RR4      R.4       V P                  RP                  \        P
                  ! RR4      4      R4       V P                  RP                  \        P
                  ! R R4      4      R!4       V P                  RP                  \        P
                  ! R"R#4      4      R$4       V P                  RP                  \        P
                  ! R%R&4      4      R'4       V P                  RP                  \        P
                  ! R(R&4      4      R'4       V P                  RP                  \        P
                  ! R)R*4      4      R&4       RP                  R+ \        R,4       4       4      pV P                  \        \        P
                  ! R-V4      4      ^4       V P                  \        \        P
                  ! R.V4      4      ^u4       V P                  \        \        P
                  ! R/V4      4      ^
4       V P                  \        \        P
                  ! R0V4      4      ^44       V P                  \        \        P
                  ! R1V4      4      ^44       V P                  \        \        P
                  ! R2V4      4      ^
4       V P                  \        \        P
                  ! R3V4      4      ^!4       V P                  \        \        P
                  ! R4V4      4      ^^4       V P                  \        \        P
                  ! R5V4      4      ^_4       V P                  \        \        P
                  ! R6V4      4      ^4       V P                  \        \        P
                  ! R7V4      4      ^4       V P                  \        \        P
                  ! R8V4      4      ^4       V P                  \        \        P
                  ! R9V4      4      ^4       V P                  \        \        P
                  ! R:V4      4      ^4       V P                  \        \        \        P                  ! R;4      4      4      V P                  4       V P                  \        P
                  ! R<R=4      RR>.4       V P                  \        P
                  ! R?R=4      RR>.4       V P                  \        P
                  ! R@R=4      RR>.4       V P                  \        P
                  ! RAR=4      RR>.4       RB# )Fz[a]rh   z(?i)[a]rm   z[a-b]z	(?i)[a-b]z(?V0)([][])r   za[b]cr  z[\p{Alpha}]a0z(?i)[\p{Alpha}]A0z[a\p{Alpha}]ab0r   z[a\P{Alpha}]r  z(?i)[a\p{Alpha}]z(?i)[a\P{Alpha}]z[a-b\p{Alpha}]abC0z(?i)[a-b\p{Alpha}]AbC0z[\P{Alpha}]z[^\p{Alpha}]z[^\P{Alpha}]r   z[^\d-h]za^b12c-hza^bcz[^\dh]za^bc-z	[^h\s\db]z	a^b 12c-hza^c-z[^b\w]rs  r   z[^b\S]z[^8\d]za 1b2c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rq   .0r   s   & r   	<genexpr>&RegexTests.test_set.<locals>.<genexpr>  s     9LqCFFL   r  z	\p{ASCII}z
\p{Letter}z	\p{Digit}z(?V1)[\p{ASCII}&&\p{Letter}]z'(?V1)[\p{ASCII}&&\p{Alnum}&&\p{Letter}]z&(?V1)[\p{ASCII}&&\p{Alnum}&&\p{Digit}]z(?V1)[\p{ASCII}&&\p{Cc}]z(?V1)[\p{ASCII}&&\p{Graph}]z(?V1)[\p{ASCII}--\p{Cc}]z[\p{Letter}\p{Digit}]z(?V1)[\p{Letter}||\p{Digit}]z\p{HexDigit}z(?V1)[\p{HexDigit}~~\p{Digit}]z(?V1)[\p{Digit}~~\p{HexDigit}]z(?V0)([][-])z(?V1)[[a-z]--[aei]]r   r   z(?iV1)[[a-z]--[aei]]z(?V1)[\w--a]z(?iV1)[\w--a]NrP  )rh   r   C)rm   r   rH  )r1   r6   rL   rK   rp   r8   rh  r  lenr   r)   r7   r   )r   	all_charss   & r   test_setRegexTests.test_set  s   VS1668&AZ5::<fEXt499;VD\48==?H>4A7K~t<seD'94@3%H>c
K>c
K':EBS
E 	':EBS
E 	 	'8&A D 	'<fE H 	 	~t<seD~t<seD=uE=uEz:!FG
	y*!EF
	|[!IJ
	y%!@A3Gy%!@A3Gy'!BCUKGG9E%L99	U]]<CDcJU]]=)DE
	U]]<CDbI 	U]]+J
 	U]]+U
 	U]]+T
 	U]]+F
 	U]]+I
 	U]]+F
 	U]]+C
 	U]]+J
 	U]]?IFG
	U]]+L
 	U]]+L
 	 	d5==#ABC


	'=uE
H 	'>F
I 	u=SzJ'7>c
Kr   c           
     HL   . R RR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\        R	4      3NR
RR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRRR\         P                  V P                  3NRR	R\        R	4      3NRRR\        R	4      3NRRR\        R4      3NRRR\        R	4      3NRRR\        R4      3NRRR\         P                  V P                  3NRR	R\        R	4      3NRRR\        R	4      3NRR	R\         P                  V P                  3NER'NR\        ^ 4      R,           R\        \        ^ 4      R,           4      3NRR	R\        R	4      3NRRR\        ER(4      3NRR R\        R 4      3NR!R R\        R 4      3NR"R R\        R 4      3NR#R R\        R4      3NR$R%R\        R%4      3NR&R%R\        R%4      3NR'R(R\        \        ^4      4      3NR)R(R\        R4      3NR*R+R\        R4      3NR,R-R\        R4      3NR.R(R\        R4      3NR/R0R\        R04      3NR1R0R\        R04      3NR2R3R\        \        ^	4      \        ^
4      ,           \        ^4      ,           \        ^4      ,           \        ^4      ,           \        ^4      ,           4      3NR4R5R\        R54      3NR6R7R\        R84      3NR9R:R\        R:4      3NR9R;R\        R4      3NR<R=R\        R4      3NR>R=R\        R4      3NR9R?R\        R?4      3NR@R;R\        R4      3NRAR;R\        R;4      3NRBR=R\        R4      3NRCR=R\        R=4      3NRDR=R\        R=4      3NRERR\         P                  V P                  3NER)NRFRFR\        RF4      3NRFRGR\        R4      3NRFRHR\        R4      3NRFRIR\        R4      3NRFRJR\        RF4      3NRFRKR\        RF4      3NRLRFR\        RF4      3NRMRFR\        RF4      3NRMRNR\        RN4      3NRMROR\        RO4      3NRPRNR\        RN4      3NRPRFR\        R4      3NRPRQR\        R4      3NRPROR\        RO4      3NRRRNR\        RN4      3NRRRFR\        RF4      3NRRROR\        R4      3NRSRFR\        RF4      3NRTRFR\        RF4      3NRTRUR\        R4      3NRVRUR\        RF4      3NRTRWR\        R4      3NRXRWR\        RF4      3NRYRFR\        R4      3NRZRFR\        R4      3NR[RFR\        RF4      3NR[RHR\        RH4      3NR\R]R\        R]4      3NR\R^R\        R4      3NR_RFR\        R4      3NR_R`R\        R`4      3NRaR`R\        R4      3NRaRbR\        Rb4      3NRcRdR\        Re4      3NRfRgR\        Rg4      3NRhRgR\        Rg4      3NRiRgR\        Rg4      3NRjRkR\         P                  V P                  3NRlRkR\         P                  V P                  3NRmRkR\         P                  V P                  3NRnRkR\         P                  V P                  3NRoRkR\         P                  V P                  3NRpRpR\        Rp4      3NRqRrR\        Rr4      3NRqRrR\        Rr4      3NRsRtR\        Rt4      3NRsR`R\        R4      3NRuRvR\        Rv4      3NRuRwR\        R4      3NRxRyR\        R4      3NRxRvR\        Rv4      3NRzRgR\        R	4      3NRzR{R\        R	4      3NRzR|R\        R	4      3NR}R~R\        R4      3NR}RR\        R4      3NR}RR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRgR\        R4      3NRR{R\        R4      3NRR|R\        R4      3NRR~R\        R4      3NRRR\        R4      3NRR~R\        R4      3NRRR\        R4      3NRRR\        R4      3NRRFR\        R4      3NRRR\        R4      3NRRR\        ER*4      3NRRR\        R4      3NRRR\        ER+4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRFR\        ER,4      3NRRFR\        ER-4      3NRRR\        RF4      3NRRR\        ER.4      3NRRR\        ER.4      3NRRR\        ER/4      3NRRkR\         P                  V P                  3NRRR\        R4      3NRFRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER04      3NRRR\        R4      3NRRR\        R4      3NRRR\        R	4      3NRRR\        ER14      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER*4      3NRRR\        ER24      3NRRFR\        ER34      3NRRFR\        ER44      3NRRR\        ER54      3NRRR\        ER54      3NRRR\        ER64      3NRRR\        R4      3NRRR\        R4      3NRRFR\        ER74      3NRRR\        ER84      3NRRR\        R4      3NRRR\        ER94      3NRRR\        ER:4      3NRRR\        ER;4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER:4      3NRR	R\        R	4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER<4      3NRRR\        ER=4      3NRRR\        R4      3NRReR\        Re4      3NRRR\        RF4      3NRRR\        RF4      3NRRR\        R4      3NRRR\        ER>4      3NRRR\        R4      3NRRR\        ER?4      3NRRR\        ER?4      3NRRR\        ER@4      3NRRR\        ER@4      3NRRR\        ER@4      3NRRR\        ERA4      3NRRR\        ERA4      3NRRR\        ERB4      3NRRR\        ERB4      3NRRR\        ERB4      3NRRR\        ER?4      3NRRR\        ERC4      3NRRR\        ERD4      3NRRR\        ERE4      3NRRR\        ERF4      3NRRR\        ERG4      3NRRR\        ERH4      3NRRR\        ERI4      3NRRR\        ERJ4      3NRRFR\        R4      3NRRR\        ERK4      3NRRdR\        ERL4      3NER RR\         P                  V P                  3NERRER\        ERM4      3NERRER\        ERN4      3NERRR\         P                  V P                  3NERERR\        ER4      3NERERR\         P                  V P                  3NERER	R\        ER	4      3NERER	R\        ERO4      3NER
RR\        R4      3NERR	R\        R	4      3NERERR\        ER4      3NERR	R\        R	4      3NERERR\        ER4      3NERERR\        ER4      3NRFRFR\        RF4      3NRFRGR\        R4      3NRFRHR\        R4      3NRFRIR\        R4      3NRFRJR\        RF4      3NRFRKR\        RF4      3NRLRFR\        RF4      3NRMRFR\        RF4      3NRMRNR\        RN4      3NRMROR\        RO4      3NERROR\        RO4      3NRPRNR\        RN4      3NRPRFR\        R4      3NRPRQR\        R4      3NERRQR\        R4      3NRPROR\        RO4      3NERROR\        RO4      3NERROR\        RO4      3NERROR\        RO4      3NERROR\        R4      3NRRRNR\        RN4      3NRRRFR\        RF4      3NERRFR\        RF4      3NRRROR\        R4      3NRSRFR\        RF4      3NERRFR\        RF4      3NRTRFR\        RF4      3NRTRUR\        R4      3NRVRUR\        RF4      3NRTRWR\        R4      3NRXRWR\        RF4      3NRYRFR\        R4      3NRZRFR\        R4      3NR[RFR\        RF4      3NR[RHR\        RH4      3NR\R]R\        R]4      3NR\R^R\        R4      3NR_RFR\        R4      3NR_R`R\        R`4      3NRaR`R\        R4      3NRaRbR\        Rb4      3NRcRdR\        Re4      3NRfRgR\        Rg4      3NRiRgR\        Rg4      3NERRkR\         P                  V P                  3NRjRkR\         P                  V P                  3NRlRkR\         P                  V P                  3NRpRpR\        Rp4      3NRqRrR\        Rr4      3NRsRtR\        Rt4      3NRsR`R\        R4      3NRuRvR\        Rv4      3NRuRwR\        R4      3NRxRyR\        R4      3NRxRvR\        Rv4      3NRRFR\        R4      3NRRR\        R4      3NRRR\        ER*4      3NERRkR\         P                  V P                  3NERRkR\         P                  V P                  3NRRR\        R4      3NRmRkR\         P                  V P                  3NRRR\        ER+4      3NRRR\        R4      3NRRR\        R4      3NRRR\        R4      3NRnRkR\         P                  V P                  3NRoRkR\         P                  V P                  3NRRFR\        ER,4      3NRRFR\        ER-4      3NRRR\        RF4      3NERRR\        RF4      3NERRkR\         P                  V P                  3NERRR\        RF4      3NRRR\        ER.4      3NERRR\        ER.4      3NRRR\        ER.4      3NER RR\        ER.4      3NRRR\        ER/4      3NER!RR\        ER/4      3NRRkR\         P                  V P                  3NRRR\        R4      3NRFRR\        R4      3NRRR\        R4      3NER"ER#R\        ERP4      3NER$RR\        ERQ4      3NRRR\        R4      3NRRR\        ER04      3NRRR\        R4      3NRRR\        R4      3NRRR\        R	4      3NRRR\        ER14      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER*4      3NRRR\        ER24      3NRRFR\        ER34      3NRRFR\        ER44      3NRRR\        ER54      3NRRR\        ER54      3NRRR\        ER64      3NRRR\        R4      3NRRR\        R4      3NRRFR\        ER74      3NRRR\        ER84      3NRRR\        R4      3NRRR\        ER94      3NRRR\        ER:4      3NRRR\        ER;4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER:4      3NER%R	ER&\        R	4      3NER'RR\        R4      3NER(RR\         P                  V P                  3NER)RR\         P                  V P                  3NRR	R\        R	4      3NRRR\        R4      3NRRR\        R4      3NRRR\        ER<4      3NRRR\        ER=4      3NRRR\        R4      3NRReR\        Re4      3NRRR\        RF4      3NRRR\        RF4      3NER*ER+R\        ER+4      3NER*ER,R\        R4      3NER*ER-R\        R4      3NER*ER.R\        R4      3NER*ER/R\        ER+4      3NER*ER0R\        ER+4      3NER1ER+R\        ER+4      3NER2ER+R\        ER+4      3NER2ER3R\        ER34      3NER4ER5R\        ER54      3NER6ER5R\        ER54      3NER7ER3R\        ER34      3NER8ER+R\        R4      3NER8ER9R\        R4      3NER:ER9R\        R4      3NER8ER5R\        ER54      3NER;ER5R\        ER54      3NER<ER5R\        ER54      3NER=ER5R\        ER54      3NER>ER5R\        R4      3NER?ER3R\        ER34      3NER?ER+R\        ER+4      3NER@ER+R\        ER+4      3NER?ER5R\        R4      3NERAER+R\        ER+4      3NERBER+R\        ER+4      3NERCER+R\        ER+4      3NERCERDR\        R4      3NEREERDR\        ER+4      3NERCERFR\        R4      3NERGERFR\        ER+4      3NERHER+R\        R4      3NERIER+R\        R4      3NERJER+R\        ER+4      3NERJER-R\        ER-4      3NERKERLR\        ERL4      3NERMERNR\        R4      3NEROER+R\        R4      3NEROERPR\        ERP4      3NERQERPR\        R4      3NERQERRR\        ERR4      3NERSERTR\        ERU4      3NERVERWR\        ERW4      3NERXERWR\        ERW4      3NERYRkR\         P                  V P                  3NERZRkR\         P                  V P                  3NER[RkR\         P                  V P                  3NER\ER]R\        ER]4      3NER^ER_R\        ER_4      3NER`ERaR\        ERa4      3NER`ERPR\        R4      3NERbERcR\        ERc4      3NERbERdR\        R4      3NEReERfR\        R4      3NEReERcR\        ERc4      3NERgER+R\        R4      3NERgERhR\        R4      3NERiERjR\        ERR4      3NERlRkR\         P                  V P                  3NERmRkR\         P                  V P                  3NERnERoR\        R4      3NERpRkR\         P                  V P                  3NERqERrR\        ERS4      3NERsRR\        R4      3NERsERtR\        ERt4      3NERuERvR\        ERv4      3NERwRkR\         P                  V P                  3NERxRkR\         P                  V P                  3NERyER+R\        ERT4      3NERzER+R\        ERU4      3NER|ER}R\        ER+4      3NER~ER}R\        ER+4      3NERRkR\         P                  V P                  3NERERR\        ER+4      3NERKERR\        ER+4      3NERERR\        ER+4      3NERRR\        ERV4      3NERRR\        ERV4      3NERRR\        ERV4      3NERRR\        ERV4      3NERRR\        ERW4      3NERRR\        ERW4      3NERRR\        ERX4      3NERRkR\         P                  V P                  3NERERR\        ER4      3NER*RR\        R4      3NERRR\        R4      3NERERR\        ERY4      3NERERhR\        ERZ4      3NERERR\        ER4      3NERERkR\        ER[4      3NERERR\        ER4      3NERERR\        R4      3NERERR\        R4      3NERERR\        ER\4      3NERERR\        ER4      3NERERR\        R4      3NERERR\        ERR4      3NERERhR\        ER]4      3NERER+R\        ER^4      3NERER+R\        ER_4      3NERERhR\        ER`4      3NERERhR\        ER`4      3NERERhR\        ERa4      3NERERR\        ER4      3NERERR\        R4      3NERER+R\        ERb4      3NERERhR\        ERc4      3NERERR\        ER4      3NERERR\        ERd4      3NERERR\        ERe4      3NERERR\        ERf4      3NERERR\        R4      3NERERR\        R4      3NERERR\        ERe4      3NERRER&\        R4      3NERERR\        ER4      3NERRR\        R4      3NERRR\        R4      3NERER{R\        ER{4      3NERERR\        R4      3NERERR\        ER4      3NERERR\        ERg4      3NERERR\        ERh4      3NERRR\        R4      3NERERUR\        ERU4      3NERERR\        ER+4      3NERERR\        ER+4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERRbR\        R4      3NERRbR\        R4      3NERRbR\        R4      3NERRbER\        ERi4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\         P                  V P                  3NERERR\        ER4      3NERERR\        R4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NRVERR\        R4      3NERERR\        RF4      3NERERR\        RF4      3NR9R;R\        R4      3NRAR;R\        R;4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        RF4      3NERERR\        RF4      3NERERR\        ER4      3NERERER\        ERj4      3NERERER\        ERj4      3NERERER\        ERk4      3NERRR\         P                  V P                  3NERERR\        R`4      3NERRR\         P                  V P                  3NERERR\        ER4      3NERRR\        R4      3NERERR\        R4      3NERERR\        ER4      3NER ERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERER	R\        ER	4      3NERER
R\        ER
4      3NERERR\        R4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        ER4      3NERERR\        R4      3NERERR\        R4      3NERERR\        R4      3NERRER\        ERl4      3NERRFER\        ERm4      3NERRFER\        ERm4      3NERRFER\        ERm4      3NERR	R\        R	4      3NERERR\        ER4      3NERERR\        ER4      3NpV EF  pRp \!        V4      ^8X  d   Vw  rErgMVw  rErgp. pV'       d5   VP#                  ER 4       F  p	 VP%                  \'        V	4      4       K   	  VeH   V P+                  WEER!7      ;_uu_ 4        V P-                  Ws\         P.                  WE4       RRR4       K  \         P.                  ! WE4      p
V
'       d7   V'       d   \        V
P0                  ! V!  4      pM\        V
ER",          4      pM\        V
4      pV P3                  W4       EK  	  R#   \(         d    TP%                  T	4        EK  i ; i  + '       g   i     EKY  ; i  \(         di    ER#P5                  TER$,           Uu. uF  p\        T4      NK  	  Mu upi upER%.,           4      pT P7                  ER&P9                  T4      4        EK  i ; i(n  z(?P<foo_123r   z(?P<1>a)z(?P<!>a)z(?P<foo!>a)z(?P<foo_123>a)(?P=foo_123r5  z(?P<foo_123>a)(?P=1)1rh   z(?P<foo_123>a)(?P=0)z(?P<foo_123>a)(?P=-1)z(?P<foo_123>a)(?P=!)z(?P<foo_123>a)(?P=foo_124)z(?P<foo_123>a)z(?P<foo_123>a)(?P=foo_123)z(?<foo_123>a)\g<foo_123Nz(?<foo_123>a)\g<1>z(?<foo_123>a)\g<!>z(?<foo_123>a)\g<foo_124>z(?<foo_123>a)z(?<foo_123>a)\g<foo_123>r   r  r   9z\141z((a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\119abcdefghijklk9z0,11r   r   z[\0a]z[a\0]z[^a\0]z\a[\b]\f\n\r\t\vz
	z[\a][\b][\f][\n][\r][\t][\v]z\xffr   z\x00ffffffffffffffz\x00fz\x00fe   þz\x00ffz\t\n\v\r\f\a\gz	
gz	
\gz\t\n\v\r\f\ari   z[\t][\n][\v][\r][\f][\b]z	
z^\w+=(\\[\000-\277]|[^\n\\])*z(SRC=eval.c g.c blah blah blah \\
	apes.cz SRC=eval.c g.c blah blah blah \\rl  acbrm  rn  zacc
ccbza.{4,5}bzabza.b(?s)z(?s)a.bza.*(?s)bz(?s)a.*bz(?s)a.{4,5}br$  r   xbcaxcabxxabcyababczab*czab*bcabbcabbbbczab+bcabqzab?bczab?cr_  abccr/  aabcr0  ^rP  za.cza.*caxyzcaxyzdza[bc]dr+  za[b-d]eaceza[b-d]aacr  za[-b]a-za[\-b]za[b-]za[]br   za[za\zabc)z(abcza]za[]]bza]bza[^bc]daedza[^-b]cadcza-cza[^]b]cza]cz\ba\b-az-a-z\by\br  yzr   zx\bzx\Br,   z\Bzr  zz\Bz\Bxz\Ba\Bz\By\Bz\By\br-   z\by\Bzab|cdr(  r  z()efdefz0,1r  z$br   za\(ba(bza\(*bza((bza\\bza\br  z0,1,2z(a)b(c)za+b+caabbabcz(a+|b)*z(a+|b)+z(a+|b)?z)(z[^ab]*r  r>   z	a|b|c|d|er  z(a|b|c|d|e)fzabcd*efgabcdefgzab*	xabyabbbzxayabbbzz(ab|cd)er  z[abhgefdc]ijhijz	^(ab|cd)ez(abc|)efrL  z(a|b)c*dz
(ab|ab*)bcz
a([bc]*)c*za([bc]*)(c*d)za([bc]+)(c*d)za([bc]*)(c+d)za[bcd]*dcdcdeadcdcdeza[bcd]+dcdcdez	(ab|a)b*cz((a)(b)c)(d)z1,2,3,4z[a-zA-Z_][a-zA-Z0-9_]*alphaz^a(bc+|b[eh])g|.h$abhz(bc+d$|ef*g.|h?i(j|k))effgzijeffgbcddreffgzz(((((((((a)))))))))zmultiple words of textzuh-uhzmultiple wordszmultiple words, yeahz	(.*)c(.*)z\((.*), (.*)\)z(a, b)z2,1z[k]za[-]?cz(abc)\1r  z
([a-c]*)\1z^(.+)?BABrm   z(a+).\1$r   z	^(a+).\1$aaaaz
([a-c]+)\1z(a)\1z(a+)\1z(a+)+\1z(a).+\1r  z(a)ba*\1z
(aa|a)a\1$rB   z
(a|aa)a\1$z(a+)a\1$z
([abc]*)\1z
(a)(b)c|abz(a)+xaaaxz([ac])+xaacxz([^/]*/)*sub1/zd:msgs/tdir/sub1/trial/away.cppz([^.]*)\.([^:]*):[T ]+(.*)track1.title:TBlah blah blahz0,1,2,3z	([^N]*N)+abNNxyzNabNNxyzNz	([abc]*)xabcxz	([xyz]*)xz	(a)+b|aacz(?P<i d>aaa)az(?P<id>aaa)az0,idz(?P<id>aa)(?P=id)z(?P<id>aa)(?P=xd)r   gz\g<1>z(.)\g<1>ggz\N\N{LATIN SMALL LETTER A}z\pr0  r  z\PPz\P{Lu}zab{0,}bczab{1,}bcz	ab{1,3}bcz	ab{3,4}bcz	ab{4,5}bcz	ab{0,1}bczab{0,1}cza[b-a]z*az(*)bza{1,}b{1,}cza**za.+?cz
(a+|b){0,}z
(a+|b){1,}z(a+|b){0,1}z	([abc])*dabbbcdz([abc])*bcdz((((((((((a))))))))))10z((((((((((a))))))))))\10z((((((((((a))))))))))\41z(?i)((((((((((a))))))))))\41z(?i)abcrz  XBCAXCABXXABCYABABCz(?i)ab*cz	(?i)ab*bcABBCz
(?i)ab*?bcABBBBCz(?i)ab{0,}?bcz
(?i)ab+?bcz	(?i)ab+bcABQz(?i)ab{1,}bcz(?i)ab{1,}?bcz(?i)ab{1,3}?bcz(?i)ab{3,4}?bcz(?i)ab{4,5}?bcz
(?i)ab??bcz(?i)ab{0,1}?bcz	(?i)ab??cz(?i)ab{0,1}?cz	(?i)^abc$ABCCz(?i)^abcAABCz(?i)abc$z(?i)^z(?i)$z(?i)a.cz	(?i)a.*?cAXYZCz(?i)a.*cAXYZDz
(?i)a[bc]dABDz(?i)a[b-d]eACEz
(?i)a[b-d]AACACz	(?i)a[-b]zA-z	(?i)a[b-]z
(?i)a[b-a]z(?i)a[]bz(?i)a[z(?i)a]zA]z	(?i)a[]]bzA]Bz(?i)a[^bc]dAEDz(?i)a[^-b]cADCzA-Cz(?i)a[^]b]czA]Cz	(?i)ab|cdABCDz(?i)()efDEFEFz(?i)*az(?i)(*)bz(?i)$br  z(?i)a\z(?i)a\(bA(Bz	(?i)a\(*bzA((Bz(?i)a\\bzA\Bz(?i)abc)z(?i)(abcz	(?i)((a))z(?i)(a)b(c)rH  z	(?i)a+b+cAABBABCz(?i)a{1,}b{1,}cz(?i)a**z	(?i)a.+?cABCABCz(?i)a.{0,5}?cz(?i)(a+|b)*z(?i)(a+|b){0,}z(?i)(a+|b)+z(?i)(a+|b){1,}z(?i)(a+|b)?z(?i)(a+|b){0,1}z(?i)(a+|b){0,1}?z(?i))(z
(?i)[^ab]*CDEz(?i)a*z(?i)([abc])*dABBBCDz(?i)([abc])*bcdz(?i)a|b|c|d|eEz(?i)(a|b|c|d|e)fz(?i)abcd*efgABCDEFGz(?i)ab*	XABYABBBZXAYABBBZz(?i)(ab|cd)eABCDEz(?i)[abhgefdc]ijHIJz(?i)^(ab|cd)ez(?i)(abc|)efr  z(?i)(a|b)c*dz(?i)(ab|ab*)bcz(?i)a([bc]*)c*z(?i)a([bc]*)(c*d)z(?i)a([bc]+)(c*d)z(?i)a([bc]*)(c+d)z(?i)a[bcd]*dcdcdeADCDCDEz(?i)a[bcd]+dcdcdez(?i)(ab|a)b*cz(?i)((a)(b)c)(d)z(?i)[a-zA-Z_][a-zA-Z0-9_]*ALPHAz(?i)^a(bc+|b[eh])g|.h$ABHz(?i)(bc+d$|ef*g.|h?i(j|k))EFFGZIJEFFGBCDDREFFGZz(?i)((((((((((a))))))))))z(?i)((((((((((a))))))))))\10AAz(?i)(((((((((a)))))))))z+(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))z/(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))z(?i)multiple words of textzUH-UHz(?i)multiple wordszMULTIPLE WORDS, YEAHzMULTIPLE WORDSz(?i)(.*)c(.*)z(?i)\((.*), (.*)\)z(A, B)z(?i)[k]z
(?i)a[-]?cz(?i)(abc)\1z(?i)([a-c]*)\1za(?!b).abadr*  za(?=d).z	a(?=c|d).za(?:b|c|d)(.)za(?:b|c|d)*(.)za(?:b|c|d)+?(.)za(?:b|(c|e){1,2}?|d)+?(.)z1,2z(?<!-):(.*?)(?<!-):z
a:bc-:de:fzbc-:dez(?<!\\):(.*?)(?<!\\):z
a:bc\:de:fzbc\:dez(?<!\?)'(.*?)(?<!\?)'z
a'bc?'de'fzbc?'dezw(?# commentwz w(?# comment 1)xy(?# comment 2)zwxyzzw(?i)Wz(?i)wz"(?x)w# comment 1
x y
# comment 2
zzjkl
abc
xyzr1  r2  zjkl
xyzabc
123r  z--ab_cd0123--	ab_cd0123z[\w]+z\D+1234abc5678z[\D]+z[\da-fA-F]+123abcz([\s]*)([\S]*)([\s]*)z testing!1972z3,2,1z(\s*)(\S*)(\s*)z(([a-z]+):)?([a-z]+)$smilz1,2,3z((.)\1+)z.*dzabc
abdr,  z[\41]!z(x?)?z	 (?x)foo r  z	(?x) foo z(?x)foo z(?<!abc)(d.f)	abcdefdofdofz[\w-]+
laser_beamz.*?\S *:zxx:za[ ]*?\ (\d+).*za   10za    10z(?ms).*?x\s*\Z(.*)zxx
x
z(?i)M+MMMz(?i)m+z(?i)[M]+z(?i)[m]+z"(?:\\"|[^"])*?"z"\""z^.*?$zone
two
three
za[^>]*?bza>bz^a*?$z^((a)c)?(ab)$z^([ab]*?)(?=(b)?)cz^([ab]*?)(?!(b))cz^([ab]*?)(?<!(a))cz\b.\b   Äro  r  )r   rX  r  r!  :NrH   N...z%Incorrect number of test fields: ({}))[\1]r   r  z'\x01')rP  k)r   r   r  z'')r  r   )ri  )rh   rh   rh   )r   rh   r   )r(  r   r!  )r  r  )r  r)  )bcdr   )r   rh   )r   r  )r  r  r.  )r  r   r)  )r   r(  )r   rh   r   r.  )bhN)rr  rr  N)rs  rs  j)r  r(  r  )r   rh   )r   r5  )r  r   )r5  rh   )r  rh   )rB   rh   )r(  NN)ry  rh   )rz  r   )zd:msgs/tdir/sub1/ztdir/)r{  track1titlezBlah blah blah)r|  xyzN)abNNr~  )r  r   )r,   r   )rb  N)rx  rB   )rx  r5  )r  r  )r  r   )r  rh   )r  r   )r  )rm   rm   rm   )rz  rm   rH  )rw  r  )rm   rm   r   N)r  rH  )r  rm   )r  r  )r  CD)BCDr  )rz  rm   )rz  BC)r  r  D)r  r  r  )rz  rw  )rz  rm   r  r  )BHN)r  r  N)r  r  J)r  rw  DE)r  rm   )r   r  )r   ztesting!1972r   )NNr  )NNr(  )r(  N)r6   r   r   r   MISSING_RPARENr  UNKNOWN_GROUPr   rq   TRAILING_CHARSr  
BAD_ESCAPEBAD_CHAR_RANGENOTHING_TO_REPEATMULTIPLE_REPEAT
OPEN_GROUPrI  r   appendrQ   r   subTestr   rJ   r   r1   rh  r9   r  )r   r  r  excvalr   rX  rT  r  
group_listr   r`   r*   ffieldss   &             r   test_variousRegexTests.test_various  s9   y

BEKKAy

 Rd.A.ABy

 Rd.A.AB	y


 BEKK1D1DEy

 )$EKK!!#y

 $T3c
;y

 $T2u{{!!#y

 %dB!!#y

 $T2u{{!!#y

" *4U[[  "#y

( sCs4)y

* *4eCjA+y

0 (r5;?1y

2 #D#uSz:3y

4 #D"eDk:5y

6 )$EKK  "7y

< c3c
3=y

> )$U3Z@?y

D CU[[$*@*@AEy

F ,Gy

H SVc\3c!fsl(;<Iy

J c3c
+Ky

L 9:Je346My

T D#uT{+Uy

V tS%+.Wy

X tS%+.Yy

Z b%+.[y

` !"2C$%'ay

d -.>$%'ey

h fc5S?3iy

n #FBd<oy

p vr5;/qy

r E$K0sy

v E$K0wy

x eO6LMyy

z eO6LM{y

| nc5Q#b'9I"g:B: "%b':*,/F:3 44 5}y

@ ).#N#%Ay

F .<c89;Gy

P E3e-Qy

R FBd,Sy

T ZU4[1Uy

V Rt5Wy

X FCv/Yy

\ E$K0]y

^ U6]3_y

` Rt5ay

b S%
*;<cy

d ZeJ.?@ey

h "b%++t':':;iy

j  ky

l E3e-my

n E2uT{+oy

p E2uT{+qy

r E2uT{+sy

t GS%,/uy

v GS%,/wy

x UCu.yy

z eS%,/{y

~ fc5=1y

@ hU8_5Ay

B fc5=1Cy

D eRt-Ey

F eRt-Gy

H hU8_5Iy

J fc5=1Ky

L eS%,/My

N hE$K0Oy

P UCu.Qy

T eS%,/Uy

V fb%+.Wy

X VS%,/Yy

Z fb%+.[y

\ VS%,/]y

^ %eBi(_y

` %eBi(ay

b E3e-cy

d E3e-ey

f Wc5>2gy

j Wb%+.ky

l ub%+.my

n uc5<0oy

p r5;/qy

r sE%L1sy

t uc5;/uy

v dCt-wy

x c5;/yy

z dCt-{y

| S"ekk4<<8}y

@ 3EKK6Ay

B CU[[$//:Cy

D S"ekk4+>+>?Ey

F S"ekk4+>+>?Gy

H 4eDk*Iy

J eS%,/Ky

L eS%,/My

N sE%L1Oy

P r5;/Qy

R sE%L1Sy

V r5;/Wy

X r5;/Yy

Z sE%L1[y

\ c5:.]y

^ c5:._y

` sE#J/ay

b b%+.cy

d b%+.ey

f r5;/gy

h UBd,iy

l UCs,my

n UCs,oy

p UBd,qy

r UBd,sy

t b%+.uy

v b%+.wy

x r5;/yy

z b%+.{y

| b%+.}y

~ c5:.y

B c5:.Cy

D sE#J/Ey

F eS%+.Gy

H fc5;/Iy

J UE5#45Ky

L 3E$K(My

N eRx1Oy

P tS%+.Qy

R vsE&M2Sy

T vsE&M2Uy

X eWeO&<=Yy

Z w.?(@A[y

\ ieEl3]y

^ eU;%78_y

` eU;%78ay

b eU:%67cy

d 3EKK)<)<=ey

f uc5<0gy

h BE$K(iy

j 2sE"I&ky

n #sE#J/oy

p T5%*<=qy

r Cy)9:sy

t KeDk2uy

v JU3Z0wy

x %})=>yy

z UCu6{y

| '2uT{3}y

~ 5%
*;<y

@ l(;<Ay

D 5%|)<=Ey

F 5%})=>Gy

H fgu5H/IJIy

J fgu5H/IJKy

L fgu5H/IJMy

N ieI.>?Oy

P iU4[9Qy

R %m(<=Sy

T VY6L0MNUy

V &wU7^DWy

Z "5%|1DE[y

\ &w @ : ]y

` &tWe = 7 ay

d &vr5;?ey

f &vr5;?gy

h &x% A ; iy

l #CeCj9my

n &wE$K@oy

p 5s$%'qy

t '7E2G,HIuy

x  5%
2CDyy

z D"eDk*{y

| tS%+.}y

~ 3e5y

@ Hc5<8Ay

B c5:.Cy

D '5%*@AEy

F 62uT{3Gy

H 5%0A*BCIy

J HeU3D-EFKy

N tUE+$67Oy

P eU;%78Qy

R ueK&89Sy

T u\':;Uy

V %l(;<Wy

X E5%*=>Yy

Z E5%*=>[y

\ %l(;<]y

^ HeU3D-EF_y

` 4%0B*CDay

d feU=%9:ey

f m(<=gy

h @%235iy

l +,J  ) *+my

r *eU3G-HIsy

t )UE-,@Auy

v &%)?@wy

x %U4[1yy

z &%y)9:{y

| %m(<=}y

B fb%++t7J7JKCy

D VVU?-CDEy

F !&&%2GHGy

H !&"ekk4;M;MNIy

N CeCj)Oy

P sBT-C-CDQy

R $U4[1Sy

T $E+$67Uy

V CeCj)Wy

X )#sE#J?Yy

Z CeCj)[y

\ S%*-]y

^ CeCj)_y

` S%*-ay

f E3e-gy

h E2uT{+iy

j E2uT{+ky

l E2uT{+my

n GS%,/oy

p GS%,/qy

t UCu.uy

v eS%,/wy

x fc5=1yy

z hU8_5{y

| 3h8}y

~ fc5=1y

@	 eRt-A	y

B	 eRt-C	y

D	 E$K0E	y

F	 hU8_5G	y

J	 3h8K	y

L	 (Cx9M	y

N	 (Cx9O	y

P	 (Bd4Q	y

R	 fc5=1S	y

T	 eS%,/U	y

V	 %eEl3W	y

X	 hE$K0Y	y

Z	 UCu.[	y

\	 U5\2]	y

`	 eS%,/a	y

b	 fb%+.c	y

d	 VS%,/e	y

f	 fb%+.g	y

h	 VS%,/i	y

j	 %eBi(k	y

l	 %eBi(m	y

n	 E3e-o	y

p	 E3e-q	y

r	 Wc5>2s	y

v	 Wb%+.w	y

x	 ub%+.y	y

z	 uc5<0{	y

|	 r5;/}	y

~	 sE%L1	y

@
 uc5;/A
y

B
 dCt-C
y

D
 dCt-E
y

F
 sBT-@-@AG
y

H
 S"ekk4<<8I
y

L
 3EKK6M
y

N
 4eDk*O
y

P
 eS%,/Q
y

R
 sE%L1S
y

T
 r5;/U
y

V
 sE%L1W
y

X
 r5;/Y
y

Z
 r5;/[
y

\
 sE%L1]
y

^
 eS%+._
y

b
 fc5;/c
y

d
 UE5#45e
y

f
 3EKK)?)?@g
y

h
 S"ekk4+A+ABi
y

j
 3E$K(k
y

l
 CU[[$//:m
y

n
 eRx1o
y

p
 tS%+.q
y

r
 vsE&M2s
y

t
 vsE&M2u
y

x
 S"ekk4+>+>?y
y

z
 S"ekk4+>+>?{
y

|
 eWeO&<=}
y

~
 w.?(@A
y

@ ieEl3Ay

B IsE%L9Cy

D CU[[$*>*>?Ey

F hU5\2Gy

H eU;%78Iy

J 4k(:;Ky

N eU;%78Oy

P 4k(:;Qy

R eU:%67Sy

T D%z):;Uy

V 3EKK)<)<=Wy

X uc5<0Yy

Z BE$K([y

\ 2sE"I&]y

^ (E5+AB_y

` FE5+?@ay

d #sE#J/ey

f T5%*<=gy

h Cy)9:iy

j KeDk2ky

l JU3Z0my

n %})=>oy

p UCu6qy

r '2uT{3sy

t 5%
*;<uy

v l(;<wy

z 5%|)<={y

| 5%})=>}y

~ fgu5H/IJy

@ fgu5H/IJAy

B fgu5H/IJCy

D ieI.>?Ey

F iU4[9Gy

H %m(<=Iy

J VY6L0MNKy

L &wU7^DMy

P "5%|1DEQy

R &w @ : Sy

V &tWe = 7 Wy

Z &vr5;?[y

\ &vr5;?]y

^ &x% A ; _y

b %c4s<cy

d )$U4[Aey

n )"b%++$$&oy

r -b"ekk$$&sy

x #CeCj9yy

z &wE$K@{y

| 5s$%'}y

@ '7E2G,HIAy

B  5%
2CDCy

D D"eDk*Ey

F tS%+.Gy

H 3e5Iy

J Hc5<8Ky

L sE%L1My

P r5;/Qy

R r5;/Sy

T r5;/Uy

V eEl3Wy

X eEl3Yy

Z U5\2[y

\ %eEl3]y

^ &#uV}5_y

` 8S%/:ay

b hU8_=cy

f 63f6gy

h %U4[1iy

j %U4[1ky

l UBd4my

n (Cx9oy

p hU8_=qy

r xeHo>sy

t xeHo>uy

v xU4[9wy

x 63f6yy

| 5#uU|4}y

~ uc5<8y

@ 8Rt5Ay

B %eEl3Cy

D eS%,7Ey

F %eEl3Gy

H &"eDk2Iy

J eEl3Ky

L &"eDk2My

N eEl3Oy

R eS%),Sy

T eS%),Uy

V sE%L1Wy

X sE%L1Yy

Z '3g7[y

\ "eDk2]y

^ 5"eDk2_y

` 5#uU|4ay

b E2uT{3cy

d E3e5ey

h 5#uT{3iy

j $U4[1ky

l $U4[1my

n 3EKK1D1DEoy

p b%++t||<qy

r sBT\\:sy

t tS%+.uy

v %eEl3wy

x E3e5yy

z E2uT{3{y

~ E3e5y

@ E2uT{3Ay

B E2uT{3Cy

D E3e5Ey

F %eDk2Gy

H &#uT{3Iy

J uZ'89Ky

L sBT-C-CDMy

N b%++t/E/EFOy

P sBd,Qy

T Rdoo>Uy

V %U8_5Wy

X 4eDk2Yy

Z 63f6[y

\ 63f6]y

^ b%++t/B/BC_y

` b%++t/B/BCay

b %%*@Acy

d E7E2C,DEey

f )S%,7gy

j 	3e=ky

l Rd.B.BCmy

n (Cu6oy

p (Cu6qy

r hU5\:sy

t D%{);<uy

v tUE+,>?wy

x D%{);<yy

z tUE+,>?{y

| D%z):;}y

@ eU:->?Ay

B  ueJ.?@Cy

D sBT-@-@AEy

F 5#uU|4Gy

H Bd,Iy

J r3b	*Ky

L hu_/EFMy

N u]/CDOy

P c3c
3Qy

R  ueK.@ASy

V YU9-=>Wy

X S%+6Yy

Z 
Cs4[y

\ WeU=-AB]y

^  U5\:_y

` gr5;7ay

b XueJ.?@cy

d VUE,,?@ey

f ueU<-@Agy

h ueU=-ABiy

l !&'59L3MNmy

n !&'59L3MNoy

p !&'59L3MNqy

r !)S%	2BCsy

t !)Rt=uy

v eUE-,@Awy

x  E ; 5 yy

| *7CwH}y

~ &ueU<5HIy

@ *7GU D > Ay

F *4% A ; Gy

J *62uT{CKy

L *62uT{CMy

N *8We E ? Oy

R )#tU3Z@Sy

T -dCtEUy

Z 'S%*=[y

\ ;CCj]y

` ?SCjay

d *7BdDey

h "#93#$&iy

l gw6K0LMmy

n $XueJ6GHoy

p b%+.qy

v 4eDk2wy

x XsE%L9yy

z #uU|<{y

| U4[1}y

~ U4[1y

@ &#uT{3Ay

D eS%*5Ey

F uc5:6Gy

H sE#J7Iy

J )%j8IJKy

P #L#uXGQy

T )-eI>NOUy

X 'c5?KYy

` S"ekk43F3FGay

b 0eFmLcy

p c3d,qy

r c3c
+sy

t c3c
+uy

z c5="{y

F  
E$KGy

L  U5\My

T  U5\Uy

^ FBd,_y

` U6]3ay

f _c5+=>gy

h U;-?@iy

j ]Cu6ky

l }c5<8my

n XsE(O<oy

t & H# B$ %uy

x  '5 B# <$ %yy

F &vw ? 9 Gy

L "b%++t?My

P ZeEl3Qy

T 2r5;;(;(;<Uy

V sCs,Wy

Z sCs,[y

` 5#uT{3ay

b 5#uU|4cy

d %eEl3ey

h {Cu>iy

l c5+>?my

p %eEl3qy

r  3h@sy

t  Cy1ABuy

x #9c59=yy

| sE%L1}y

~ sE%L1y

@ %eEl3Ay

B %eEl3Cy

L !'3g?My

P *Bd<Qy

T %U4[1Uy

X ub%+.Yy

\ tWe4F.GH]y

` "5%|1DEay

b !%l0CDcy

d "5%|1DEey

h sCs,iy

j BCFmky

n ?Fmoy

v AF7q6Q;895GVX@A=GVv
  
!'c!25&--c%j9 "3 %gEE..x!+ FE W5A%%*177J+?%@F%*1Q4[F!&q$$V6C    * 5&--e445 FEE  Rag#>gE!Hg#>%#HI		AHHPQQRsP   QBV.RBU5S"BVU5BVVBVVBV+V.#BX!WBW&W%7BX!X BX!c                   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R\        P                  ! R4      R4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! RR R4      R4       R	# )
ztest\?zresult\?\.
ztest?r  \1\1r,   re   z\\1\\1c                     R # )r  r   r_   s   &r   ra   -RegexTests.test_replacement.<locals>.<lambda>	  s    Gr   N)r1   r6   rp   r  rM   s   &r   test_replacementRegexTests.test_replacement	  s    9.@'J
	 	5'37>5%,,w*?EwO5)S97C5*;SA7Kr   c           	     L   \         P                  \         P                  ,           \         P                  ,           pV^,          pRV,           R,           V,           R,           pV P	                  \        \        \        P                  ! V4      4      4      V P                  4       R# )r   r,  r6  r$  N)
rX  ascii_lowercasedigitsascii_uppercaser1   r   r)   r6   r7   r   )r   allsideregexps   &   r   test_common_prefixRegexTests.test_common_prefix	  sk    $$v}}4v7M7MMQwtc!D(3.d5==#89:D<N<NOr   c                   V P                  \        P                  ! R R4      P                  ^4      . RO4       V P                  \        P                  ! RR4      P                  ^ ^4      R.RR.34       V P                  \        P                  ! RR	4      P                  ^^4      R
.. RO34       V P                  \        P                  ! RR4      P                  ^^4      . RO. RO34       V P                  \        P                  ! RR4      P                  ^^^4      R.. ROR.34       V P                  \        P                  ! RR4      P                  ^4      R.4       V P                  \        P                  ! RR4      P                  ^4      RR.4       V P                  \        P                  ! RR4      P                  ^4      R.4       R# )z(\w)+r   rh   r   r   z(\w{3})+rL  rh  z^(\d{1,3})(?:\.(\d{1,3})){3}$z192.168.0.1192z^([0-9A-F]{2}){4} ([a-z]\d){5}$z3FB52A0C a2c4g3k9d3z([a-z]W)([a-z]X)+([a-z]Y)aWbXcXdXeXfYaWfYz.*?(?=(.)+)br(  z.*?(?>(.){0,2})dr  (.)+Nr,  )168r  rN  )3FB52A0C)a2c4g3k9d3)bXcXdXeX)r1   r6   rJ   capturesrL   rM   s   &r   test_capturesRegexTests.test_captures	  s   h6??B E 	k8<EEaK:u~
&	(&F
!!Q5)5F)G	I%G
!!)!Q2J
(2*	+ 	%@
"(1a+tf6N&.	 	ot<EEaH%	&96BKKAN*	gs3<<Q?#Gr   c                   \         P                  ! R R4      pV P                  VP                  ^ ^^4      R4       \         P                  ! RR4      pV P                  VP                  ^ ^^4      R4       \         P                  ! RR4      pV P                  VP                  ^ ^^4      R4       \         P                  ! RR4      pV P                  VP                  ^ ^4      R4       \         P                  ! RR4      pV P                  VP                  4       R4       \         P                  ! RR	4      pV P                  VP                  4       R4       R
# )z(X.*?Y\s*){3}(X\s*)+AB:zXY
X Y
X  Y
XY
XX AB:z(X.*?Y\s*){3,}(X\s*)+AB:z\d{4}(\s*\w)?\W*((?!\d)\w){2}9999XXzA\s*?.*?(\n+.*?\s*?){0,2}\(Xz
A
1
S
1 (Xz	Derde\s*:zaaaaaa:
Derde:zaaaaa:
Derde:N))rH            r     ))r   r  r  r  )r  r  )   r  )r   
   )r  r  )r     )r      )r6   rJ   r1   rK   r  s   & r   test_guardsRegexTests.test_guards	  s   LL3
%'1a*GHLL4
%'1a*GHLL98D1a*DELL8/J1'89LL'897+LL'787+r   c           
        R p\        4       p\        4       pVP                  R4       Fp  pVP                  R4      w  rVVP                  WV34       VP                  WU34       VP                  WV34       VP                  We34       VP                  Wf34       Kr  	  V F  pV F  p\        P
                  ! RV,           R,           V4      pV'       d@   WV3V9  d6   V P                  RP                  \        V4      \        V4      4      4       Km  Ko  WV3V9   g   Ky  V P                  RP                  \        V4      \        V4      4      4       K  	  K  	  R# )u   I=i;I=ı;i=İ;=z(?i)\A\Zz{} matching {}z{} not matching {}N)	r  r   updateaddr6   rL   r9   r  r  )r   pairsrJ  matchingpairr  r  r`   s   &       r   test_turkicRegexTests.test_turkic	  s   'E	5KK$Dzz#HCcZ(LL#$LL#$LL#$LL#$ % C KK	C% 7=z1		"2"9"9%**#& ' 2 zX-		"6"="=eCj*#& ' ! r   c                R   . R!OpV P                  \        P                  ! RRVR7      P                  4       R4       V P                  \        P                  ! RRVR7      P                  4       R4       V P                  \        P                  ! RRVR7      R4       . R"OpV P                  \        P                  ! RR	VR7      P                  4       R	4       V P                  \        P                  ! R
RVR7      P                  4       R4       V P                  \        P                  ! RRVR7      R4       V P                  \	        \        \        P                  ! R. R!OR7      4      4      V P                  4       V P                  \        P                  ! RR\        . R#O4      R7      . 4       V P                  \        P                  ! RR\        . R$O4      R7      R.4       R.pV P                  \        P                  ! RRVR7      P                  4       R%4       RR.pV P                  \        P                  ! RRVR7      P                  4       R%4       R.pV P                  \        P                  ! RRVR7      P                  4       R&4       R.pV P                  \        P                  ! RRVR7      P                  4       R'4       V P                  \        P                  ! RRVR7      P                  4       R'4       V P                  \        P                  ! RR4      P                  4       R(4       V P                  \        P                  ! RR4      P                  4       R(4       V P                  \        P                  ! RR . R7      P                  4       R)4       R# )*onez333\L<bar>444	333one444)r  z(?i)333\L<bar>444	333TWO444
333four444Ns   333\L<bar>444s	   333one444s   (?i)333\L<bar>444s	   333TWO444s
   333four444z3\L<bar>4\L<bar>+5z^\L<options>zsolid QWERTr  z+solid QWERT+solidSTRASSE(?fi)\L<words>u   straßewordsstresskitz(?i)\L<words>SKITSu   SKİTSz(?fi)\b(\w+) +\1\bu    straße STRASSE u    STRASSE straße z^\L<options>$r   )r   twothree)s   ones   twos   three)good	brilliantz	+s\ol[i}d)r.  r/  r$  r  r   r   r  )rG   r
  rE   )r1   r6   rL   r   r   r)   r7   r   r8   r  rK   rJ   )r   r  s   & r   test_named_listsRegexTests.test_named_lists	  s   )%5{uw	-%9;uw	-%5|	 -%6uw	.%:Luw	.%6	 	d5==1F%$' ( )*.*<*<	> 	9:<=?	A568:B	E +%6
/w@@D I	 h'%6
/w@@D I	 99%6		) '&6	)&6
9	) 	&;
9;;?467	L&;
9;;?467	L 	&6BGLLN
	r   c           	         V P                  \        \        \        P                  ! R 4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       RpV P                  \        P                  ! RV4      R4       V P                  \        P                  ! R	V4      P                  ^ ^4      Rr4       V P                  \        P                  ! R
V4      R4       V P                  \        P                  ! RV4      ^ ,          R4       V P                  \        P                  ! RV4      ^ ,          R4       RpV P                  \        P                  ! RV4      P                  ^ ^4      Rs4       V P                  \        P                  ! RV4      P                  ^ ^4      Rt4       V P                  \        P                  ! RV4      P                  ^ ^4      Ru4       V P                  \        P                  ! RV4      P                  ^ ^4      Rt4       V P                  \        P                  ! RV4      P                  ^ ^4      Rs4       V P                  \        P                  ! RV4      P                  ^ ^4      Rt4       V P                  \        \        \        P                  ! R4      4      4      V P
                  4       V P                  \        P                  ! RR4      P                  ^ ^4      Rv4       V P                  \        P                  ! RR4      P                  ^ ^4      Rw4       V P                  \        P                  ! RR4      P                  ^ ^4      Rx4       V P                  \        P                  ! RR4      P                  ^ ^4      Ry4       V P                  \        P                  ! RR4      R4       V P                  \        P                  ! RR4      P                  ^ ^4      Rz4       V P                  \        P                  ! RR 4      P                  ^ ^4      R{4       V P                  \        P                  ! RR!4      P                  ^ ^4      Rv4       V P                  \        P                  ! R"R!4      P                  ^ ^4      R|4       V P                  \        P                  ! R#R$4      P                  ^ ^4      Rv4       V P                  \        P                  ! R#R%4      P                  ^ ^4      R}4       V P                  \        P                  ! R#R&4      P                  ^ ^4      R}4       V P                  \        P                  ! R#R'4      P                  ^ ^4      R}4       V P                  \        P                  ! R#R(4      P                  ^ ^4      Rv4       V P                  \        P                  ! R#R)4      P                  ^ ^4      Rv4       V P                  \        P                  ! R#R*4      P                  ^ ^4      Rv4       V P                  \        P                  ! R#R+4      P                  ^ ^4      R~4       V P                  \        P                  ! R#R,4      P                  ^ ^4      R~4       V P                  \        P                  ! R#R-4      P                  ^ ^4      R~4       V P                  \        P                  ! R#R.4      R4       V P                  \        P                  ! R#R/4      R4       V P                  \        P                  ! R#R04      R4       V P                  \        P                  ! R#R14      R4       V P                  \        P                  ! R#R24      R4       V P                  \        P                  ! R3R44      P                  ^ ^4      R4       V P                  \        P                  ! R5R44      P                  ^ ^4      R4       V P                  \        P                  ! R6R74      P                  ^ ^4      R4       V P                  \        P                  ! R6R84      R4       V P                  \        P                  ! R6R94      P                  ^ ^4      R4       R:pV P                  \        P                  ! R;V4      P                  ^ ^4      R4       V P                  \        P                  ! R<V4      P                  ^ ^4      R4       V P                  \        P                  ! R=V4      P                  ^ ^4      R4       V P                  \        P                  ! R>R?R@P                  4       RA7      RBRC.4       V P                  \        P                  ! R>RDR@P                  4       RA7      RERB.4       V P                  \        P                  ! RFRDR@P                  4       RA7      RCRB.4       V P                  \        P                  ! RGR?R@P                  4       RA7      RHRB.4       V P                  \        P                  ! RIR?R@P                  4       RA7      RCRB.4       V P                  \        P                  ! RGRDR@P                  4       RA7      RBRC.4       V P                  \        P                  ! RJRKRLP                  4       RA7      RMRN.4       V P                  \        P                  ! RJRORLP                  4       RA7      RPRM.4       V P                  \        P                  ! RQRORLP                  4       RA7      RNRM.4       V P                  \        P                  ! RRRKRLP                  4       RA7      RSRM.4       V P                  \        P                  ! RTRKRLP                  4       RA7      RNRM.4       V P                  \        P                  ! RRRORLP                  4       RA7      RMRN.4       V P                  \        P                  ! RURV4      P                  4       R4       V P                  \        P                  ! RWRV4      P                  4       R4       V P                  \        P                  ! RXRY4      P                  4       R4       V P                  \        P                  ! RZR[4      R[R\.4       V P                  \        P                  ! R]R^4      R^R\.4       V P                  \        P                  ! R_R`4      P                  4       R4       V P                  \        P                  ! R_Ra4      P                  4       R4       V P                  \        P                  ! R_Rb4      P                  4       R4       V P                  \        P                  ! R_Rc4      R4       V P                  \        P                  ! R_Rd4      P                  4       R4       V P                  \        P                  ! ReRf4      P                  R4       V P                  \        P                  ! RgRf4      P                  R4       V P                  \        P                  ! RhRi4      P                  R4       V P                  \        P                  ! RjRi4      P                  R4       V P                  \        P                  ! RkRl4      P                  R4       V P                  \        P                  ! RmRn4      P                  . RO^.. 34       V P                  \        \        P                  ! RoRp4      4      Rq4       R# )z(fou){s,e<=1}z(fuu){s}z
(fuu){s,e}z(anaconda){1i+1d<1,s<=1}z(anaconda){1i+1d<1,s<=1,e<=10}z(anaconda){s<=1,e<=1,1i+1d<1}z-molasses anaconda foo bar baz smith anderson z(znacnda){s<=1,e<=3,1i+1d<1}Nz(znacnda){s<=1,e<=3,1i+1d<2}z(ananda){1i+1d<2}z(?:\bznacnda){e<=2}anacondaz(?:\bnacnda){e<=2}z#anaconda foo bar baz smith andersonz(fuu){i<=3,d<=3,e<=5}z(?b)(fuu){i<=3,d<=3,e<=5}z(fuu){i<=2,d<=2,e<=5}z(?e)(fuu){i<=2,d<=2,e<=5}z(fuu){i<=3,d<=3,e}z(?b)(fuu){i<=3,d<=3,e}z(approximate){s<=3,1i+1d<3}z(foobar){e}xirefoabralfobarxiez(?e)(foobar){e}z(?b)(foobar){e}z(foobar){e<=2}xirefoabrzlfdxirefoabzlfdz(foobar){i<=2,s<=2,e<=2}oobargoobaploowapz\b(foobar){e}\bzfoobarzzboing zfoobarz goobar woopz(?b)\b(foobar){e}\bz^(foobar){e<=1}$foobarxfoobarfoobarxfooxbarfoxbarxoobarfoobaxoobarfobarfoobaxfoobarxfoobarxxxxfoobarxfoxbarfoxbarxz (foobar){i<=1,d<=2,s<=3,2d+1s<4}(3oifaowefbaoraofuiebofasebfaobfaorfeoaroz$(?b)(foobar){i<=1,d<=2,s<=3,2d+1s<4}zfoo(bar){e<=1}zap	foobarzapfobarzapfoobrzapzxwww.cnn.com 64.236.16.20
www.slashdot.org 66.35.250.150
For useful information, use www.slashdot.org
this is demo data!
z(?s)^.*(dot.org){e}.*$z(?es)^.*(dot.org){e}.*$z^.*(dot.org){e}.*$z\b\L<words>{e<=1}\bz book cot dog desk zcat dogr'  cotdogz book dog cot desk z dogz(?e)\b\L<words>{e<=1}\bz(?r)\b\L<words>{e<=1}\bzdog z(?er)\b\L<words>{e<=1}\bs   \b\L<words>{e<=1}\bs    book cot dog desk s   cat dogs   cots   dogs    book dog cot desk s    dogs   (?e)\b\L<words>{e<=1}\bs   (?r)\b\L<words>{e<=1}\bs   dog s   (?er)\b\L<words>{e<=1}\bz(\w+) (\1{e<=1})zfoo fouz(?r)(\2{e<=1}) (\w+)s   (\w+) (\1{e<=1})s   foo fouz(?:(?:QR)+){e}r  r   z	(?:Q+){e}r   z(?:service detection){0<e<5}zservic detectionzservice detectzservice detectizservice detectionzin service detection(?:cats|cat){e<=1}cat(?e)(?:cats|cat){e<=1}z(?:cat|cats){e<=1}catsz(?e)(?:cat|cats){e<=1}z(?:cat){e<=1} (?:cat){e<=1}zcat cotz/(?e)(GTTTTCATTCCTCATA){i<=4,d<=4,s<=4,i+d+s<=8}ATTATTTATTTTTCATAz(?:fo){e<=1}|(?:fo){e<=2}FOT)	      rU  )rE   rE   )rV  r  rX  )r   r  rY  )r  r  )rI   rI   )   r  rZ  )r   rV  r\  )r  r[  r]  )r   r  r^  )r
  r  r_  )r0  r0  )r   r  r`  )r  r  ra  )"   '   rb  )r   rV  rH   r  )r^  rH   r  )r   x   )ri  ri  )rh  )]   d   ))r   w   )   e   )r  fou)s   foos   fou)r   r  )r   r  )r   r
  )r      r   r   rG   r   r   r   r   rG   r   rG   r   r   )r   r  r  r[  )r1   r   r)   r6   r7   r   rJ   rK   r8   r   rT  rL   	fullmatchfuzzy_countsfuzzy_changesrG  r*  s   & r   
test_fuzzyRegexTests.test_fuzzy4
  sU   d5==#ABC


	d5==#<=>


	d5==#>?@


	d5==1K#LMN


	d5==1Q#RST


	d5==1P#QRS


	 ?&DdK
	&D
Q
.	0&94@$G&<dCAF
	&;TB1E
	 5&=tDII!
	 &A
Q
.	0&=tDII!
 	"&A
Q
.	0&:DAFFq!L
	&>EJJ1
 	" 	d5==1N#OPQ


	 	m
!!%a-=	?&7
!!%a-=	?&7
!!%a-A	C 	&6
41:'7	9&6GN 	&@
#tAqz+=	? 	&9:FKKA
	 &9
&((,Q
4D	F&=
&((,Q
4H	J 	&8(CHHAN
	&8)DII!
	 &8)DII!
	 &8)DII!
	 &8(CHHAN
	&8(CHHAN
	&8(CHHAN
	&8'BGG1M
	&8'BGG1M
	&8'BGG1M
	&8*EtL&8*EtL&8*EtL&8)DdK&8)DdK
 	&H
466:d1aj C	 	&L
466:d1aj C	
 	&9;GLLQ
	 &9:FM&9:FKKA
	 O&?FKKA
$	&&@$GLLQ
#	%&;TBGG1M
	!
 	'=
y'8:<A5>	K'=
y'8:<BE?	L'A
y'8:<A5>	K'A
y'8:<BE?	L'B
y'8:<A5>	K'A
y'8:<A5>	K'>
 
(8(8(:<>Df=M	O'>
 
(8(8(:<>Ev=N	P'B
 
(8(8(:<>Df=M	O'B
 
(8(8(:<>Ev=N	P'C
 
(8(8(:<>Df=M	O'B
 
(8(8(:<>Df=M	O 	&99ELLN
	&=
VX~	/&:
fh 0	2 	'8'BW
E 	|U;eR[I 	%D
"dfg	/%D
 DFG	-%D
!TVW	.%D
 $	&%D
 ""&$&'	3 	)>
y	*)B
y	* 	)>
,		+)B
,		+ 	)G
!\9	. 	&X
,}~sB.G	I 	ekk*EtLM
	r   c                ^   V P                  \        P                  ! R R4      R,          R"4       V P                  \        P                  ! R R4      R,          R#4       V P                  \        P                  ! R R4      R,          R$4       V P                  \        P                  ! R R4      R,          R%4       V P                  \        P                  ! R R4      R,          R&4       V P                  \        P                  ! R R4      R4       V P                  \        P                  ! R	R4      R,          R'4       V P                  \        P                  ! R	R4      R,          R(4       V P                  \        P                  ! R	R4      R,          R)4       V P                  \        P                  ! R	R4      R,          R*4       V P                  \        P                  ! R	R4      R,          R+4       V P                  \        P                  ! R	R4      R4       V P                  \        P                  ! R
R4      R,          R,4       V P                  \        P                  ! R
R4      P                  ^4      . R-O4       V P                  \        P                  ! RR4      R,          R.4       V P                  \        P                  ! RR4      P                  ^4      . R/O4       V P                  \        P                  ! RR4      R,          R04       V P                  \        P                  ! RR4      R,          R14       V P                  \        P                  ! RR4      R,          R24       V P                  \        P                  ! RR4      R,          R24       \        P                  ! R4      pV P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R4      4      R4       V P                  \        VP                  R 4      4      R4       V P                  \        VP                  R!4      4      R4       R# )3z(\w)(?:(?R)|(\w?))\1re   r  r  abbaNkayakpaperdontmatchmez(?r)\2(?:(\w?)|(?R))(\w)z\(((?>[^()]+)|(?R))*\)
(ab(cd)ef)z(?r)\(((?R)|(?>[^()]+))*\)z\(([^()]+|(?R))*\)zsome text (a(b(c)d)e) more textz(?r)\(((?R)|[^()]+)*\)z!(foo(\(((?:(?>[^()]+)|(?2))*)\)))foo(bar(baz)+baz(bop))z%(?r)(foo(\(((?:(?2)|(?>[^()]+))*)\)))zv^\s*(<\s*([a-zA-Z:]+)(?:\s*[a-zA-Z:]*\s*=\s*(?:'[^']*'|"[^"]*"))*\s*(/\s*)?>(?:[^<>]*|(?1))*(?(3)|<\s*/\s*\2\s*>))\s*$z<foo><bar></bar></foo>Tz<foo><bar></foo></bar>Fz<foo><bar/></foo>z<foo><bar></foo>z<foo bar=baz/>z<foo bar="baz">z<foo bar="baz"/>z<    fooo   /  >z	foo<foo/>z<foo>foo</foo>z<foo><bar/>foo</foo>z<a><b><c></c></b></a>)re   r,   r   )r  rh   r   )r{  rh   N)r|  r  N)papr0  rh   )re   r   r,   )r  r   rh   )r{  Nrh   )r|  Nr  )r  rh   r0  )r  r  )r(  r)  (cd)r  )r  r(  )r  r)  r  r(  )(a(b(c)d)e)r  )r  rh   )r  r  z(bar(baz)+baz(bop))zbar(baz)+baz(bop))r1   r6   rJ   r  r7   rG  )r   rgxs   & r   test_recursiveRegexTests.test_recursive
  s   &=tDaI
	&=uEqJ
	&=vFK
	&=wGL
	 &=wGL
	&=}M
	 	&A4H!M
	&A5I1N
	&A6JA  	"&A7KQ !	#&A7KQ 	 &A
	  	&?N
#	%&?
 %?	A 	&C
2	4&C
 %?	A 	&;
+-./23G	I 	&?
+-./23G	I 	&J
"$%&)+	 
 	&N
"$%&)+	 
 mm  Z  [cjj)ABCTJcjj)ABCUKcjj)<=>Ecjj);<=uEcjj)9:;UCcjj):;<eDcjj);<=tDcjj);<=tD 	cjj56>cjj)9:;TBcjj)?@A4Hcjj)@ABDIr   c                   \         P                  ! R 4      pV P                  \        P                  ! V4      VJ 4       V P                  \        P                  ! V4      VJ 4       VP                  R 4      pV P                  \        P                  ! V4      VJ4       V P                  \        P                  ! V4      VJ4       V P                  VP                  RJ4       \        P                  ! V4      pVP                  4        V P                  VP                  RJ4       V P                  VP                  RJ 4       \         P                  ! RR4      p\        P                  ! V4      pV P                  \        V4      P                  4       R 4       V P                  \        V4      P                  4       R4       \         P                  ! RR4      p\        P                  ! V4      pV P                  \        V4      P                  4       R 4       V P                  \        V4      P                  4       R4       \         P                  ! RR4      p\        P                  ! V4      pV P                  \        V4      R 4       V P                  \        V4      R4       \         P                  ! RR4      p\        P                  ! V4      pV P                  \        V4      R 4       V P                  \        V4      R4       R# )rh   Nr\   r(  r   r   rs  )r6   r7   
assertTruecopydeepcopyrL   rX  detach_stringr"  r1   r3  r   r  )r   rr`   m2r#  it2s   &     r   	test_copyRegexTests.test_copy<  s   MM#		!)*a(A-.
 GGCL		!A-.a(12,-YYq\
,-		T)* ^^C&iimb)3/c*C0 ^^C&mmBb)3/c*C0 __S%(iimb3'cC( __S%(mmBb3'cC(r   c                   V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! RRR4      R	4       V P                  \        P                  ! R R4      P                  R4      R4       R# )
r  z{0} => {2} {1}r  foo bar => bar fooz(?<word1>\w+) (?<word2>\w+)z{word2} {word1}bar fooN)r  rG   )r  rG   )r1   r6   subfsubfnrL   expandfrM   s   &r   test_formatRegexTests.test_formatg  s    N4D
*	,$B
Y()2	4 	^5E
/	1%C
Y()7	9 	^
W-.0D	Fr   c                   V P                  \        \        P                  ! R R 4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! R R^R7      4      R4       V P                  \        \        P                  ! R R^R7      4      R4       V P                  \        \        P                  ! R R^R7      4      R4       V P                  \        \        P                  ! R R^^R7      4      R4       V P                  \        \        P                  ! R	R 4      4      R4       V P                  \        \        P                  ! R	R4      4      R4       V P                  \        \        P                  ! R	R^R7      4      R4       V P                  \        \        P                  ! R	R^R7      4      R4       V P                  \        \        P                  ! R	R^R7      4      R4       V P                  \        \        P                  ! R	R^^R7      4      R4       R
# )r   Tr  F)rW  xabc)rV  rW  r  z(?r)abcNr1   rG  r6   ru  rM   s   &r   test_fullmatchRegexTests.test_fullmatchu  s   eoofe<=tDeooff=>FeooffQGH$Oeooff!DEtLeoofg1EFNeoofg1 	 	eooj%@A4Heooj&ABEJeooj&KL
	 	eooj&aHI
	eooj'qIJ
	eooj'q 	r   c           	        V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R \        R4      \        R4      4      R4       V P                  \        P                  ! RRR4      R4       V P                  \        P                  ! R\	        R4      \	        R4      4      R4       V P                  \        P                  ! R\        R4      \        R4      4      R4       V P                  \        P                  ! R\        R4      \        R4      4      R4       R\        R4      3 F  pV P                  \        P                  ! R	V4      . RO4       \        P                  R8  dU   V P                  \        P                  ! R
V4      . RO4       V P                  \        P                  ! RV4      . RO4       K  V P                  \        P                  ! R
V4      . RO4       V P                  \        P                  ! RV4      . R O4       K  	  R\	        R4      \        R4      \        R4      3 F  pV P                  \        P                  ! RV4      . R!O4       \        P                  R8  dU   V P                  \        P                  ! RV4      . R"O4       V P                  \        P                  ! RV4      . R#O4       K  V P                  \        P                  ! RV4      . R$O4       V P                  \        P                  ! RV4      . R%O4       K  	  R\        R4      3 F~  pV P                  \        P                  ! RV4      . R&O4       V P                  \        P                  ! RV4      . R&O4       V P                  \        P                  ! RV4      . R'O4       K  	  R\	        R4      \        R4      \        R4      3 F~  pV P                  \        P                  ! RV4      . R(O4       V P                  \        P                  ! RV4      . R(O4       V P                  \        P                  ! RV4      . R)O4       K  	  R\        R4      3 EF  pV P                  \        P                  ! RV4      P                  4       R*4       V P                  \        P                  ! RV4      P                  4       R+4       V P                  \        P                  ! RV4      P                  ^ 4      R4       V P                  \        P                  ! RV4      P                  ^4      R4       V P                  \        P                  ! RV4      P                  ^^4      R,4       EK  	  R\	        R4      \        R4      \        R4      3 EF  pV P                  \        P                  ! RV4      P                  4       R*4       V P                  \        P                  ! RV4      P                  4       R-4       V P                  \        P                  ! RV4      P                  ^ 4      R4       V P                  \        P                  ! RV4      P                  ^4      R4       V P                  \        P                  ! RV4      P                  ^^4      R.4       EK  	  R# )/r-   rh   r   xaz   yr  s   xyzs   xazr   r   r   r   s   :a:b::c   :s   :*s   (:*)r  r
  r  r  s
   a:b::c:::ds   :+s   (:+)s   (:)(:*)r  s   (a)Nr   r   r   r   r   r   )r   r  rW  r   rc  )r   r   r  r   rW  r   rc  r   )r   r  r   r   r  r  r   r   rW     ::r   r   rc  r   r   )r   r  rW  rc  )r   r  r  r  rW  r  rc  r  r  )r  r  s   :::))r  r   )r  r  )r  r  r   r   r!  )r  )r  r  )r2   r6   rp   r   r   	bytearray
memoryviewr   r   r   r8   r1   rL   rT  r   )r   rX  s   & r   test_issue_18468RegexTests.test_issue_18468  sY   eiiS%8%@eii[-=
e
$	&eiidF;VDeiimD.A

!"(	*eiiio
F
$	&eiij.>
V
%	'  Y!77F!!%++c6": = 9,%%ekk$&? B( )%%ekk&&&A DL M %%ekk$&? B %%ekk&&&A D, - 8 "=#<
J
J!79F!!%++dF"; > 9,%%ekk%&@ C3 4%%ekk'6&B E  %%ekk%&@ C %%ekk'6&B E1 29  #K$==F!!%--f"= @ !!%--"? B !!%--	6"B E' ( > %mM&B
M
"J}$=?F!!%--v"> A !!%--"@ C !!%--
F"C F1 2? ;s++FU[[f5<<>CU[[7>>@&IU[[7==a@#FU[[7==a@#FU[[7==aC F  , ]40)D/
T
FU[[v6==?DU[[8??A7KU[[8>>qA4HU[[8>>qA4HU[[8>>q!D G r   c           	     
   V P                  \        P                  ! R RRR7      P                  R4       V P                  \        P                  ! R RRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      P                  R4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      R4       V P                  \        P                  ! RR	RR7      P                  R
4       V P                  \        P                  ! RR	RR7      P	                  4       R4       V P                  \        P                  ! RRRR7      P                  R4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      P                  R
4       V P                  \        P                  ! RRRR.R7      P                  R
4       V P                  \        P                  ! RRRR.R7      P	                  4       R 4       V P                  \        P                  ! RRRR.R7      P                  R4       V P                  \        P                  ! RRRR.R7      P	                  4       R4       V P                  \        P                  ! RRRR.R7      P                  R
4       V P                  \        P                  ! RRRR.R7      P	                  4       R 4       V P                  \        P                  ! RRRR.R7      P                  R4       V P                  \        P                  ! RRRR.R7      P	                  4       R4       V P                  \        P                  ! RRRR.R7      R4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RR RR7      P	                  4       R!4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      P	                  4       R!4       V P                  \        P                  ! RRRR7      P	                  4       R4       V P                  \        P                  ! RRRR7      R4       V P                  \        P                  ! RRRR7      R4       R# )"r(  rh   TpartialrR  rP  catchNzabc\w{3}rL  Fr  z\d{4}$1234z	\L<words>post)r  r(  rV  r&  POST   poﬆPOSz	[a-z]*4R$ab4a4a4R4aa44rP  rI   r  r`  r  r  )r1   r6   rL   r  rK   rM   s   &r   test_partialRegexTests.test_partial  s   T3=EEtLT3=BBDfMWeTBJJ
	WeTBGGI L 	WgtDdK[(	([(	(['	'['	( 	YEMM
	 	\64!'5	*\64$&&	*\5$!'4	)\5$$&&	* 	%6%gu	.%6"dff	.%6t%gt	-%6t"dff	.%6
ug'(,	. 	\3EJJL
	\4FKKM
	\5$GLLN
	\4FKKM
	\5$GLLN
	\4FM\5$GNr   c                   V P                  \        \        P                  ! R \        P                  R7      4      R4       V P                  \        \        P                  ! R\        P                  R7      4      R4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR	4      R
.4       V P                  \        P
                  ! RR4      R.4       V P                  \        P
                  ! RR4      R.4       T P                  \        P                  ! RR4       Uu. uF  qP                  4       NK  	  upR.4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      P                  ^ 4      R4       V P                  \        P                  ! RR\        P                  \        P                  ,          4      P                  ^ 4      R4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        \        P                  ! RR\        P                  R7      4      R4       V P                  \        P                  ! RR4      P                  ^ ^4      ER4       V P                  \        P                  ! RR4      P                  ^ ^4      ER4       V P                  \        P                  ! R R!4      P                  ^ 4      R!4       V P                  \        P                  ! R"R#4      R4       V P                  \        P                  ! R$R%4      P                  ^ 4      R4       V P                  \        P                  ! R&R'4      P                  ^4      ER4       V P                  \        P                  ! R&R(4      P                  ^4      ER4       V P                  \        P                  ! R&R)4      P                  ^4      ER4       V P                  \        P                  ! R*R)4      P                  4       R)4       V P                  \        P                  ! R+R,4      P                  4       ER4       V P                  \        P                  ! R-R'4      P                  4       ER4       V P                  \        P                  ! R-R(4      P                  4       ER4       V P                  \        P                  ! R.R4      P                  ^ 4      R4       V P                  \        P                  ! R/R)\        P                  R7      P                  ^ 4      R)4       V P                  \        P                  ! R0R14      P                  ^ ^4      ER4       V P                  \        P                  ! R2R14      P                  ^ ^4      ER4       V P                  \        P                  ! R3R14      P                  ^ ^4      ER4       V P                  \        P                  ! R4R14      P                  ^ ^4      ER4       V P                  \        P                  ! R5R64      P                  ^ 4      R'4       V P                  \        P
                  ! R7R8R9R:.R;7      . ERO4       V P                  \        P
                  ! R<R84      . ERO4       V P                  \        P
                  ! R=R84      . ERO4       V P                  \        P
                  ! R>R84      . ERO4       V P                  \        P                  ! R?R'4      P                  ^ ^^4      ER4       V P                  \        P                  ! R@RA4      P                  ^ ^4      ER4       V P                  \        P                  ! RBR'4      P                  ^ ^4      ER4       V P                  \        P                  ! RCER4      R4       V P                  \        P                  ! RDRE4      R4       V P                  \        P                  V P                   RF 4       V P                  \        P                  ! RGRH4      P                  ^ 4      ER4       V P                  \        P                  ! RIRJ4      P                  ^ 4      RJ4       V P                  \        P                  ! RKRL4      R4       V P                  \        P                  ! RMRN4      R4       V P                  \        P                  ! RORP4      P                  ^ ^^4      ER4       V P                  \        P
                  ! RQRR4      RRS.4       V P                  \        P
                  ! RTRR4      RRS.4       V P                  \        P
                  ! RURR4      RRS.4       V P                  \        P
                  ! RVRR4      RRS.4       V P                  \        P                  ! RWRX4      P                  4       RX4       T P                  \        P                  ! RYRZ4       Uu. uF  qP                  4       NK  	  upR[R\.4       V P                  \        P                  ! R]R^4      P#                  R_4      . ERO4       V P                  \        P                  V P$                  R` 4       RapRbpV P                  \        P                  ! W#\        P&                  4      ^ ,          Rc4       V P                  \        P
                  ! RdRe4      Rf.4       V P                  \)        \        P*                  ! RgRhRi\        P,                  4      4      \)        Rj4      4       V P                  \        P                  ! RkRl4      R4       V P                  \        P                  ! RmRn4      P/                  Ro4      ERER.4       V P                  \        P*                  ! RpRq Rr4      Rs4       \        P                  ! Rt\        P                  R7      pV P                  VP                  Ru4      R4       V P                  VP                  Ru4      . 4       V P                  \        P                  V P0                  Rv 4       V P                  \        P2                  ! RwRxRy7      Rz4       V P                  \        P2                  ! RwRRy7      R{4       V P                  \        P2                  ! Rw4      R{4       V P                  \        P2                  ! R|RxRy7      R}4       V P                  \        P2                  ! R|RRy7      R~4       V P                  \        P2                  ! R|4      R~4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        P                  ! RR4      P                  4       ER4       \        P                  ! R\        P4                  \        P6                  ,          R7      pT P                  VP                  R4       Uu. uF  qfP                  4       NK  	  upR.4       V P                  VP                  R4      R.4       RpT P                  VP                  V4       Uu. uF  qfP                  4       NK  	  upR.4       V P                  VP                  V4      R.4       \        P                  ! R\        P4                  \        P8                  ,          \        P6                  ,          R7      pT P                  VP                  R4       Uu. uF  qfP                  4       NK  	  upR.4       V P                  VP                  R4      R.4       RpT P                  VP                  V4       Uu. uF  qfP                  4       NK  	  upR.4       V P                  VP                  V4      R.4       \:        P<                  ER8  d*   V P                  \        P*                  ! RRoR4      RA4       M(V P                  \        P*                  ! RRoR4      Ro4       V P                  \        P*                  ! RRoR4      RA4       \:        P<                  ER8  d*   V P                  \        P*                  ! RRR4      R4       M(V P                  \        P*                  ! RRR4      R4       V P                  \        P*                  ! RRR4      R4       V P                  \        P*                  ! RRR\        P>                  R7      R4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P                  ! RR4      P@                  ER4       V P                  \        P
                  ! RR4      . 4       V P                  \        P*                  ! RoRRo4      Ro4       V P                  \        \        P                  ! R'R'\        PB                  4      4      R4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P
                  ! RR4      RR.4       V P                  \        P                  RR 4       V P                  \        P                  ! RR'4      P                  ^ ^^4      ER4       V P                  \        P                  ! RR'4      P                  ^ ^^4      ER4       RPE                  R \G        R4       4       4      pV P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       \I        \G        R4      4      pV P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        RPE                  \        P
                  ! RV4      4      4      \)        RPE                  \        P
                  ! RV4      4      4      4       V P                  \)        \        P                  ! RR4      P                  4       4      \)        R4      4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        P*                  ! RRRn4      R4       V P                  \        P*                  ! RRRn4      R4       V P                  \        PJ                  ! RRRn4      R4       V P                  \        PJ                  ! RRRn4      R4       V P                  \        PL                  ! RRnRR7      P                  4       ER4       V P                  \        PL                  ! RRnRR7      PN                  R4       V P                  \        P                  ! RRRR7      P                  4       ER4       V P                  \        P                  ! RRRR7      P                  4       ER4       V P                  \        P                  ! RRRR7      P                  4       ER4       V P                  \        P                  ! RR4      P                  4       ER4       V P                  \        P                  ! RR4      R4       V P                  \        P
                  ! RR4      . ERO4       V P                  \        P
                  ! ER R4      . ERO4       T P                  \        P                  ! ERER4       Uu. uF  qP                  4       NK  	  up. ERO4       T P                  \        P                  ! ERER4       Uu. uF  qP                  4       NK  	  up. ERO4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ER	ER
4      ^ ,          ER
4       V P                  \        P                  ! ERR4      P                  ^ ^4      ER4       V P                  \        P
                  ! ERER4      ERER.4       V P                  \        P
                  ! ERER4      RER.4       V P                  \        P                  ! ERR4      P                  ^ ^4      ER4       V P                  \        P
                  ! ERER4      ERRn.4       V P                  \        P
                  ! ERER4      ERR.4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ERR'4      P                  ER4      R4       V P                  \        P                  ! ERR'4      P#                  ER4      R'.4       V P                  \        P                  ! ERER4      ^ ,          R4       V P                  \        P                  ! ERER4      ^ ,          R4       V P                  \        P                  ! ERER4      R4       V P                  \        P                  ! ERER4      ^ ,          ER4       V P                  \        P                  ! ERER 4      ^ ,          ER 4       V P                  \        P                  ! ERER!4      ^ ,          ER"4       V P                  \        P                  ! ER#ER 4      ^ ,          ER$4       V P                  \        P                  ! ER#ER!4      ^ ,          ER"4       V P                  \        P                  ! ER%ER!4      ^ ,          ER!4       V P                  \        P                  ! ER%ER&4      ^ ,          ER"4       V P                  \        P                  ! ER'ER&4      ^ ,          ER"4       V P                  \        P                  ! ER(ER&4      ^ ,          ER"4       V P                  \        P                  ! ER)ER4      R4       V P                  \        P                  ! ER*ER4      ^ ,          ER4       V P                  \        P                  ! ER+ER 4      ^ ,          ER 4       V P                  \        P                  ! ER+ER!4      ^ ,          ER"4       V P                  \        P                  ! ER,ER!4      ^ ,          ER!4       V P                  \        P                  ! ER,ER&4      ^ ,          ER"4       V P                  \        P                  ! ER-ER&4      ^ ,          ER"4       V P                  \        P                  ! ER.ER&4      ^ ,          ER"4       V P                  \        P                  ! ER/ER 4      ^ ,          ER 4       V P                  \        P                  ! ER/ER!4      ^ ,          ER"4       V P                  \        P                  ! ER0ER 4      ^ ,          ER$4       V P                  \        P                  ! ER0ER!4      ^ ,          ER"4       V P                  \        P                  ! ER1ER!4      ^ ,          ER!4       V P                  \        P                  ! ER1ER&4      ^ ,          ER"4       V P                  \        P                  ! ER2ER&4      ^ ,          ER"4       V P                  \        P                  ! ER3ER&4      ^ ,          ER"4       V P                  \        P                  ! ER4ER 4      ^ ,          ER 4       V P                  \        P                  ! ER4ER!4      ^ ,          ER"4       V P                  \        P                  ! ER5ER!4      ^ ,          ER!4       V P                  \        P                  ! ER5ER&4      ^ ,          ER"4       V P                  \        P                  ! ER6ER&4      ^ ,          ER"4       V P                  \        P                  ! ER7ER&4      ^ ,          ER"4       ER8p	V P                  \Q        \        P
                  ! ER9V	4      4      ^4       V P                  \        P                  ! ER:ER;4      P                  4       ER4       V P                  \        P                  ! ER<ER=4      ^ ,          ER=4       \        P                  ! ER>4      p
ER?pT P                  V
P                  V4       Uu. uF  qP                  ^^4      NK  	  upERER.4       V P                  \        P                  ! ER@ERA\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERBERA\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERCERD4      P                  4       ER4       V P                  \        P                  ! EREERD4      R4       V P                  \        P                  ! ERFERG4      P                  4       ER4       V P                  \        P
                  ! ERFERH4      ERIERJ.4       V P                  \        P                  ! ERKERL4      P                  ^ ^4      ER4       V P                  \        P                  ! ERNERL4      P                  ^ ^4      ER4       V P                  \        P*                  ! ERKEROERL4      ERM4       V P                  \        P*                  ! ERNEROERL4      ERM4       V P                  \        P                  ! ERPERQR.ERR7      P                  4       ER4       V P                  \        P                  ! ERSERQR.ERR7      P                  4       ER4       V P                  \        P                  ! ERTERU4      P                  4       ER4       V P                  \        P                  ! ERVERU4      P                  4       ER4       V P                  \        P                  ! ERWERX4      P                  4       ER4       V P                  \        P                  ! ERWERY4      P                  4       ER4       V P                  \        P                  ! ERZERY4      P                  4       ER4       \        P                  ! ER[ER\ER].ER^7      p\R        PT                  ! V4      p\R        PV                  ! V4      pV P                  VP                  ER\4      P                  4       ER4       V P                  \        P                  ! ER_ER`\        P&                  R7      P                  4       ER4       V P                  \        P                  ! ER_ERa\        P&                  R7      P                  4       ER4       V P                  \        P                  ! ER_Ro\        P&                  R7      R4       V P                  \        P                  ! ERbER`\        P&                  R7      P                  4       ER4       V P                  \        P                  ! ERbERa\        P&                  R7      P                  4       ER4       V P                  \        P                  ! ERbRo\        P&                  R7      R4       V PY                  \        P                  ERc 4       V PY                  \        P                  ERd 4       V P                  \        \        P                  ! ERe4      4      R4       V P                  \        \        P                  ! ERf4      4      R4       V P                  \        P
                  ! ERgERh\        PZ                  4      ERER.4       V P                  \        P                  ! ERiERjRR7      P                  4       ER4       ERkpERlpV P                  \        \        P                  ! ERmV,           V4      4      R4       V P                  \        \        P                  ! ERmV,           V4      4      R4       V P                  \        \        P                  ! ERnV,           V4      4      Rx4       V P                  \        \        P                  ! ERnV,           V4      4      Rx4       V P                  \        \        P                  ! ERoV,           V4      4      Rx4       V P                  \        \        P                  ! ERoV,           V4      4      Rx4       V P                  \        \        P                  ! ERpERqERrERq.ERs7      4      R4       V P                  \        \        P                  ! ERtERqERrERq.ERs7      4      R4       V P                  \        \        P                  ! ERuERqERrERq.ERs7      4      R4       V P                  \        \        P                  ! ERvERqERrERq.ERs7      4      R4       V P                  \        P                  ! ERwERxERyERz.ERs7      P                  4       ER4       V P                  \        P                  ! ER{ERxERyERz.ERs7      P                  4       ER4       V P                  \        P                  ! ER|ER}4      P                  4       ER4       V P                  \        P                  ! ER~ER}4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      R4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       ERpERpV P                  \        \        P                  ! VV4      4      Rx4       V P                  \        \        P                  ! ERER\4      4      R4       V P                  \        \        P                  ! ERER\4      4      Rx4       V P                  \        \        P                  ! ERER\4      4      R4       V P                  \        \        P                  ! ERER\4      4      Rx4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERER\        P&                  4      P@                  ER4       V P                  \        P                  ! ERER\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERER\        P&                  4      P@                  ER4       V P                  \        P                  ! ERER\        P&                  4      P                  4       ER4       V P                  \        P                  ! ERER\        P&                  4      P@                  ER4       V P                  \        P                  ! ERER\        P4                  \        P8                  ,          R7      P                  4       ER4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        P
                  ! ERER4      ERER.4       V P                  \        P
                  ! ERER4      . 4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        P
                  ! ERER4      . ERO4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P2                  ! ERRxRxER7      ER4       V P                  \        P2                  ! ERRxRER7      ER4       V P                  \        P2                  ! ERRRxER7      ER4       V P                  \        P2                  ! ERRRER7      ER4       V P                  \        P2                  ! ER4      ER4       V P                  \        P                  ! ERRL4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P]                  4       ERR/4       V P                  \        P                  ! ERR4      P_                  4       ERR'./4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P]                  4       ERR/4       V P                  \        P                  ! ERR4      P_                  4       ERR'./4       V P                  \        P                  ! ERR4      P                  4       ER4       V P                  \        P                  ! ERR4      P]                  4       ERR/4       V P                  \        P                  ! ERR4      P_                  4       ERR'./4       V P                  \        \        P                  ! ERR4      4      R4       V P                  \        P                  ! ERERRR7      P                  4       ER4       V P                  \        P                  ! ERERRR7      P                  4       ER4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        PL                  ! ERR4      P#                  Ro4      . ERO4       V P                  \        PL                  ! ERR4      P                  Ro4      R4       V P                  \        PL                  ! ERR4      P#                  Ro4      . ERO4       V P                  \        PL                  ! ERR4      P                  Ro4      ER4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERRnRR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  Rx4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERRRR7      PN                  R4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERR'RR7      PN                  Rx4       V P                  \        P                  ! ERERRR7      PN                  Rx4       ERpERp	\        P                  ! VV	\        P&                  R7      pV P                  VP@                  ER4       V P                  VP`                  . ER.. 34       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        \        P                  ! ERR'4      4      R4       V P                  \        \        P                  ! ERR'4      4      R4       V P                  \        PL                  ! ERER4      P                  4       ER4       V P                  \        P                  ! ERER4      P_                  4       ER ER.ER. ERER./4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        P                  ! ERER4      P`                  . . . ERO34       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P`                  ^ .. ^.34       V P                  \        P                  ! ER	ER4      P@                  ER4       V P                  \        P                  ! ER	ER4      P`                  . . ^ .34       V P                  \        P                  ! ER
ER4      P@                  ER4       V P                  \        P                  ! ER
ER4      P`                  . . ^ .34       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      P@                  ER4       V P                  \        PL                  ! ERER4      P@                  ER4       V P                  \        PL                  ! ERER4      P@                  ER4       V P                  \        P                  ! ERER4      R4       V P                  \        \        P                  ! ER4      4      R4       V P                  \        \        P                  ! ER4      4      R4       V P                  \        P
                  ! ERER4      . ERO4       V P                  \        P
                  ! ERER4      . ERO4       V P                  \        P                  ! ERER\        Pb                  R7      P@                  ER4       V P                  \        \        P                  ! ERERa4      4      R4       V P                  \        \        P                  ! ERERa4      4      R4       V P                  \        P                  ! ER ER!4      P                  4       ER!4       V P                  \        P                  ! ER ER"4      R4       V P                  \        P                  ! ER#ER$4      P                  4       ER$4       V P                  \        P                  ! ER#ER%4      R4       V P                  \        P                  ! ER#ER$4      P`                  . ^.. 34       V P                  \        P                  ! ER&ER$4      P                  4       ER$4       V P                  \        P                  ! ER'ER$4      P`                  . ^.. 34       V P                  \        P                  ! ER(4      Pe                  ER)4      . ERO4       V P                  \        P                  ! ER(4      Pe                  ER*4      . ERO4       V P                  \        P                  ! ER+4      P                  ER,4      R4       V P                  \        P                  ! ER-4      P                  ER.4      R4       \        P                  ! ER/\        P                  \        Pf                  ,          R7      pV P                  VP                  ER04      P                  4       ER04       V P                  VP                  ER14      P                  4       ER24       V P                  VP                  ER34      P                  4       ER44       V P                  VP                  ER54      P                  4       ER64       ER7pER8p\        P                  ! VV\        P&                  R7      pV P                  VP                  4       ER4       V P                  VP]                  4       ER9ER:ER;ER<ER=ER>ER?ER@ERAERB/4       \        P                  ! VV\        PZ                  R7      pV P                  VP                  4       ER4       V P                  VP]                  4       ER9ER:ER;ER<ER=ER>ER?ER@ERAERB/4       ERCpERDp\        P                  ! VV\        P&                  R7      pV P                  VP@                  ER4       V P                  VP`                  . . . 34       EREp\        P                  ! VV\        P&                  R7      pV P                  VP@                  ER4       V P                  VP`                  ^^.. . 34       V P                  \        P*                  ! ERFERGERH4      ERI4       V P                  \        PJ                  ! ERFERJERH4      ERI4       V P                  \        P                  ! ERFERI4      Pi                  ERG4      ERI4      3 V P                  \        P                  ! ERFERI4      Pk                  ERJ4      ERI4       V P                  \        P                  ! ERKERL4      R4       V P                  \        P                  ! ERKERL\        P                  R7      R4       V P                  \        P                  ! ERMERN4      P                  4       ER4       V P                  \        P                  ! EROERN4      P                  4       ER4       V P                  \        P                  ! ERPERQ4      R4       V P                  \        P                  ! ERRERQ4      P                  4       ER4       V P                  \        P                  ! ERSR4      Pm                  4       R.. ERO34       V P                  \        P                  ! ERSR4      Po                  4       ER.. ERO34       V P                  \        \        PL                  ! ERTERU4      4      R4       V P                  \        \        PL                  ! ERVERW4      4      R4       V P                  \        P                  ! ERXRL4      R4       V P                  \        P                  ! ERXRL4      P                  4       ER4       V P                  \        P                  ! ERYERZ4      P                  4       ER4       V P                  \        P                  ! ER[Rn4      P                  4       ER4       V P                  \        P                  ! ER\Rn4      P                  4       ER4       V P                  \        P                  ! ER]Rn4      P                  4       ER4       V P                  \        P                  ! ER^Rn4      P                  4       ER4       V P                  \        P                  ! ER_ER`. ERa7      P                  4       ER4       V P                  \        P                  ! ERb4      P                  R'4      P                  4       ER4       V P                  \        P                  ! ERb\        P                  R7      P                  R'4      P                  4       ER4       V P                  \        P                  ! ERcERdRR7      P                  4       ER4       V P                  \        P                  ! ERcEReRR7      R4       V P                  \        P                  ! ERcERfRR7      P                  4       ER4       V P                  \        P                  ! ERgERhRR7      P                  4       ER4       V P                  \        P                  ! ERgERiRR7      R4       V P                  \        P                  ! ERjERdRR7      P                  4       ER4       V P                  \        P                  ! ERjEReRR7      R4       V P                  \        P                  ! ERjERfRR7      P                  4       ER4       V P                  \        P                  ! ERkERhRR7      P                  4       ER4       V P                  \        P                  ! ERkERiRR7      R4       V P                  \        \        P                  ! ERlERmRR7      4      R4       V P                  \        \        P                  ! ERlERnRR7      4      R4       V P                  \        \        P                  ! ERlERoRR7      4      R4       V P                  \        \        P                  ! ERlERpRR7      4      R4       V P                  \        \        P                  ! ERlERqRR7      4      R4       V P                  \        \        P                  ! ERlERrRR7      4      R4       V P                  \        \        P                  ! ERlERsRR7      4      R4       V P                  \        \        P                  ! ERlERtRR7      4      R4       V P                  \        \        P                  ! ERuR'4      4      R4       V P                  \        \        P                  ! ERvR'4      4      R4       V P                  \        \        P                  ! ERwR'4      4      Rx4       V P                  \        \        P                  ! ERxR'4      4      R4       V P                  \        \        P                  ! ERyR'4      4      R4       V P                  \        \        P                  ! ERzR'4      4      R4       V P                  \        \        P                  ! ER{R'4      4      Rx4       V P                  \        P                  ! ER|ER}4      R4       V P                  \        \        P                  ! ER~ER4      4      R4       V P                  \        \        P                  ! ERER4      4      Rx4       V P                  \        P
                  ! ER~ER4      ERER.4       V P                  \        P
                  ! ERER4      ERER.4       V P                  \        P
                  ! ERER4      ER.4       V P                  \        P
                  ! ER~ER\        Pp                  R7      ERER.4       V P                  \        P
                  ! ERER\        Pp                  R7      ERER.4       V P                  \        P
                  ! ERER\        Pp                  R7      ER.4       V P                  \        P
                  ! ER~ER\        Pr                  R7      ER.4       V P                  \        P
                  ! ERER\        Pr                  R7      ERER.4       V P                  \        P
                  ! ERER\        Pr                  R7      ER.4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      ^ R7      4      ^u4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pr                  R7      4      ^44       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pp                  R7      4      ^u4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      ^ R7      4      ^44       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pr                  R7      4      ^44       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pp                  R7      4      ^44       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      ^ R7      4      ^u4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pr                  R7      4      ^u4       V P                  \Q        \        P
                  ! ERRPE                  ER \G        R4       4       4      \        Pp                  R7      4      ^u4       V P                  \        \        P                  ! ERER4      4      R4       V P                  \        \        PL                  ! ERER4      4      R4       V P                  \        \        P                  ! ER4      4      R4       V P                  \        \        P                  ! ER4      4      R4       R# u upi u upi u upi u upi u upi u upi u upi u upi u upi (  z(?>b)rg  Tz^((?>\w+)|(?>\s+))*$z\((?:(?>[^()]+)|(?R))*\)za(bcd(e)f)g(h)z	(bcd(e)f)z(h)z\((?:(?:[^()]+)|(?R))*\)za(b(cd)e)f)g)hz(b(cd)e)za(bc(d(e)f)ghz(d(e)f)z(?r)\((?:(?>[^()]+)|(?R))*\)z\((?:[^()]*+|(?0))*\)za(b(c(de)fg)hz	(c(de)fg)za(bc)dr  z([\da-f:]+)$r  r  z^(?=ab(de))(abd)(e)abdez\ r   z^(a|)\1{2}br   r   z	^(a){0,0}r   Nz(?>.*/)bza/bz((?i)blah)\s+\1z	blah BLAHz(\()?[^()]+(?(1)\)|)z(abcdz(a*)*rh   r5  rB   z	a(?#xxx)*z(?=abc){3}abc	abcabcabcz^(?:a(?:(?:))+)+za(?x: b c )dza#comment
*z(?V1)(a(?(1)\1)){1}
aaaaaaaaaaz(?V1)(a(?(1)\1)){2}z(?V1)(a(?(1)\1)){3}z(?V1)(a(?(1)\1)){4}z(?V1)(a)(?<=b(?1))bazz(?fi)\L<keywords>u)   POST, Post, post, poſt, poﬆ, and poﬅr  rV  )keywordsz(?fi)pos|postz(?fi)post|posz(?fi)post|anotherz(?V1)((a)(?1)|(?2))z(?V1)(\1xx|){6}re   z(a|)+z(a|)*\dz^(?:a?b?)*$r  c                  .    \         P                  ! R 4      # )z\N{1}r  r   r   r   ra   )RegexTests.test_hg_bugs.<locals>.<lambda>  r  r   r  za
a
z(q1|.)*(q2|.)*(x(a|bc)*y){2,}xayxayz(?i)[^a]rm   z(?i)[[:ascii:]]u   Kz((a|b(?1)c){3,5})baaaacaz(?<=:\S+ )\w+z:9 abc :10 defrh  z(?<=:\S* )\w+z(?<=:\S+? )\w+z(?<=:\S*? )\w+z(?:fe)?malefemalez!(fe)?male: h(?(1)(er)|(is)) (\w+)z(female: her dog; male: his cat. asdsasdazfemale: her dogzmale: his catz (?<rec>\((?:[^()]++|(?&rec))*\))zaaa(((1+0)+1)+1)bbbrecc                  2    \         P                  ! R RR 4      # )r,   \r   r   r   r   ra   r    s    
))Cs
#r   z%(CAGCCTCCCATTTCAGAATATACATCC){1<e<=2}ڮtcagacgagtgcgttgtaaaacgacggccagtCAGCCTCCCATTCAGAATATACATCCcgacggccagttaaaaacaatgccaaggaggtcatagctgtttcctgccagttaaaaacaatgccaaggaggtcatagctgtttcctgacgcactcgtctgagcgggctggcaaggtCAGCCTCCCATTCAGAATATACATCCzc..+/cz
cA/c
cAb/czcAb/cz(\w+)r  u#   अन्‍न ന്‍ किनu)   [अन्‍न] [ന്‍] [किन]z.*a.*ba.*aaababbaz(?<x>a(?<x>b))r(  r,   z(-)c                 $    V P                  R 4      # )r,   )rC  r_   s   &r   ra   r    s    QXXd^r   r  axbxcz\bt(est){i<2}z	Some textc                  .    \         P                  ! R 4      # )z.???r  r   r   r   ra   r    s    
--
 r   zfoo!?F)special_onlyzfoo\!\?zfoo!\?s   foo!?s   foo\!\?s   foo!\?z^([^z]*(?:WWWi|W))?$WWWiz^([^z]*(?:WWWi|w))?$z^([^z]*?(?:WWWi|W))?$r?   yxxxz(?V0).*rk   z(?V1).*z(?V0).*?r6  z	|||||||||z	|t|e|s|t|z(?V1).*?z^(@)\n(?!.*?@)(.*)z\1\n==========\n\2z@
z@
==========
rO  cazrQ  z(?b)(?:cats|cat){e<=1}z(?:cat){e<=1}z(?e)(?:cat){e<=1}z(?b)(?:cat){e<=1}z(?:cats){e<=2}zc atsz(?e)(?:cats){e<=2}z(?b)(?:cats){e<=2}zc a tsz(?:cats){e<=1}z(?e)(?:cats){e<=1}z(?b)(?:cats){e<=1}z\bof ([a-z]+) of \1\bz#To make use of one of these modulesz\g<0>z(?V1)[[b-e]--cd]rL  z(?V1)[b-e--cd]z(?V1)[[bcde]--cd]z(?V1)[bcde--cd]z ^unknown property at position 4$c                  .    \         P                  ! R 4      # )z\p{}r  r   r   r   ra   r  n  s    %--(r   z(?:()|(?(1)()|z)){2}(?(2)a|z)z(?:()|(?(1)()|z)){0,2}(?(2)a|z)c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  *RegexTests.test_hg_bugs.<locals>.<genexpr>}  s     71ArG  i   z[[:alnum:]]+z[\p{Alpha}\p{PosixDigit}]+z[[:alpha:]]+z
\p{Alpha}+z[[:ascii:]]+z[\p{InBasicLatin}]+z[[:blank:]]+z[\p{gc=Space_Separator}\t]+z[[:cntrl:]]+z\p{gc=Control}+z[[:digit:]]+z[0-9]+z[[:graph:]]+z<[^\p{Space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]+z[[:lower:]]+z
\p{Lower}+z[[:print:]]+z%(?V1)[\p{Graph}\p{Blank}--\p{Cntrl}]+z[[:punct:]]+z2(?V1)[\p{gc=Punctuation}\p{gc=Symbol}--\p{Alpha}]+z[[:space:]]+z\p{Whitespace}+z[[:upper:]]+z
\p{Upper}+z[[:word:]]+zL[\p{Alpha}\p{gc=Mark}\p{Digit}\p{gc=Connector_Punctuation}\p{Join_Control}]+z[[:xdigit:]]+z[0-9A-Fa-f]+r  r   s   (?a)[[:alnum:]]+s   (?a)[\p{Alpha}\p{PosixDigit}]+s   (?a)[[:alpha:]]+s   (?a)\p{Alpha}+s   (?a)[[:ascii:]]+s   (?a)[\x00-\x7F]+s   (?a)[[:blank:]]+s   (?a)[\p{gc=Space_Separator}\t]+s   (?a)[[:cntrl:]]+s   (?a)\p{gc=Control}+s   (?a)[[:digit:]]+s
   (?a)[0-9]+s   (?a)[[:graph:]]+s@   (?a)[^\p{Space}\p{gc=Control}\p{gc=Surrogate}\p{gc=Unassigned}]+s   (?a)[[:lower:]]+s   (?a)\p{Lower}+s   (?a)[[:print:]]+s&   (?aV1)[\p{Graph}\p{Blank}--\p{Cntrl}]+s   (?a)[[:punct:]]+s3   (?aV1)[\p{gc=Punctuation}\p{gc=Symbol}--\p{Alpha}]+s   (?a)[[:space:]]+s   (?a)\p{Whitespace}+s   (?a)[[:upper:]]+s   (?a)\p{Upper}+s   (?a)[[:word:]]+sP   (?a)[\p{Alpha}\p{gc=Mark}\p{Digit}\p{gc=Connector_Punctuation}\p{Join_Control}]+s   (?a)[[:xdigit:]]+s   (?a)[0-9A-Fa-f]+z\X$u   ab℃u   ℃z([^L]*)([^R]*R)LtRr  zx\1yxayxbyr  zx{1}yz(a)*abcr  OXRGOOGOXz.XRGz	.{1,3}XRGzR|RRz(.)(?(1)(?!))r  z(y)?(\d)(?(1)\b\B)ax1y2z3brN  r  z(y)?+(\d)(?(1)\b\B)z(?i)(?:error){e}zregex failurez(?fi)(?:error){e}z(?p)\d+(\w(\d*)?|[eE]([+-]\d+))10b12z10E+12z(?p)(\w|ae|oe|ue|ss)aez(?p)one(self)?(selfsufficient)?oneselfsufficientz(ab\Kcd)r)  z
\w\w\K\w\wabcdefghghz(\w\w\K\w\w)efghz(?r)(ab\Kcd)z(?r)\w\w\K\w\wr  z(?r)(\w\w\K\w\w)z6(?(DEFINE)(?<quant>\d+)(?<item>\w+))(?&quant) (?&item)z5 elephantsz#(?&routine)(?(DEFINE)(?<routine>.))routinez12(*FAIL)|3123z(?r)12(*FAIL)|3z\d+(*PRUNE)\dz\d+(?=(*PRUNE))\dz\d+(*PRUNE)bcd|[3d]123bcd123zzdr.  z\d+?(*PRUNE)bcd|[3d]3bcdz\d++(?<=3(*PRUNE))zzd|[4d]$124zzdz\d++(?<=(*PRUNE)3)zzd|[4d]$z\d++(?<=2(*PRUNE)3)zzd|[3d]$z(?r)\d(*PRUNE)\d+z(?r)\d(?<=(*PRUNE))\d+z(?r)\d+(*PRUNE)bcd|[3d]z(?r)\d++(?<=3(*PRUNE))zzd|[4d]$z(?r)\d++(?<=(*PRUNE)3)zzd|[4d]$z (?r)\d++(?<=2(*PRUNE)3)zzd|[3d]$z\d+(*SKIP)bcd|[3d]z\d+?(*SKIP)bcd|[3d]z\d++(?<=3(*SKIP))zzd|[4d]$z\d++(?<=(*SKIP)3)zzd|[4d]$z\d++(?<=2(*SKIP)3)zzd|[3d]$z(?r)\d+(*SKIP)bcd|[3d]z(?r)\d++(?<=3(*SKIP))zzd|[4d]$z(?r)\d++(?<=(*SKIP)3)zzd|[4d]$z(?r)\d++(?<=2(*SKIP)3)zzd|[3d]$zJune 30, December 31, 2013 2012
some words follow:
more words and numbers 1,234,567 9,876,542
more words and numbers 1,234,567 9,876,542z(?<!\d)(?>2014|2013 ?2012)z1(?>2)12zn(?V1w)(?=(?=[^A-Z]*+[A-Z])(?=[^a-z]*+[a-z]))(?=\D*+\d)(?=\p{Alphanumeric}*+\P{Alphanumeric})\A(?s:.){8,255}+\ZzAAaa11!!z(?smx)
(?(DEFINE)
  (?<subcat>
   ^,[^,]+,
   )
)

# Group 2 is defined on this line
^,([^,]+),

(?:(?!(?&subcat)[\r\n]+(?&subcat)).)+
zP
,Cat 1,
,Brand 1,
some
thing
,Brand 2,
other
things
,Cat 2,
,Brand,
Some
thing
z(abcdefgh){e}z******abcdefghijklmnopqrtuvwxyzz(abcdefghi){e}z(?:(?=\d)\d+\b|\w+)r  z(?(?=\d)\d+\b|\w+)z (?(?<=love\s)you|(?<=hate\s)her)z
I love youz&I love you but I don't hate her eitheryouherz(?p)a*(.*?)aaabbbbbbz
(?p)a*(.*)r   z(?irV0)\L<kw>21)kwz(?irV1)\L<kw>za|b111a222z(?r)a|bz(?if)<(CLI)><\1>z
<cli><cli>z
<cli><clI>z(?ifr)<\1><(CLI)>z\L<options>r  r  r  z(x{6}){e<=1}xxxxxxxxxxxz(?r)(x{6}){e<=1}c                  .    \         P                  ! R 4      # )s   00000\0\00\^(\00\U05000000r  r   r   r   ra   r    s    
--<
=r   c                  .    \         P                  ! R 4      # )s   {e<lr  r   r   r   ra   r    s    u}}W/Er   z	((?0)){e}z	 ?(?0){e}z0((brown)|(lazy)){1<=e<=3} ((dog)|(fox)){1<=e<=3}z+The quick borwn fax jumped over the lzy hogz\d\d\d-\d\d-\d\d\d\dz$My SSN is 999-89-76, but don't tell.u   Йu   йz(?ui)z(?ai)z(?afi)z
(?i)\L<aa>22121)r5  z(?ri)\L<aa>z(?fi)\L<aa>z(?fri)\L<aa>z(?r)\1dog..(?<=(\L<aa>))$ccdogccbcbccz(?ir)\1dog..(?<=(\L<aa>))$z(2)(?:\1{5}){e<=1}3222212z(\d)(?:\1{5}){e<=1}z&\A(?P<whole>(?>\((?&whole)\)|[+\-]))\Zz((-))z((-)+)zx.*? (.).*\1(.*)\1z	x  |y| z|z\.sr (.*?) (.)(.*)\2(.*)\2(.*)z#.sr  h |<nw>|<span class="locked">|z"\xF9\x80\xAEqdz\x95L\xA7\x89[\xFE \x91)\xF9]\xDB'\x99\x09=\x00\xFD\x98\x22\xDD\xF1\xB6\xC3 Z\xB6gv\xA5x\x93P\xE1r\x14\x8Cv\x0C\xC0w\x15r\xFFc%" z(?P<http_referer>((?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``)))) (?P<useragent>((?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``))))zfoo(?<=foo)zfoo(?<!foo)zfoo(?<=foo|x)zfoo(?<!foo|x)z0(?(?=.*\!.*)(?P<true>.*\!\w*\:.*)|(?P<false>.*))r  z\w*(ea)\w*|\w*e(?!a)\w*easierz(^1234$){i,d}12234z(^1234$){s,i,d}z(^123$){s,i,d}xxxxxxxx123za?yzxxxxyzz(?:(?![a-d]).)+z.(?(DEFINE)(?P<mydef>(?:(?![a-d]).)))(?&mydef)+z((\w{1,3})(\.{2,10})){1,3}z("Erm....yes. T..T...Thank you for that."z((\w{1,3})(\.{2,10})){3}z((\w{1,3})(\.{2,10})){2}z((\w{1,3})(\.{2,10})){1}z(?:ESTONIA(?!\w)){e<=1}zESTONIAN WORKERSESTONIANz(?:ESTONIA(?=\W)){e<=1}z(?:(?<!\w)ESTONIA){e<=1}zBLUB NESTONIANESTONIAz(?:(?<=\W)ESTONIA){e<=1}z(?r)(?:ESTONIA(?!\w)){e<=1}z(?r)(?:ESTONIA(?=\W)){e<=1}z(?r)(?:(?<!\w)ESTONIA){e<=1}z(?r)(?:(?<=\W)ESTONIA){e<=1}z(?:A.*B.*CDE){e<=2}zA B CYZz(?:A.*B.*?CDE){e<=2}z(?:A.*?B.*CDE){e<=2}z(?:A.*?B.*?CDE){e<=2}z ,0A[)r  literal_spacesz\ \,0A\[z \,0A\[z\ ,0A\[z ,0A\[z(?(?=A)A|B)r  z
(?(?=A)A|)z
(?(?=X)X|)z(?(?=X))z(?(DEFINE)(?<func>.))(?&func)funcz!(?(DEFINE)(?<func>.))(?=(?&func))z#(?(DEFINE)(?<func>.)).(?<=(?&func))zab(?#comment\))cdz[a-z]+ [a-z]*?:r  z(?r):[a-z]*? [a-z]+z(?u)\p{Script:Beng}u   ৯z(?u)\p{Script:Bengali}z!(?u)\p{Script_Extensions:Bengali}z(?u)\p{Script_Extensions:Beng}z(?u)\p{Script_Extensions:Cakm}z(?u)\p{Script_Extensions:Sylo}z(?u)\p{scx:Latin}r  z(?u)\p{scx:Ahom}z(?u)\p{scx:Common}4z(?u)\p{scx:Caucasian_Albanian}z(?u)\p{scx:Arabic}u   تz(?u)\p{scx:Balinese}z(?u)\p{scx:Devanagari}u   जz(?u)\p{scx:Batak}z(?P<x>.)*(?&x)r   z(?P<x>.)(?P<x>.)(?P<x>.)z(?:ab)*ababz(?:ab)*?z(?:ab)*+z(?:ab)+z(?:ab)+?z(?:ab)++z(?r)(?:ab)*z(?r)(?:ab)*?z(?r)(?:ab)*+z(?r)(?:ab)+z(?r)(?:ab)+?z(?r)(?:ab)++r>   za*?za*+rD   za+?za++z(?r)a*z(?r)a*?z(?r)a*+z(?r)a+z(?r)a+?z(?r)a++z(?:\s*\w+'*)+whateveraz  (?P<termini5>GGCGTCACACTTTGCTATGCCATAGCAT[AG]TTTATCCATAAGATTAGCGGATCCTACCTGACGCTTTTTATCGCAACTCTCTACTGTTTCTCCATAACAGAACATATTGACTATCCGGTATTACCCGGCATGACAGGAGTAAAA){e<=1}(?P<gene>[ACGT]{1059}){e<=2}(?P<spacer>TAATCGTCTTGTTTGATACACAAGGGTCGCATCTGCGGCCCTTTTGCTTTTTTAAGTTGTAAGGATATGCCATTCTAGA){e<=0}(?P<barcode>[ACGT]{18}){e<=0}(?P<termini3>AGATCGG[CT]AGAGCGTCGTGTAGGGAAAGAGTGTGG){e<=1}?  GCACGGCGTCACACTTTGCTATGCCATAGCATATTTATCCATAAGATTAGCGGATCCTACCTGACGCTTTTTATCGCAACTCTCTACTGTTTCTCCATAACAGAACATATTGACTATCCGGTATTACCCGGCATGACAGGAGTAAAAATGGCTATCGACGAAAACAAACAGAAAGCGTTGGCGGCAGCACTGGGCCAGATTGAGAAACAATTTGGTAAAGGCTCCATCATGCGCCTGGGTGAAGACCGTTCCATGGATGTGGAAACCATCTCTACCGGTTCGCTTTCACTGGATATCGCGCTTGGGGCAGGTGGTCTGCCGATGGGCCGTATCGTCGAAATCTACGGACCGGAATCTTCCGGTAAAACCACGCTGACGCTGCAGGTGATCGCCGCAGCGCAGCGTGAAGGTAAAACCTGTGCGTTTATCGATGCTGAACACGCGCTGGACCCAATCTACGCACGTAAACTGGGCGTCGATATCGACAACCTGCTGTGCTCCCAGCCGGACACCGGCGAGCAGGCACTGGAAATCTGTGACGCCCTGGCGCGTTCTGGCGCAGTAGACGTTATCGTCGTTGACTCCGTGGCGGCACTGACGCCGAAAGCGGAAATCGAAGGCGAAATCGGCGACTCTCATATGGGCCTTGCGGCACGTATGATGAGCCAGGCGATGCGTAAGCTGGCGGGTAACCTGAAGCAGTCCAACACGCTGCTGATCTTCATCAACCCCATCCGTATGAAAATTGGTGTGATGTTCGGCAACCCGGAAACCACTTACCGGTGGTAACGCGCTGAAATTCTACGCCTCTGTTCGTCTCGACATCCGTTAAATCGGCGCGGTGAAAGAGGGCGAAAACGTGGTGGGTAGCGAAACCCGCGTGAAAGTGGTGAAGAACAAAATCGCTGCGCCGTTTAAACAGGCTGAATTCCAGATCCTCTACGGCGAAGGTATCAACTTCTACCCCGAACTGGTTGACCTGGGCGTAAAAGAGAAGCTGATCGAGAAAGCAGGCGCGTGGTACAGCTACAAAGGTGAGAAGATCGGTCAGGGTAAAGCGAATGCGACTGCCTGGCTGAAATTTAACCCGGAAACCGCGAAAGAGATCGAGTGAAAAGTACGTGAGTTGCTGCTGAGCAACCCGAACTCAACGCCGGATTTCTCTGTAGATGATAGCGAAGGCGTAGCAGAAACTAACGAAGATTTTTAATCGTCTTGTTTGATACACAAGGGTCGCATCTGCGGCCCTTTTGCTTTTTTAAGTTGTAAGGATATGCCATTCTAGACAGTTAACACACCAACAAAGATCGGTAGAGCGTCGTGTAGGGAAAGAGTGTGGTACCi  z)(?e)(dogf(((oo){e<1})|((00){e<1}))d){e<2}dogfooddogfootr  u   👨‍👩‍👧‍👦z(?=a)az(?!b)az
((\d)*?)*?zX(?(DEFINE)(?<mydef>(?<wrong>THIS_SHOULD_NOT_MATCHx?)|(?<right>right))).*(?<=(?&mydef).*)zx rightmydefr"  wrongz(?:cat){e<=1:[u]}cutz(?:cat){e<=1:u}z?(?be)(AGTGTTCCCCGCGCCAGCGGGGATAAACCG){s<=5,i<=5,d<=5,s+i+d<=10}TTCCCCGCGCCAGCGGGGATAAACCGz	(?:bc){e}z(?e)(?:bc){e}z(?b)(?:bc){e}z,(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){e}z$ 10,112.111.12z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=1}z9(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=1,i<=1,d<=1}z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=3}z$ 10,1a2.111.12z/(?e)(?:^(\$ )?\d{1,3}(,\d{3})*(\.\d{2})$){s<=2}z(?e)(?:0?,0(?:,0)?){s<=1,d<=1}z,0;0z(?e)(?:0??,0(?:,0)?){s<=1,d<=1}z#\b(?e)(?:\d{6,20}){i<=5:[\-\\\/]}\bz-cat dog starting at 00:01132.000. hello worldz(?#)z(?x)(?#)z(\d+){i<=2:[ab]}123X4Y5z(?i)(\d+){i<=2:[ab]}z^(test){e<=5}$terstinz(?:(x*)\1\1\1)*x$z(?:(x*)\1{3})*x$zt(?:es){s<=1:\d}tte5tteztzt(?:es){i<=1:\d}ttes5ttesztzt(es){i<=1,0<e<=1}tzt(?:es){i<=1,0<e<=1:\d}tz(\d+ week|\d+ days)7 days10 daysz[ ]* Name[ ]*\* z  Name *za|\.*pb\.pyz.geojsa?  (?<=(?:\A|\W|_))(\d+ decades? ago|\d+ minutes ago|\d+ seconds ago|in \d+ decades?|\d+ months ago|in \d+ minutes|\d+ minute ago|in \d+ seconds|\d+ second ago|\d+ years ago|in \d+ months|\d+ month ago|\d+ weeks ago|\d+ hours ago|in \d+ minute|in \d+ second|in \d+ years|\d+ year ago|in \d+ month|in \d+ weeks|\d+ week ago|\d+ days ago|in \d+ hours|\d+ hour ago|in \d+ year|in \d+ week|in \d+ days|\d+ day ago|in \d+ hour|\d+ min ago|\d+ sec ago|\d+ yr ago|\d+ mo ago|\d+ wk ago|in \d+ day|\d+ hr ago|in \d+ min|in \d+ sec|in \d+ yr|in \d+ mo|in \d+ wk|in \d+ hr)(?=(?:\Z|\W|_))z1 month agoz9 hours 1 minute agoz1 minute agoz10 months 1 hour agoz
1 hour agoz1 month 10 hours agoz10 hours ago2TTCAGACGTGTGCTCTTCCGATCTCAATACCGACTCCTCACTGTGTGTCTzw(?P<insert>.*)(?P<anchor>CTTCC){e<=1}(?P<umi>([ACGT]){4,6})(?P<sid>CAATACCGACTCCTCACTGTGT){e<=2}(?P<end>([ACGT]){0,6}$)insertTTCAGACGTGTGCTanchorCTTCCumiGATCTsidCAATACCGACTCCTCACTGTGTr  GTCTzt(?P<insert>.*)(?P<anchor>AACACTGG){e<=1}(?P<umi>([AT][CG]){5}){e<=2}(?P<sid>GTAACCGAAG){e<=2}(?P<end>([ACGT]){0,6}$)&GGAAAACACTGGTCTCAGTCTCGTAACCGAAGTGGTCG&GGAAAACACTGGTCTCAGTCTCGTCCCCGAAGTGGTCGz(test1)|(test2)zmatched: \1\2test1zmatched: test1zmatched: {1}{2}z(?:\bha\b){i:[ ]}havingz	(?a:\w)\wu   dжz(?a:\w)(?u:\w)z	^\p{LC}+$u   😺z	^\p{So}+$r  z\p{HorizSpace}+u4   	   ᠎             　z\p{VertSpace}+u   
  z(?(?<=A)|(?(?![^B])C|D))z^a?(a?)b?c\1$abcaz(?(?=a).|..)z(?(?=b).|..)z(?(?!a).|..)z(?(?!b).|..)z(\L<foo>){e<=5}blah)r  r  z
[^/]*b/ccczb/ccczb/ccbzb/ccz
[^/]*b/xyzzb/xyzb/yzz(?i)[^/]*b/cccz(?i)[^/]*b/xyzz<thinking>.*?</thinking>r  z	<thinkingz
<thinking>z<thinking>xz<thinking>xyz abcz<thinking>xyz abc fooz<thinking>xyz abc foo z<thinking>xyz abc foo barz(?V1)[[\s\S]]z(?V1)[[\s\S]-a]z(?V1)[[\s\S]--a]z(?V1)[[a-z]--b]z(?V1)[[\s\S]--b]z(?V1)[a-[\s\S]]z(?V1)[a--[\s\S]]zB(?ifu)(H\N{LATIN SMALL LETTER O WITH DIAERESIS}gskolan?)[\\s\\S]*puw   Yrkeshögskola . Studieämnen . Studieämnen . Studieämnen . Studieämnen . Studieämnen . Studieämnen . Studieämnenr  u   ９z(?a:\d)u   9９rO  z(?u:\d)r  c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  %       <Z\SVV\rG  c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  &  r!  rG  c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  '  r!  rG  z
(?a:\p{L})c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  )       A_R^Q#a&&R^rG  c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  *  r%  rG  c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  +  r%  rG  z
(?u:\p{L})c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  -  r%  rG  c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  .  r%  rG  c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   rB  rC  s   & r   rE  r  /  r%  rG  z\A\P{L}?\p{L}zhello,z\A\P{L}*(?P<w>\p{L}+)\P{L}*\Zz(\s|\S)z(?:[\S\s]|[A-D][M-Z]))r  r+  r  )r   r   r  rG   rG   r   r   rH   rH   rI   rP  r  rO  )rI   rF   r  )r  rf  r  )r  )r  r  )r  Postr  u   poſtr     poﬅ)r  PosrV  u   poſr  r/  r  )r  r,  r  Paaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar@  )rx  rx  rh   )z(1+0)z	((1+0)+1)z(((1+0)+1)+1)r7  )r  r   rt  )rG   rG   r   rs  )r   r   r   )rh   r   r   )r   r  rg  )rG   r  ))r   rN  )r   2)r   r  r`  )r`  )r  r  )r  r  )r  r  )r)  r  )r(  r  )r  )r   r   )r  )6   ;   )r  r  )r  r
  rY  )r  r  )rH   r   )borwnr5  r   faxr   r6  )lzyr   r7  hogr8  r   )$   r9  r0  )rG   r   re  )r   #   )ea)r   r[  )r   r  r   )r   r  zErm....Ermz....zT...Tr  )r<  )zT..r?  r  r>  rE   r   r,  rr  )r   rG   rH   r  )rG   r   rG   rq  )r  r   r  )r   r   r   )r  r  5)r   rH   r   )r   r  r   )r   r  r   )r   2   )rP  r7  rN  r  ):r1   rG  r6   r7   V1r8   r"  r   rJ   r   rT  rL   rj   rK   r   r   UNDEF_CHAR_NAMEr  r  	BESTMATCHr  rp   WORDspansr  r  FULLCASErb  r  r   r   ro  rv  DEBUGrh  r  r  r  ru  r  rI  pickledumpsloadsr8  ENHANCEMATCHr?  r8  rw  r  r   V0rC  r  allcapturesallspansrR  rm   )r   r`   fzseqrxr$  r,   rawr  r+  
TEST_REGEX	TEST_DATAr  r0  upper_ilower_irh   py_regex_patternr   sequences   &                   r   test_hg_bugsRegexTests.test_hg_bugs  sS    	emmG588DEtL 	emm,C  	" 	'B
)51	3'B
)51	3'B
(\	+'B
&K	)'F
&K	)
..1?
CE
C )*'')
CE-	 	h
((9 E!Hf	&
 	osEGG
((= E!Hc	#osEGG
((= E!Hc	#
 	&;VDKKM
	
 	ekk%EGGDEtL 	nc:@@AF I 	
 	k59??1E H 	 	j%8>>qA5I
 	&8+FM 	&=
58V	%
 	gs388;VDgt499!<fEgu5::1=vF 	k59??A5I 	o{CHHJ M 	
 	&8#>CCEvN&8$?DDFO 	nf=CCAFO 	neq5	*
 	&<
Q
$4	6&<
Q
$4	6&<
Q
$4	6&<
Q
$6	8
 	&:EBHHK
	
 	';
?5>#%"	# 	'7
?AC<	= 	'7
?AC?	@ 	';
?AC?	@ 	&;SAGG1
	 
 	&8$?DDQJ
	 	gs399!Q?K 	j(;TB 	mT:DA 	u{{D,@,@ C" 	# 	eX6;;A>G 	&E
E!Hh	(
 	j#6= 	&79JK
	
 	&99EKKA
Q&	( 	'79IJ%.	'79IJ%.	'8:JK%.	'8:JK%.	 	nh?EEG
	
..=
4676 )*'')679J
9	 	&I
!!)% 3	
 	u{{DOO >$ 	' 5 bu?B
'	) 	y-@7)L 	uyy7
P
**   \
]	_ 	^X>E 	%6=CCCH LK 	
 	6+CWM
	
 ]]+588<;/6K0"5 	u{{D,@,@ C! 	" 	gEBKPgDA9Mg.	:hUC\RhTB
	h/< 	&<
&(J	(&<
&(J	(&=
&(J	( mmF%..5==*HIS\\&-AB-A'')-ABUGLV,ug6S\\#->?->'')->?%IS)E73mmF%..5;K;K*K
--+ S\\&-AB-A'')-ABUGLV,ug6S\\#->?->'')->?%IS)E73 y(UYYy#v>EUYYy#v>D9c6:DAy(UYYz3?MUYYz3?M:sF;[I 	#8
ell<=N	P 	%:	i	)%>
y	*%>
y	* 	%5u=JJ
	%9
y	*%9
y	* 	%6@MM
	%:
<	,%:
<	, 	%6
 L)	-%:
 L)	-%:
 L)	- 	%6@MM
	%:
<	,%:
<	, 	'?
/124	6
 	437= 	ekk$U[[ABDI 	':HE
H 	'8(Cc
F 	';XF
I 	'98Ds
G 	 	u{{,N
(	* 	%D
uQ1~}	.%F
uQ1~}	. 7g77rwwu}}5H
(   "''%--0Q
#  	 	rwwu}}5H
(   "''%--0A
#  	 	rwwu}}5H
(   "''%--0J
#  	 	rwwu}}5H
(   "''%--0R
#  	 	rwwu}}5H
(   "''%--0F"NOP	Rrwwu}}5H
(   "''%--u"EFG	Irwwu}}5H
(   "''%--0s
#  	 	rwwu}}5H
(   "''%--0A
#  	 	rwwu}}5H
(   "''%--0\^c"def	hrwwu}}5H
(   
&_
  	 	rwwu}}5H
(   "''%--0F
#  	 	rwwu}}5H
(   "''%--0A
#  	 	rwwu}}5G
(   "''%--  1D
#  	 	rwwu}}5I
(   "''%--0C
#  	
 eEl#sxx6N
)   #((5==1W
$  	 	sxx6N
)   #((5==1G#OPQ	Ssxx6N
)   #((5==1I5#QRS	Usxx6N
)   #((5==1X
$  	 	sxx6N
)   #((5==1L
$  	 	sxx6N
)   #((5==1CU#KLM	Osxx6N
)   #((5==1y  |A  $B  C  D	Esxx6N
)   #((5==1G#OPQ	Ssxx6N
)   #((5==1_af#ghi	ksxx6N
)   #((5==1l
$  	 	sxx6N
)   #((5==1Le#TUV	Xsxx6N
)   #((5==1G#OPQ	Ssxx6M
)   #((5==  2J  LQ  $R  S  T	Usxx6O
)   #((5==1I5#QRS	U 	u||FJ?EEGH
/	
 	&7?FFH K 	
 	67D98D:w=xHFGT:HEJ>I 	D	(D	'
 	fgtDIIK
	fgtDIIK
	k7	( 	UC0557@ 	%5t<dC 	'<jI
+	-'=zJ
+	- 	ENN;N
-  -q&&( - B	D
..-
?A
? ()&&(
?AC#	$ 	&H
	 &H
 	" 	&=tDQGN&H
 "#6	8 	k6:@@AF I 	}jAD
D 	
Cf
F 	 	ov>DDQJ
	'8*E
H 	':JG6
	 	&_
*	, 	&LcRXXYbceij&LcR[[\efilhmn 	ne<Q?E&8%@CSI&6>E&:EB1EuM&<hGJ
	&<hGJ
	&=xHK
	&=xHK
	&D
 	"&D
	&D
	&E
	 	&:EBDI&?GJ
	&@
 	"&@
	&H
 	"&H
	&H
	&I
	 	&;XFqI
	&;XFqI
	&<hGJ
	&<hGJ
	&C
 	"&C
	&C
	&D
	 	&?J1M
	&?J1M
	&G
 	"&G
	&G
	&H
	. 	U]]+H$OPRST 	Xt499;VD 	  &W
$	& ]] $ 
	 	


i
(*
( ,-&&A,
(*,> A ,	
 	o
+U__>>Bdfg	O&6
+U__>>Bdfg	O 	%;XFKKM
	%:HEtL&I
	)'J
246;U^	E 	nh?EEaK
	mX>DDQJ
	>5(CUK=%BEJ 	%5tFKKM
	%5tFKKM
	 	eY7<<>Gi;@@BFK 	&9
	)&9
	)&:
	) MM.5%.ALLOLLO,,.7 	^X!!%	1^W!!%	1^S!"&	(%7!!%	1%7!!%	1%7!"&	( 	%++ (> 	? 	%++'EF 	emmK894@ 	emmN;<dC 	'Z
79K9KM3 6 	 	&=
0$@@D I	
 85ekk(W*<
 	ekk(W*<
 	 	ekk(W*<
 	ekk(W*<
 	 	ekk)g*=
 	ekk)g*=
 	 	ell=$E
D  	ell>4U
E  	ell>4U
E  	ell?De
F  	 	&BIT]!TVV	-&C
'(,	8 	&;
TVV	%&<
TVV	%
 	%R
466	#%R
	
 	%:
tvv	'%F
0226$&'	C  yell+;Q?@%H 	ekk-?@$Gekk-?@%Hekk/5ABDIekk/5ABEJ 	ekk*]
 	 	%?
FHh	( 	ow
//466	+ow
//'<	4 	&7
//466	+&7
//'<	4 	&6
//467	,&6
//'<	4
 	gxu~~


@  DFF	, 	'9:F(	'\
x	! 	'D
469'8)	* 	'B
4679	;'B
468L7M	O'B
468=	> 	&@
#egz	3&@
#egz	3 	&A
 57J	0&A
 57J	0 	&D
#egz	3&D
#egz	3 	&E
 57J	0&E
 57J	0
 	&<
UWi	)&=
UWi	)&=
UWi	)&>
UWi	) 	gERWXZghgERVWYdegDQVWYdegDQUVXabg.< 	nc:??A6Jnc:??A6JmS9>>@&ImR8==?Hk26;;=vF 	&F
8	%&F
vtn	.&F
&3%	2 	&J
8	%&J
vtn	.&J
&3%	2 	&L
8	%&L
vtn	.&L
&3%	2 	ekk*>GH$O 	&8)	(&<i	( 	ekk*@
 	ekk*C
 	ekk*N
 	ekk*K
 	ekk*K
 	ekk*K
 	
 	ekk*>DEtLekk*=sCDeLekk*?EFMekk*KSQR
	ekk*?JKTRekk*A8LM
	ekk*CXNO
	ekk*>IJER 	)95AJJ3O
	)95AGGL
	 	)C
#	1)C
sS	" 	YdCKK
	YEMM
	ZTBJJ
	ZtDLL
	ZFNN
	YdCKK
	YEMM
	ZtDLL
	ZtDLL
	ZFNN
	 	]D$GOO
	]FDIQQ
	^RFNN
	^T4HPP
	^VTJRR
	]D$GOO
	]FDIQQ
	^T4HPP
	^T4HPP
	^VTJRR
	 	T2t<DDeLUB=EEuMUB=EEuMT2t<DDdKUB=EEtLUB=EEtLT3=EEuMUC>FFNUC>FFNXr4@HH%PYDAII5QYDAII5QXr4@HH$OYDAII4PYDAII4PXsDAII5QYTBJJERYTBJJER%5z4PXX
	G, LL$eoo>32vr*:; 	&R
!\9	.&R
!\9	. 	u
FHG
H	J
 	ell9c:;TBell9c:;TB 	>CCEvN 	  'F
!\^gy'2w)&	
 	ekk*>FGNekk*<eDEtL 	&h
&((5B7M	O 	\37DD G 	\37EE
qcH 	%5s;HH K 	%5s;IIrA3-	%5s;HH K 	%5s;IIrA3-	 	%X
)\9	6%[
)\9	6%e
)\9	6%[
)\9	6%[
)\9	6 	)J
,		+)K
,		+ 	&L
9;<@	B 	emmF34d;emmJ78$? 	':IF
	'>	J
	 	%6	%y	2 	ekk*>HI4Pekk*=wGH$O 	%96BHHJ
	%96BDI%97CIIK
	%97CTJ%9
 =2sB-	1%;WEKKM
	%@
 =2sB-	1 	'=>DDXNPbc'=>DDYOQde':;BB:NPTU7>>xH$OMM  J
  R
W
  R
Y
  R
Y
  \
a
  \
d
  \
d
  R
d
  e
-0668-H"89??A>R"89??A<P"89??A>R H MKKA7+3CXwX]_fhm  pH  JO  QW  )X  	YKK1C1CD7+3CXwX]_fhm  pH  JO  QW  )X  	Y J;KKA32r2,7;KKA3B8R*<= 	#57GQScd$68JGTVfg&8:JKRRScdfvwx&8:JKSSTfgiyz 	&:HEtL&:HEGGTVZ[ 	\3STYY[]cd%68XY^^`bhi 	\3YZ\`a\3YZ__acij 	We4@@BeWoD^_We4==?6(LdAef 	eoo.@  Cl  m  n  pt  	ueoo.?A[\]_cd 	%@#FM&A3GLLNPVW 	&6?DDFO 	_d;@@BFK_d;@@BFK_d;@@BFK_d;@@BFK 	%7RHMMOQWX 	'BCII#NSSUW]^'B%''RXXY\]bbdflm 	]GTJOOQSYZ]GTJDQ]FDINNPRXY]FDINNPRXY]FDI4P%6NSSUW]^%6NPTU%6MRRTV\]%6MRRTV\]%6MtT 	ekk*EsTXYZ\`aekk*E{\`abdhiekk*E|]abceijekk*E}^bcdfjkekk*EGZdhijlpqekk*EG^hlmnptuekk*EG_imnoquvekk*EGblpqrtxy 	ekk*:C@A4Hekk*<cBCTJekk*=sCDeLekk*<cBCTJekk*=sCDdKekk*<cBCTJekk*=sCDeL&k lm
	
 	ekk%:;TBekk*h?@%H 	ui83/Jz9=XOz9=uEuiuwwG#xYz9EGGLsT\o^z9EGGLseTuiuwwG#Oz9EGGLsT\o^z9EGGLseTU]]8RWW<ZUSX\<Z5ZbcdegjkU]]8RWW<ZUSX\<Z5ZbgbibijkmopU]]8RWW<ZUSX\<Z5ZbgbibijkmpqU]]="''A_RWX]R^A_:_ghijlnoU]]="''A_RWX]R^A_:_glgngnoprtuU]]="''A_RWX]R^A_:_glgngnoprtuU]]="''A_RWX]R^A_:_ghijlopU]]="''A_RWX]R^A_:_glgngnopruvU]]="''A_RWX]R^A_:_glgngnopruv 	ekk*:HEFMeoo.NPXYZ\`a 	emmK894@ 	emm,EFGNq(EN7T C @
 C @rAh*sD   -Fz6$Fz;!F{ F{@5F{
BF{W2F{X;F{@,F{c                   V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R	R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R	R4      4      R4       V P                  \        \        P                  ! R
R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R
R4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! RR4      4      R4       V P                  \        \        P                  ! R R!4      4      R4       V P                  \        \        P                  ! R R"4      4      R4       V P                  \        \        P                  ! RR#4      4      R4       V P                  \        \        P                  ! RR$4      4      R4       V P                  \        \        P                  ! R%R&4      4      R4       V P                  \        \        P                  ! R%R'4      4      R4       R(# ))z(?r)(?:a){e<=1:[a-z]}r  Tz(?:a){e<=1:[a-z]}r   Fr  rc  z(?:ab){e<=1:[a-z]}z(?r)(?:ab){e<=1:[a-z]}z(a)\1{e<=1:[a-z]}z(?r)\1{e<=1:[a-z]}(a)r;  rf  z4(?fiu)(?:\N{LATIN SMALL LETTER SHARP S}){e<=1:[a-z]}tsstz5(?firu)(?:\N{LATIN SMALL LETTER SHARP S}){e<=1:[a-z]}z-szs-z4(?fiu)(\N{LATIN SMALL LETTER SHARP S})\1{e<=1:[a-z]}ssstsstsz5(?firu)\1{e<=1:[a-z]}(\N{LATIN SMALL LETTER SHARP S})stsstssszss-szsss-z5(?firu)(\N{LATIN SMALL LETTER SHARP S})\1{e<=1:[a-z]}z(?fiu)(ss)\1{e<=1:[a-z]}u   ßtsu   ßstz(?firu)\1{e<=1:[a-z]}(ss)u   stßu   tsßu   ß-su   ßs-z(?firu)(ss)\1{e<=1:[a-z]}u   s-ßu   -sßNr  rM   s   &r   test_fuzzy_extRegexTests.test_fuzzy_ext;  sD   eoo.FLM
	eoo.BCHI
	eoo.BCHI
	eoo.FLM
	 	eoo.BDIJ
	eoo.F
 	eoo.BDIJ
	eoo.F
 	 	eoo.CTJK	eoo.G 	eoo.CTJK	eoo.G 	 	eoo.BDIJ	eoo.F 	eoo.BDIJ	eoo.F 	 	eoo.e
 	eoo.e
 	eoo.f
 	eoo.f
 	eoo.e
 	eoo.e
 	eoo.f
 	eoo.f
 	 	eoo.e 	eoo.e 	eoo.f 	eoo.f 	eoo.e 	eoo.e 	eoo.f 	eoo.f 	 	eoo.I-/ 015	7eoo.I-/ 015	7eoo.J-/ 015	7eoo.J-/ 015	7eoo.I-/ 016	8eoo.I-/ 016	8eoo.J-/ 016	8eoo.J-/ 016	8r   c                :   V P                  \        P                  ! R R4      P                  R4      R4       V P                  \        P                  ! R R4      P                  R4      R4       V P                  \        P                  ! R R4      P                  R4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R RR4      R4       V P                  \        P                  ! R RR4      R4       R# )z	(?P<x>.)+r   z{0} {0[0]} {0[-1]}zabc abc abcz0{1} {1[0]} {1[1]} {1[2]} {1[-1]} {1[-2]} {1[-3]}zc a b c c b az0{x} {x[0]} {x[1]} {x[2]} {x[-1]} {x[-2]} {x[-3]}N)r1   r6   rL   r  r  rM   s   &r   test_subscripted_captures$RegexTests.test_subscripted_captures  s    \
-.	?\
KL
	 	\
KL
	 	L2G
	!L
<eE
	 	L
<eE
	r   c                V   \         P                  R8  Ed	   V P                  \        P                  ! RR4      . R	O4       V P                  \        P
                  ! RRR4      R4       V P                  \        P                  ! RR4      . R
O4       T P                  \        P                  ! RR4       Uu. uF  qP                  4       NK  	  up. RO4       T P                  \        P                  ! RR4       Uu. uF  qP                  4       NK  	  up. RO4       R# R# u upi u upi )rH   z\b|:+za::bcr   z-a---bc-z
(?m)^\s*?$z	foo


barNr   )r   rh   r   r   r  r   )r   r   r   r   r   )rE   r+  rF   r-  r  r  )r@  )r   r  ri  )	r   r   r1   r6   r   rp   r8   r"  rK   r  s   & r   test_more_zerowidthRegexTests.test_more_zerowidth  s    y(U[[7; > UYYxg>
KU]]8W= @ x1  11ffh 1 AC}1  11ffh 1  8: )s   5D!;D&c                    V P                  \        P                  ! R R4      . RO4       V P                  \        P                  ! RR4      . RO4       R# )z\Ru   

  s   \Rs   

N)ry   rc   r     u    u    )s   
ro            r  rM   s   &r   test_line_endingRegexTests.test_line_ending  sD    
u}}U,LMFH
u}}V-BC F& 'r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  rw  rx  ry  rz  r{  r|  r  r  r  r  r  r  DUPLICATE_GROUPCANT_TURN_OFFrC  r2   r;   rN   rU   rr   rv   rz   r   r   r   r   r   r   r   r   r   r  r  r  r  r%  r1  r8  r@  rD  rH  r[  rd  ri  rp  rw  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r  r%  r)  r-  r:  rA  rG  rM  rR  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r  r  r,  r3  r9  rK  r  r  r  r  r  r  r1  rx  r  r  r  r  r  r  rZ  rc  rf  rj  rs  r   r   )r   s   @r   r!   r!      s    .MU1J2N-J%O#M1J'*GKK>CGMK"N-N*N+'O0J'O=M0O
 
9"B>
	
3
7rC?)2.H1fE2N6.." O'
#BJ/<'B1
JF4VNp<E>8
8
"
$ 
&I
A#6KD $1G
1;D;6
9 %D%6	` v2pBM`ED?J48-tL.`L*"J0

/10(IT4=lKLZ]7~LPH(,('44lBEJN))VF,JX3OjmO^)V8p&
:' 'r   r!   c                  4    \         P                  ! ^R7       R# )r   )	verbosityN)unittestmainr   r   r   	test_mainr{    s    MMAr   __main__)weakrefr   r  rI  r6   rX  r   ry  rR   r   r  r   TestCaser!   r{  r   r   r   r   <module>r     sc         
 7# 79E 9dF'"" dF'LM zK r   