/[pcre]/code/trunk/testdata/testoutput2
ViewVC logotype

Diff of /code/trunk/testdata/testoutput2

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 197 by ph10, Tue Jul 31 10:50:18 2007 UTC revision 269 by ph10, Fri Nov 16 16:22:24 2007 UTC
# Line 109  Failed: missing ) at offset 4 Line 109  Failed: missing ) at offset 4
109  Failed: missing ) after comment at offset 7  Failed: missing ) after comment at offset 7
110    
111  /(?z)abc/  /(?z)abc/
112  Failed: unrecognized character after (? at offset 2  Failed: unrecognized character after (? or (?- at offset 2
113    
114  /.*b/I  /.*b/I
115  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 310  No match Line 310  No match
310  No match  No match
311    
312  /ab(?z)cd/  /ab(?z)cd/
313  Failed: unrecognized character after (? at offset 4  Failed: unrecognized character after (? or (?- at offset 4
314    
315  /^abc|def/I  /^abc|def/I
316  Capturing subpattern count = 0  Capturing subpattern count = 0
# Line 703  Starting byte set: a b Line 703  Starting byte set: a b
703    
704  /(?<=foo\n)^bar/Im  /(?<=foo\n)^bar/Im
705  Capturing subpattern count = 0  Capturing subpattern count = 0
706    Contains explicit CR or LF match
707  Options: multiline  Options: multiline
708  No first char  No first char
709  Need char = 'r'  Need char = 'r'
# Line 719  No match Line 720  No match
720    
721  /^(?<=foo\n)bar/Im  /^(?<=foo\n)bar/Im
722  Capturing subpattern count = 0  Capturing subpattern count = 0
723    Contains explicit CR or LF match
724  Options: multiline  Options: multiline
725  First char at start or follows newline  First char at start or follows newline
726  Need char = 'r'  Need char = 'r'
# Line 944  Failed: missing ) at offset 4 Line 946  Failed: missing ) at offset 4
946  Failed: unrecognized character after (?< at offset 3  Failed: unrecognized character after (?< at offset 3
947    
948  /a(?{)b/  /a(?{)b/
949  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
950    
951  /a(?{{})b/  /a(?{{})b/
952  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
953    
954  /a(?{}})b/  /a(?{}})b/
955  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
956    
957  /a(?{"{"})b/  /a(?{"{"})b/
958  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
959    
960  /a(?{"{"}})b/  /a(?{"{"}})b/
961  Failed: unrecognized character after (? at offset 3  Failed: unrecognized character after (? or (?- at offset 3
962    
963  /(?(1?)a|b)/  /(?(1?)a|b)/
964  Failed: malformed number or name after (?( at offset 4  Failed: malformed number or name after (?( at offset 4
# Line 1105  No need char Line 1107  No need char
1107  )?)?)?)?)?)?)?)?)?otherword/I  )?)?)?)?)?)?)?)?)?otherword/I
1108  Capturing subpattern count = 8  Capturing subpattern count = 8
1109  Partial matching not supported  Partial matching not supported
1110    Contains explicit CR or LF match
1111  No options  No options
1112  First char = 'w'  First char = 'w'
1113  Need char = 'd'  Need char = 'd'
# Line 1347  No need char Line 1350  No need char
1350    
1351  /^ab\n/Ig+  /^ab\n/Ig+
1352  Capturing subpattern count = 0  Capturing subpattern count = 0
1353    Contains explicit CR or LF match
1354  Options: anchored  Options: anchored
1355  No first char  No first char
1356  No need char  No need char
# Line 1356  No need char Line 1360  No need char
1360    
1361  /^ab\n/Img+  /^ab\n/Img+
1362  Capturing subpattern count = 0  Capturing subpattern count = 0
1363    Contains explicit CR or LF match
1364  Options: multiline  Options: multiline
1365  First char at start or follows newline  First char at start or follows newline
1366  Need char = 10  Need char = 10
# Line 1900  No need char Line 1905  No need char
1905  ------------------------------------------------------------------  ------------------------------------------------------------------
1906          Bra          Bra
1907          ^          ^
1908          [\x00-/:-@[-`{-\xff]          [\x00-/:-@[-`{-\xff] (neg)
1909          Ket          Ket
1910          End          End
1911  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1926  No need char Line 1931  No need char
1931  ------------------------------------------------------------------  ------------------------------------------------------------------
1932          Bra          Bra
1933          ^          ^
1934          [\x00-@[-`{-\xff]          [\x00-@[-`{-\xff] (neg)
1935          Ket          Ket
1936          End          End
1937  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1960  No need char Line 1965  No need char
1965  ------------------------------------------------------------------  ------------------------------------------------------------------
1966          Bra          Bra
1967          ^          ^
1968          [\x80-\xff]          [\x80-\xff] (neg)
1969          Ket          Ket
1970          End          End
1971  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1986  No need char Line 1991  No need char
1991  ------------------------------------------------------------------  ------------------------------------------------------------------
1992          Bra          Bra
1993          ^          ^
1994          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
1995          Ket          Ket
1996          End          End
1997  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 1997  No need char Line 2002  No need char
2002    
2003  /[\n\x0b\x0c\x0d[:blank:]]/IS  /[\n\x0b\x0c\x0d[:blank:]]/IS
2004  Capturing subpattern count = 0  Capturing subpattern count = 0
2005    Contains explicit CR or LF match
2006  No options  No options
2007  No first char  No first char
2008  No need char  No need char
# Line 2136  No need char Line 2142  No need char
2142  ------------------------------------------------------------------  ------------------------------------------------------------------
2143          Bra          Bra
2144          ^          ^
2145          [ -~\x80-\xff]          [ -~\x80-\xff] (neg)
2146          Ket          Ket
2147          End          End
2148  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2149  No need char Line 2155  No need char
2155  ------------------------------------------------------------------  ------------------------------------------------------------------
2156          Bra          Bra
2157          ^          ^
2158          [\x00-/12:-\xff]          [\x00-/12:-\xff] (neg)
2159          Ket          Ket
2160          End          End
2161  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2162  No need char Line 2168  No need char
2168  ------------------------------------------------------------------  ------------------------------------------------------------------
2169          Bra          Bra
2170          ^          ^
2171          [\x00-\x08\x0a-\x1f!-\xff]          [\x00-\x08\x0a-\x1f!-\xff] (neg)
2172          Ket          Ket
2173          End          End
2174  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 2730  No need char Line 2736  No need char
2736  /[\S]/DZ  /[\S]/DZ
2737  ------------------------------------------------------------------  ------------------------------------------------------------------
2738          Bra          Bra
2739          [\x00-\x08\x0b\x0e-\x1f!-\xff]          [\x00-\x08\x0b\x0e-\x1f!-\xff] (neg)
2740          Ket          Ket
2741          End          End
2742  ------------------------------------------------------------------  ------------------------------------------------------------------
# Line 5631  No need char Line 5637  No need char
5637    
5638  /line\nbreak/I  /line\nbreak/I
5639  Capturing subpattern count = 0  Capturing subpattern count = 0
5640    Contains explicit CR or LF match
5641  No options  No options
5642  First char = 'l'  First char = 'l'
5643  Need char = 'k'  Need char = 'k'
# Line 5641  Need char = 'k' Line 5648  Need char = 'k'
5648    
5649  /line\nbreak/If  /line\nbreak/If
5650  Capturing subpattern count = 0  Capturing subpattern count = 0
5651    Contains explicit CR or LF match
5652  Options: firstline  Options: firstline
5653  First char = 'l'  First char = 'l'
5654  Need char = 'k'  Need char = 'k'
# Line 5653  No match Line 5661  No match
5661    
5662  /line\nbreak/Imf  /line\nbreak/Imf
5663  Capturing subpattern count = 0  Capturing subpattern count = 0
5664    Contains explicit CR or LF match
5665  Options: multiline firstline  Options: multiline firstline
5666  First char = 'l'  First char = 'l'
5667  Need char = 'k'  Need char = 'k'
# Line 6160  Named capturing subpatterns: Line 6169  Named capturing subpatterns:
6169    A   2    A   2
6170    A   3    A   3
6171  Options: anchored dupnames  Options: anchored dupnames
6172    Duplicate name status changes
6173  No first char  No first char
6174  No need char  No need char
6175      a1b\CA      a1b\CA
# Line 7868  No match Line 7878  No match
7878  /a/<any><crlf>  /a/<any><crlf>
7879  Failed: inconsistent NEWLINE options at offset 0  Failed: inconsistent NEWLINE options at offset 0
7880    
7881  /^a\Rb/  /^a\Rb/<bsr_unicode>
7882      a\nb      a\nb
7883   0: a\x0ab   0: a\x0ab
7884      a\rb      a\rb
# Line 7886  No match Line 7896  No match
7896      a\n\rb      a\n\rb
7897  No match  No match
7898    
7899  /^a\R*b/  /^a\R*b/<bsr_unicode>
7900      ab      ab
7901   0: ab   0: ab
7902      a\nb      a\nb
# Line 7906  No match Line 7916  No match
7916      a\n\r\x85\x0cb      a\n\r\x85\x0cb
7917   0: a\x0a\x0d\x85\x0cb   0: a\x0a\x0d\x85\x0cb
7918    
7919  /^a\R+b/  /^a\R+b/<bsr_unicode>
7920      a\nb      a\nb
7921   0: a\x0ab   0: a\x0ab
7922      a\rb      a\rb
# Line 7928  No match Line 7938  No match
7938      ab      ab
7939  No match  No match
7940    
7941  /^a\R{1,3}b/  /^a\R{1,3}b/<bsr_unicode>
7942      a\nb      a\nb
7943   0: a\x0ab   0: a\x0ab
7944      a\n\rb      a\n\rb
# Line 7950  No match Line 7960  No match
7960      a\r      a\r
7961  No match  No match
7962    
7963  /^a[\R]b/  /^a[\R]b/<bsr_unicode>
7964      aRb      aRb
7965   0: aRb   0: aRb
7966      ** Failers      ** Failers
# Line 8064  No match Line 8074  No match
8074   2: b   2: b
8075    
8076  /^(a)\g-2/  /^(a)\g-2/
8077  Failed: reference to non-existent subpattern at offset 4  Failed: reference to non-existent subpattern at offset 7
8078    
8079  /^(a)\g/  /^(a)\g/
8080  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 5
8081    
8082  /^(a)\g{0}/  /^(a)\g{0}/
8083  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 7
8084    
8085  /^(a)\g{3/  /^(a)\g{3/
8086  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 4  Failed: \g is not followed by a braced name or an optionally braced non-zero number at offset 8
8087    
8088  /^(a)\g{4a}/  /^(a)\g{4a}/
8089  Failed: reference to non-existent subpattern at offset 9  Failed: reference to non-existent subpattern at offset 9
# Line 8778  No match Line 8788  No match
8788  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)  (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8789   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)   0: (0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(00)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)
8790    
8791    /[\E]AAA/
8792    Failed: missing terminating ] for character class at offset 7
8793    
8794    /[\Q\E]AAA/
8795    Failed: missing terminating ] for character class at offset 9
8796    
8797    /[^\E]AAA/
8798    Failed: missing terminating ] for character class at offset 8
8799    
8800    /[^\Q\E]AAA/
8801    Failed: missing terminating ] for character class at offset 10
8802    
8803    /[\E^]AAA/
8804    Failed: missing terminating ] for character class at offset 8
8805    
8806    /[\Q\E^]AAA/
8807    Failed: missing terminating ] for character class at offset 10
8808    
8809    /A(*PRUNE)B(*SKIP)C(*THEN)D(*COMMIT)E(*F)F(*FAIL)G(?!)H(*ACCEPT)I/BZ
8810    ------------------------------------------------------------------
8811            Bra
8812            A
8813            *PRUNE
8814            B
8815            *SKIP
8816            C
8817            *THEN
8818            D
8819            *COMMIT
8820            E
8821            *FAIL
8822            F
8823            *FAIL
8824            G
8825            *FAIL
8826            H
8827            *ACCEPT
8828            I
8829            Ket
8830            End
8831    ------------------------------------------------------------------
8832    
8833    /^a+(*FAIL)/
8834        aaaaaa
8835    No match
8836    
8837    /a+b?c+(*FAIL)/
8838        aaabccc
8839    No match
8840    
8841    /a+b?(*PRUNE)c+(*FAIL)/
8842        aaabccc
8843    No match
8844    
8845    /a+b?(*COMMIT)c+(*FAIL)/
8846        aaabccc
8847    No match
8848    
8849    /a+b?(*SKIP)c+(*FAIL)/
8850        aaabcccaaabccc
8851    No match
8852    
8853    /^(?:aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
8854        aaaxxxxxx
8855     0: aaaxxxxxx
8856        aaa++++++
8857     0: aaa
8858        bbbxxxxx
8859     0: bbbxxxxx
8860        bbb+++++
8861     0: bbb
8862        cccxxxx
8863     0: cccxxxx
8864        ccc++++
8865     0: ccc
8866        dddddddd
8867     0: ddd
8868    
8869    /^(aaa(*THEN)\w{6}|bbb(*THEN)\w{5}|ccc(*THEN)\w{4}|\w{3})/
8870        aaaxxxxxx
8871     0: aaaxxxxxx
8872     1: aaaxxxxxx
8873        aaa++++++
8874     0: aaa
8875     1: aaa
8876        bbbxxxxx
8877     0: bbbxxxxx
8878     1: bbbxxxxx
8879        bbb+++++
8880     0: bbb
8881     1: bbb
8882        cccxxxx
8883     0: cccxxxx
8884     1: cccxxxx
8885        ccc++++
8886     0: ccc
8887     1: ccc
8888        dddddddd
8889     0: ddd
8890     1: ddd
8891    
8892    /a+b?(*THEN)c+(*FAIL)/
8893        aaabccc
8894    No match
8895    
8896    /(A (A|B(*ACCEPT)|C) D)(E)/x
8897        ABX
8898     0: AB
8899        AADE
8900     0: AADE
8901     1: AAD
8902     2: A
8903     3: E
8904        ACDE
8905     0: ACDE
8906     1: ACD
8907     2: C
8908     3: E
8909        ** Failers
8910    No match
8911        AD
8912    No match
8913    
8914    /^a+(*FAIL)/C
8915        aaaaaa
8916    --->aaaaaa
8917     +0 ^          ^
8918     +1 ^          a+
8919     +3 ^     ^    (*FAIL)
8920     +3 ^    ^     (*FAIL)
8921     +3 ^   ^      (*FAIL)
8922     +3 ^  ^       (*FAIL)
8923     +3 ^ ^        (*FAIL)
8924     +3 ^^         (*FAIL)
8925    No match
8926    
8927    /a+b?c+(*FAIL)/C
8928        aaabccc
8929    --->aaabccc
8930     +0 ^           a+
8931     +2 ^  ^        b?
8932     +4 ^   ^       c+
8933     +6 ^      ^    (*FAIL)
8934     +6 ^     ^     (*FAIL)
8935     +6 ^    ^      (*FAIL)
8936     +4 ^  ^        c+
8937     +2 ^ ^         b?
8938     +4 ^ ^         c+
8939     +2 ^^          b?
8940     +4 ^^          c+
8941     +0  ^          a+
8942     +2  ^ ^        b?
8943     +4  ^  ^       c+
8944     +6  ^     ^    (*FAIL)
8945     +6  ^    ^     (*FAIL)
8946     +6  ^   ^      (*FAIL)
8947     +4  ^ ^        c+
8948     +2  ^^         b?
8949     +4  ^^         c+
8950     +0   ^         a+
8951     +2   ^^        b?
8952     +4   ^ ^       c+
8953     +6   ^    ^    (*FAIL)
8954     +6   ^   ^     (*FAIL)
8955     +6   ^  ^      (*FAIL)
8956     +4   ^^        c+
8957    No match
8958    
8959    /a+b?(*PRUNE)c+(*FAIL)/C
8960        aaabccc
8961    --->aaabccc
8962     +0 ^           a+
8963     +2 ^  ^        b?
8964     +4 ^   ^       (*PRUNE)
8965    +12 ^   ^       c+
8966    +14 ^      ^    (*FAIL)
8967    +14 ^     ^     (*FAIL)
8968    +14 ^    ^      (*FAIL)
8969     +0  ^          a+
8970     +2  ^ ^        b?
8971     +4  ^  ^       (*PRUNE)
8972    +12  ^  ^       c+
8973    +14  ^     ^    (*FAIL)
8974    +14  ^    ^     (*FAIL)
8975    +14  ^   ^      (*FAIL)
8976     +0   ^         a+
8977     +2   ^^        b?
8978     +4   ^ ^       (*PRUNE)
8979    +12   ^ ^       c+
8980    +14   ^    ^    (*FAIL)
8981    +14   ^   ^     (*FAIL)
8982    +14   ^  ^      (*FAIL)
8983    No match
8984    
8985    /a+b?(*COMMIT)c+(*FAIL)/C
8986        aaabccc
8987    --->aaabccc
8988     +0 ^           a+
8989     +2 ^  ^        b?
8990     +4 ^   ^       (*COMMIT)
8991    +13 ^   ^       c+
8992    +15 ^      ^    (*FAIL)
8993    +15 ^     ^     (*FAIL)
8994    +15 ^    ^      (*FAIL)
8995    No match
8996    
8997    /a+b?(*SKIP)c+(*FAIL)/C
8998        aaabcccaaabccc
8999    --->aaabcccaaabccc
9000     +0 ^                  a+
9001     +2 ^  ^               b?
9002     +4 ^   ^              (*SKIP)
9003    +11 ^   ^              c+
9004    +13 ^      ^           (*FAIL)
9005    +13 ^     ^            (*FAIL)
9006    +13 ^    ^             (*FAIL)
9007     +0        ^           a+
9008     +2        ^  ^        b?
9009     +4        ^   ^       (*SKIP)
9010    +11        ^   ^       c+
9011    +13        ^      ^    (*FAIL)
9012    +13        ^     ^     (*FAIL)
9013    +13        ^    ^      (*FAIL)
9014    No match
9015    
9016    /a+b?(*THEN)c+(*FAIL)/C
9017        aaabccc
9018    --->aaabccc
9019     +0 ^           a+
9020     +2 ^  ^        b?
9021     +4 ^   ^       (*THEN)
9022    +11 ^   ^       c+
9023    +13 ^      ^    (*FAIL)
9024    +13 ^     ^     (*FAIL)
9025    +13 ^    ^      (*FAIL)
9026     +0  ^          a+
9027     +2  ^ ^        b?
9028     +4  ^  ^       (*THEN)
9029    +11  ^  ^       c+
9030    +13  ^     ^    (*FAIL)
9031    +13  ^    ^     (*FAIL)
9032    +13  ^   ^      (*FAIL)
9033     +0   ^         a+
9034     +2   ^^        b?
9035     +4   ^ ^       (*THEN)
9036    +11   ^ ^       c+
9037    +13   ^    ^    (*FAIL)
9038    +13   ^   ^     (*FAIL)
9039    +13   ^  ^      (*FAIL)
9040    No match
9041    
9042    /a(*PRUNE:XXX)b/
9043    Failed: (*VERB) with an argument is not supported at offset 8
9044    
9045    /a(*MARK)b/
9046    Failed: (*VERB) not recognized at offset 7
9047    
9048    /(?i:A{1,}\6666666666)/
9049    Failed: number is too big at offset 19
9050    
9051    /\g6666666666/
9052    Failed: number is too big at offset 11
9053    
9054    /[\g6666666666]/
9055    Failed: number is too big at offset 12
9056    
9057    /(?1)\c[/
9058    Failed: reference to non-existent subpattern at offset 3
9059    
9060    /.+A/<crlf>
9061        \r\nA
9062    No match
9063    
9064    /\nA/<crlf>
9065        \r\nA
9066     0: \x0aA
9067    
9068    /[\r\n]A/<crlf>
9069        \r\nA
9070     0: \x0aA
9071    
9072    /(\r|\n)A/<crlf>
9073        \r\nA
9074     0: \x0aA
9075     1: \x0a
9076    
9077    /a(*CR)b/
9078    Failed: (*VERB) not recognized at offset 5
9079    
9080    /(*CR)a.b/
9081        a\nb
9082     0: a\x0ab
9083        ** Failers
9084    No match
9085        a\rb
9086    No match
9087    
9088    /(*CR)a.b/<lf>
9089        a\nb
9090     0: a\x0ab
9091        ** Failers
9092    No match
9093        a\rb
9094    No match
9095    
9096    /(*LF)a.b/<CRLF>
9097        a\rb
9098     0: a\x0db
9099        ** Failers
9100    No match
9101        a\nb
9102    No match
9103    
9104    /(*CRLF)a.b/
9105        a\rb
9106     0: a\x0db
9107        a\nb
9108     0: a\x0ab
9109        ** Failers
9110    No match
9111        a\r\nb
9112    No match
9113    
9114    /(*ANYCRLF)a.b/<CR>
9115        ** Failers
9116    No match
9117        a\rb
9118    No match
9119        a\nb
9120    No match
9121        a\r\nb
9122    No match
9123    
9124    /(*ANY)a.b/<cr>
9125        ** Failers
9126    No match
9127        a\rb
9128    No match
9129        a\nb
9130    No match
9131        a\r\nb
9132    No match
9133        a\x85b
9134    No match
9135    
9136    /a\Rb/I<bsr_anycrlf>
9137    Capturing subpattern count = 0
9138    Options: bsr_anycrlf
9139    First char = 'a'
9140    Need char = 'b'
9141        a\rb
9142     0: a\x0db
9143        a\nb
9144     0: a\x0ab
9145        a\r\nb
9146     0: a\x0d\x0ab
9147        ** Failers
9148    No match
9149        a\x85b
9150    No match
9151        a\x0bb
9152    No match
9153    
9154    /a\Rb/I<bsr_unicode>
9155    Capturing subpattern count = 0
9156    Options: bsr_unicode
9157    First char = 'a'
9158    Need char = 'b'
9159        a\rb
9160     0: a\x0db
9161        a\nb
9162     0: a\x0ab
9163        a\r\nb
9164     0: a\x0d\x0ab
9165        a\x85b
9166     0: a\x85b
9167        a\x0bb
9168     0: a\x0bb
9169        ** Failers
9170    No match
9171        a\x85b\<bsr_anycrlf>
9172    No match
9173        a\x0bb\<bsr_anycrlf>
9174    No match
9175    
9176    /a\R?b/I<bsr_anycrlf>
9177    Capturing subpattern count = 0
9178    Options: bsr_anycrlf
9179    First char = 'a'
9180    Need char = 'b'
9181        a\rb
9182     0: a\x0db
9183        a\nb
9184     0: a\x0ab
9185        a\r\nb
9186     0: a\x0d\x0ab
9187        ** Failers
9188    No match
9189        a\x85b
9190    No match
9191        a\x0bb
9192    No match
9193    
9194    /a\R?b/I<bsr_unicode>
9195    Capturing subpattern count = 0
9196    Options: bsr_unicode
9197    First char = 'a'
9198    Need char = 'b'
9199        a\rb
9200     0: a\x0db
9201        a\nb
9202     0: a\x0ab
9203        a\r\nb
9204     0: a\x0d\x0ab
9205        a\x85b
9206     0: a\x85b
9207        a\x0bb
9208     0: a\x0bb
9209        ** Failers
9210    No match
9211        a\x85b\<bsr_anycrlf>
9212    No match
9213        a\x0bb\<bsr_anycrlf>
9214    No match
9215    
9216    /a\R{2,4}b/I<bsr_anycrlf>
9217    Capturing subpattern count = 0
9218    Partial matching not supported
9219    Options: bsr_anycrlf
9220    First char = 'a'
9221    Need char = 'b'
9222        a\r\n\nb
9223     0: a\x0d\x0a\x0ab
9224        a\n\r\rb
9225     0: a\x0a\x0d\x0db
9226        a\r\n\r\n\r\n\r\nb
9227     0: a\x0d\x0a\x0d\x0a\x0d\x0a\x0d\x0ab
9228        ** Failers
9229    No match
9230        a\x85\85b
9231    No match
9232        a\x0b\0bb
9233    No match
9234    
9235    /a\R{2,4}b/I<bsr_unicode>
9236    Capturing subpattern count = 0
9237    Partial matching not supported
9238    Options: bsr_unicode
9239    First char = 'a'
9240    Need char = 'b'
9241        a\r\rb
9242     0: a\x0d\x0db
9243        a\n\n\nb
9244     0: a\x0a\x0a\x0ab
9245        a\r\n\n\r\rb
9246     0: a\x0d\x0a\x0a\x0d\x0db
9247        a\x85\85b
9248    No match
9249        a\x0b\0bb
9250    No match
9251        ** Failers
9252    No match
9253        a\r\r\r\r\rb
9254    No match
9255        a\x85\85b\<bsr_anycrlf>
9256    No match
9257        a\x0b\0bb\<bsr_anycrlf>
9258    No match
9259    
9260    /(*BSR_ANYCRLF)a\Rb/I
9261    Capturing subpattern count = 0
9262    Options: bsr_anycrlf
9263    First char = 'a'
9264    Need char = 'b'
9265        a\nb
9266     0: a\x0ab
9267        a\rb
9268     0: a\x0db
9269    
9270    /(*BSR_UNICODE)a\Rb/I
9271    Capturing subpattern count = 0
9272    Options: bsr_unicode
9273    First char = 'a'
9274    Need char = 'b'
9275        a\x85b
9276     0: a\x85b
9277    
9278    /(*BSR_ANYCRLF)(*CRLF)a\Rb/I
9279    Capturing subpattern count = 0
9280    Options: bsr_anycrlf
9281    Forced newline sequence: CRLF
9282    First char = 'a'
9283    Need char = 'b'
9284        a\nb
9285     0: a\x0ab
9286        a\rb
9287     0: a\x0db
9288    
9289    /(*CRLF)(*BSR_UNICODE)a\Rb/I
9290    Capturing subpattern count = 0
9291    Options: bsr_unicode
9292    Forced newline sequence: CRLF
9293    First char = 'a'
9294    Need char = 'b'
9295        a\x85b
9296     0: a\x85b
9297    
9298    /(*CRLF)(*BSR_ANYCRLF)(*CR)ab/I
9299    Capturing subpattern count = 0
9300    Options: bsr_anycrlf
9301    Forced newline sequence: CR
9302    First char = 'a'
9303    Need char = 'b'
9304    
9305    /(?<a>)(?&)/
9306    Failed: subpattern name expected after (?& at offset 9
9307    
9308    /(?<abc>)(?&a)/
9309    Failed: reference to non-existent subpattern at offset 12
9310    
9311    /(?<a>)(?&aaaaaaaaaaaaaaaaaaaaaaa)/
9312    Failed: reference to non-existent subpattern at offset 32
9313    
9314    /(?+-a)/
9315    Failed: digit expected after (?+ at offset 3
9316    
9317    /(?-+a)/
9318    Failed: unrecognized character after (? or (?- at offset 3
9319    
9320  / End of testinput2 /  / End of testinput2 /

Legend:
Removed from v.197  
changed lines
  Added in v.269

  ViewVC Help
Powered by ViewVC 1.1.5