a
    zeg                    @   s  e d \ZZZg dZddefddefddefddefddefd	defd
defddefddeddfddeddfddefddeddfdedd ededd fddeddfddeddfddeddfddeddfddeddfd defd!d"edd"fd#d"edd"fd$defd%d&eded'fd(d)eded*fd+d,eded-fd.d/edd0fd1d2edd2fd1d3efd4d5efd6d5efd1d7edd7fd8d3edd3fd9d5edd5fd:d5edd5fd8d7edd7fd;defddeddfd<d<edd<fd<d=efd<d>efd<d?efd<d@edd<fd<dAedd<fdBd<edd<fdCd<edd<fdCdDeddDfdCdEeddEfdFdDeddDfdFd<efdFdGefdFdEeddEfdHdDeddDfdHd<edd<fdHdEefdId<edd<fdJd<edd<fdJdKefdLdKedd<fdJdMefdNdMedd<fdOd<edPdQfdRd<edPdQfdSd<edd<fdSd>edd>fdTdUeddUfdTdVefdWd<efdWdXeddXfdYdXefdYdZeddZfd[d\edd]fd^d_edd_fd`d_edd_fdadQefdbdQefdcdQefdddQefdedQefdfdfeddffdgdheddhfdidheddhfdjdkeddkfdjdXefdldmeddmfdldnefdodpefdodmeddmfdqd_edrdQfdqdsedrdQfdqdtedrdQfdudvefdudwefdudxefdydxefdzdxedrdQfd{dxedrdQfd|dxefd}dxefd~d_edrdQfd~dsedrdQfd~dtedrdQfddvefddwefddvedrdQfddwedrdQfddxedrdQfdd<eddfddeddfddeddfddefddeddfddeddfddeddfddeddfdd<eddfdd<eddfddedd<fddeddfddeddfddeddfddQefddeddfd<defddeddfddeddfddeddfddeddfddeddfddeddfddeddfddeddfddeddvfddeddfddeddfdd<eddfdd<eddfddeddfddeddfddeddfddeddfddefdd<eddfddeddfddeddfddeddfddeddfddeddfddefddefddeddfddeddfddefddeddfddeddfddeddfddefdd]edd]fddedd<fddedd<fddeddfddeddfddefddeddfddeddfddeddfddeddfddeddfddeddfddeddfddeddfddeddfddeddfddeddfddeddfdd eddfddeddfddeddfdd	ed
dfddeddfddeddfddeddfdd<efddeddfdd\eddfddefddeddfddeddfddefddefddEeddEfd dGefd dEeddEfd!dEeddEfd"dEeddEfd#dEefd$d<edd<fd%d<edd<fdOd<eddfdRd<eddfd&d_edd_fd'dQefd(dQefd)dQefd*dedd<fd+dQefd,dedd<fd-deddfd.deddfd/deddfd0d1edd2fd3dedd4fddefd5ded6dfd7deddfd8defd9defd:d;edd;fd:d<efd:d=efd:d>efd:d?edd;fd:d@edd;fdAd;edd;fdBd;edd;fdBdCeddCfdDdEeddEfdFdEeddEfdGdCeddCfdHd;efdHdIefdJdIefdHdEeddEfdKdEeddEfdLdEeddEfdMdEeddEfdNdEefdOdCeddCfdOd;edd;fdPd;edd;fdOdEefdQd;edd;fdRd;edd;fdSd;edd;fdSdTefdUdTedd;fdSdVefdWdVedd;fdXd;eddfdYd;eddfdZd;edd;fdZd=edd=fd[d\edd\fd]d^efd_d;efd_d`edd`fdad`efdadbeddbfdcddeddefdfdgeddgfdhdgeddgfdidQefdjdQefdkdQefdldmeddmfdndoeddofdpdqeddqfdpd`efdrdseddsfdrdtefdudvefdudseddsfdwd;eddfdwdxeddfdydzedd{fd|dQefd}dQefd~defddQefddeddfddeddfddeddfddeddfddQefddQefdd;eddfdd;eddfddedd;fddedd;fddQefddedd;fd[dedd;fddedd;fddeddfddeddfddeddfddeddfddeddfddeddfddeddfddQefddeddfd:defddeddfddeddfddxeddfddeddfddeddfddeddfddeddfddeddfddeddfddeddfddefddedd{fddxeddfdd;eddfdd;eddfddxeddfddxeddfdÐdxeddfdŐdeddfdǐdefdȐd;eddfdʐdxedƐdfd̐deddfdΐdeddfdѐdeddfdѐdeddfdѐdefdѐdefdѐdeddfdded6dfdڐdeddfddeddfddeddfdސdeddfddefddeddfddeddfddedސdfddefddeeddefddedd;fddedd;fddeddfddeddfddeddfddZeddfddZeddfddZeddfddZeddfddeddfddeddfdd eddfddefddeddfddeddfddeddfdLd	efd
d	edd<fddedd<fddeddfddeddfddedd<fddedd<fddeddfddeddfddeddfdd&eded'fdd&efddeddfddeddfddededed  ed! ed" ed# ed$ fd%d&edd&fd'd(ed)d*fd+defd,d-eddXfd.defd/d0edd0fd1d2edd2fd3d4edd4fd5d6edd7fd8d9edd9fd:d;edd;fd<d=edd=fd<d>edd>fd?d@eddfdAdBeddBfdCdBeddBfdDdBeddBfdEdBeddBfdFdefdGdHeddHfdIdJefdKdLefdMd4efdNded)dOfdPd<edQdRfdSd<edQdRfdTd<edQdRfgZdUZedVdeddfdWeedefdXeedefg dYS (Z     ))zPython|PerlPerl)z(Python|Perl)r   )zPython|Perl|Tclr   )z(Python|Perl|Tcl)r   )z
(Python)\1ZPythonPython)z([0a-z][a-z0-9]*,)+	a5,b7,c9,)z([a-z][a-z0-9]*,)+r   )Pythonr   )z.*Pythonr   )z
.*Python.*r   )z
.*(Python)r   z(?P<foo_123 z(?P<1>a)z(?P<!>a)z(?P<foo!>a)z(?P<foo_123>a)(?P=foo_123Zaaz(?P<foo_123>a)(?P=1)z(?P<foo_123>a)(?P=!)z(?P<foo_123>a)(?P=foo_124z(?P<foo_123>a)aZg1z(?P<foo_123>a)(?P=foo_123)z\1z[\1]foundz\09    9z\141z((a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\119Zabcdefghijklk9zfound+"-"+g11zabcdefghijklk9-kz\0 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\uz\x00ffffffffffffff   ÿ   z\x00f   z\x00fe   þ   z^\w+=(\\[\000-\277]|[^\n\\])*z(SRC=eval.c g.c blah blah blah \\
	apes.cz SRC=eval.c g.c blah blah blah \\za.bZacbza
bza.*bzacc
ccbza.{4,5}bzabz(?s)a.bz(?s)a.*bz(?s)a.{4,5}b)abcZxbcZaxcZabxZxabcyZababczab*czab*bcZabbcZabbbbczab+bcZabqzab?bczab?cz^abc$Zabccz^abcZaabczabc$^z	found+"-"-$za.cza.*cZaxyzcZaxyzdza[bc]dZabdza[b-d]eZaceza[b-d]ZaacZacza[-b]za-za[\-b]za[]bza[za\zabc)z(abcza]za[]]bza]bza[\]]bza[^bc]dZaedza[^-b]cZadcza-cza[^]b]cza]cz\ba\bz"-"z-az-a-z\by\bZxyZyzZxyzzx\bzx\Bz\Bzzz\Bz\Bxz\Ba\Bz\By\Bz\By\bz\by\Bzab|cdabZabcdz()efdefzfound+"-"+g1zef-z$bbza\(bza(bz	a(b-Errorza\(*bza((bza\\bza\bz((a))zfound+"-"+g1+"-"+g2za-a-az(a)b(c)zabc-a-cza+b+cZaabbabcz(a+|b)*zab-bz(a+|b)+z(a+|b)?za-az)(z[^ab]*Zcdeza*z	a|b|c|d|eez(a|b|c|d|e)fZefzef-ezabcd*efgZabcdefgzab*Z	xabyabbbzZxayabbbzz(ab|cd)eZabcdezcde-cdz[abhgefdc]ijZhijz	^(ab|cd)eZxg1yz(abc|)efZabcdefz(a|b)c*dzbcd-bz
(ab|ab*)bczabc-az
a([bc]*)c*zabc-bcza([bc]*)(c*d)z	abcd-bc-dza([bc]+)(c*d)za([bc]*)(c+d)z	abcd-b-cdza[bcd]*dcdcdeZadcdcdeza[bcd]+dcdcdez	(ab|a)b*czabc-abz((a)(b)c)(d)zg1+"-"+g2+"-"+g3+"-"+g4z	abc-a-b-dz[a-zA-Z_][a-zA-Z0-9_]*alphaz^a(bc+|b[eh])g|.h$Zabhzbh-Nonez(bc+d$|ef*g.|h?i(j|k))Zeffgzzeffgz-effgz-NoneZijzij-ij-jZeffgZbcddZreffgzz(((((((((a)))))))))zmultiple words of textzuh-uhzmultiple wordszmultiple words, yeahz	(.*)c(.*)zabcde-ab-dez\((.*), (.*)\)z(a, b)z	g2+"-"+g1zb-az[k]za[-]?cz(abc)\1Zabcabcz
([a-c]*)\1z^(.+)?BZABAz(a+).\1$Zaaaaazaaaaa-aaz	^(a+).\1$Zaaaaz
abcabc-abcz
([a-c]+)\1z(a)\1zaa-az(a+)\1z(a+)+\1z(a).+\1Zabazaba-az(a)ba*\1z
(aa|a)a\1$Zaaazaaa-az
(a|aa)a\1$z(a+)a\1$z
([abc]*)\1z
(a)(b)c|abzab-None-Nonez(a)+xZaaaxzaaax-az([ac])+xZaacxzaacx-cz([^/]*/)*sub1/zd:msgs/tdir/sub1/trial/away.cppzd:msgs/tdir/sub1/-tdir/z([^.]*)\.([^:]*):[T ]+(.*)ztrack1.title:TBlah blah blahzfound+"-"+g1+"-"+g2+"-"+g3z8track1.title:TBlah blah blah-track1-title-Blah blah blahz	([^N]*N)+ZabNNxyzNzabNNxyzN-xyzNZabNNxyzzabNN-Nz	([abc]*)xZabcxzabcx-abcz	([xyz]*)xzx-z	(a)+b|aaczaac-Nonez(?P<i d>aaa)az(?P<id>aaa)azfound+"-"+idzaaaa-aaaz(?P<id>aa)(?P=id)zaaaa-aaz(?P<id>aa)(?P=xd)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-]z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])*dZabbbcdzabbbcd-cz([abc])*bcdzabcd-az((((((((((a))))))))))Zg10z((((((((((a))))))))))\10z((((((((((a))))))))))\41z(?i)((((((((((a))))))))))\41z(?i)abcABCZXBCZAXCZABXZXABCYZABABCz(?i)ab*cz	(?i)ab*bcZABBCz
(?i)ab*?bcZABBBBCz(?i)ab{0,}?bcz
(?i)ab+?bcz	(?i)ab+bcZ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$ZABCCz(?i)^abcZAABCz(?i)abc$z(?i)^z(?i)$z(?i)a.cz	(?i)a.*?cZAXYZCz(?i)a.*cZAXYZDz
(?i)a[bc]dZABDz(?i)a[b-d]eZACEz
(?i)a[b-d]ZAACZ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]dZAEDz(?i)a[^-b]cZADCzA-Cz(?i)a[^]b]czA]Cz	(?i)ab|cdZABCDz(?i)()efZDEFzEF-z(?i)*az(?i)(*)bz(?i)$bBz(?i)a\z(?i)a\(bzA(Bz	A(B-Errorz	(?i)a\(*bzA((Bz(?i)a\\bzA\Bz(?i)abc)z(?i)(abcz	(?i)((a))zA-A-Az(?i)(a)b(c)zABC-A-Cz	(?i)a+b+cZAABBABCz(?i)a{1,}b{1,}cz(?i)a**z	(?i)a.+?cZABCABCz(?i)a.{0,5}?cz(?i)(a+|b)*zAB-Bz(?i)(a+|b){0,}z(?i)(a+|b)+z(?i)(a+|b){1,}z(?i)(a+|b)?zA-Az(?i)(a+|b){0,1}z(?i)(a+|b){0,1}?z-Nonez(?i))(z
(?i)[^ab]*ZCDEz(?i)a*z(?i)([abc])*dZABBBCDzABBBCD-Cz(?i)([abc])*bcdzABCD-Az(?i)a|b|c|d|eEz(?i)(a|b|c|d|e)fZEFzEF-Ez(?i)abcd*efgZABCDEFGz(?i)ab*Z	XABYABBBZZXAYABBBZz(?i)(ab|cd)eZABCDEzCDE-CDz(?i)[abhgefdc]ijZHIJz(?i)^(ab|cd)ez(?i)(abc|)efZABCDEFz(?i)(a|b)c*dzBCD-Bz(?i)(ab|ab*)bczABC-Az(?i)a([bc]*)c*zABC-BCz(?i)a([bc]*)(c*d)z	ABCD-BC-Dz(?i)a([bc]+)(c*d)z(?i)a([bc]*)(c+d)z	ABCD-B-CDz(?i)a[bcd]*dcdcdeZADCDCDEz(?i)a[bcd]+dcdcdez(?i)(ab|a)b*czABC-ABz(?i)((a)(b)c)(d)z	ABC-A-B-Dz(?i)[a-zA-Z_][a-zA-Z0-9_]*ZALPHAz(?i)^a(bc+|b[eh])g|.h$ZABHzBH-Nonez(?i)(bc+d$|ef*g.|h?i(j|k))ZEFFGZzEFFGZ-EFFGZ-NoneZIJzIJ-IJ-JZEFFGZBCDDZREFFGZz(?i)((((((((((a))))))))))z(?i)((((((((((a))))))))))\10ZAAz(?i)(((((((((a)))))))))z+(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))z/(?i)(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))Cz(?i)multiple words of textzUH-UHz(?i)multiple wordszMULTIPLE WORDS, YEAHzMULTIPLE WORDSz(?i)(.*)c(.*)zABCDE-AB-DEz(?i)\((.*), (.*)\)z(A, B)zB-Az(?i)[k]z
(?i)a[-]?cz(?i)(abc)\1z(?i)([a-c]*)\1za(?!b).ZabadZadz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g1 + g2Zcez(?<!-):(.*?)(?<!-):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)zZwxyzz(?i)wWz:(?x)w# comment 1
        x y
        # comment 2
        zzjkl
abc
xyzz(?m)^abcz(?m)abc$zjkl
xyzabc
123z\w+z--ab_cd0123--Z	ab_cd0123z[\w]+z\D+Z1234abc5678z[\D]+z[\da-fA-F]+Z123abcz([\s]*)([\S]*)([\s]*)z testing!1972zg3+g2+g1ztesting!1972 z(\s*)(\S*)(\s*)z\xffz\x00ffz\t\n\v\r\f\az	
	   
               z[\t][\n][\v][\r][\f][\b]z	
z(([a-z]+):)?([a-z]+)$Zsmilzg1+"-"+g2+"-"+g3zNone-None-smilz((.)\1+)z.*dzabc
abd(z[\41]!z(x?)?xz	(?x) foo Zfooz(?<!abc)(d.f)Z	abcdefdofZdofz[\w-]+Z
laser_beamz.*?\S *:zxx:za[ ]*?\ (\d+).*za   10za    10z(?ms).*?x\s*\Z(.*)zxx
x
z(?i)M+ZMMMz(?i)m+z(?i)[M]+z(?i)[m]+z^*z"(?:\\"|[^"])*?"z"\""z^.*?$zone
two
three
za[^>]*?bza>bz^a*?$z^((a)c)?(ab)$zNone-None-abz^([ab]*?)(?=(b)?)cz	g1+"-"+g2zab-Nonez^([ab]*?)(?!(b))cz^([ab]*?)(?<!(a))c   Äz\b.\bz	(?u)\b.\bz(?u)\wN)	rangeZSUCCEEDZFAILZSYNTAX_ERRORZ
benchmarkschrZtestsuextend r1   r1   #/usr/lib/python3.9/test/re_tests.py<module>   sP  
)























H


      y