Merge lp:~zorba-coders/zorba/bug-1192246 into lp:zorba

Proposed by Paul J. Lucas
Status: Merged
Approved by: Paul J. Lucas
Approved revision: 11631
Merged at revision: 11637
Proposed branch: lp:~zorba-coders/zorba/bug-1192246
Merge into: lp:zorba
Diff against target: 1830 lines (+1189/-76)
65 files modified
ChangeLog (+1/-0)
modules/atomic/string.xq (+81/-0)
src/functions/pregenerated/func_strings.cpp (+37/-0)
src/functions/pregenerated/func_strings.h (+15/-0)
src/functions/pregenerated/function_enum.h (+2/-0)
src/runtime/pregenerated/iterator_enum.h (+1/-0)
src/runtime/spec/strings/strings.xml (+22/-1)
src/runtime/strings/pregenerated/strings.cpp (+28/-0)
src/runtime/strings/pregenerated/strings.h (+32/-0)
src/runtime/strings/strings_impl.cpp (+287/-49)
src/runtime/visitors/pregenerated/planiter_visitor.h (+5/-0)
src/runtime/visitors/pregenerated/printer_visitor.cpp (+14/-0)
src/runtime/visitors/pregenerated/printer_visitor.h (+3/-0)
src/util/icu_regex.cpp (+12/-3)
src/util/icu_regex.h (+20/-7)
src/util/zorba_regex.cpp (+2/-4)
src/util/zorba_regex.h (+4/-4)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-01.xml.res (+7/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-02.xml.res (+7/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-03.xml.res (+3/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-04.xml.res (+13/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-05.xml.res (+9/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-06.xml.res (+483/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-07.xml.res (+5/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-08.xml.res (+5/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-09.xml.res (+5/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-11.xml.res (+1/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-12.xml.res (+3/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-13.xml.res (+3/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-14.xml.res (+3/-0)
test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-15.xml.res (+3/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string12.xq (+1/-1)
test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string13.xq (+0/-1)
test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string2.xq (+1/-1)
test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string3.xq (+1/-1)
test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string4.xq (+2/-3)
test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string7.xq (+1/-1)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-01.jq (+3/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-01.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-02.jq (+3/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-02.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-03.jq (+3/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-03.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-04.jq (+4/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-04.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-05.jq (+4/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-05.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-06.jq (+5/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-06.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-07.jq (+5/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-07.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-08.jq (+5/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-08.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-09.jq (+5/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-09.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-11.jq (+4/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-11.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-12.jq (+3/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-12.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-13.jq (+3/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-13.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-14.jq (+3/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-14.spec (+1/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-15.jq (+3/-0)
test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-15.spec (+1/-0)
To merge this branch: bzr merge lp:~zorba-coders/zorba/bug-1192246
Reviewer Review Type Date Requested Status
Matthias Brantner Approve
Paul J. Lucas Approve
Review via email: mp+186942@code.launchpad.net

Commit message

Added JSONiq version of analyze-string.

Description of the change

Added JSONiq version of analyze-string.

To post a comment you must log in.
Revision history for this message
Paul J. Lucas (paul-lucas) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/bug-1192246/+merge/186942

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue result for https://code.launchpad.net/~zorba-coders/zorba/bug-1192246/+merge/186942

Stage "TestZorbaUbuntu" failed.
11 tests failed (8550 total tests run).

Check test results at http://jenkins.lambda.nu/job/TestZorbaUbuntu/324/testReport/ to view the results.

lp:~zorba-coders/zorba/bug-1192246 updated
11632. By Paul J. Lucas

Added missing file.

11633. By Paul J. Lucas

Added extra function signature.

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/bug-1192246/+merge/186942

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Voting criteria failed for the following merge proposals:

https://code.launchpad.net/~zorba-coders/zorba/bug-1192246/+merge/186942 :
Votes: {'Approve': 1}

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue result for https://code.launchpad.net/~zorba-coders/zorba/bug-1192246/+merge/186942

Stage "CommitZorba" failed.

Check console output at http://jenkins.lambda.nu/job/CommitZorba/199/console to view the results.

Revision history for this message
Matthias Brantner (matthias-brantner) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue starting for the following merge proposals:
https://code.launchpad.net/~zorba-coders/zorba/bug-1192246/+merge/186942

Progress dashboard at http://jenkins.lambda.nu/view/ValidationQueue

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue succeeded - proposal merged!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'ChangeLog'
--- ChangeLog 2013-09-12 21:53:44 +0000
+++ ChangeLog 2013-09-24 00:49:11 +0000
@@ -44,6 +44,7 @@
44 * Fixed bug #1194720 (castable as performance)44 * Fixed bug #1194720 (castable as performance)
45 * Fixed bug #1189636 (transcoding hexBinary streambuf)45 * Fixed bug #1189636 (transcoding hexBinary streambuf)
46 * Fixed bug in hoisting through try-catch expr46 * Fixed bug in hoisting through try-catch expr
47 * Fixed bug #1192246 (bring fn:analyze-string and fn:serialize to jsoniq)
47 * Fixed bug #1162631 (format-integer 'w' format of negative numbers)48 * Fixed bug #1162631 (format-integer 'w' format of negative numbers)
48 * Fixed bug #1189840 (Need JSONiq CSV module)49 * Fixed bug #1189840 (Need JSONiq CSV module)
49 * Fixed bug #1217140 (Support XQuery 3.0 item-separator serialization parameter)50 * Fixed bug #1217140 (Support XQuery 3.0 item-separator serialization parameter)
5051
=== modified file 'modules/atomic/string.xq'
--- modules/atomic/string.xq 2013-08-09 08:27:30 +0000
+++ modules/atomic/string.xq 2013-09-24 00:49:11 +0000
@@ -32,6 +32,85 @@
32declare option ver:module-version "1.0";32declare option ver:module-version "1.0";
3333
34(:~34(:~
35 : Analyzes a string using a regular expression, returning sequence of JSON
36 : objects that identify which parts of the input string matched or failed to
37 : match the regular expression; and in the case of matched substrings, which
38 : substrings matched each capturing group in the regular expression.
39 : <p/>
40 : This function behaves like
41 : <a href="http://www.w3.org/TR/xpath-functions-30/#func-analyze-string"><code>fn:analyze-string</code></a>
42 : but returns a JSON array rather than an XML element.
43 :
44 : @param $input The string to analyze. If the empty sequence, the function
45 : behaves as if <code>$input</code> were a zero-length string.
46 : @param $pattern The regular expression.
47 : @param $flags The $flags argument is interpreted in the same way as for the
48 : <a href="http://www.w3.org/TR/xpath-functions-30/#func-matches"><code>fn:matches</code></a>
49 : function.
50 : @return a JSON array of objects where each object contains a single
51 : key/value pair.
52 : Each key is either <code>match</code> or <code>non-match</code>.
53 : For <code>non-match</code>,
54 : the value is a string that is the part of <code>$input</code>
55 : that did not match;
56 : for <code>match</code>,
57 : the value is either
58 : a string that is the part of <code>$input</code> that matched
59 : (when <code>$pattern</code> contains no capturing groups)
60 : or an array containing values for both capturing groups
61 : and other matches.
62 : <p/>
63 : Capturing group matches are themselves arrays
64 : where the first element is the group number (1-based)
65 : and subsequent elements are either
66 : a string that is the part of <code>$input</code> that matched
67 : or sub-arrays for nested capturing groups.
68 :)
69declare function string:analyze-string( $input as xs:string?,
70 $pattern as xs:string,
71 $flags as xs:string )
72 as array() external;
73
74(:~
75 : Analyzes a string using a regular expression, returning sequence of JSON
76 : objects that identify which parts of the input string matched or failed to
77 : match the regular expression; and in the case of matched substrings, which
78 : substrings matched each capturing group in the regular expression.
79 : <p/>
80 : This function behaves like
81 : <a href="http://www.w3.org/TR/xpath-functions-30/#func-analyze-string"><code>fn:analyze-string</code></a>
82 : but returns a JSON array rather than an XML element.
83 :
84 : @param $input The string to analyze. If the empty sequence, the function
85 : behaves as if <code>$input</code> were a zero-length string.
86 : @param $pattern The regular expression.
87 : @return a JSON array of objects where each object contains a single
88 : key/value pair.
89 : Each key is either <code>match</code> or <code>non-match</code>.
90 : For <code>non-match</code>,
91 : the value is a string that is the part of <code>$input</code>
92 : that did not match;
93 : for <code>match</code>,
94 : the value is either
95 : a string that is the part of <code>$input</code> that matched
96 : (when <code>$pattern</code> contains no capturing groups)
97 : or an array containing values for both capturing groups
98 : and other matches.
99 : <p/>
100 : Capturing group matches are themselves arrays
101 : where the first element is the group number (1-based)
102 : and subsequent elements are either
103 : a string that is the part of <code>$input</code> that matched
104 : or sub-arrays for nested capturing groups.
105 :)
106declare function string:analyze-string( $input as xs:string?,
107 $pattern as xs:string )
108 as array()
109{
110 string:analyze-string( $input, $pattern, "" )
111};
112
113(:~
35 : <p>This function materializes a streamable string.</p>114 : <p>This function materializes a streamable string.</p>
36 :115 :
37 : <p>The drawback of a streamable (non-seekable) string is that116 : <p>The drawback of a streamable (non-seekable) string is that
@@ -102,3 +181,5 @@
102declare function string:split(181declare function string:split(
103 $s as string,182 $s as string,
104 $separator as string) as string* external;183 $separator as string) as string* external;
184
185(: vim:set et sw=2 ts=2: :)
105186
=== modified file 'src/functions/pregenerated/func_strings.cpp'
--- src/functions/pregenerated/func_strings.cpp 2013-08-09 09:20:54 +0000
+++ src/functions/pregenerated/func_strings.cpp 2013-09-24 00:49:11 +0000
@@ -300,6 +300,16 @@
300 return new FnAnalyzeStringIterator(sctx, loc, argv);300 return new FnAnalyzeStringIterator(sctx, loc, argv);
301}301}
302302
303PlanIter_t fn_zorba_string_analyze_string::codegen(
304 CompilerCB*,
305 static_context* sctx,
306 const QueryLoc& loc,
307 std::vector<PlanIter_t>& argv,
308 expr& ann) const
309{
310 return new StringAnalyzeStringIterator(sctx, loc, argv);
311}
312
303PlanIter_t fn_zorba_string_materialize::codegen(313PlanIter_t fn_zorba_string_materialize::codegen(
304 CompilerCB*,314 CompilerCB*,
305 static_context* sctx,315 static_context* sctx,
@@ -863,6 +873,33 @@
863873
864874
865 {875 {
876 DECL_WITH_KIND(sctx, fn_zorba_string_analyze_string,
877 (createQName("http://zorba.io/modules/string","","analyze-string"),
878 GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
879 GENV_TYPESYSTEM.STRING_TYPE_ONE,
880 GENV_TYPESYSTEM.JSON_ARRAY_TYPE_ONE),
881 FunctionConsts::FN_ZORBA_STRING_ANALYZE_STRING_2);
882
883 }
884
885
886
887
888 {
889 DECL_WITH_KIND(sctx, fn_zorba_string_analyze_string,
890 (createQName("http://zorba.io/modules/string","","analyze-string"),
891 GENV_TYPESYSTEM.STRING_TYPE_QUESTION,
892 GENV_TYPESYSTEM.STRING_TYPE_ONE,
893 GENV_TYPESYSTEM.STRING_TYPE_ONE,
894 GENV_TYPESYSTEM.JSON_ARRAY_TYPE_ONE),
895 FunctionConsts::FN_ZORBA_STRING_ANALYZE_STRING_3);
896
897 }
898
899
900
901
902 {
866 DECL_WITH_KIND(sctx, fn_zorba_string_materialize,903 DECL_WITH_KIND(sctx, fn_zorba_string_materialize,
867 (createQName("http://zorba.io/modules/string","","materialize"), 904 (createQName("http://zorba.io/modules/string","","materialize"),
868 GENV_TYPESYSTEM.STRING_TYPE_ONE, 905 GENV_TYPESYSTEM.STRING_TYPE_ONE,
869906
=== modified file 'src/functions/pregenerated/func_strings.h'
--- src/functions/pregenerated/func_strings.h 2013-09-19 16:36:16 +0000
+++ src/functions/pregenerated/func_strings.h 2013-09-24 00:49:11 +0000
@@ -453,6 +453,21 @@
453};453};
454454
455455
456//fn-zorba-string:analyze-string
457class fn_zorba_string_analyze_string : public function
458{
459public:
460 fn_zorba_string_analyze_string(const signature& sig, FunctionConsts::FunctionKind kind)
461 :
462 function(sig, kind)
463 {
464
465 }
466
467 CODEGEN_DECL();
468};
469
470
456//fn-zorba-string:materialize471//fn-zorba-string:materialize
457class fn_zorba_string_materialize : public function472class fn_zorba_string_materialize : public function
458{473{
459474
=== modified file 'src/functions/pregenerated/function_enum.h'
--- src/functions/pregenerated/function_enum.h 2013-09-09 23:47:17 +0000
+++ src/functions/pregenerated/function_enum.h 2013-09-24 00:49:11 +0000
@@ -498,6 +498,8 @@
498 FN_TOKENIZE_3,498 FN_TOKENIZE_3,
499 FN_ANALYZE_STRING_2,499 FN_ANALYZE_STRING_2,
500 FN_ANALYZE_STRING_3,500 FN_ANALYZE_STRING_3,
501 FN_ZORBA_STRING_ANALYZE_STRING_2,
502 FN_ZORBA_STRING_ANALYZE_STRING_3,
501 FN_ZORBA_STRING_MATERIALIZE_1,503 FN_ZORBA_STRING_MATERIALIZE_1,
502 FN_ZORBA_STRING_IS_STREAMABLE_1,504 FN_ZORBA_STRING_IS_STREAMABLE_1,
503 FN_ZORBA_STRING_IS_SEEKABLE_1,505 FN_ZORBA_STRING_IS_SEEKABLE_1,
504506
=== modified file 'src/runtime/pregenerated/iterator_enum.h'
--- src/runtime/pregenerated/iterator_enum.h 2013-09-09 23:47:17 +0000
+++ src/runtime/pregenerated/iterator_enum.h 2013-09-24 00:49:11 +0000
@@ -364,6 +364,7 @@
364 TYPE_FnReplaceIterator,364 TYPE_FnReplaceIterator,
365 TYPE_FnTokenizeIterator,365 TYPE_FnTokenizeIterator,
366 TYPE_FnAnalyzeStringIterator,366 TYPE_FnAnalyzeStringIterator,
367 TYPE_StringAnalyzeStringIterator,
367 TYPE_StringMaterializeIterator,368 TYPE_StringMaterializeIterator,
368 TYPE_StringIsStreamableIterator,369 TYPE_StringIsStreamableIterator,
369 TYPE_StringIsSeekableIterator,370 TYPE_StringIsSeekableIterator,
370371
=== modified file 'src/runtime/spec/strings/strings.xml'
--- src/runtime/spec/strings/strings.xml 2013-09-19 16:36:16 +0000
+++ src/runtime/spec/strings/strings.xml 2013-09-24 00:49:11 +0000
@@ -694,9 +694,29 @@
694694
695<!--695<!--
696/*******************************************************************************696/*******************************************************************************
697 * http://zorba.io/modules/string697 * string:analyze-string
698********************************************************************************/698********************************************************************************/
699-->699-->
700
701<zorba:iterator name="StringAnalyzeStringIterator">
702 <zorba:description author="Zorba Team">
703 string:analyse-string
704 </zorba:description>
705 <zorba:function>
706 <zorba:signature localname="analyze-string" prefix="fn-zorba-string">
707 <zorba:param>xs:string?</zorba:param> <!-- $input -->
708 <zorba:param>xs:string</zorba:param> <!-- $pattern -->
709 <zorba:output>array()</zorba:output>
710 </zorba:signature>
711 <zorba:signature localname="analyze-string" prefix="fn-zorba-string">
712 <zorba:param>xs:string?</zorba:param> <!-- $input -->
713 <zorba:param>xs:string</zorba:param> <!-- $pattern -->
714 <zorba:param>xs:string</zorba:param> <!-- $flags -->
715 <zorba:output>array()</zorba:output>
716 </zorba:signature>
717 </zorba:function>
718</zorba:iterator>
719
700<!--720<!--
701/*******************************************************************************721/*******************************************************************************
702 * string:materialize722 * string:materialize
@@ -789,3 +809,4 @@
789</zorba:iterator>809</zorba:iterator>
790810
791</zorba:iterators>811</zorba:iterators>
812<!-- vim:set et sw=2 ts=2: -->
792813
=== modified file 'src/runtime/strings/pregenerated/strings.cpp'
--- src/runtime/strings/pregenerated/strings.cpp 2013-07-11 22:08:29 +0000
+++ src/runtime/strings/pregenerated/strings.cpp 2013-09-24 00:49:11 +0000
@@ -774,6 +774,34 @@
774// </FnAnalyzeStringIterator>774// </FnAnalyzeStringIterator>
775775
776776
777// <StringAnalyzeStringIterator>
778SERIALIZABLE_CLASS_VERSIONS(StringAnalyzeStringIterator)
779
780void StringAnalyzeStringIterator::serialize(::zorba::serialization::Archiver& ar)
781{
782 serialize_baseclass(ar,
783 (NaryBaseIterator<StringAnalyzeStringIterator, PlanIteratorState>*)this);
784}
785
786
787void StringAnalyzeStringIterator::accept(PlanIterVisitor& v) const
788{
789 v.beginVisit(*this);
790
791 std::vector<PlanIter_t>::const_iterator lIter = theChildren.begin();
792 std::vector<PlanIter_t>::const_iterator lEnd = theChildren.end();
793 for ( ; lIter != lEnd; ++lIter ){
794 (*lIter)->accept(v);
795 }
796
797 v.endVisit(*this);
798}
799
800StringAnalyzeStringIterator::~StringAnalyzeStringIterator() {}
801
802// </StringAnalyzeStringIterator>
803
804
777// <StringMaterializeIterator>805// <StringMaterializeIterator>
778SERIALIZABLE_CLASS_VERSIONS(StringMaterializeIterator)806SERIALIZABLE_CLASS_VERSIONS(StringMaterializeIterator)
779807
780808
=== modified file 'src/runtime/strings/pregenerated/strings.h'
--- src/runtime/strings/pregenerated/strings.h 2013-07-11 22:08:29 +0000
+++ src/runtime/strings/pregenerated/strings.h 2013-09-24 00:49:11 +0000
@@ -902,6 +902,38 @@
902902
903/**903/**
904 * 904 *
905 * string:analyse-string
906 *
907 * Author: Zorba Team
908 */
909class StringAnalyzeStringIterator : public NaryBaseIterator<StringAnalyzeStringIterator, PlanIteratorState>
910{
911public:
912 SERIALIZABLE_CLASS(StringAnalyzeStringIterator);
913
914 SERIALIZABLE_CLASS_CONSTRUCTOR2T(StringAnalyzeStringIterator,
915 NaryBaseIterator<StringAnalyzeStringIterator, PlanIteratorState>);
916
917 void serialize( ::zorba::serialization::Archiver& ar);
918
919 StringAnalyzeStringIterator(
920 static_context* sctx,
921 const QueryLoc& loc,
922 std::vector<PlanIter_t>& children)
923 :
924 NaryBaseIterator<StringAnalyzeStringIterator, PlanIteratorState>(sctx, loc, children)
925 {}
926
927 virtual ~StringAnalyzeStringIterator();
928
929 void accept(PlanIterVisitor& v) const;
930
931 bool nextImpl(store::Item_t& result, PlanState& aPlanState) const;
932};
933
934
935/**
936 *
905 * string:materialize937 * string:materialize
906 * 938 *
907 * Author: Zorba Team939 * Author: Zorba Team
908940
=== modified file 'src/runtime/strings/strings_impl.cpp'
--- src/runtime/strings/strings_impl.cpp 2013-07-17 16:38:58 +0000
+++ src/runtime/strings/strings_impl.cpp 2013-09-24 00:49:11 +0000
@@ -56,6 +56,29 @@
5656
57namespace zorba {57namespace zorba {
5858
59///////////////////////////////////////////////////////////////////////////////
60
61static int count_capturing_groups( zstring const &regex ) {
62 bool got_backslash = false;
63 int n = 0;
64 FOR_EACH( zstring, c, regex ) {
65 if ( got_backslash )
66 got_backslash = false;
67 else
68 switch ( *c ) {
69 case '\\':
70 got_backslash = true;
71 break;
72 case '(':
73 if ( ztd::peek( regex, c ) != '?' )
74 ++n;
75 break;
76 } // switch
77 } // for
78 return n;
79}
80
81///////////////////////////////////////////////////////////////////////////////
5982
60/**83/**
61 *______________________________________________________________________84 *______________________________________________________________________
@@ -1572,18 +1595,9 @@
1572 );1595 );
15731596
1574 if ( flags.find( 'q' ) == zstring::npos ) {1597 if ( flags.find( 'q' ) == zstring::npos ) {
1575
1576 // count the number of capturing groups
1577 bool got_paren = false;
1578 int num_capturing_groups = 0;
1579 FOR_EACH( zstring, c, pattern ) {
1580 if ( got_paren && *c != '?' )
1581 ++num_capturing_groups;
1582 got_paren = *c == '(';
1583 }
1584
1585 bool got_backslash = false;1598 bool got_backslash = false;
1586 bool got_dollar = false;1599 bool got_dollar = false;
1600 int const num_capturing_groups = count_capturing_groups( pattern );
1587 zstring temp_replacement;1601 zstring temp_replacement;
1588 FOR_EACH( zstring, c, replacement ) {1602 FOR_EACH( zstring, c, replacement ) {
1589 if ( got_backslash ) {1603 if ( got_backslash ) {
@@ -1867,7 +1881,7 @@
1867 const char *&sin,1881 const char *&sin,
1868 unicode::regex &rx,1882 unicode::regex &rx,
1869 int gparent,1883 int gparent,
1870 std::vector<int> &group_parent,1884 std::vector<int> const &group_parent,
1871 int nr_pattern_groups,1885 int nr_pattern_groups,
1872 int &i)1886 int &i)
1873{1887{
@@ -1891,7 +1905,7 @@
1891 int temp_endg;1905 int temp_endg;
1892 match_startg = -1;1906 match_startg = -1;
1893 temp_endg = -1;1907 temp_endg = -1;
1894 if(!rx.get_match_start_end_bytes(i+1, &match_startg, &temp_endg) && (gparent < 0))1908 if(!rx.get_group_start_end(&match_startg, &temp_endg, i+1) && (gparent < 0))
1895 continue;1909 continue;
1896#endif1910#endif
1897 if(match_endgood < match_startg)1911 if(match_endgood < match_startg)
@@ -1977,36 +1991,36 @@
1977 addGroupElement(match_elem, untyped_type_name, ns_binding, baseURI, match_start2, match_end2, match_end1_bytes, sin, rx, -1, group_parent, nr_pattern_groups, i);1991 addGroupElement(match_elem, untyped_type_name, ns_binding, baseURI, match_start2, match_end2, match_end1_bytes, sin, rx, -1, group_parent, nr_pattern_groups, i);
1978}1992}
19791993
1980static void computePatternGroupsParents(zstring &xquery_pattern, std::vector<int> &group_parent)1994static void calc_group_parents( zstring const &regex,
1981{1995 std::vector<int> *group_parents ) {
1982 utf8_string<zstring> utf8_pattern(xquery_pattern);1996 bool got_backslash = false;
1983 utf8_string<zstring>::const_iterator c;1997 int group = 0;
1984 std::list<int> parents;1998 std::stack<bool> is_capturing;
1985 int i = 0;1999 std::stack<int> parents;
19862000
1987 for(c = utf8_pattern.begin(); c != utf8_pattern.end(); c++)2001 FOR_EACH( zstring, c, regex ) {
1988 {2002 if ( got_backslash )
1989 if(*c == '\\')2003 got_backslash = false;
1990 {2004 else
1991 c++;2005 switch ( *c ) {
1992 continue;2006 case '\\':
1993 }2007 got_backslash = true;
1994 if(*c == '(')2008 break;
1995 {2009 case '(':
1996 //begin group2010 if ( ztd::peek( regex, c ) != '?' ) {
1997 if(parents.size())2011 is_capturing.push( true );
1998 group_parent.push_back(parents.back());2012 group_parents->push_back( parents.empty() ? -1 : parents.top() );
1999 else2013 parents.push( group++ );
2000 group_parent.push_back(-1);2014 } else
2001 parents.push_back(i);2015 is_capturing.push( false );
2002 i++;2016 break;
2003 }2017 case ')':
2004 else if(*c == ')')2018 if ( is_capturing.top() && !parents.empty() )
2005 {2019 parents.pop();
2006 if(parents.size())2020 is_capturing.pop();
2007 parents.pop_back();2021 break;
2008 }2022 } // switch
2009 }2023 } // for
2010}2024}
20112025
2012bool FnAnalyzeStringIterator::nextImpl(2026bool FnAnalyzeStringIterator::nextImpl(
@@ -2109,7 +2123,7 @@
2109 rx.compile(lib_pattern, flags.c_str());2123 rx.compile(lib_pattern, flags.c_str());
2110 int nr_pattern_groups = rx.get_group_count();2124 int nr_pattern_groups = rx.get_group_count();
2111 std::vector<int> group_parent;2125 std::vector<int> group_parent;
2112 computePatternGroupsParents(xquery_pattern, group_parent);2126 calc_group_parents(xquery_pattern, &group_parent);
21132127
2114 //see if regex can match empty strings2128 //see if regex can match empty strings
2115 bool reachedEnd = false;2129 bool reachedEnd = false;
@@ -2180,12 +2194,8 @@
2180 {2194 {
2181 int match_start2;2195 int match_start2;
2182 int match_end2;2196 int match_end2;
2183#ifndef ZORBA_NO_ICU2197
2184 match_start2 = rx.get_group_start();2198 rx.get_group_start_end(&match_start2, &match_end2);
2185 match_end2 = rx.get_group_end();
2186#else
2187 rx.get_match_start_end_bytes(0, &match_start2, &match_end2);
2188#endif
2189 ZORBA_ASSERT(match_start2 >= 0);2199 ZORBA_ASSERT(match_start2 >= 0);
21902200
2191 if(is_input_stream && reachedEnd && !instream->eof())2201 if(is_input_stream && reachedEnd && !instream->eof())
@@ -2275,9 +2285,237 @@
2275 *______________________________________________________________________2285 *______________________________________________________________________
2276 *2286 *
2277 * http://zorba.io/modules/string2287 * http://zorba.io/modules/string
2288 * string:analyze-string
2289 */
2290
2291#define STREAM_ANALYZE_STRING 0
2292
2293static void add_json_substring( utf8_string<zstring const> const &u_input,
2294 int *start, int end,
2295 vector<store::Item_t> *items ) {
2296 zstring temp( u_input.substr( *start, end - *start ) );
2297 *start = end;
2298 store::Item_t item;
2299 GENV_ITEMFACTORY->createString( item, temp );
2300 items->push_back( item );
2301}
2302
2303static void add_json_group_match( utf8_string<zstring const> const &u_input,
2304 int m_start, int m_end,
2305 unicode::regex const &regex, int g_count,
2306 int g_parent, vector<int> const &g_parents,
2307 int *p_group, int *p_g_end_prev,
2308 vector<store::Item_t> *array_items ) {
2309 int &group = *p_group;
2310 int &g_end_prev = *p_g_end_prev;
2311 store::Item_t item;
2312
2313 for ( ++group; group < g_count; ++group ) {
2314 if ( g_parents[ group ] < g_parent ) {
2315 --group;
2316 break;
2317 }
2318
2319 int const group_1 = group + 1;
2320 int g_start, g_end;
2321 regex.get_group_start_end( &g_start, &g_end, group_1 );
2322 if ( g_start > m_start && g_start > g_end_prev ) {
2323 //
2324 // Add the substring between the end of the previous capturing group
2325 // match and this one.
2326 //
2327 add_json_substring( u_input, &g_end_prev, g_start, array_items );
2328 }
2329
2330 vector<store::Item_t> array_items2;
2331 GENV_ITEMFACTORY->createInteger( item, xs_integer( group_1 ) );
2332 array_items2.push_back( item );
2333
2334 if ( group_1 < g_count && g_parents[ group_1 ] > g_parent ) {
2335 //
2336 // The next capturing group is nested within this one.
2337 //
2338 add_json_group_match(
2339 u_input, m_start, m_end, regex, g_count, group, g_parents, &group,
2340 &g_end_prev, &array_items2
2341 );
2342 if ( g_end > g_end_prev ) {
2343 //
2344 // Add the substring between the end of the nested capturing group
2345 // match and this one.
2346 //
2347 add_json_substring( u_input, &g_end_prev, g_end, &array_items2 );
2348 }
2349 } else {
2350 //
2351 // Add the substring for this capturing group match.
2352 //
2353 add_json_substring( u_input, &g_start, g_end, &array_items2 );
2354 g_end_prev = g_start;
2355 }
2356
2357 GENV_ITEMFACTORY->createJSONArray( item, array_items2 );
2358 array_items->push_back( item );
2359 } // for
2360}
2361
2362static bool add_json_group_match( utf8_string<zstring const> const &u_input,
2363 int m_start, int m_end,
2364 unicode::regex const &regex, int g_count,
2365 vector<int> const &g_parents,
2366 store::Item_t *result ) {
2367 vector<store::Item_t> array_items;
2368 int group = -1, g_end_prev = 0;
2369 add_json_group_match(
2370 u_input, m_start, m_end, regex, g_count, -1, g_parents, &group, &g_end_prev,
2371 &array_items
2372 );
2373 if ( array_items.empty() )
2374 return false;
2375
2376 //
2377 // Add the substring between the end of the last capturing group and the end
2378 // of the match (if any).
2379 //
2380 int g_end_max = 0;
2381 for ( int group = 1; group <= g_count; ++group ) {
2382 int g_start, g_end;
2383 regex.get_group_start_end( &g_start, &g_end, group );
2384 if ( g_end > g_end_max )
2385 g_end_max = g_end;
2386 }
2387 if ( g_end_max && m_end > g_end_max )
2388 add_json_substring( u_input, &g_end_max, m_end, &array_items );
2389
2390 GENV_ITEMFACTORY->createJSONArray( *result, array_items );
2391 return true;
2392}
2393
2394static void add_json_match( utf8_string<zstring const> const &u_input,
2395 int m_start, int m_end,
2396 unicode::regex const &regex, int g_count,
2397 vector<int> const &g_parents,
2398 store::Item_t *result ) {
2399 store::Item_t item;
2400 vector<store::Item_t> keys, values;
2401
2402 zstring temp( "match" );
2403 GENV_ITEMFACTORY->createString( item, temp );
2404 keys.push_back( item );
2405
2406 if ( !add_json_group_match( u_input, m_start, m_end, regex, g_count,
2407 g_parents, &item ) ) {
2408 temp = u_input.substr( m_start, m_end - m_start );
2409 GENV_ITEMFACTORY->createString( item, temp );
2410 }
2411 values.push_back( item );
2412
2413 GENV_ITEMFACTORY->createJSONObject( *result, keys, values );
2414}
2415
2416static void add_json_non_match( utf8_string<zstring const> const &u_input,
2417 int m_start, int m_end,
2418 store::Item_t *result ) {
2419 store::Item_t item;
2420 vector<store::Item_t> keys, values;
2421
2422 zstring temp( "non-match" );
2423 GENV_ITEMFACTORY->createString( item, temp );
2424 keys.push_back( item );
2425
2426 temp = u_input.substr( m_start, m_end - m_start );
2427 GENV_ITEMFACTORY->createString( item, temp );
2428 values.push_back( item );
2429
2430 GENV_ITEMFACTORY->createJSONObject( *result, keys, values );
2431}
2432
2433bool StringAnalyzeStringIterator::nextImpl( store::Item_t& result,
2434 PlanState& planState ) const {
2435 vector<store::Item_t> array_items;
2436 int g_count;
2437 vector<int> g_parents;
2438 store::Item_t item;
2439 zstring input, pattern, lib_pattern, flags;
2440#if STREAM_ANALYZE_STRING
2441 istream *is;
2442 istringstream iss;
2443 mem_streambuf mbuf;
2444#endif
2445 int m_start, m_end, m_end_prev = 0;
2446 unicode::regex regex;
2447 utf8_string<zstring const> u_input;
2448 utf8_string<zstring const>::size_type u_size;
2449
2450 PlanIteratorState *state;
2451 DEFAULT_STACK_INIT(PlanIteratorState, state, planState);
2452
2453 consumeNext( item, theChildren[0].getp(), planState );
2454#if STREAM_ANALYZE_STRING
2455 if ( item->isStreamable() ) {
2456 is = &item->getStream();
2457 } else {
2458#endif
2459 item->getStringValue2( input );
2460 u_input.wrap( input );
2461 u_size = u_input.size();
2462#if STREAM_ANALYZE_STRING
2463 mbuf.set( input.data(), input.size() );
2464 iss.ios::rdbuf( &mbuf );
2465 is = &iss;
2466 }
2467#endif
2468 consumeNext( item, theChildren[1].getp(), planState );
2469 item->getStringValue2( pattern );
2470 if ( theChildren.size() > 2 ) {
2471 consumeNext( item, theChildren[2].getp(), planState );
2472 item->getStringValue2( flags );
2473 }
2474
2475 try {
2476 convert_xquery_re( pattern, &lib_pattern, flags.c_str() );
2477 regex.compile( lib_pattern, flags );
2478 }
2479 catch ( XQueryException &xe ) {
2480 set_source( xe, loc );
2481 throw;
2482 }
2483 if ( regex.match_part( "" ) ) // matching the empty string is illegal
2484 throw XQUERY_EXCEPTION(
2485 err::FORX0003,
2486 ERROR_PARAMS( pattern ),
2487 ERROR_LOC( loc )
2488 );
2489 g_count = regex.get_group_count();
2490 calc_group_parents( pattern, &g_parents );
2491
2492 regex.set_string( input.data(), input.size() );
2493 while ( regex.next_match() ) {
2494 regex.get_group_start_end( &m_start, &m_end );
2495 if ( m_start > m_end_prev ) {
2496 add_json_non_match( u_input, m_end_prev, m_start, &item );
2497 array_items.push_back( item );
2498 }
2499 add_json_match( u_input, m_start, m_end, regex, g_count, g_parents, &item );
2500 array_items.push_back( item );
2501 m_end_prev = m_end;
2502 }
2503 if ( m_end < u_size ) {
2504 add_json_non_match( u_input, m_end, u_size, &item );
2505 array_items.push_back( item );
2506 }
2507 GENV_ITEMFACTORY->createJSONArray( result, array_items );
2508
2509 STACK_PUSH( true, state );
2510 STACK_END( state );
2511}
2512
2513/**
2514 *______________________________________________________________________
2515 *
2516 * http://zorba.io/modules/string
2278 * string:materialize2517 * string:materialize
2279 */2518 */
2280
2281bool StringMaterializeIterator::nextImpl(2519bool StringMaterializeIterator::nextImpl(
2282 store::Item_t& result,2520 store::Item_t& result,
2283 PlanState& planState) const2521 PlanState& planState) const
22842522
=== modified file 'src/runtime/visitors/pregenerated/planiter_visitor.h'
--- src/runtime/visitors/pregenerated/planiter_visitor.h 2013-09-09 23:47:17 +0000
+++ src/runtime/visitors/pregenerated/planiter_visitor.h 2013-09-24 00:49:11 +0000
@@ -735,6 +735,8 @@
735735
736 class FnAnalyzeStringIterator;736 class FnAnalyzeStringIterator;
737737
738 class StringAnalyzeStringIterator;
739
738 class StringMaterializeIterator;740 class StringMaterializeIterator;
739741
740 class StringIsStreamableIterator;742 class StringIsStreamableIterator;
@@ -1810,6 +1812,9 @@
1810 virtual void beginVisit ( const FnAnalyzeStringIterator& ) = 0;1812 virtual void beginVisit ( const FnAnalyzeStringIterator& ) = 0;
1811 virtual void endVisit ( const FnAnalyzeStringIterator& ) = 0;1813 virtual void endVisit ( const FnAnalyzeStringIterator& ) = 0;
18121814
1815 virtual void beginVisit ( const StringAnalyzeStringIterator& ) = 0;
1816 virtual void endVisit ( const StringAnalyzeStringIterator& ) = 0;
1817
1813 virtual void beginVisit ( const StringMaterializeIterator& ) = 0;1818 virtual void beginVisit ( const StringMaterializeIterator& ) = 0;
1814 virtual void endVisit ( const StringMaterializeIterator& ) = 0;1819 virtual void endVisit ( const StringMaterializeIterator& ) = 0;
18151820
18161821
=== modified file 'src/runtime/visitors/pregenerated/printer_visitor.cpp'
--- src/runtime/visitors/pregenerated/printer_visitor.cpp 2013-09-09 23:47:17 +0000
+++ src/runtime/visitors/pregenerated/printer_visitor.cpp 2013-09-24 00:49:11 +0000
@@ -4812,6 +4812,20 @@
4812// </FnAnalyzeStringIterator>4812// </FnAnalyzeStringIterator>
48134813
48144814
4815// <StringAnalyzeStringIterator>
4816void PrinterVisitor::beginVisit ( const StringAnalyzeStringIterator& a) {
4817 thePrinter.startBeginVisit("StringAnalyzeStringIterator", ++theId);
4818 printCommons( &a, theId );
4819 thePrinter.endBeginVisit( theId );
4820}
4821
4822void PrinterVisitor::endVisit ( const StringAnalyzeStringIterator& ) {
4823 thePrinter.startEndVisit();
4824 thePrinter.endEndVisit();
4825}
4826// </StringAnalyzeStringIterator>
4827
4828
4815// <StringMaterializeIterator>4829// <StringMaterializeIterator>
4816void PrinterVisitor::beginVisit ( const StringMaterializeIterator& a) {4830void PrinterVisitor::beginVisit ( const StringMaterializeIterator& a) {
4817 thePrinter.startBeginVisit("StringMaterializeIterator", ++theId);4831 thePrinter.startBeginVisit("StringMaterializeIterator", ++theId);
48184832
=== modified file 'src/runtime/visitors/pregenerated/printer_visitor.h'
--- src/runtime/visitors/pregenerated/printer_visitor.h 2013-09-09 23:47:17 +0000
+++ src/runtime/visitors/pregenerated/printer_visitor.h 2013-09-24 00:49:11 +0000
@@ -1113,6 +1113,9 @@
1113 void beginVisit( const FnAnalyzeStringIterator& );1113 void beginVisit( const FnAnalyzeStringIterator& );
1114 void endVisit ( const FnAnalyzeStringIterator& );1114 void endVisit ( const FnAnalyzeStringIterator& );
11151115
1116 void beginVisit( const StringAnalyzeStringIterator& );
1117 void endVisit ( const StringAnalyzeStringIterator& );
1118
1116 void beginVisit( const StringMaterializeIterator& );1119 void beginVisit( const StringMaterializeIterator& );
1117 void endVisit ( const StringMaterializeIterator& );1120 void endVisit ( const StringMaterializeIterator& );
11181121
11191122
=== modified file 'src/util/icu_regex.cpp'
--- src/util/icu_regex.cpp 2013-06-11 16:13:54 +0000
+++ src/util/icu_regex.cpp 2013-09-24 00:49:11 +0000
@@ -648,23 +648,32 @@
648 }648 }
649}649}
650650
651int regex::get_group_count() {651int regex::get_group_count() const {
652 ZORBA_ASSERT( matcher_ );652 ZORBA_ASSERT( matcher_ );
653 return matcher_->groupCount();653 return matcher_->groupCount();
654}654}
655655
656int regex::get_group_start( int group ) {656int regex::get_group_start( int group ) const {
657 ZORBA_ASSERT( matcher_ );657 ZORBA_ASSERT( matcher_ );
658 UErrorCode status = U_ZERO_ERROR;658 UErrorCode status = U_ZERO_ERROR;
659 return matcher_->start( group, status );659 return matcher_->start( group, status );
660}660}
661661
662int regex::get_group_end( int group ) {662int regex::get_group_end( int group ) const {
663 ZORBA_ASSERT( matcher_ );663 ZORBA_ASSERT( matcher_ );
664 UErrorCode status = U_ZERO_ERROR;664 UErrorCode status = U_ZERO_ERROR;
665 return matcher_->end( group, status );665 return matcher_->end( group, status );
666}666}
667667
668bool regex::get_group_start_end( int *start, int *end, int group ) const {
669 int const temp = get_group_start( group );
670 if ( temp == -1 )
671 return false;
672 *start = temp;
673 *end = get_group_end( group );
674 return true;
675}
676
668bool regex::match_part( string const &s ) {677bool regex::match_part( string const &s ) {
669 ZORBA_ASSERT( matcher_ );678 ZORBA_ASSERT( matcher_ );
670 matcher_->reset( s );679 matcher_->reset( s );
671680
=== modified file 'src/util/icu_regex.h'
--- src/util/icu_regex.h 2013-06-01 00:30:39 +0000
+++ src/util/icu_regex.h 2013-09-24 00:49:11 +0000
@@ -428,7 +428,7 @@
428 *428 *
429 * @return Returns said number.429 * @return Returns said number.
430 */430 */
431 int get_group_count();431 int get_group_count() const;
432432
433 /**433 /**
434 * Gets the start character position of the matched capturing subgroup.434 * Gets the start character position of the matched capturing subgroup.
@@ -438,17 +438,30 @@
438 * @return Returns the start position (zero-based) or -1 if \a group didn't438 * @return Returns the start position (zero-based) or -1 if \a group didn't
439 * match.439 * match.
440 */440 */
441 int get_group_start( int group = 0 );441 int get_group_start( int group = 0 ) const;
442442
443 /**443 /**
444 * Gets the end character position of the matched group.444 * Gets the end character position of the matched group.
445 *445 *
446 * @param group The ID of the capturing subgroup [1-N] where N is the result446 * @param group The ID of the capturing subgroup [1-N] where N is the result
447 * of get_group_count(), or 0 for the whole match.447 * of get_group_count(), or 0 for the whole match.
448 * @return Returns the end position (zero-based) or -1 if \a group didn't448 * @return Returns one past the end position (zero-based) or -1 if \a group
449 * match.449 * didn't match.
450 */450 */
451 int get_group_end( int group = 0 );451 int get_group_end( int group = 0 ) const;
452
453 /**
454 * Gets the start and end character positions of the matched group.
455 *
456 * @param start A pointer to an \c int to receive the start position
457 * (zero-based) or -1 if \a group didn't match.
458 * @param end A pointer to an \c int to receive one past the end position
459 * (zero-based) or -1 if \a group didn't match.
460 * @param group The ID of the capturing subgroup [1-N] where N is the result
461 * of get_group_count(), or 0 for the whole match.
462 * @return Returns \c true only if the group matched.
463 */
464 bool get_group_start_end( int *start, int *end, int group = 0 ) const;
452465
453 /**466 /**
454 * Sets the string to work on, without doing matching yet.467 * Sets the string to work on, without doing matching yet.
@@ -469,7 +482,7 @@
469 * <code>true</code>.)482 * <code>true</code>.)
470 * @return Returns \c true only if the next match was found.483 * @return Returns \c true only if the next match was found.
471 */484 */
472 bool next_match( bool *reached_end );485 bool next_match( bool *reached_end = nullptr );
473486
474 /////////////////////////////////////////////////////////////////////////////487 /////////////////////////////////////////////////////////////////////////////
475488
476489
=== modified file 'src/util/zorba_regex.cpp'
--- src/util/zorba_regex.cpp 2013-04-12 04:34:41 +0000
+++ src/util/zorba_regex.cpp 2013-09-24 00:49:11 +0000
@@ -231,15 +231,13 @@
231 return retval;231 return retval;
232}232}
233233
234int regex::get_group_count()234int regex::get_group_count() const
235{235{
236 return (int)regex_matcher->get_indexed_regex_count();236 return (int)regex_matcher->get_indexed_regex_count();
237}237}
238238
239bool regex::get_match_start_end_bytes( int groupId, int *start, int *end )239bool regex::get_group_start_end( int *start, int *end, int groupId ) const
240{240{
241 *start = -1;
242 *end = -1;
243 if(groupId == 0)241 if(groupId == 0)
244 {242 {
245 *start = m_match_pos;243 *start = m_match_pos;
246244
=== modified file 'src/util/zorba_regex.h'
--- src/util/zorba_regex.h 2013-06-01 00:30:39 +0000
+++ src/util/zorba_regex.h 2013-09-24 00:49:11 +0000
@@ -360,7 +360,7 @@
360 *360 *
361 * @return the number of parenthesized groups in the regular expression361 * @return the number of parenthesized groups in the regular expression
362 */362 */
363 int get_group_count();363 int get_group_count() const;
364364
365 /**365 /**
366 * Get the start position of the matched group.366 * Get the start position of the matched group.
@@ -368,13 +368,13 @@
368 * If groupId is non-zero, then the start and end position of that group is returned.368 * If groupId is non-zero, then the start and end position of that group is returned.
369 * If that group has not been matched, false is returned.369 * If that group has not been matched, false is returned.
370 *370 *
371 * @param start to return start position in bytes
372 * @param end to return end position in bytes
371 * @param groupId the id of the group, either zero for the entire regex,373 * @param groupId the id of the group, either zero for the entire regex,
372 * or [1 .. group_count] for that specific group374 * or [1 .. group_count] for that specific group
373 * @param start to return start position in bytes
374 * @param end to return end position in bytes
375 * @return true if that group exists and has been matched375 * @return true if that group exists and has been matched
376 */376 */
377 bool get_match_start_end_bytes( int groupId, int *start, int *end );377 bool get_group_start_end( int *start, int *end, int groupId ) const;
378378
379private:379private:
380 regex_engine::CRegexXQuery_regex *regex_matcher;380 regex_engine::CRegexXQuery_regex *regex_matcher;
381381
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-01.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-01.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-01.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,7 @@
1[ {
2 "non-match" : "a"
3}, {
4 "match" : "b"
5}, {
6 "non-match" : "a"
7} ]
08
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-02.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-02.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-02.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,7 @@
1[ {
2 "non-match" : "a"
3}, {
4 "match" : [ [ 1, "b" ], "a" ]
5}, {
6 "non-match" : "b"
7} ]
08
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-03.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-03.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-03.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1[ {
2 "match" : [ [ 1, "b" ], "a", [ 2, "b" ] ]
3} ]
04
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-04.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-04.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-04.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,13 @@
1[ {
2 "non-match" : "a"
3}, {
4 "match" : [ [ 1, "b" ], "a" ]
5}, {
6 "non-match" : "b\n"
7}, {
8 "match" : [ [ 1, "b" ], "a" ]
9}, {
10 "non-match" : "b"
11}, {
12 "match" : [ [ 1, "b" ], "a" ]
13} ]
014
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-05.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-05.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-05.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,9 @@
1[ {
2 "non-match" : "ab"
3}, {
4 "match" : [ [ 1, "ab" ] ]
5}, {
6 "non-match" : "\nbba"
7}, {
8 "match" : [ [ 1, "a" ] ]
9} ]
010
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-06.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-06.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-06.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,483 @@
1[ {
2 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
3}, {
4 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
5}, {
6 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
7}, {
8 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
9}, {
10 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
11}, {
12 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
13}, {
14 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
15}, {
16 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
17}, {
18 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
19}, {
20 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
21}, {
22 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
23}, {
24 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
25}, {
26 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
27}, {
28 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
29}, {
30 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
31}, {
32 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
33}, {
34 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
35}, {
36 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
37}, {
38 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
39}, {
40 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
41}, {
42 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
43}, {
44 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
45}, {
46 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
47}, {
48 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
49}, {
50 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
51}, {
52 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
53}, {
54 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
55}, {
56 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
57}, {
58 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
59}, {
60 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
61}, {
62 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
63}, {
64 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
65}, {
66 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
67}, {
68 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
69}, {
70 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
71}, {
72 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
73}, {
74 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
75}, {
76 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
77}, {
78 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
79}, {
80 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
81}, {
82 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
83}, {
84 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
85}, {
86 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
87}, {
88 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
89}, {
90 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
91}, {
92 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
93}, {
94 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
95}, {
96 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
97}, {
98 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
99}, {
100 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
101}, {
102 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
103}, {
104 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
105}, {
106 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
107}, {
108 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
109}, {
110 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
111}, {
112 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
113}, {
114 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
115}, {
116 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
117}, {
118 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
119}, {
120 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
121}, {
122 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
123}, {
124 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
125}, {
126 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
127}, {
128 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
129}, {
130 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
131}, {
132 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
133}, {
134 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
135}, {
136 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
137}, {
138 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
139}, {
140 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
141}, {
142 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
143}, {
144 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
145}, {
146 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
147}, {
148 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
149}, {
150 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
151}, {
152 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
153}, {
154 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
155}, {
156 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
157}, {
158 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
159}, {
160 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
161}, {
162 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
163}, {
164 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
165}, {
166 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
167}, {
168 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
169}, {
170 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
171}, {
172 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
173}, {
174 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
175}, {
176 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
177}, {
178 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
179}, {
180 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
181}, {
182 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
183}, {
184 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
185}, {
186 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
187}, {
188 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
189}, {
190 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
191}, {
192 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
193}, {
194 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
195}, {
196 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
197}, {
198 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
199}, {
200 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
201}, {
202 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
203}, {
204 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
205}, {
206 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
207}, {
208 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
209}, {
210 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
211}, {
212 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
213}, {
214 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
215}, {
216 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
217}, {
218 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
219}, {
220 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
221}, {
222 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
223}, {
224 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
225}, {
226 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
227}, {
228 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
229}, {
230 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
231}, {
232 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
233}, {
234 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
235}, {
236 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
237}, {
238 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
239}, {
240 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
241}, {
242 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
243}, {
244 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
245}, {
246 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
247}, {
248 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
249}, {
250 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
251}, {
252 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
253}, {
254 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
255}, {
256 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
257}, {
258 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
259}, {
260 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
261}, {
262 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
263}, {
264 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
265}, {
266 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
267}, {
268 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
269}, {
270 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
271}, {
272 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
273}, {
274 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
275}, {
276 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
277}, {
278 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
279}, {
280 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
281}, {
282 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
283}, {
284 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
285}, {
286 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
287}, {
288 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
289}, {
290 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
291}, {
292 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
293}, {
294 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
295}, {
296 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
297}, {
298 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
299}, {
300 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
301}, {
302 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
303}, {
304 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
305}, {
306 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
307}, {
308 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
309}, {
310 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
311}, {
312 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
313}, {
314 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
315}, {
316 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
317}, {
318 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
319}, {
320 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
321}, {
322 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
323}, {
324 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
325}, {
326 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
327}, {
328 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
329}, {
330 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
331}, {
332 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
333}, {
334 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
335}, {
336 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
337}, {
338 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
339}, {
340 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
341}, {
342 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
343}, {
344 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
345}, {
346 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
347}, {
348 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
349}, {
350 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
351}, {
352 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
353}, {
354 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
355}, {
356 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
357}, {
358 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
359}, {
360 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
361}, {
362 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
363}, {
364 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
365}, {
366 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
367}, {
368 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
369}, {
370 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
371}, {
372 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
373}, {
374 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
375}, {
376 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
377}, {
378 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
379}, {
380 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
381}, {
382 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
383}, {
384 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
385}, {
386 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
387}, {
388 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
389}, {
390 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
391}, {
392 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
393}, {
394 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
395}, {
396 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
397}, {
398 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
399}, {
400 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
401}, {
402 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
403}, {
404 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
405}, {
406 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
407}, {
408 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
409}, {
410 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
411}, {
412 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
413}, {
414 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
415}, {
416 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
417}, {
418 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
419}, {
420 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
421}, {
422 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
423}, {
424 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
425}, {
426 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
427}, {
428 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
429}, {
430 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
431}, {
432 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
433}, {
434 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
435}, {
436 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
437}, {
438 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
439}, {
440 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
441}, {
442 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
443}, {
444 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
445}, {
446 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
447}, {
448 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
449}, {
450 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
451}, {
452 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
453}, {
454 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
455}, {
456 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
457}, {
458 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
459}, {
460 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
461}, {
462 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
463}, {
464 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
465}, {
466 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
467}, {
468 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
469}, {
470 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
471}, {
472 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
473}, {
474 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
475}, {
476 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
477}, {
478 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
479}, {
480 "match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
481}, {
482 "non-match" : "c"
483} ]
0484
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-07.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-07.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-07.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,5 @@
1[ {
2 "match" : [ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", [ 1, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" ] ]
3}, {
4 "non-match" : "c"
5} ]
06
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-08.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-08.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-08.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,5 @@
1[ {
2 "non-match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
3}, {
4 "match" : "c"
5} ]
06
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-09.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-09.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-09.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,5 @@
1[ {
2 "non-match" : "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
3}, {
4 "match" : "b"
5} ]
06
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-11.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-11.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-11.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1[ ]
02
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-12.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-12.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-12.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1[ {
2 "match" : [ [ 1, [ 2, "x" ], "y" ], "z" ]
3} ]
04
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-13.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-13.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-13.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1[ {
2 "match" : [ [ 1, "x", [ 2, "y" ], "z" ] ]
3} ]
04
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-14.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-14.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-14.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1[ {
2 "match" : [ "x", [ 1, "y", [ 2, "z" ] ] ]
3} ]
04
=== added file 'test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-15.xml.res'
--- test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-15.xml.res 1970-01-01 00:00:00 +0000
+++ test/rbkt/ExpQueryResults/zorba/string/AnalyzeString/json-analyze-string-15.xml.res 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1[ {
2 "match" : [ "a", [ 1, "b", [ 2, "c" ], "d", [ 3, "e" ], "f" ], "g" ]
3} ]
04
=== modified file 'test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string12.xq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string12.xq 2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string12.xq 2013-09-24 00:49:11 +0000
@@ -1,1 +1,1 @@
1fn:analyze-string("bacdeeg", "b(a(c)(d(e)(e)g))")
2\ No newline at end of file1\ No newline at end of file
2fn:analyze-string("bacdeeg", "b(a(c)(d(e)(e)g))")
33
=== modified file 'test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string13.xq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string13.xq 2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string13.xq 2013-09-24 00:49:11 +0000
@@ -10,4 +10,3 @@
10for $s in $search//fn:group[@nr=8]/fn:string()10for $s in $search//fn:group[@nr=8]/fn:string()
11return ($s,"11return ($s,"
12")12")
13
1413
=== modified file 'test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string2.xq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string2.xq 2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string2.xq 2013-09-24 00:49:11 +0000
@@ -1,1 +1,1 @@
1fn:analyze-string("abab", "(b)a")
2\ No newline at end of file1\ No newline at end of file
2fn:analyze-string("abab", "(b)a")
33
=== modified file 'test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string3.xq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string3.xq 2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string3.xq 2013-09-24 00:49:11 +0000
@@ -1,1 +1,1 @@
1fn:analyze-string("bab", "(b)a(B)", "i")
2\ No newline at end of file1\ No newline at end of file
2fn:analyze-string("bab", "(b)a(B)", "i")
33
=== modified file 'test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string4.xq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string4.xq 2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string4.xq 2013-09-24 00:49:11 +0000
@@ -1,3 +1,2 @@
1fn:analyze-string(
2"abab
3babba", "(b)a", "m")
4\ No newline at end of file1\ No newline at end of file
2fn:analyze-string( "abab
3babba", "(b)a", "m" )
54
=== modified file 'test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string7.xq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string7.xq 2013-02-07 17:24:36 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/analyze_string7.xq 2013-09-24 00:49:11 +0000
@@ -1,4 +1,4 @@
1(: read text file with 240 times aaa...aabbb....bb :)1(: read text file with 240 times aaa...aabbb....bb :)
2import module namespace file = "http://expath.org/ns/file";2import module namespace file = "http://expath.org/ns/file";
33
4fn:analyze-string(file:read-text(fn:resolve-uri("text_test1.txt")), "(a+b+)+")
5\ No newline at end of file4\ No newline at end of file
5fn:analyze-string(file:read-text(fn:resolve-uri("text_test1.txt")), "(a+b+)+")
66
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-01.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-01.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-01.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "aba", "b" )
04
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-01.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-01.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-01.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-02.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-02.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-02.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "abab", "(b)a" )
04
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-02.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-02.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-02.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-03.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-03.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-03.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "bab", "(b)a(B)", "i" )
04
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-03.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-03.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-03.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-04.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-04.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-04.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,4 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "abab
4babba", "(b)a", "m" )
05
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-04.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-04.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-04.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-05.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-05.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-05.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,4 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "abab
4bbaa", "(ab|a)$", "m" )
05
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-05.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-05.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-05.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-06.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-06.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-06.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,5 @@
1(: read text file with 240 times aaa...aabbb....bb :)
2import module namespace file = "http://expath.org/ns/file";
3import module namespace s = "http://zorba.io/modules/string";
4
5s:analyze-string( file:read-text( fn:resolve-uri( "text_test1.txt" ) ), "a+b+" )
06
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-06.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-06.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-06.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-07.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-07.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-07.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,5 @@
1(: read text file with 240 times aaa...aabbb....bb :)
2import module namespace file = "http://expath.org/ns/file";
3import module namespace s = "http://zorba.io/modules/string";
4
5s:analyze-string( file:read-text( fn:resolve-uri( "text_test1.txt" ) ), "(a+b+)+" )
06
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-07.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-07.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-07.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-08.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-08.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-08.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,5 @@
1(: read text file with 240 times aaa...aabbb....bb :)
2import module namespace file = "http://expath.org/ns/file";
3import module namespace s = "http://zorba.io/modules/string";
4
5s:analyze-string( file:read-text( fn:resolve-uri( "text_test1.txt" ) ), "c" )
06
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-08.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-08.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-08.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-09.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-09.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-09.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,5 @@
1(: read text file with 240 times aaa...aabbb....bb :)
2import module namespace file = "http://expath.org/ns/file";
3import module namespace s = "http://zorba.io/modules/string";
4
5s:analyze-string( file:read-text( fn:resolve-uri( "text_test2.txt" ) ), "b$" )
06
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-09.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-09.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-09.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-11.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-11.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-11.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,4 @@
1import module namespace s = "http://zorba.io/modules/string";
2declare default element namespace "dummy";
3
4s:analyze-string( "", "." )
05
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-11.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-11.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-11.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-12.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-12.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-12.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "xyz", "((x)y)z" )
04
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-12.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-12.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-12.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-13.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-13.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-13.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "xyz", "(x(y)z)" )
04
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-13.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-13.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-13.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-14.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-14.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-14.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "xyz", "x(y(z))" )
04
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-14.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-14.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-14.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes
02
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-15.jq'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-15.jq 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-15.jq 2013-09-24 00:49:11 +0000
@@ -0,0 +1,3 @@
1import module namespace s = "http://zorba.io/modules/string";
2
3s:analyze-string( "abcdefg", "a(b(c)d(e)f)g" )
04
=== added file 'test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-15.spec'
--- test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-15.spec 1970-01-01 00:00:00 +0000
+++ test/rbkt/Queries/zorba/string/AnalyzeString/json-analyze-string-15.spec 2013-09-24 00:49:11 +0000
@@ -0,0 +1,1 @@
1Serialization: indent=yes

Subscribers

People subscribed via source and target branches