From fc56318a8d6d2e9ce8b861c5f5a6f3f296b209d7 Mon Sep 17 00:00:00 2001 From: ullingerc Date: Mon, 14 Oct 2024 20:27:29 +0200 Subject: [PATCH 01/11] Draft STDEV() aggregate function --- src/engine/GroupBy.cpp | 2 + src/engine/GroupBy.h | 1 + .../sparqlExpressions/AggregateExpression.cpp | 5 + .../sparqlExpressions/StdevExpression.h | 163 ++ .../sparqlParser/SparqlQleverVisitor.cpp | 3 + src/parser/sparqlParser/SparqlQleverVisitor.h | 1 + .../sparqlParser/generated/SparqlAutomatic.g4 | 2 + .../generated/SparqlAutomatic.interp | 4 +- .../generated/SparqlAutomatic.tokens | 75 +- .../generated/SparqlAutomaticLexer.cpp | 2514 +++++++++-------- .../generated/SparqlAutomaticLexer.h | 75 +- .../generated/SparqlAutomaticLexer.interp | 5 +- .../generated/SparqlAutomaticLexer.tokens | 75 +- .../generated/SparqlAutomaticParser.cpp | 2074 +++++++------- .../generated/SparqlAutomaticParser.h | 76 +- test/GroupByTest.cpp | 1 + 16 files changed, 2656 insertions(+), 2420 deletions(-) create mode 100644 src/engine/sparqlExpressions/StdevExpression.h diff --git a/src/engine/GroupBy.cpp b/src/engine/GroupBy.cpp index 2088a1220d..5344728351 100644 --- a/src/engine/GroupBy.cpp +++ b/src/engine/GroupBy.cpp @@ -19,6 +19,7 @@ #include "engine/sparqlExpressions/SampleExpression.h" #include "engine/sparqlExpressions/SparqlExpression.h" #include "engine/sparqlExpressions/SparqlExpressionGenerators.h" +#include "engine/sparqlExpressions/StdevExpression.h" #include "global/RuntimeParameters.h" #include "index/Index.h" #include "index/IndexImpl.h" @@ -1013,6 +1014,7 @@ GroupBy::isSupportedAggregate(sparqlExpression::SparqlExpression* expr) { if (auto val = dynamic_cast(expr)) { return H{GROUP_CONCAT, val->getSeparator()}; } + if (dynamic_cast(expr)) return H{STDEV}; if (dynamic_cast(expr)) return H{SAMPLE}; // `expr` is an unsupported aggregate diff --git a/src/engine/GroupBy.h b/src/engine/GroupBy.h index d18781f1ca..1c5ab2ad15 100644 --- a/src/engine/GroupBy.h +++ b/src/engine/GroupBy.h @@ -245,6 +245,7 @@ class GroupBy : public Operation { MAX, SUM, GROUP_CONCAT, + STDEV, SAMPLE }; diff --git a/src/engine/sparqlExpressions/AggregateExpression.cpp b/src/engine/sparqlExpressions/AggregateExpression.cpp index e3ed846ec7..31f51eb851 100644 --- a/src/engine/sparqlExpressions/AggregateExpression.cpp +++ b/src/engine/sparqlExpressions/AggregateExpression.cpp @@ -6,6 +6,7 @@ #include "engine/sparqlExpressions/AggregateExpression.h" #include "engine/sparqlExpressions/GroupConcatExpression.h" +#include "engine/sparqlExpressions/StdevExpression.h" namespace sparqlExpression::detail { @@ -180,6 +181,10 @@ AggregateExpression::getVariableForCount() // Explicit instantiation for the AVG expression. template class AggregateExpression; +// Explicit instantiation for the STDEV expression. +template class DeviationAggExpression; + // Explicit instantiations for the other aggregate expressions. #define INSTANTIATE_AGG_EXP(Function, ValueGetter) \ template class AggregateExpression< \ diff --git a/src/engine/sparqlExpressions/StdevExpression.h b/src/engine/sparqlExpressions/StdevExpression.h new file mode 100644 index 0000000000..b94553171d --- /dev/null +++ b/src/engine/sparqlExpressions/StdevExpression.h @@ -0,0 +1,163 @@ +// Copyright 2024, University of Freiburg, +// Chair of Algorithms and Data Structures. +// Author: Christoph Ullinger + +#ifndef QLEVER_STDEVEXPRESSION_H +#define QLEVER_STDEVEXPRESSION_H + +#include +#include +#include +#include + +#include "engine/sparqlExpressions/AggregateExpression.h" +#include "engine/sparqlExpressions/LiteralExpression.h" +#include "engine/sparqlExpressions/NaryExpression.h" +#include "engine/sparqlExpressions/SparqlExpression.h" +#include "engine/sparqlExpressions/SparqlExpressionTypes.h" +#include "engine/sparqlExpressions/SparqlExpressionValueGetters.h" +#include "global/ValueId.h" + +namespace sparqlExpression { + +namespace detail { + +/// The STDEV Expression + +// Helper function to extract a double from a NumericValue variant +auto inline numValToDouble = + [](T&& value) -> std::optional { + if constexpr (ad_utility::isSimilar || + ad_utility::isSimilar) { + return static_cast(value); + } else { + return std::nullopt; + } +}; + +// Helper expression: The individual deviation squares. A DeviationExpression +// over X corresponds to the value (X - AVG(X))^2. +class DeviationExpression : public SparqlExpression { + private: + Ptr child_; + bool distinct_; + + public: + DeviationExpression(bool distinct, Ptr&& child) + : child_{std::move(child)}, distinct_{distinct} {} + + // __________________________________________________________________________ + ExpressionResult evaluate(EvaluationContext* context) const override { + auto impl = + [this, context](SingleExpressionResult auto&& el) -> ExpressionResult { + // Prepare space for result + VectorWithMemoryLimit exprResult{context->_allocator}; + std::fill_n(std::back_inserter(exprResult), context->size(), + IdOrLiteralOrIri{Id::makeUndefined()}); + + auto devImpl = [&exprResult, context](auto generator) { + double sum = 0.0; + std::vector childResults = {}; + + // Collect values as doubles + for (auto& inp : generator) { + const auto& s = detail::NumericValueGetter{}(std::move(inp), context); + auto v = std::visit(numValToDouble, s); + if (v.has_value()) { + childResults.push_back(v.value()); + sum += v.value(); + } + context->cancellationHandle_->throwIfCancelled(); + } + + // Calculate squared deviation and save for result + double avg = sum / static_cast(context->size()); + for (size_t i = 0; i < childResults.size(); i++) { + exprResult.at(i) = IdOrLiteralOrIri{ + ValueId::makeFromDouble(std::pow(childResults.at(i) - avg, 2))}; + } + }; + + auto generator = + detail::makeGenerator(AD_FWD(el), context->size(), context); + if (distinct_) { + context->cancellationHandle_->throwIfCancelled(); + devImpl(detail::getUniqueElements(context, context->size(), + std::move(generator))); + } else { + devImpl(std::move(generator)); + } + + return exprResult; + }; + auto childRes = child_->evaluate(context); + return std::visit(impl, std::move(childRes)); + }; + + // __________________________________________________________________________ + AggregateStatus isAggregate() const override { + return SparqlExpression::AggregateStatus::NoAggregate; + } + + // __________________________________________________________________________ + [[nodiscard]] string getCacheKey( + const VariableToColumnMap& varColMap) const override { + return absl::StrCat("[ SQ.DEVIATION ", distinct_ ? " DISTINCT " : "", "]", + child_->getCacheKey(varColMap)); + } + + private: + // _________________________________________________________________________ + std::span childrenImpl() override { + return {&child_, 1}; + } +}; + +// Separate subclass of AggregateOperation, that replaces its child with a +// DeviationExpression of this child. Everything else is left untouched. +template +class DeviationAggExpression + : public AggregateExpression { + public: + // __________________________________________________________________________ + DeviationAggExpression(bool distinct, SparqlExpression::Ptr&& child, + AggregateOperation aggregateOp = AggregateOperation{}) + : AggregateExpression( + distinct, + std::make_unique(distinct, std::move(child)), + aggregateOp){}; +}; + +// The final operation for dividing by degrees of freedom and calculation square +// root after summing up the squared deviation +inline auto stdevFinalOperation = [](const NumericValue& aggregation, + size_t numElements) { + auto divAndRoot = [](double value, double degreesOfFreedom) { + if (degreesOfFreedom <= 0) { + return 0.0; + } else { + return std::sqrt(value / degreesOfFreedom); + } + }; + return makeNumericExpressionForAggregate()( + aggregation, NumericValue{static_cast(numElements) - 1}); +}; + +// The actual Standard Deviation Expression +// Mind the explicit instantiation of StdevExpressionBase in +// AggregateExpression.cpp +using StdevExpressionBase = + DeviationAggExpression; +class StdevExpression : public StdevExpressionBase { + using StdevExpressionBase::StdevExpressionBase; + ValueId resultForEmptyGroup() const override { return Id::makeFromInt(0); } +}; + +} // namespace detail + +using detail::StdevExpression; + +} // namespace sparqlExpression + +#endif // QLEVER_STDEVEXPRESSION_H diff --git a/src/parser/sparqlParser/SparqlQleverVisitor.cpp b/src/parser/sparqlParser/SparqlQleverVisitor.cpp index 777f29714d..51459205f7 100644 --- a/src/parser/sparqlParser/SparqlQleverVisitor.cpp +++ b/src/parser/sparqlParser/SparqlQleverVisitor.cpp @@ -23,6 +23,7 @@ #include "engine/sparqlExpressions/RegexExpression.h" #include "engine/sparqlExpressions/RelationalExpressions.h" #include "engine/sparqlExpressions/SampleExpression.h" +#include "engine/sparqlExpressions/StdevExpression.h" #include "engine/sparqlExpressions/UuidExpressions.h" #include "parser/RdfParser.h" #include "parser/SparqlParser.h" @@ -2227,6 +2228,8 @@ ExpressionPtr Visitor::visit(Parser::AggregateContext* ctx) { } return makePtr.operator()(std::move(separator)); + } else if (functionName == "stdev") { + return makePtr.operator()(); } else { AD_CORRECTNESS_CHECK(functionName == "sample"); return makePtr.operator()(); diff --git a/src/parser/sparqlParser/SparqlQleverVisitor.h b/src/parser/sparqlParser/SparqlQleverVisitor.h index e68087b056..97d4995967 100644 --- a/src/parser/sparqlParser/SparqlQleverVisitor.h +++ b/src/parser/sparqlParser/SparqlQleverVisitor.h @@ -10,6 +10,7 @@ #include "engine/sparqlExpressions/AggregateExpression.h" #include "engine/sparqlExpressions/NaryExpression.h" +#include "engine/sparqlExpressions/StdevExpression.h" #include "parser/data/GraphRef.h" #undef EOF #include "parser/sparqlParser/generated/SparqlAutomaticVisitor.h" diff --git a/src/parser/sparqlParser/generated/SparqlAutomatic.g4 b/src/parser/sparqlParser/generated/SparqlAutomatic.g4 index 29bcbac30c..29058edf34 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomatic.g4 +++ b/src/parser/sparqlParser/generated/SparqlAutomatic.g4 @@ -582,6 +582,7 @@ aggregate : COUNT '(' DISTINCT? ( '*' | expression ) ')' | MIN '(' DISTINCT? expression ')' | MAX '(' DISTINCT? expression ')' | AVG '(' DISTINCT? expression ')' + | STDEV '(' DISTINCT? expression ')' | SAMPLE '(' DISTINCT? expression ')' | GROUP_CONCAT '(' DISTINCT? expression ( ';' SEPARATOR '=' string )? ')' ; @@ -763,6 +764,7 @@ SUM : S U M; MIN : M I N; MAX : M A X; AVG : A V G; +STDEV : S T D E V ; SAMPLE : S A M P L E; SEPARATOR : S E P A R A T O R; diff --git a/src/parser/sparqlParser/generated/SparqlAutomatic.interp b/src/parser/sparqlParser/generated/SparqlAutomatic.interp index 60fbf76a8d..d510c12d35 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomatic.interp +++ b/src/parser/sparqlParser/generated/SparqlAutomatic.interp @@ -175,6 +175,7 @@ null null null null +null token symbolic names: null @@ -316,6 +317,7 @@ SUM MIN MAX AVG +STDEV SAMPLE SEPARATOR IRI_REF @@ -515,4 +517,4 @@ pnameNs atn: -[4, 1, 175, 1647, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 1, 0, 1, 0, 3, 0, 317, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 326, 8, 1, 1, 1, 1, 1, 1, 2, 1, 2, 5, 2, 332, 8, 2, 10, 2, 12, 2, 335, 9, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 346, 8, 5, 10, 5, 12, 5, 349, 9, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, 361, 8, 7, 1, 7, 4, 7, 364, 8, 7, 11, 7, 12, 7, 365, 1, 7, 3, 7, 369, 8, 7, 1, 8, 1, 8, 3, 8, 373, 8, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 5, 11, 386, 8, 11, 10, 11, 12, 11, 389, 9, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 395, 8, 11, 10, 11, 12, 11, 398, 9, 11, 1, 11, 1, 11, 1, 11, 3, 11, 403, 8, 11, 1, 11, 1, 11, 3, 11, 407, 8, 11, 1, 12, 1, 12, 4, 12, 411, 8, 12, 11, 12, 12, 12, 412, 1, 12, 3, 12, 416, 8, 12, 1, 12, 5, 12, 419, 8, 12, 10, 12, 12, 12, 422, 9, 12, 1, 12, 3, 12, 425, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 5, 13, 431, 8, 13, 10, 13, 12, 13, 434, 9, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, 14, 442, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 3, 18, 452, 8, 18, 1, 18, 1, 18, 1, 19, 3, 19, 457, 8, 19, 1, 19, 3, 19, 460, 8, 19, 1, 19, 3, 19, 463, 8, 19, 1, 19, 3, 19, 466, 8, 19, 1, 20, 1, 20, 4, 20, 470, 8, 20, 11, 20, 12, 20, 471, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 480, 8, 21, 1, 21, 1, 21, 1, 21, 3, 21, 485, 8, 21, 1, 22, 1, 22, 4, 22, 489, 8, 22, 11, 22, 12, 22, 490, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 497, 8, 24, 1, 24, 4, 24, 500, 8, 24, 11, 24, 12, 24, 501, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 508, 8, 25, 3, 25, 510, 8, 25, 1, 26, 1, 26, 3, 26, 514, 8, 26, 1, 26, 3, 26, 517, 8, 26, 1, 26, 1, 26, 3, 26, 521, 8, 26, 1, 26, 3, 26, 524, 8, 26, 1, 26, 1, 26, 3, 26, 528, 8, 26, 1, 26, 3, 26, 531, 8, 26, 1, 26, 1, 26, 3, 26, 535, 8, 26, 1, 26, 3, 26, 538, 8, 26, 1, 26, 1, 26, 3, 26, 542, 8, 26, 1, 26, 3, 26, 545, 8, 26, 1, 26, 1, 26, 3, 26, 549, 8, 26, 1, 26, 3, 26, 552, 8, 26, 3, 26, 554, 8, 26, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 3, 30, 567, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 573, 8, 31, 3, 31, 575, 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 588, 8, 32, 1, 33, 1, 33, 3, 33, 592, 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 597, 8, 33, 1, 34, 1, 34, 3, 34, 601, 8, 34, 1, 34, 1, 34, 1, 35, 1, 35, 3, 35, 607, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 613, 8, 36, 1, 36, 1, 36, 1, 37, 1, 37, 3, 37, 619, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 3, 38, 627, 8, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 3, 39, 635, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 655, 8, 43, 1, 43, 1, 43, 3, 43, 659, 8, 43, 1, 43, 3, 43, 662, 8, 43, 1, 43, 5, 43, 665, 8, 43, 10, 43, 12, 43, 668, 9, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 683, 8, 46, 1, 47, 1, 47, 1, 47, 3, 47, 688, 8, 47, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 697, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 3, 52, 708, 8, 52, 1, 52, 1, 52, 3, 52, 712, 8, 52, 1, 52, 3, 52, 715, 8, 52, 5, 52, 717, 8, 52, 10, 52, 12, 52, 720, 9, 52, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, 726, 8, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 3, 54, 733, 8, 54, 3, 54, 735, 8, 54, 1, 55, 1, 55, 1, 55, 3, 55, 740, 8, 55, 1, 55, 1, 55, 1, 56, 3, 56, 745, 8, 56, 1, 56, 5, 56, 748, 8, 56, 10, 56, 12, 56, 751, 9, 56, 1, 57, 1, 57, 3, 57, 755, 8, 57, 1, 57, 3, 57, 758, 8, 57, 1, 58, 1, 58, 1, 58, 3, 58, 763, 8, 58, 3, 58, 765, 8, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 3, 59, 775, 8, 59, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 3, 62, 786, 8, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 3, 65, 803, 8, 65, 1, 66, 1, 66, 1, 66, 5, 66, 808, 8, 66, 10, 66, 12, 66, 811, 9, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 5, 67, 818, 8, 67, 10, 67, 12, 67, 821, 9, 67, 1, 67, 3, 67, 824, 8, 67, 1, 67, 1, 67, 5, 67, 828, 8, 67, 10, 67, 12, 67, 831, 9, 67, 1, 67, 1, 67, 1, 68, 1, 68, 5, 68, 837, 8, 68, 10, 68, 12, 68, 840, 9, 68, 1, 68, 1, 68, 3, 68, 844, 8, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 3, 69, 851, 8, 69, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 5, 71, 859, 8, 71, 10, 71, 12, 71, 862, 9, 71, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 3, 73, 870, 8, 73, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 3, 75, 878, 8, 75, 1, 75, 1, 75, 1, 75, 5, 75, 883, 8, 75, 10, 75, 12, 75, 886, 9, 75, 1, 75, 1, 75, 3, 75, 890, 8, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 5, 76, 897, 8, 76, 10, 76, 12, 76, 900, 9, 76, 1, 76, 1, 76, 3, 76, 904, 8, 76, 1, 77, 1, 77, 3, 77, 908, 8, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 3, 78, 915, 8, 78, 3, 78, 917, 8, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 3, 79, 925, 8, 79, 1, 80, 3, 80, 928, 8, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 3, 81, 936, 8, 81, 5, 81, 938, 8, 81, 10, 81, 12, 81, 941, 9, 81, 1, 82, 1, 82, 3, 82, 945, 8, 82, 1, 83, 1, 83, 1, 83, 5, 83, 950, 8, 83, 10, 83, 12, 83, 953, 9, 83, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 3, 85, 963, 8, 85, 1, 86, 3, 86, 966, 8, 86, 1, 87, 1, 87, 1, 87, 3, 87, 971, 8, 87, 5, 87, 973, 8, 87, 10, 87, 12, 87, 976, 9, 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 3, 92, 990, 8, 92, 1, 93, 1, 93, 1, 93, 5, 93, 995, 8, 93, 10, 93, 12, 93, 998, 9, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 5, 96, 1007, 8, 96, 10, 96, 12, 96, 1010, 9, 96, 1, 97, 1, 97, 1, 97, 5, 97, 1015, 8, 97, 10, 97, 12, 97, 1018, 9, 97, 1, 98, 1, 98, 3, 98, 1022, 8, 98, 1, 99, 1, 99, 1, 99, 3, 99, 1027, 8, 99, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 1039, 8, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 5, 102, 1046, 8, 102, 10, 102, 12, 102, 1049, 9, 102, 3, 102, 1051, 8, 102, 1, 102, 3, 102, 1054, 8, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 3, 103, 1061, 8, 103, 3, 103, 1063, 8, 103, 1, 104, 1, 104, 1, 105, 1, 105, 3, 105, 1069, 8, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 3, 107, 1077, 8, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 4, 109, 1085, 8, 109, 11, 109, 12, 109, 1086, 1, 109, 1, 109, 1, 110, 1, 110, 4, 110, 1093, 8, 110, 11, 110, 12, 110, 1094, 1, 110, 1, 110, 1, 111, 1, 111, 3, 111, 1101, 8, 111, 1, 112, 1, 112, 3, 112, 1105, 8, 112, 1, 113, 1, 113, 3, 113, 1109, 8, 113, 1, 114, 1, 114, 3, 114, 1113, 8, 114, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 3, 116, 1123, 8, 116, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 5, 118, 1130, 8, 118, 10, 118, 12, 118, 1133, 9, 118, 1, 119, 1, 119, 1, 119, 5, 119, 1138, 8, 119, 10, 119, 12, 119, 1141, 9, 119, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 3, 121, 1163, 8, 121, 1, 122, 1, 122, 1, 123, 1, 123, 5, 123, 1169, 8, 123, 10, 123, 12, 123, 1172, 9, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 3, 124, 1179, 8, 124, 1, 125, 1, 125, 1, 126, 1, 126, 1, 127, 1, 127, 3, 127, 1187, 8, 127, 1, 127, 5, 127, 1190, 8, 127, 10, 127, 12, 127, 1193, 9, 127, 1, 128, 1, 128, 5, 128, 1197, 8, 128, 10, 128, 12, 128, 1200, 9, 128, 1, 129, 1, 129, 3, 129, 1204, 8, 129, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 3, 132, 1219, 8, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 1228, 8, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1274, 8, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1488, 8, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 3, 136, 1497, 8, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 3, 138, 1513, 8, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 3, 139, 1526, 8, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 3, 142, 1540, 8, 142, 1, 142, 1, 142, 3, 142, 1544, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1550, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1558, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1566, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1574, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1582, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1590, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1597, 8, 142, 1, 142, 1, 142, 3, 142, 1601, 8, 142, 1, 143, 1, 143, 3, 143, 1605, 8, 143, 1, 144, 1, 144, 1, 144, 1, 144, 3, 144, 1611, 8, 144, 1, 145, 1, 145, 1, 145, 3, 145, 1616, 8, 145, 1, 146, 1, 146, 1, 147, 1, 147, 1, 148, 1, 148, 1, 149, 1, 149, 1, 150, 1, 150, 1, 151, 3, 151, 1629, 8, 151, 1, 151, 1, 151, 3, 151, 1633, 8, 151, 1, 152, 1, 152, 3, 152, 1637, 8, 152, 1, 153, 1, 153, 1, 154, 1, 154, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 0, 0, 157, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 0, 10, 1, 0, 33, 34, 1, 0, 47, 48, 2, 0, 1, 1, 13, 14, 1, 0, 145, 146, 1, 0, 149, 151, 1, 0, 152, 154, 1, 0, 155, 157, 1, 0, 28, 29, 1, 0, 159, 162, 2, 0, 144, 144, 165, 165, 1761, 0, 316, 1, 0, 0, 0, 2, 320, 1, 0, 0, 0, 4, 333, 1, 0, 0, 0, 6, 336, 1, 0, 0, 0, 8, 339, 1, 0, 0, 0, 10, 343, 1, 0, 0, 0, 12, 353, 1, 0, 0, 0, 14, 358, 1, 0, 0, 0, 16, 372, 1, 0, 0, 0, 18, 374, 1, 0, 0, 0, 20, 378, 1, 0, 0, 0, 22, 382, 1, 0, 0, 0, 24, 408, 1, 0, 0, 0, 26, 428, 1, 0, 0, 0, 28, 438, 1, 0, 0, 0, 30, 443, 1, 0, 0, 0, 32, 445, 1, 0, 0, 0, 34, 448, 1, 0, 0, 0, 36, 451, 1, 0, 0, 0, 38, 456, 1, 0, 0, 0, 40, 467, 1, 0, 0, 0, 42, 484, 1, 0, 0, 0, 44, 486, 1, 0, 0, 0, 46, 492, 1, 0, 0, 0, 48, 496, 1, 0, 0, 0, 50, 509, 1, 0, 0, 0, 52, 553, 1, 0, 0, 0, 54, 555, 1, 0, 0, 0, 56, 558, 1, 0, 0, 0, 58, 561, 1, 0, 0, 0, 60, 566, 1, 0, 0, 0, 62, 568, 1, 0, 0, 0, 64, 587, 1, 0, 0, 0, 66, 589, 1, 0, 0, 0, 68, 598, 1, 0, 0, 0, 70, 604, 1, 0, 0, 0, 72, 610, 1, 0, 0, 0, 74, 616, 1, 0, 0, 0, 76, 624, 1, 0, 0, 0, 78, 632, 1, 0, 0, 0, 80, 640, 1, 0, 0, 0, 82, 644, 1, 0, 0, 0, 84, 648, 1, 0, 0, 0, 86, 654, 1, 0, 0, 0, 88, 672, 1, 0, 0, 0, 90, 675, 1, 0, 0, 0, 92, 678, 1, 0, 0, 0, 94, 687, 1, 0, 0, 0, 96, 689, 1, 0, 0, 0, 98, 696, 1, 0, 0, 0, 100, 698, 1, 0, 0, 0, 102, 702, 1, 0, 0, 0, 104, 707, 1, 0, 0, 0, 106, 721, 1, 0, 0, 0, 108, 729, 1, 0, 0, 0, 110, 736, 1, 0, 0, 0, 112, 744, 1, 0, 0, 0, 114, 752, 1, 0, 0, 0, 116, 759, 1, 0, 0, 0, 118, 774, 1, 0, 0, 0, 120, 776, 1, 0, 0, 0, 122, 779, 1, 0, 0, 0, 124, 783, 1, 0, 0, 0, 126, 790, 1, 0, 0, 0, 128, 797, 1, 0, 0, 0, 130, 802, 1, 0, 0, 0, 132, 804, 1, 0, 0, 0, 134, 823, 1, 0, 0, 0, 136, 843, 1, 0, 0, 0, 138, 850, 1, 0, 0, 0, 140, 852, 1, 0, 0, 0, 142, 855, 1, 0, 0, 0, 144, 863, 1, 0, 0, 0, 146, 869, 1, 0, 0, 0, 148, 871, 1, 0, 0, 0, 150, 889, 1, 0, 0, 0, 152, 903, 1, 0, 0, 0, 154, 905, 1, 0, 0, 0, 156, 911, 1, 0, 0, 0, 158, 924, 1, 0, 0, 0, 160, 927, 1, 0, 0, 0, 162, 929, 1, 0, 0, 0, 164, 944, 1, 0, 0, 0, 166, 946, 1, 0, 0, 0, 168, 954, 1, 0, 0, 0, 170, 962, 1, 0, 0, 0, 172, 965, 1, 0, 0, 0, 174, 967, 1, 0, 0, 0, 176, 977, 1, 0, 0, 0, 178, 979, 1, 0, 0, 0, 180, 981, 1, 0, 0, 0, 182, 984, 1, 0, 0, 0, 184, 989, 1, 0, 0, 0, 186, 991, 1, 0, 0, 0, 188, 999, 1, 0, 0, 0, 190, 1001, 1, 0, 0, 0, 192, 1003, 1, 0, 0, 0, 194, 1011, 1, 0, 0, 0, 196, 1019, 1, 0, 0, 0, 198, 1026, 1, 0, 0, 0, 200, 1028, 1, 0, 0, 0, 202, 1038, 1, 0, 0, 0, 204, 1053, 1, 0, 0, 0, 206, 1062, 1, 0, 0, 0, 208, 1064, 1, 0, 0, 0, 210, 1068, 1, 0, 0, 0, 212, 1070, 1, 0, 0, 0, 214, 1076, 1, 0, 0, 0, 216, 1078, 1, 0, 0, 0, 218, 1082, 1, 0, 0, 0, 220, 1090, 1, 0, 0, 0, 222, 1100, 1, 0, 0, 0, 224, 1104, 1, 0, 0, 0, 226, 1108, 1, 0, 0, 0, 228, 1112, 1, 0, 0, 0, 230, 1114, 1, 0, 0, 0, 232, 1122, 1, 0, 0, 0, 234, 1124, 1, 0, 0, 0, 236, 1126, 1, 0, 0, 0, 238, 1134, 1, 0, 0, 0, 240, 1142, 1, 0, 0, 0, 242, 1144, 1, 0, 0, 0, 244, 1164, 1, 0, 0, 0, 246, 1166, 1, 0, 0, 0, 248, 1178, 1, 0, 0, 0, 250, 1180, 1, 0, 0, 0, 252, 1182, 1, 0, 0, 0, 254, 1186, 1, 0, 0, 0, 256, 1194, 1, 0, 0, 0, 258, 1203, 1, 0, 0, 0, 260, 1205, 1, 0, 0, 0, 262, 1208, 1, 0, 0, 0, 264, 1218, 1, 0, 0, 0, 266, 1227, 1, 0, 0, 0, 268, 1229, 1, 0, 0, 0, 270, 1487, 1, 0, 0, 0, 272, 1489, 1, 0, 0, 0, 274, 1500, 1, 0, 0, 0, 276, 1505, 1, 0, 0, 0, 278, 1516, 1, 0, 0, 0, 280, 1529, 1, 0, 0, 0, 282, 1532, 1, 0, 0, 0, 284, 1600, 1, 0, 0, 0, 286, 1602, 1, 0, 0, 0, 288, 1606, 1, 0, 0, 0, 290, 1615, 1, 0, 0, 0, 292, 1617, 1, 0, 0, 0, 294, 1619, 1, 0, 0, 0, 296, 1621, 1, 0, 0, 0, 298, 1623, 1, 0, 0, 0, 300, 1625, 1, 0, 0, 0, 302, 1628, 1, 0, 0, 0, 304, 1636, 1, 0, 0, 0, 306, 1638, 1, 0, 0, 0, 308, 1640, 1, 0, 0, 0, 310, 1642, 1, 0, 0, 0, 312, 1644, 1, 0, 0, 0, 314, 317, 3, 2, 1, 0, 315, 317, 3, 62, 31, 0, 316, 314, 1, 0, 0, 0, 316, 315, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319, 5, 0, 0, 1, 319, 1, 1, 0, 0, 0, 320, 325, 3, 4, 2, 0, 321, 326, 3, 10, 5, 0, 322, 326, 3, 22, 11, 0, 323, 326, 3, 24, 12, 0, 324, 326, 3, 26, 13, 0, 325, 321, 1, 0, 0, 0, 325, 322, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 324, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 3, 60, 30, 0, 328, 3, 1, 0, 0, 0, 329, 332, 3, 6, 3, 0, 330, 332, 3, 8, 4, 0, 331, 329, 1, 0, 0, 0, 331, 330, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 5, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 337, 5, 30, 0, 0, 337, 338, 3, 308, 154, 0, 338, 7, 1, 0, 0, 0, 339, 340, 5, 31, 0, 0, 340, 341, 5, 142, 0, 0, 341, 342, 3, 308, 154, 0, 342, 9, 1, 0, 0, 0, 343, 347, 3, 14, 7, 0, 344, 346, 3, 28, 14, 0, 345, 344, 1, 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 351, 3, 36, 18, 0, 351, 352, 3, 38, 19, 0, 352, 11, 1, 0, 0, 0, 353, 354, 3, 14, 7, 0, 354, 355, 3, 36, 18, 0, 355, 356, 3, 38, 19, 0, 356, 357, 3, 60, 30, 0, 357, 13, 1, 0, 0, 0, 358, 360, 5, 32, 0, 0, 359, 361, 7, 0, 0, 0, 360, 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 368, 1, 0, 0, 0, 362, 364, 3, 16, 8, 0, 363, 362, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 369, 5, 1, 0, 0, 368, 363, 1, 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 15, 1, 0, 0, 0, 370, 373, 3, 230, 115, 0, 371, 373, 3, 18, 9, 0, 372, 370, 1, 0, 0, 0, 372, 371, 1, 0, 0, 0, 373, 17, 1, 0, 0, 0, 374, 375, 5, 2, 0, 0, 375, 376, 3, 20, 10, 0, 376, 377, 5, 3, 0, 0, 377, 19, 1, 0, 0, 0, 378, 379, 3, 234, 117, 0, 379, 380, 5, 35, 0, 0, 380, 381, 3, 230, 115, 0, 381, 21, 1, 0, 0, 0, 382, 406, 5, 36, 0, 0, 383, 387, 3, 154, 77, 0, 384, 386, 3, 28, 14, 0, 385, 384, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 390, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, 3, 36, 18, 0, 391, 392, 3, 38, 19, 0, 392, 407, 1, 0, 0, 0, 393, 395, 3, 28, 14, 0, 394, 393, 1, 0, 0, 0, 395, 398, 1, 0, 0, 0, 396, 394, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 399, 1, 0, 0, 0, 398, 396, 1, 0, 0, 0, 399, 400, 5, 37, 0, 0, 400, 402, 5, 4, 0, 0, 401, 403, 3, 108, 54, 0, 402, 401, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 405, 5, 5, 0, 0, 405, 407, 3, 38, 19, 0, 406, 383, 1, 0, 0, 0, 406, 396, 1, 0, 0, 0, 407, 23, 1, 0, 0, 0, 408, 415, 5, 38, 0, 0, 409, 411, 3, 228, 114, 0, 410, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 410, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 416, 1, 0, 0, 0, 414, 416, 5, 1, 0, 0, 415, 410, 1, 0, 0, 0, 415, 414, 1, 0, 0, 0, 416, 420, 1, 0, 0, 0, 417, 419, 3, 28, 14, 0, 418, 417, 1, 0, 0, 0, 419, 422, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 423, 425, 3, 36, 18, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 427, 3, 38, 19, 0, 427, 25, 1, 0, 0, 0, 428, 432, 5, 39, 0, 0, 429, 431, 3, 28, 14, 0, 430, 429, 1, 0, 0, 0, 431, 434, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 435, 1, 0, 0, 0, 434, 432, 1, 0, 0, 0, 435, 436, 3, 36, 18, 0, 436, 437, 3, 38, 19, 0, 437, 27, 1, 0, 0, 0, 438, 441, 5, 40, 0, 0, 439, 442, 3, 30, 15, 0, 440, 442, 3, 32, 16, 0, 441, 439, 1, 0, 0, 0, 441, 440, 1, 0, 0, 0, 442, 29, 1, 0, 0, 0, 443, 444, 3, 34, 17, 0, 444, 31, 1, 0, 0, 0, 445, 446, 5, 41, 0, 0, 446, 447, 3, 34, 17, 0, 447, 33, 1, 0, 0, 0, 448, 449, 3, 302, 151, 0, 449, 35, 1, 0, 0, 0, 450, 452, 5, 37, 0, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 454, 3, 110, 55, 0, 454, 37, 1, 0, 0, 0, 455, 457, 3, 40, 20, 0, 456, 455, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 459, 1, 0, 0, 0, 458, 460, 3, 44, 22, 0, 459, 458, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 462, 1, 0, 0, 0, 461, 463, 3, 48, 24, 0, 462, 461, 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, 1, 0, 0, 0, 464, 466, 3, 52, 26, 0, 465, 464, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 39, 1, 0, 0, 0, 467, 469, 5, 42, 0, 0, 468, 470, 3, 42, 21, 0, 469, 468, 1, 0, 0, 0, 470, 471, 1, 0, 0, 0, 471, 469, 1, 0, 0, 0, 471, 472, 1, 0, 0, 0, 472, 41, 1, 0, 0, 0, 473, 485, 3, 270, 135, 0, 474, 485, 3, 148, 74, 0, 475, 476, 5, 2, 0, 0, 476, 479, 3, 234, 117, 0, 477, 478, 5, 35, 0, 0, 478, 480, 3, 230, 115, 0, 479, 477, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, 3, 0, 0, 482, 485, 1, 0, 0, 0, 483, 485, 3, 230, 115, 0, 484, 473, 1, 0, 0, 0, 484, 474, 1, 0, 0, 0, 484, 475, 1, 0, 0, 0, 484, 483, 1, 0, 0, 0, 485, 43, 1, 0, 0, 0, 486, 488, 5, 44, 0, 0, 487, 489, 3, 46, 23, 0, 488, 487, 1, 0, 0, 0, 489, 490, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 45, 1, 0, 0, 0, 492, 493, 3, 146, 73, 0, 493, 47, 1, 0, 0, 0, 494, 497, 5, 45, 0, 0, 495, 497, 5, 46, 0, 0, 496, 494, 1, 0, 0, 0, 496, 495, 1, 0, 0, 0, 497, 499, 1, 0, 0, 0, 498, 500, 3, 50, 25, 0, 499, 498, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 499, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 49, 1, 0, 0, 0, 503, 504, 7, 1, 0, 0, 504, 510, 3, 268, 134, 0, 505, 508, 3, 146, 73, 0, 506, 508, 3, 230, 115, 0, 507, 505, 1, 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 510, 1, 0, 0, 0, 509, 503, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 510, 51, 1, 0, 0, 0, 511, 513, 3, 54, 27, 0, 512, 514, 3, 56, 28, 0, 513, 512, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 516, 1, 0, 0, 0, 515, 517, 3, 58, 29, 0, 516, 515, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 554, 1, 0, 0, 0, 518, 520, 3, 54, 27, 0, 519, 521, 3, 58, 29, 0, 520, 519, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 523, 1, 0, 0, 0, 522, 524, 3, 56, 28, 0, 523, 522, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 554, 1, 0, 0, 0, 525, 527, 3, 56, 28, 0, 526, 528, 3, 54, 27, 0, 527, 526, 1, 0, 0, 0, 527, 528, 1, 0, 0, 0, 528, 530, 1, 0, 0, 0, 529, 531, 3, 58, 29, 0, 530, 529, 1, 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 554, 1, 0, 0, 0, 532, 534, 3, 56, 28, 0, 533, 535, 3, 58, 29, 0, 534, 533, 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 537, 1, 0, 0, 0, 536, 538, 3, 54, 27, 0, 537, 536, 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 554, 1, 0, 0, 0, 539, 541, 3, 58, 29, 0, 540, 542, 3, 56, 28, 0, 541, 540, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 544, 1, 0, 0, 0, 543, 545, 3, 54, 27, 0, 544, 543, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 554, 1, 0, 0, 0, 546, 548, 3, 58, 29, 0, 547, 549, 3, 54, 27, 0, 548, 547, 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 551, 1, 0, 0, 0, 550, 552, 3, 56, 28, 0, 551, 550, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 554, 1, 0, 0, 0, 553, 511, 1, 0, 0, 0, 553, 518, 1, 0, 0, 0, 553, 525, 1, 0, 0, 0, 553, 532, 1, 0, 0, 0, 553, 539, 1, 0, 0, 0, 553, 546, 1, 0, 0, 0, 554, 53, 1, 0, 0, 0, 555, 556, 5, 49, 0, 0, 556, 557, 3, 208, 104, 0, 557, 55, 1, 0, 0, 0, 558, 559, 5, 50, 0, 0, 559, 560, 3, 208, 104, 0, 560, 57, 1, 0, 0, 0, 561, 562, 5, 51, 0, 0, 562, 563, 3, 208, 104, 0, 563, 59, 1, 0, 0, 0, 564, 565, 5, 52, 0, 0, 565, 567, 3, 130, 65, 0, 566, 564, 1, 0, 0, 0, 566, 567, 1, 0, 0, 0, 567, 61, 1, 0, 0, 0, 568, 574, 3, 4, 2, 0, 569, 572, 3, 64, 32, 0, 570, 571, 5, 6, 0, 0, 571, 573, 3, 62, 31, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 575, 1, 0, 0, 0, 574, 569, 1, 0, 0, 0, 574, 575, 1, 0, 0, 0, 575, 63, 1, 0, 0, 0, 576, 588, 3, 66, 33, 0, 577, 588, 3, 68, 34, 0, 578, 588, 3, 70, 35, 0, 579, 588, 3, 74, 37, 0, 580, 588, 3, 76, 38, 0, 581, 588, 3, 78, 39, 0, 582, 588, 3, 72, 36, 0, 583, 588, 3, 80, 40, 0, 584, 588, 3, 82, 41, 0, 585, 588, 3, 84, 42, 0, 586, 588, 3, 86, 43, 0, 587, 576, 1, 0, 0, 0, 587, 577, 1, 0, 0, 0, 587, 578, 1, 0, 0, 0, 587, 579, 1, 0, 0, 0, 587, 580, 1, 0, 0, 0, 587, 581, 1, 0, 0, 0, 587, 582, 1, 0, 0, 0, 587, 583, 1, 0, 0, 0, 587, 584, 1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 587, 586, 1, 0, 0, 0, 588, 65, 1, 0, 0, 0, 589, 591, 5, 53, 0, 0, 590, 592, 5, 54, 0, 0, 591, 590, 1, 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 593, 1, 0, 0, 0, 593, 596, 3, 302, 151, 0, 594, 595, 5, 55, 0, 0, 595, 597, 3, 96, 48, 0, 596, 594, 1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 67, 1, 0, 0, 0, 598, 600, 5, 56, 0, 0, 599, 601, 5, 54, 0, 0, 600, 599, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603, 3, 98, 49, 0, 603, 69, 1, 0, 0, 0, 604, 606, 5, 57, 0, 0, 605, 607, 5, 54, 0, 0, 606, 605, 1, 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, 3, 98, 49, 0, 609, 71, 1, 0, 0, 0, 610, 612, 5, 58, 0, 0, 611, 613, 5, 54, 0, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 614, 1, 0, 0, 0, 614, 615, 3, 96, 48, 0, 615, 73, 1, 0, 0, 0, 616, 618, 5, 59, 0, 0, 617, 619, 5, 54, 0, 0, 618, 617, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 621, 3, 94, 47, 0, 621, 622, 5, 60, 0, 0, 622, 623, 3, 94, 47, 0, 623, 75, 1, 0, 0, 0, 624, 626, 5, 62, 0, 0, 625, 627, 5, 54, 0, 0, 626, 625, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 3, 94, 47, 0, 629, 630, 5, 60, 0, 0, 630, 631, 3, 94, 47, 0, 631, 77, 1, 0, 0, 0, 632, 634, 5, 63, 0, 0, 633, 635, 5, 54, 0, 0, 634, 633, 1, 0, 0, 0, 634, 635, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 637, 3, 94, 47, 0, 637, 638, 5, 60, 0, 0, 638, 639, 3, 94, 47, 0, 639, 79, 1, 0, 0, 0, 640, 641, 5, 64, 0, 0, 641, 642, 5, 61, 0, 0, 642, 643, 3, 102, 51, 0, 643, 81, 1, 0, 0, 0, 644, 645, 5, 65, 0, 0, 645, 646, 5, 61, 0, 0, 646, 647, 3, 102, 51, 0, 647, 83, 1, 0, 0, 0, 648, 649, 5, 65, 0, 0, 649, 650, 5, 37, 0, 0, 650, 651, 3, 100, 50, 0, 651, 85, 1, 0, 0, 0, 652, 653, 5, 66, 0, 0, 653, 655, 3, 302, 151, 0, 654, 652, 1, 0, 0, 0, 654, 655, 1, 0, 0, 0, 655, 661, 1, 0, 0, 0, 656, 658, 3, 88, 44, 0, 657, 659, 3, 90, 45, 0, 658, 657, 1, 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 662, 1, 0, 0, 0, 660, 662, 3, 90, 45, 0, 661, 656, 1, 0, 0, 0, 661, 660, 1, 0, 0, 0, 662, 666, 1, 0, 0, 0, 663, 665, 3, 92, 46, 0, 664, 663, 1, 0, 0, 0, 665, 668, 1, 0, 0, 0, 666, 664, 1, 0, 0, 0, 666, 667, 1, 0, 0, 0, 667, 669, 1, 0, 0, 0, 668, 666, 1, 0, 0, 0, 669, 670, 5, 37, 0, 0, 670, 671, 3, 110, 55, 0, 671, 87, 1, 0, 0, 0, 672, 673, 5, 65, 0, 0, 673, 674, 3, 100, 50, 0, 674, 89, 1, 0, 0, 0, 675, 676, 5, 64, 0, 0, 676, 677, 3, 100, 50, 0, 677, 91, 1, 0, 0, 0, 678, 682, 5, 67, 0, 0, 679, 683, 5, 85, 0, 0, 680, 681, 5, 41, 0, 0, 681, 683, 3, 302, 151, 0, 682, 679, 1, 0, 0, 0, 682, 680, 1, 0, 0, 0, 683, 93, 1, 0, 0, 0, 684, 688, 5, 68, 0, 0, 685, 686, 5, 69, 0, 0, 686, 688, 3, 302, 151, 0, 687, 684, 1, 0, 0, 0, 687, 685, 1, 0, 0, 0, 688, 95, 1, 0, 0, 0, 689, 690, 5, 69, 0, 0, 690, 691, 3, 302, 151, 0, 691, 97, 1, 0, 0, 0, 692, 697, 3, 96, 48, 0, 693, 697, 5, 68, 0, 0, 694, 697, 5, 41, 0, 0, 695, 697, 5, 70, 0, 0, 696, 692, 1, 0, 0, 0, 696, 693, 1, 0, 0, 0, 696, 694, 1, 0, 0, 0, 696, 695, 1, 0, 0, 0, 697, 99, 1, 0, 0, 0, 698, 699, 5, 4, 0, 0, 699, 700, 3, 104, 52, 0, 700, 701, 5, 5, 0, 0, 701, 101, 1, 0, 0, 0, 702, 703, 5, 4, 0, 0, 703, 704, 3, 104, 52, 0, 704, 705, 5, 5, 0, 0, 705, 103, 1, 0, 0, 0, 706, 708, 3, 108, 54, 0, 707, 706, 1, 0, 0, 0, 707, 708, 1, 0, 0, 0, 708, 718, 1, 0, 0, 0, 709, 711, 3, 106, 53, 0, 710, 712, 5, 7, 0, 0, 711, 710, 1, 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 714, 1, 0, 0, 0, 713, 715, 3, 108, 54, 0, 714, 713, 1, 0, 0, 0, 714, 715, 1, 0, 0, 0, 715, 717, 1, 0, 0, 0, 716, 709, 1, 0, 0, 0, 717, 720, 1, 0, 0, 0, 718, 716, 1, 0, 0, 0, 718, 719, 1, 0, 0, 0, 719, 105, 1, 0, 0, 0, 720, 718, 1, 0, 0, 0, 721, 722, 5, 69, 0, 0, 722, 723, 3, 228, 114, 0, 723, 725, 5, 4, 0, 0, 724, 726, 3, 108, 54, 0, 725, 724, 1, 0, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 728, 5, 5, 0, 0, 728, 107, 1, 0, 0, 0, 729, 734, 3, 158, 79, 0, 730, 732, 5, 7, 0, 0, 731, 733, 3, 108, 54, 0, 732, 731, 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 735, 1, 0, 0, 0, 734, 730, 1, 0, 0, 0, 734, 735, 1, 0, 0, 0, 735, 109, 1, 0, 0, 0, 736, 739, 5, 4, 0, 0, 737, 740, 3, 12, 6, 0, 738, 740, 3, 112, 56, 0, 739, 737, 1, 0, 0, 0, 739, 738, 1, 0, 0, 0, 740, 741, 1, 0, 0, 0, 741, 742, 5, 5, 0, 0, 742, 111, 1, 0, 0, 0, 743, 745, 3, 116, 58, 0, 744, 743, 1, 0, 0, 0, 744, 745, 1, 0, 0, 0, 745, 749, 1, 0, 0, 0, 746, 748, 3, 114, 57, 0, 747, 746, 1, 0, 0, 0, 748, 751, 1, 0, 0, 0, 749, 747, 1, 0, 0, 0, 749, 750, 1, 0, 0, 0, 750, 113, 1, 0, 0, 0, 751, 749, 1, 0, 0, 0, 752, 754, 3, 118, 59, 0, 753, 755, 5, 7, 0, 0, 754, 753, 1, 0, 0, 0, 754, 755, 1, 0, 0, 0, 755, 757, 1, 0, 0, 0, 756, 758, 3, 116, 58, 0, 757, 756, 1, 0, 0, 0, 757, 758, 1, 0, 0, 0, 758, 115, 1, 0, 0, 0, 759, 764, 3, 170, 85, 0, 760, 762, 5, 7, 0, 0, 761, 763, 3, 116, 58, 0, 762, 761, 1, 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 765, 1, 0, 0, 0, 764, 760, 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 117, 1, 0, 0, 0, 766, 775, 3, 142, 71, 0, 767, 775, 3, 120, 60, 0, 768, 775, 3, 140, 70, 0, 769, 775, 3, 122, 61, 0, 770, 775, 3, 124, 62, 0, 771, 775, 3, 144, 72, 0, 772, 775, 3, 126, 63, 0, 773, 775, 3, 128, 64, 0, 774, 766, 1, 0, 0, 0, 774, 767, 1, 0, 0, 0, 774, 768, 1, 0, 0, 0, 774, 769, 1, 0, 0, 0, 774, 770, 1, 0, 0, 0, 774, 771, 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774, 773, 1, 0, 0, 0, 775, 119, 1, 0, 0, 0, 776, 777, 5, 71, 0, 0, 777, 778, 3, 110, 55, 0, 778, 121, 1, 0, 0, 0, 779, 780, 5, 69, 0, 0, 780, 781, 3, 228, 114, 0, 781, 782, 3, 110, 55, 0, 782, 123, 1, 0, 0, 0, 783, 785, 5, 72, 0, 0, 784, 786, 5, 54, 0, 0, 785, 784, 1, 0, 0, 0, 785, 786, 1, 0, 0, 0, 786, 787, 1, 0, 0, 0, 787, 788, 3, 228, 114, 0, 788, 789, 3, 110, 55, 0, 789, 125, 1, 0, 0, 0, 790, 791, 5, 73, 0, 0, 791, 792, 5, 2, 0, 0, 792, 793, 3, 234, 117, 0, 793, 794, 5, 35, 0, 0, 794, 795, 3, 230, 115, 0, 795, 796, 5, 3, 0, 0, 796, 127, 1, 0, 0, 0, 797, 798, 5, 52, 0, 0, 798, 799, 3, 130, 65, 0, 799, 129, 1, 0, 0, 0, 800, 803, 3, 132, 66, 0, 801, 803, 3, 134, 67, 0, 802, 800, 1, 0, 0, 0, 802, 801, 1, 0, 0, 0, 803, 131, 1, 0, 0, 0, 804, 805, 3, 230, 115, 0, 805, 809, 5, 4, 0, 0, 806, 808, 3, 138, 69, 0, 807, 806, 1, 0, 0, 0, 808, 811, 1, 0, 0, 0, 809, 807, 1, 0, 0, 0, 809, 810, 1, 0, 0, 0, 810, 812, 1, 0, 0, 0, 811, 809, 1, 0, 0, 0, 812, 813, 5, 5, 0, 0, 813, 133, 1, 0, 0, 0, 814, 824, 5, 164, 0, 0, 815, 819, 5, 2, 0, 0, 816, 818, 3, 230, 115, 0, 817, 816, 1, 0, 0, 0, 818, 821, 1, 0, 0, 0, 819, 817, 1, 0, 0, 0, 819, 820, 1, 0, 0, 0, 820, 822, 1, 0, 0, 0, 821, 819, 1, 0, 0, 0, 822, 824, 5, 3, 0, 0, 823, 814, 1, 0, 0, 0, 823, 815, 1, 0, 0, 0, 824, 825, 1, 0, 0, 0, 825, 829, 5, 4, 0, 0, 826, 828, 3, 136, 68, 0, 827, 826, 1, 0, 0, 0, 828, 831, 1, 0, 0, 0, 829, 827, 1, 0, 0, 0, 829, 830, 1, 0, 0, 0, 830, 832, 1, 0, 0, 0, 831, 829, 1, 0, 0, 0, 832, 833, 5, 5, 0, 0, 833, 135, 1, 0, 0, 0, 834, 838, 5, 2, 0, 0, 835, 837, 3, 138, 69, 0, 836, 835, 1, 0, 0, 0, 837, 840, 1, 0, 0, 0, 838, 836, 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 838, 1, 0, 0, 0, 841, 844, 5, 3, 0, 0, 842, 844, 5, 164, 0, 0, 843, 834, 1, 0, 0, 0, 843, 842, 1, 0, 0, 0, 844, 137, 1, 0, 0, 0, 845, 851, 3, 302, 151, 0, 846, 851, 3, 288, 144, 0, 847, 851, 3, 290, 145, 0, 848, 851, 3, 298, 149, 0, 849, 851, 5, 74, 0, 0, 850, 845, 1, 0, 0, 0, 850, 846, 1, 0, 0, 0, 850, 847, 1, 0, 0, 0, 850, 848, 1, 0, 0, 0, 850, 849, 1, 0, 0, 0, 851, 139, 1, 0, 0, 0, 852, 853, 5, 75, 0, 0, 853, 854, 3, 110, 55, 0, 854, 141, 1, 0, 0, 0, 855, 860, 3, 110, 55, 0, 856, 857, 5, 76, 0, 0, 857, 859, 3, 110, 55, 0, 858, 856, 1, 0, 0, 0, 859, 862, 1, 0, 0, 0, 860, 858, 1, 0, 0, 0, 860, 861, 1, 0, 0, 0, 861, 143, 1, 0, 0, 0, 862, 860, 1, 0, 0, 0, 863, 864, 5, 77, 0, 0, 864, 865, 3, 146, 73, 0, 865, 145, 1, 0, 0, 0, 866, 870, 3, 268, 134, 0, 867, 870, 3, 270, 135, 0, 868, 870, 3, 148, 74, 0, 869, 866, 1, 0, 0, 0, 869, 867, 1, 0, 0, 0, 869, 868, 1, 0, 0, 0, 870, 147, 1, 0, 0, 0, 871, 872, 3, 302, 151, 0, 872, 873, 3, 150, 75, 0, 873, 149, 1, 0, 0, 0, 874, 890, 5, 164, 0, 0, 875, 877, 5, 2, 0, 0, 876, 878, 5, 33, 0, 0, 877, 876, 1, 0, 0, 0, 877, 878, 1, 0, 0, 0, 878, 879, 1, 0, 0, 0, 879, 884, 3, 234, 117, 0, 880, 881, 5, 8, 0, 0, 881, 883, 3, 234, 117, 0, 882, 880, 1, 0, 0, 0, 883, 886, 1, 0, 0, 0, 884, 882, 1, 0, 0, 0, 884, 885, 1, 0, 0, 0, 885, 887, 1, 0, 0, 0, 886, 884, 1, 0, 0, 0, 887, 888, 5, 3, 0, 0, 888, 890, 1, 0, 0, 0, 889, 874, 1, 0, 0, 0, 889, 875, 1, 0, 0, 0, 890, 151, 1, 0, 0, 0, 891, 904, 5, 164, 0, 0, 892, 893, 5, 2, 0, 0, 893, 898, 3, 234, 117, 0, 894, 895, 5, 8, 0, 0, 895, 897, 3, 234, 117, 0, 896, 894, 1, 0, 0, 0, 897, 900, 1, 0, 0, 0, 898, 896, 1, 0, 0, 0, 898, 899, 1, 0, 0, 0, 899, 901, 1, 0, 0, 0, 900, 898, 1, 0, 0, 0, 901, 902, 5, 3, 0, 0, 902, 904, 1, 0, 0, 0, 903, 891, 1, 0, 0, 0, 903, 892, 1, 0, 0, 0, 904, 153, 1, 0, 0, 0, 905, 907, 5, 4, 0, 0, 906, 908, 3, 156, 78, 0, 907, 906, 1, 0, 0, 0, 907, 908, 1, 0, 0, 0, 908, 909, 1, 0, 0, 0, 909, 910, 5, 5, 0, 0, 910, 155, 1, 0, 0, 0, 911, 916, 3, 158, 79, 0, 912, 914, 5, 7, 0, 0, 913, 915, 3, 156, 78, 0, 914, 913, 1, 0, 0, 0, 914, 915, 1, 0, 0, 0, 915, 917, 1, 0, 0, 0, 916, 912, 1, 0, 0, 0, 916, 917, 1, 0, 0, 0, 917, 157, 1, 0, 0, 0, 918, 919, 3, 226, 113, 0, 919, 920, 3, 162, 81, 0, 920, 925, 1, 0, 0, 0, 921, 922, 3, 210, 105, 0, 922, 923, 3, 160, 80, 0, 923, 925, 1, 0, 0, 0, 924, 918, 1, 0, 0, 0, 924, 921, 1, 0, 0, 0, 925, 159, 1, 0, 0, 0, 926, 928, 3, 162, 81, 0, 927, 926, 1, 0, 0, 0, 927, 928, 1, 0, 0, 0, 928, 161, 1, 0, 0, 0, 929, 930, 3, 164, 82, 0, 930, 939, 3, 166, 83, 0, 931, 935, 5, 6, 0, 0, 932, 933, 3, 164, 82, 0, 933, 934, 3, 166, 83, 0, 934, 936, 1, 0, 0, 0, 935, 932, 1, 0, 0, 0, 935, 936, 1, 0, 0, 0, 936, 938, 1, 0, 0, 0, 937, 931, 1, 0, 0, 0, 938, 941, 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 163, 1, 0, 0, 0, 941, 939, 1, 0, 0, 0, 942, 945, 3, 228, 114, 0, 943, 945, 5, 9, 0, 0, 944, 942, 1, 0, 0, 0, 944, 943, 1, 0, 0, 0, 945, 165, 1, 0, 0, 0, 946, 951, 3, 168, 84, 0, 947, 948, 5, 8, 0, 0, 948, 950, 3, 168, 84, 0, 949, 947, 1, 0, 0, 0, 950, 953, 1, 0, 0, 0, 951, 949, 1, 0, 0, 0, 951, 952, 1, 0, 0, 0, 952, 167, 1, 0, 0, 0, 953, 951, 1, 0, 0, 0, 954, 955, 3, 222, 111, 0, 955, 169, 1, 0, 0, 0, 956, 957, 3, 226, 113, 0, 957, 958, 3, 174, 87, 0, 958, 963, 1, 0, 0, 0, 959, 960, 3, 214, 107, 0, 960, 961, 3, 172, 86, 0, 961, 963, 1, 0, 0, 0, 962, 956, 1, 0, 0, 0, 962, 959, 1, 0, 0, 0, 963, 171, 1, 0, 0, 0, 964, 966, 3, 174, 87, 0, 965, 964, 1, 0, 0, 0, 965, 966, 1, 0, 0, 0, 966, 173, 1, 0, 0, 0, 967, 974, 3, 182, 91, 0, 968, 970, 5, 6, 0, 0, 969, 971, 3, 180, 90, 0, 970, 969, 1, 0, 0, 0, 970, 971, 1, 0, 0, 0, 971, 973, 1, 0, 0, 0, 972, 968, 1, 0, 0, 0, 973, 976, 1, 0, 0, 0, 974, 972, 1, 0, 0, 0, 974, 975, 1, 0, 0, 0, 975, 175, 1, 0, 0, 0, 976, 974, 1, 0, 0, 0, 977, 978, 3, 190, 95, 0, 978, 177, 1, 0, 0, 0, 979, 980, 3, 230, 115, 0, 980, 179, 1, 0, 0, 0, 981, 982, 3, 184, 92, 0, 982, 983, 3, 166, 83, 0, 983, 181, 1, 0, 0, 0, 984, 985, 3, 184, 92, 0, 985, 986, 3, 186, 93, 0, 986, 183, 1, 0, 0, 0, 987, 990, 3, 176, 88, 0, 988, 990, 3, 178, 89, 0, 989, 987, 1, 0, 0, 0, 989, 988, 1, 0, 0, 0, 990, 185, 1, 0, 0, 0, 991, 996, 3, 188, 94, 0, 992, 993, 5, 8, 0, 0, 993, 995, 3, 188, 94, 0, 994, 992, 1, 0, 0, 0, 995, 998, 1, 0, 0, 0, 996, 994, 1, 0, 0, 0, 996, 997, 1, 0, 0, 0, 997, 187, 1, 0, 0, 0, 998, 996, 1, 0, 0, 0, 999, 1000, 3, 224, 112, 0, 1000, 189, 1, 0, 0, 0, 1001, 1002, 3, 192, 96, 0, 1002, 191, 1, 0, 0, 0, 1003, 1008, 3, 194, 97, 0, 1004, 1005, 5, 10, 0, 0, 1005, 1007, 3, 194, 97, 0, 1006, 1004, 1, 0, 0, 0, 1007, 1010, 1, 0, 0, 0, 1008, 1006, 1, 0, 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 193, 1, 0, 0, 0, 1010, 1008, 1, 0, 0, 0, 1011, 1016, 3, 198, 99, 0, 1012, 1013, 5, 11, 0, 0, 1013, 1015, 3, 198, 99, 0, 1014, 1012, 1, 0, 0, 0, 1015, 1018, 1, 0, 0, 0, 1016, 1014, 1, 0, 0, 0, 1016, 1017, 1, 0, 0, 0, 1017, 195, 1, 0, 0, 0, 1018, 1016, 1, 0, 0, 0, 1019, 1021, 3, 202, 101, 0, 1020, 1022, 3, 200, 100, 0, 1021, 1020, 1, 0, 0, 0, 1021, 1022, 1, 0, 0, 0, 1022, 197, 1, 0, 0, 0, 1023, 1027, 3, 196, 98, 0, 1024, 1025, 5, 12, 0, 0, 1025, 1027, 3, 196, 98, 0, 1026, 1023, 1, 0, 0, 0, 1026, 1024, 1, 0, 0, 0, 1027, 199, 1, 0, 0, 0, 1028, 1029, 7, 2, 0, 0, 1029, 201, 1, 0, 0, 0, 1030, 1039, 3, 302, 151, 0, 1031, 1039, 5, 9, 0, 0, 1032, 1033, 5, 15, 0, 0, 1033, 1039, 3, 204, 102, 0, 1034, 1035, 5, 2, 0, 0, 1035, 1036, 3, 190, 95, 0, 1036, 1037, 5, 3, 0, 0, 1037, 1039, 1, 0, 0, 0, 1038, 1030, 1, 0, 0, 0, 1038, 1031, 1, 0, 0, 0, 1038, 1032, 1, 0, 0, 0, 1038, 1034, 1, 0, 0, 0, 1039, 203, 1, 0, 0, 0, 1040, 1054, 3, 206, 103, 0, 1041, 1050, 5, 2, 0, 0, 1042, 1047, 3, 206, 103, 0, 1043, 1044, 5, 10, 0, 0, 1044, 1046, 3, 206, 103, 0, 1045, 1043, 1, 0, 0, 0, 1046, 1049, 1, 0, 0, 0, 1047, 1045, 1, 0, 0, 0, 1047, 1048, 1, 0, 0, 0, 1048, 1051, 1, 0, 0, 0, 1049, 1047, 1, 0, 0, 0, 1050, 1042, 1, 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1054, 5, 3, 0, 0, 1053, 1040, 1, 0, 0, 0, 1053, 1041, 1, 0, 0, 0, 1054, 205, 1, 0, 0, 0, 1055, 1063, 3, 302, 151, 0, 1056, 1063, 5, 9, 0, 0, 1057, 1060, 5, 12, 0, 0, 1058, 1061, 3, 302, 151, 0, 1059, 1061, 5, 9, 0, 0, 1060, 1058, 1, 0, 0, 0, 1060, 1059, 1, 0, 0, 0, 1061, 1063, 1, 0, 0, 0, 1062, 1055, 1, 0, 0, 0, 1062, 1056, 1, 0, 0, 0, 1062, 1057, 1, 0, 0, 0, 1063, 207, 1, 0, 0, 0, 1064, 1065, 5, 149, 0, 0, 1065, 209, 1, 0, 0, 0, 1066, 1069, 3, 218, 109, 0, 1067, 1069, 3, 212, 106, 0, 1068, 1066, 1, 0, 0, 0, 1068, 1067, 1, 0, 0, 0, 1069, 211, 1, 0, 0, 0, 1070, 1071, 5, 16, 0, 0, 1071, 1072, 3, 162, 81, 0, 1072, 1073, 5, 17, 0, 0, 1073, 213, 1, 0, 0, 0, 1074, 1077, 3, 220, 110, 0, 1075, 1077, 3, 216, 108, 0, 1076, 1074, 1, 0, 0, 0, 1076, 1075, 1, 0, 0, 0, 1077, 215, 1, 0, 0, 0, 1078, 1079, 5, 16, 0, 0, 1079, 1080, 3, 174, 87, 0, 1080, 1081, 5, 17, 0, 0, 1081, 217, 1, 0, 0, 0, 1082, 1084, 5, 2, 0, 0, 1083, 1085, 3, 222, 111, 0, 1084, 1083, 1, 0, 0, 0, 1085, 1086, 1, 0, 0, 0, 1086, 1084, 1, 0, 0, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1088, 1, 0, 0, 0, 1088, 1089, 5, 3, 0, 0, 1089, 219, 1, 0, 0, 0, 1090, 1092, 5, 2, 0, 0, 1091, 1093, 3, 224, 112, 0, 1092, 1091, 1, 0, 0, 0, 1093, 1094, 1, 0, 0, 0, 1094, 1092, 1, 0, 0, 0, 1094, 1095, 1, 0, 0, 0, 1095, 1096, 1, 0, 0, 0, 1096, 1097, 5, 3, 0, 0, 1097, 221, 1, 0, 0, 0, 1098, 1101, 3, 226, 113, 0, 1099, 1101, 3, 210, 105, 0, 1100, 1098, 1, 0, 0, 0, 1100, 1099, 1, 0, 0, 0, 1101, 223, 1, 0, 0, 0, 1102, 1105, 3, 226, 113, 0, 1103, 1105, 3, 214, 107, 0, 1104, 1102, 1, 0, 0, 0, 1104, 1103, 1, 0, 0, 0, 1105, 225, 1, 0, 0, 0, 1106, 1109, 3, 230, 115, 0, 1107, 1109, 3, 232, 116, 0, 1108, 1106, 1, 0, 0, 0, 1108, 1107, 1, 0, 0, 0, 1109, 227, 1, 0, 0, 0, 1110, 1113, 3, 230, 115, 0, 1111, 1113, 3, 302, 151, 0, 1112, 1110, 1, 0, 0, 0, 1112, 1111, 1, 0, 0, 0, 1113, 229, 1, 0, 0, 0, 1114, 1115, 7, 3, 0, 0, 1115, 231, 1, 0, 0, 0, 1116, 1123, 3, 302, 151, 0, 1117, 1123, 3, 288, 144, 0, 1118, 1123, 3, 290, 145, 0, 1119, 1123, 3, 298, 149, 0, 1120, 1123, 3, 306, 153, 0, 1121, 1123, 5, 164, 0, 0, 1122, 1116, 1, 0, 0, 0, 1122, 1117, 1, 0, 0, 0, 1122, 1118, 1, 0, 0, 0, 1122, 1119, 1, 0, 0, 0, 1122, 1120, 1, 0, 0, 0, 1122, 1121, 1, 0, 0, 0, 1123, 233, 1, 0, 0, 0, 1124, 1125, 3, 236, 118, 0, 1125, 235, 1, 0, 0, 0, 1126, 1131, 3, 238, 119, 0, 1127, 1128, 5, 18, 0, 0, 1128, 1130, 3, 238, 119, 0, 1129, 1127, 1, 0, 0, 0, 1130, 1133, 1, 0, 0, 0, 1131, 1129, 1, 0, 0, 0, 1131, 1132, 1, 0, 0, 0, 1132, 237, 1, 0, 0, 0, 1133, 1131, 1, 0, 0, 0, 1134, 1139, 3, 240, 120, 0, 1135, 1136, 5, 19, 0, 0, 1136, 1138, 3, 240, 120, 0, 1137, 1135, 1, 0, 0, 0, 1138, 1141, 1, 0, 0, 0, 1139, 1137, 1, 0, 0, 0, 1139, 1140, 1, 0, 0, 0, 1140, 239, 1, 0, 0, 0, 1141, 1139, 1, 0, 0, 0, 1142, 1143, 3, 242, 121, 0, 1143, 241, 1, 0, 0, 0, 1144, 1162, 3, 244, 122, 0, 1145, 1146, 5, 20, 0, 0, 1146, 1163, 3, 244, 122, 0, 1147, 1148, 5, 21, 0, 0, 1148, 1163, 3, 244, 122, 0, 1149, 1150, 5, 22, 0, 0, 1150, 1163, 3, 244, 122, 0, 1151, 1152, 5, 23, 0, 0, 1152, 1163, 3, 244, 122, 0, 1153, 1154, 5, 24, 0, 0, 1154, 1163, 3, 244, 122, 0, 1155, 1156, 5, 25, 0, 0, 1156, 1163, 3, 244, 122, 0, 1157, 1158, 5, 79, 0, 0, 1158, 1163, 3, 152, 76, 0, 1159, 1160, 5, 78, 0, 0, 1160, 1161, 5, 79, 0, 0, 1161, 1163, 3, 152, 76, 0, 1162, 1145, 1, 0, 0, 0, 1162, 1147, 1, 0, 0, 0, 1162, 1149, 1, 0, 0, 0, 1162, 1151, 1, 0, 0, 0, 1162, 1153, 1, 0, 0, 0, 1162, 1155, 1, 0, 0, 0, 1162, 1157, 1, 0, 0, 0, 1162, 1159, 1, 0, 0, 0, 1162, 1163, 1, 0, 0, 0, 1163, 243, 1, 0, 0, 0, 1164, 1165, 3, 246, 123, 0, 1165, 245, 1, 0, 0, 0, 1166, 1170, 3, 256, 128, 0, 1167, 1169, 3, 248, 124, 0, 1168, 1167, 1, 0, 0, 0, 1169, 1172, 1, 0, 0, 0, 1170, 1168, 1, 0, 0, 0, 1170, 1171, 1, 0, 0, 0, 1171, 247, 1, 0, 0, 0, 1172, 1170, 1, 0, 0, 0, 1173, 1174, 5, 13, 0, 0, 1174, 1179, 3, 250, 125, 0, 1175, 1176, 5, 26, 0, 0, 1176, 1179, 3, 252, 126, 0, 1177, 1179, 3, 254, 127, 0, 1178, 1173, 1, 0, 0, 0, 1178, 1175, 1, 0, 0, 0, 1178, 1177, 1, 0, 0, 0, 1179, 249, 1, 0, 0, 0, 1180, 1181, 3, 256, 128, 0, 1181, 251, 1, 0, 0, 0, 1182, 1183, 3, 256, 128, 0, 1183, 253, 1, 0, 0, 0, 1184, 1187, 3, 294, 147, 0, 1185, 1187, 3, 296, 148, 0, 1186, 1184, 1, 0, 0, 0, 1186, 1185, 1, 0, 0, 0, 1187, 1191, 1, 0, 0, 0, 1188, 1190, 3, 258, 129, 0, 1189, 1188, 1, 0, 0, 0, 1190, 1193, 1, 0, 0, 0, 1191, 1189, 1, 0, 0, 0, 1191, 1192, 1, 0, 0, 0, 1192, 255, 1, 0, 0, 0, 1193, 1191, 1, 0, 0, 0, 1194, 1198, 3, 264, 132, 0, 1195, 1197, 3, 258, 129, 0, 1196, 1195, 1, 0, 0, 0, 1197, 1200, 1, 0, 0, 0, 1198, 1196, 1, 0, 0, 0, 1198, 1199, 1, 0, 0, 0, 1199, 257, 1, 0, 0, 0, 1200, 1198, 1, 0, 0, 0, 1201, 1204, 3, 260, 130, 0, 1202, 1204, 3, 262, 131, 0, 1203, 1201, 1, 0, 0, 0, 1203, 1202, 1, 0, 0, 0, 1204, 259, 1, 0, 0, 0, 1205, 1206, 5, 1, 0, 0, 1206, 1207, 3, 264, 132, 0, 1207, 261, 1, 0, 0, 0, 1208, 1209, 5, 11, 0, 0, 1209, 1210, 3, 264, 132, 0, 1210, 263, 1, 0, 0, 0, 1211, 1212, 5, 15, 0, 0, 1212, 1219, 3, 266, 133, 0, 1213, 1214, 5, 13, 0, 0, 1214, 1219, 3, 266, 133, 0, 1215, 1216, 5, 26, 0, 0, 1216, 1219, 3, 266, 133, 0, 1217, 1219, 3, 266, 133, 0, 1218, 1211, 1, 0, 0, 0, 1218, 1213, 1, 0, 0, 0, 1218, 1215, 1, 0, 0, 0, 1218, 1217, 1, 0, 0, 0, 1219, 265, 1, 0, 0, 0, 1220, 1228, 3, 268, 134, 0, 1221, 1228, 3, 270, 135, 0, 1222, 1228, 3, 286, 143, 0, 1223, 1228, 3, 288, 144, 0, 1224, 1228, 3, 290, 145, 0, 1225, 1228, 3, 298, 149, 0, 1226, 1228, 3, 230, 115, 0, 1227, 1220, 1, 0, 0, 0, 1227, 1221, 1, 0, 0, 0, 1227, 1222, 1, 0, 0, 0, 1227, 1223, 1, 0, 0, 0, 1227, 1224, 1, 0, 0, 0, 1227, 1225, 1, 0, 0, 0, 1227, 1226, 1, 0, 0, 0, 1228, 267, 1, 0, 0, 0, 1229, 1230, 5, 2, 0, 0, 1230, 1231, 3, 234, 117, 0, 1231, 1232, 5, 3, 0, 0, 1232, 269, 1, 0, 0, 0, 1233, 1488, 3, 284, 142, 0, 1234, 1235, 5, 80, 0, 0, 1235, 1236, 5, 2, 0, 0, 1236, 1237, 3, 234, 117, 0, 1237, 1238, 5, 3, 0, 0, 1238, 1488, 1, 0, 0, 0, 1239, 1488, 3, 274, 137, 0, 1240, 1241, 5, 82, 0, 0, 1241, 1242, 5, 2, 0, 0, 1242, 1243, 3, 234, 117, 0, 1243, 1244, 5, 8, 0, 0, 1244, 1245, 3, 234, 117, 0, 1245, 1246, 5, 3, 0, 0, 1246, 1488, 1, 0, 0, 0, 1247, 1248, 5, 83, 0, 0, 1248, 1249, 5, 2, 0, 0, 1249, 1250, 3, 234, 117, 0, 1250, 1251, 5, 3, 0, 0, 1251, 1488, 1, 0, 0, 0, 1252, 1253, 5, 84, 0, 0, 1253, 1254, 5, 2, 0, 0, 1254, 1255, 3, 230, 115, 0, 1255, 1256, 5, 3, 0, 0, 1256, 1488, 1, 0, 0, 0, 1257, 1258, 5, 85, 0, 0, 1258, 1259, 5, 2, 0, 0, 1259, 1260, 3, 234, 117, 0, 1260, 1261, 5, 3, 0, 0, 1261, 1488, 1, 0, 0, 0, 1262, 1263, 5, 86, 0, 0, 1263, 1264, 5, 2, 0, 0, 1264, 1265, 3, 234, 117, 0, 1265, 1266, 5, 3, 0, 0, 1266, 1488, 1, 0, 0, 0, 1267, 1273, 5, 87, 0, 0, 1268, 1269, 5, 2, 0, 0, 1269, 1270, 3, 234, 117, 0, 1270, 1271, 5, 3, 0, 0, 1271, 1274, 1, 0, 0, 0, 1272, 1274, 5, 164, 0, 0, 1273, 1268, 1, 0, 0, 0, 1273, 1272, 1, 0, 0, 0, 1274, 1488, 1, 0, 0, 0, 1275, 1276, 5, 88, 0, 0, 1276, 1488, 5, 164, 0, 0, 1277, 1278, 5, 89, 0, 0, 1278, 1279, 5, 2, 0, 0, 1279, 1280, 3, 234, 117, 0, 1280, 1281, 5, 3, 0, 0, 1281, 1488, 1, 0, 0, 0, 1282, 1283, 5, 90, 0, 0, 1283, 1284, 5, 2, 0, 0, 1284, 1285, 3, 234, 117, 0, 1285, 1286, 5, 3, 0, 0, 1286, 1488, 1, 0, 0, 0, 1287, 1288, 5, 91, 0, 0, 1288, 1289, 5, 2, 0, 0, 1289, 1290, 3, 234, 117, 0, 1290, 1291, 5, 3, 0, 0, 1291, 1488, 1, 0, 0, 0, 1292, 1293, 5, 92, 0, 0, 1293, 1294, 5, 2, 0, 0, 1294, 1295, 3, 234, 117, 0, 1295, 1296, 5, 3, 0, 0, 1296, 1488, 1, 0, 0, 0, 1297, 1298, 5, 93, 0, 0, 1298, 1488, 3, 152, 76, 0, 1299, 1488, 3, 276, 138, 0, 1300, 1301, 5, 94, 0, 0, 1301, 1302, 5, 2, 0, 0, 1302, 1303, 3, 234, 117, 0, 1303, 1304, 5, 3, 0, 0, 1304, 1488, 1, 0, 0, 0, 1305, 1488, 3, 278, 139, 0, 1306, 1307, 5, 95, 0, 0, 1307, 1308, 5, 2, 0, 0, 1308, 1309, 3, 234, 117, 0, 1309, 1310, 5, 3, 0, 0, 1310, 1488, 1, 0, 0, 0, 1311, 1312, 5, 96, 0, 0, 1312, 1313, 5, 2, 0, 0, 1313, 1314, 3, 234, 117, 0, 1314, 1315, 5, 3, 0, 0, 1315, 1488, 1, 0, 0, 0, 1316, 1317, 5, 97, 0, 0, 1317, 1318, 5, 2, 0, 0, 1318, 1319, 3, 234, 117, 0, 1319, 1320, 5, 3, 0, 0, 1320, 1488, 1, 0, 0, 0, 1321, 1322, 5, 99, 0, 0, 1322, 1323, 5, 2, 0, 0, 1323, 1324, 3, 234, 117, 0, 1324, 1325, 5, 8, 0, 0, 1325, 1326, 3, 234, 117, 0, 1326, 1327, 5, 3, 0, 0, 1327, 1488, 1, 0, 0, 0, 1328, 1329, 5, 100, 0, 0, 1329, 1330, 5, 2, 0, 0, 1330, 1331, 3, 234, 117, 0, 1331, 1332, 5, 8, 0, 0, 1332, 1333, 3, 234, 117, 0, 1333, 1334, 5, 3, 0, 0, 1334, 1488, 1, 0, 0, 0, 1335, 1336, 5, 101, 0, 0, 1336, 1337, 5, 2, 0, 0, 1337, 1338, 3, 234, 117, 0, 1338, 1339, 5, 8, 0, 0, 1339, 1340, 3, 234, 117, 0, 1340, 1341, 5, 3, 0, 0, 1341, 1488, 1, 0, 0, 0, 1342, 1343, 5, 102, 0, 0, 1343, 1344, 5, 2, 0, 0, 1344, 1345, 3, 234, 117, 0, 1345, 1346, 5, 8, 0, 0, 1346, 1347, 3, 234, 117, 0, 1347, 1348, 5, 3, 0, 0, 1348, 1488, 1, 0, 0, 0, 1349, 1350, 5, 103, 0, 0, 1350, 1351, 5, 2, 0, 0, 1351, 1352, 3, 234, 117, 0, 1352, 1353, 5, 8, 0, 0, 1353, 1354, 3, 234, 117, 0, 1354, 1355, 5, 3, 0, 0, 1355, 1488, 1, 0, 0, 0, 1356, 1357, 5, 104, 0, 0, 1357, 1358, 5, 2, 0, 0, 1358, 1359, 3, 234, 117, 0, 1359, 1360, 5, 3, 0, 0, 1360, 1488, 1, 0, 0, 0, 1361, 1362, 5, 105, 0, 0, 1362, 1363, 5, 2, 0, 0, 1363, 1364, 3, 234, 117, 0, 1364, 1365, 5, 3, 0, 0, 1365, 1488, 1, 0, 0, 0, 1366, 1367, 5, 106, 0, 0, 1367, 1368, 5, 2, 0, 0, 1368, 1369, 3, 234, 117, 0, 1369, 1370, 5, 3, 0, 0, 1370, 1488, 1, 0, 0, 0, 1371, 1372, 5, 107, 0, 0, 1372, 1373, 5, 2, 0, 0, 1373, 1374, 3, 234, 117, 0, 1374, 1375, 5, 3, 0, 0, 1375, 1488, 1, 0, 0, 0, 1376, 1377, 5, 108, 0, 0, 1377, 1378, 5, 2, 0, 0, 1378, 1379, 3, 234, 117, 0, 1379, 1380, 5, 3, 0, 0, 1380, 1488, 1, 0, 0, 0, 1381, 1382, 5, 109, 0, 0, 1382, 1383, 5, 2, 0, 0, 1383, 1384, 3, 234, 117, 0, 1384, 1385, 5, 3, 0, 0, 1385, 1488, 1, 0, 0, 0, 1386, 1387, 5, 110, 0, 0, 1387, 1388, 5, 2, 0, 0, 1388, 1389, 3, 234, 117, 0, 1389, 1390, 5, 3, 0, 0, 1390, 1488, 1, 0, 0, 0, 1391, 1392, 5, 111, 0, 0, 1392, 1393, 5, 2, 0, 0, 1393, 1394, 3, 234, 117, 0, 1394, 1395, 5, 3, 0, 0, 1395, 1488, 1, 0, 0, 0, 1396, 1397, 5, 112, 0, 0, 1397, 1488, 5, 164, 0, 0, 1398, 1399, 5, 113, 0, 0, 1399, 1488, 5, 164, 0, 0, 1400, 1401, 5, 114, 0, 0, 1401, 1488, 5, 164, 0, 0, 1402, 1403, 5, 119, 0, 0, 1403, 1404, 5, 2, 0, 0, 1404, 1405, 3, 234, 117, 0, 1405, 1406, 5, 3, 0, 0, 1406, 1488, 1, 0, 0, 0, 1407, 1408, 5, 115, 0, 0, 1408, 1409, 5, 2, 0, 0, 1409, 1410, 3, 234, 117, 0, 1410, 1411, 5, 3, 0, 0, 1411, 1488, 1, 0, 0, 0, 1412, 1413, 5, 116, 0, 0, 1413, 1414, 5, 2, 0, 0, 1414, 1415, 3, 234, 117, 0, 1415, 1416, 5, 3, 0, 0, 1416, 1488, 1, 0, 0, 0, 1417, 1418, 5, 117, 0, 0, 1418, 1419, 5, 2, 0, 0, 1419, 1420, 3, 234, 117, 0, 1420, 1421, 5, 3, 0, 0, 1421, 1488, 1, 0, 0, 0, 1422, 1423, 5, 118, 0, 0, 1423, 1424, 5, 2, 0, 0, 1424, 1425, 3, 234, 117, 0, 1425, 1426, 5, 3, 0, 0, 1426, 1488, 1, 0, 0, 0, 1427, 1428, 5, 120, 0, 0, 1428, 1488, 3, 152, 76, 0, 1429, 1430, 5, 121, 0, 0, 1430, 1431, 5, 2, 0, 0, 1431, 1432, 3, 234, 117, 0, 1432, 1433, 5, 8, 0, 0, 1433, 1434, 3, 234, 117, 0, 1434, 1435, 5, 8, 0, 0, 1435, 1436, 3, 234, 117, 0, 1436, 1437, 5, 3, 0, 0, 1437, 1488, 1, 0, 0, 0, 1438, 1439, 5, 122, 0, 0, 1439, 1440, 5, 2, 0, 0, 1440, 1441, 3, 234, 117, 0, 1441, 1442, 5, 8, 0, 0, 1442, 1443, 3, 234, 117, 0, 1443, 1444, 5, 3, 0, 0, 1444, 1488, 1, 0, 0, 0, 1445, 1446, 5, 123, 0, 0, 1446, 1447, 5, 2, 0, 0, 1447, 1448, 3, 234, 117, 0, 1448, 1449, 5, 8, 0, 0, 1449, 1450, 3, 234, 117, 0, 1450, 1451, 5, 3, 0, 0, 1451, 1488, 1, 0, 0, 0, 1452, 1453, 5, 124, 0, 0, 1453, 1454, 5, 2, 0, 0, 1454, 1455, 3, 234, 117, 0, 1455, 1456, 5, 8, 0, 0, 1456, 1457, 3, 234, 117, 0, 1457, 1458, 5, 3, 0, 0, 1458, 1488, 1, 0, 0, 0, 1459, 1460, 5, 125, 0, 0, 1460, 1461, 5, 2, 0, 0, 1461, 1462, 3, 234, 117, 0, 1462, 1463, 5, 3, 0, 0, 1463, 1488, 1, 0, 0, 0, 1464, 1465, 5, 126, 0, 0, 1465, 1466, 5, 2, 0, 0, 1466, 1467, 3, 234, 117, 0, 1467, 1468, 5, 3, 0, 0, 1468, 1488, 1, 0, 0, 0, 1469, 1470, 5, 127, 0, 0, 1470, 1471, 5, 2, 0, 0, 1471, 1472, 3, 234, 117, 0, 1472, 1473, 5, 3, 0, 0, 1473, 1488, 1, 0, 0, 0, 1474, 1475, 5, 128, 0, 0, 1475, 1476, 5, 2, 0, 0, 1476, 1477, 3, 234, 117, 0, 1477, 1478, 5, 3, 0, 0, 1478, 1488, 1, 0, 0, 0, 1479, 1480, 5, 129, 0, 0, 1480, 1481, 5, 2, 0, 0, 1481, 1482, 3, 234, 117, 0, 1482, 1483, 5, 3, 0, 0, 1483, 1488, 1, 0, 0, 0, 1484, 1488, 3, 272, 136, 0, 1485, 1488, 3, 280, 140, 0, 1486, 1488, 3, 282, 141, 0, 1487, 1233, 1, 0, 0, 0, 1487, 1234, 1, 0, 0, 0, 1487, 1239, 1, 0, 0, 0, 1487, 1240, 1, 0, 0, 0, 1487, 1247, 1, 0, 0, 0, 1487, 1252, 1, 0, 0, 0, 1487, 1257, 1, 0, 0, 0, 1487, 1262, 1, 0, 0, 0, 1487, 1267, 1, 0, 0, 0, 1487, 1275, 1, 0, 0, 0, 1487, 1277, 1, 0, 0, 0, 1487, 1282, 1, 0, 0, 0, 1487, 1287, 1, 0, 0, 0, 1487, 1292, 1, 0, 0, 0, 1487, 1297, 1, 0, 0, 0, 1487, 1299, 1, 0, 0, 0, 1487, 1300, 1, 0, 0, 0, 1487, 1305, 1, 0, 0, 0, 1487, 1306, 1, 0, 0, 0, 1487, 1311, 1, 0, 0, 0, 1487, 1316, 1, 0, 0, 0, 1487, 1321, 1, 0, 0, 0, 1487, 1328, 1, 0, 0, 0, 1487, 1335, 1, 0, 0, 0, 1487, 1342, 1, 0, 0, 0, 1487, 1349, 1, 0, 0, 0, 1487, 1356, 1, 0, 0, 0, 1487, 1361, 1, 0, 0, 0, 1487, 1366, 1, 0, 0, 0, 1487, 1371, 1, 0, 0, 0, 1487, 1376, 1, 0, 0, 0, 1487, 1381, 1, 0, 0, 0, 1487, 1386, 1, 0, 0, 0, 1487, 1391, 1, 0, 0, 0, 1487, 1396, 1, 0, 0, 0, 1487, 1398, 1, 0, 0, 0, 1487, 1400, 1, 0, 0, 0, 1487, 1402, 1, 0, 0, 0, 1487, 1407, 1, 0, 0, 0, 1487, 1412, 1, 0, 0, 0, 1487, 1417, 1, 0, 0, 0, 1487, 1422, 1, 0, 0, 0, 1487, 1427, 1, 0, 0, 0, 1487, 1429, 1, 0, 0, 0, 1487, 1438, 1, 0, 0, 0, 1487, 1445, 1, 0, 0, 0, 1487, 1452, 1, 0, 0, 0, 1487, 1459, 1, 0, 0, 0, 1487, 1464, 1, 0, 0, 0, 1487, 1469, 1, 0, 0, 0, 1487, 1474, 1, 0, 0, 0, 1487, 1479, 1, 0, 0, 0, 1487, 1484, 1, 0, 0, 0, 1487, 1485, 1, 0, 0, 0, 1487, 1486, 1, 0, 0, 0, 1488, 271, 1, 0, 0, 0, 1489, 1490, 5, 130, 0, 0, 1490, 1491, 5, 2, 0, 0, 1491, 1492, 3, 234, 117, 0, 1492, 1493, 5, 8, 0, 0, 1493, 1496, 3, 234, 117, 0, 1494, 1495, 5, 8, 0, 0, 1495, 1497, 3, 234, 117, 0, 1496, 1494, 1, 0, 0, 0, 1496, 1497, 1, 0, 0, 0, 1497, 1498, 1, 0, 0, 0, 1498, 1499, 5, 3, 0, 0, 1499, 273, 1, 0, 0, 0, 1500, 1501, 5, 81, 0, 0, 1501, 1502, 5, 2, 0, 0, 1502, 1503, 3, 234, 117, 0, 1503, 1504, 5, 3, 0, 0, 1504, 275, 1, 0, 0, 0, 1505, 1506, 5, 131, 0, 0, 1506, 1507, 5, 2, 0, 0, 1507, 1508, 3, 234, 117, 0, 1508, 1509, 5, 8, 0, 0, 1509, 1512, 3, 234, 117, 0, 1510, 1511, 5, 8, 0, 0, 1511, 1513, 3, 234, 117, 0, 1512, 1510, 1, 0, 0, 0, 1512, 1513, 1, 0, 0, 0, 1513, 1514, 1, 0, 0, 0, 1514, 1515, 5, 3, 0, 0, 1515, 277, 1, 0, 0, 0, 1516, 1517, 5, 132, 0, 0, 1517, 1518, 5, 2, 0, 0, 1518, 1519, 3, 234, 117, 0, 1519, 1520, 5, 8, 0, 0, 1520, 1521, 3, 234, 117, 0, 1521, 1522, 5, 8, 0, 0, 1522, 1525, 3, 234, 117, 0, 1523, 1524, 5, 8, 0, 0, 1524, 1526, 3, 234, 117, 0, 1525, 1523, 1, 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1528, 5, 3, 0, 0, 1528, 279, 1, 0, 0, 0, 1529, 1530, 5, 133, 0, 0, 1530, 1531, 3, 110, 55, 0, 1531, 281, 1, 0, 0, 0, 1532, 1533, 5, 78, 0, 0, 1533, 1534, 5, 133, 0, 0, 1534, 1535, 3, 110, 55, 0, 1535, 283, 1, 0, 0, 0, 1536, 1537, 5, 134, 0, 0, 1537, 1539, 5, 2, 0, 0, 1538, 1540, 5, 33, 0, 0, 1539, 1538, 1, 0, 0, 0, 1539, 1540, 1, 0, 0, 0, 1540, 1543, 1, 0, 0, 0, 1541, 1544, 5, 1, 0, 0, 1542, 1544, 3, 234, 117, 0, 1543, 1541, 1, 0, 0, 0, 1543, 1542, 1, 0, 0, 0, 1544, 1545, 1, 0, 0, 0, 1545, 1601, 5, 3, 0, 0, 1546, 1547, 5, 135, 0, 0, 1547, 1549, 5, 2, 0, 0, 1548, 1550, 5, 33, 0, 0, 1549, 1548, 1, 0, 0, 0, 1549, 1550, 1, 0, 0, 0, 1550, 1551, 1, 0, 0, 0, 1551, 1552, 3, 234, 117, 0, 1552, 1553, 5, 3, 0, 0, 1553, 1601, 1, 0, 0, 0, 1554, 1555, 5, 136, 0, 0, 1555, 1557, 5, 2, 0, 0, 1556, 1558, 5, 33, 0, 0, 1557, 1556, 1, 0, 0, 0, 1557, 1558, 1, 0, 0, 0, 1558, 1559, 1, 0, 0, 0, 1559, 1560, 3, 234, 117, 0, 1560, 1561, 5, 3, 0, 0, 1561, 1601, 1, 0, 0, 0, 1562, 1563, 5, 137, 0, 0, 1563, 1565, 5, 2, 0, 0, 1564, 1566, 5, 33, 0, 0, 1565, 1564, 1, 0, 0, 0, 1565, 1566, 1, 0, 0, 0, 1566, 1567, 1, 0, 0, 0, 1567, 1568, 3, 234, 117, 0, 1568, 1569, 5, 3, 0, 0, 1569, 1601, 1, 0, 0, 0, 1570, 1571, 5, 138, 0, 0, 1571, 1573, 5, 2, 0, 0, 1572, 1574, 5, 33, 0, 0, 1573, 1572, 1, 0, 0, 0, 1573, 1574, 1, 0, 0, 0, 1574, 1575, 1, 0, 0, 0, 1575, 1576, 3, 234, 117, 0, 1576, 1577, 5, 3, 0, 0, 1577, 1601, 1, 0, 0, 0, 1578, 1579, 5, 139, 0, 0, 1579, 1581, 5, 2, 0, 0, 1580, 1582, 5, 33, 0, 0, 1581, 1580, 1, 0, 0, 0, 1581, 1582, 1, 0, 0, 0, 1582, 1583, 1, 0, 0, 0, 1583, 1584, 3, 234, 117, 0, 1584, 1585, 5, 3, 0, 0, 1585, 1601, 1, 0, 0, 0, 1586, 1587, 5, 43, 0, 0, 1587, 1589, 5, 2, 0, 0, 1588, 1590, 5, 33, 0, 0, 1589, 1588, 1, 0, 0, 0, 1589, 1590, 1, 0, 0, 0, 1590, 1591, 1, 0, 0, 0, 1591, 1596, 3, 234, 117, 0, 1592, 1593, 5, 6, 0, 0, 1593, 1594, 5, 140, 0, 0, 1594, 1595, 5, 20, 0, 0, 1595, 1597, 3, 300, 150, 0, 1596, 1592, 1, 0, 0, 0, 1596, 1597, 1, 0, 0, 0, 1597, 1598, 1, 0, 0, 0, 1598, 1599, 5, 3, 0, 0, 1599, 1601, 1, 0, 0, 0, 1600, 1536, 1, 0, 0, 0, 1600, 1546, 1, 0, 0, 0, 1600, 1554, 1, 0, 0, 0, 1600, 1562, 1, 0, 0, 0, 1600, 1570, 1, 0, 0, 0, 1600, 1578, 1, 0, 0, 0, 1600, 1586, 1, 0, 0, 0, 1601, 285, 1, 0, 0, 0, 1602, 1604, 3, 302, 151, 0, 1603, 1605, 3, 150, 75, 0, 1604, 1603, 1, 0, 0, 0, 1604, 1605, 1, 0, 0, 0, 1605, 287, 1, 0, 0, 0, 1606, 1610, 3, 300, 150, 0, 1607, 1611, 5, 147, 0, 0, 1608, 1609, 5, 27, 0, 0, 1609, 1611, 3, 302, 151, 0, 1610, 1607, 1, 0, 0, 0, 1610, 1608, 1, 0, 0, 0, 1610, 1611, 1, 0, 0, 0, 1611, 289, 1, 0, 0, 0, 1612, 1616, 3, 292, 146, 0, 1613, 1616, 3, 294, 147, 0, 1614, 1616, 3, 296, 148, 0, 1615, 1612, 1, 0, 0, 0, 1615, 1613, 1, 0, 0, 0, 1615, 1614, 1, 0, 0, 0, 1616, 291, 1, 0, 0, 0, 1617, 1618, 7, 4, 0, 0, 1618, 293, 1, 0, 0, 0, 1619, 1620, 7, 5, 0, 0, 1620, 295, 1, 0, 0, 0, 1621, 1622, 7, 6, 0, 0, 1622, 297, 1, 0, 0, 0, 1623, 1624, 7, 7, 0, 0, 1624, 299, 1, 0, 0, 0, 1625, 1626, 7, 8, 0, 0, 1626, 301, 1, 0, 0, 0, 1627, 1629, 5, 148, 0, 0, 1628, 1627, 1, 0, 0, 0, 1628, 1629, 1, 0, 0, 0, 1629, 1632, 1, 0, 0, 0, 1630, 1633, 3, 308, 154, 0, 1631, 1633, 3, 304, 152, 0, 1632, 1630, 1, 0, 0, 0, 1632, 1631, 1, 0, 0, 0, 1633, 303, 1, 0, 0, 0, 1634, 1637, 3, 310, 155, 0, 1635, 1637, 3, 312, 156, 0, 1636, 1634, 1, 0, 0, 0, 1636, 1635, 1, 0, 0, 0, 1637, 305, 1, 0, 0, 0, 1638, 1639, 7, 9, 0, 0, 1639, 307, 1, 0, 0, 0, 1640, 1641, 5, 141, 0, 0, 1641, 309, 1, 0, 0, 0, 1642, 1643, 5, 143, 0, 0, 1643, 311, 1, 0, 0, 0, 1644, 1645, 5, 142, 0, 0, 1645, 313, 1, 0, 0, 0, 161, 316, 325, 331, 333, 347, 360, 365, 368, 372, 387, 396, 402, 406, 412, 415, 420, 424, 432, 441, 451, 456, 459, 462, 465, 471, 479, 484, 490, 496, 501, 507, 509, 513, 516, 520, 523, 527, 530, 534, 537, 541, 544, 548, 551, 553, 566, 572, 574, 587, 591, 596, 600, 606, 612, 618, 626, 634, 654, 658, 661, 666, 682, 687, 696, 707, 711, 714, 718, 725, 732, 734, 739, 744, 749, 754, 757, 762, 764, 774, 785, 802, 809, 819, 823, 829, 838, 843, 850, 860, 869, 877, 884, 889, 898, 903, 907, 914, 916, 924, 927, 935, 939, 944, 951, 962, 965, 970, 974, 989, 996, 1008, 1016, 1021, 1026, 1038, 1047, 1050, 1053, 1060, 1062, 1068, 1076, 1086, 1094, 1100, 1104, 1108, 1112, 1122, 1131, 1139, 1162, 1170, 1178, 1186, 1191, 1198, 1203, 1218, 1227, 1273, 1487, 1496, 1512, 1525, 1539, 1543, 1549, 1557, 1565, 1573, 1581, 1589, 1596, 1600, 1604, 1610, 1615, 1628, 1632, 1636] \ No newline at end of file +[4, 1, 176, 1655, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 1, 0, 1, 0, 3, 0, 317, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 326, 8, 1, 1, 1, 1, 1, 1, 2, 1, 2, 5, 2, 332, 8, 2, 10, 2, 12, 2, 335, 9, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 346, 8, 5, 10, 5, 12, 5, 349, 9, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, 361, 8, 7, 1, 7, 4, 7, 364, 8, 7, 11, 7, 12, 7, 365, 1, 7, 3, 7, 369, 8, 7, 1, 8, 1, 8, 3, 8, 373, 8, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 5, 11, 386, 8, 11, 10, 11, 12, 11, 389, 9, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 395, 8, 11, 10, 11, 12, 11, 398, 9, 11, 1, 11, 1, 11, 1, 11, 3, 11, 403, 8, 11, 1, 11, 1, 11, 3, 11, 407, 8, 11, 1, 12, 1, 12, 4, 12, 411, 8, 12, 11, 12, 12, 12, 412, 1, 12, 3, 12, 416, 8, 12, 1, 12, 5, 12, 419, 8, 12, 10, 12, 12, 12, 422, 9, 12, 1, 12, 3, 12, 425, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 5, 13, 431, 8, 13, 10, 13, 12, 13, 434, 9, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, 14, 442, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 3, 18, 452, 8, 18, 1, 18, 1, 18, 1, 19, 3, 19, 457, 8, 19, 1, 19, 3, 19, 460, 8, 19, 1, 19, 3, 19, 463, 8, 19, 1, 19, 3, 19, 466, 8, 19, 1, 20, 1, 20, 4, 20, 470, 8, 20, 11, 20, 12, 20, 471, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 480, 8, 21, 1, 21, 1, 21, 1, 21, 3, 21, 485, 8, 21, 1, 22, 1, 22, 4, 22, 489, 8, 22, 11, 22, 12, 22, 490, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 497, 8, 24, 1, 24, 4, 24, 500, 8, 24, 11, 24, 12, 24, 501, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 508, 8, 25, 3, 25, 510, 8, 25, 1, 26, 1, 26, 3, 26, 514, 8, 26, 1, 26, 3, 26, 517, 8, 26, 1, 26, 1, 26, 3, 26, 521, 8, 26, 1, 26, 3, 26, 524, 8, 26, 1, 26, 1, 26, 3, 26, 528, 8, 26, 1, 26, 3, 26, 531, 8, 26, 1, 26, 1, 26, 3, 26, 535, 8, 26, 1, 26, 3, 26, 538, 8, 26, 1, 26, 1, 26, 3, 26, 542, 8, 26, 1, 26, 3, 26, 545, 8, 26, 1, 26, 1, 26, 3, 26, 549, 8, 26, 1, 26, 3, 26, 552, 8, 26, 3, 26, 554, 8, 26, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 3, 30, 567, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 573, 8, 31, 3, 31, 575, 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 588, 8, 32, 1, 33, 1, 33, 3, 33, 592, 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 597, 8, 33, 1, 34, 1, 34, 3, 34, 601, 8, 34, 1, 34, 1, 34, 1, 35, 1, 35, 3, 35, 607, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 613, 8, 36, 1, 36, 1, 36, 1, 37, 1, 37, 3, 37, 619, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 3, 38, 627, 8, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 3, 39, 635, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 655, 8, 43, 1, 43, 1, 43, 3, 43, 659, 8, 43, 1, 43, 3, 43, 662, 8, 43, 1, 43, 5, 43, 665, 8, 43, 10, 43, 12, 43, 668, 9, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 683, 8, 46, 1, 47, 1, 47, 1, 47, 3, 47, 688, 8, 47, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 697, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 3, 52, 708, 8, 52, 1, 52, 1, 52, 3, 52, 712, 8, 52, 1, 52, 3, 52, 715, 8, 52, 5, 52, 717, 8, 52, 10, 52, 12, 52, 720, 9, 52, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, 726, 8, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 3, 54, 733, 8, 54, 3, 54, 735, 8, 54, 1, 55, 1, 55, 1, 55, 3, 55, 740, 8, 55, 1, 55, 1, 55, 1, 56, 3, 56, 745, 8, 56, 1, 56, 5, 56, 748, 8, 56, 10, 56, 12, 56, 751, 9, 56, 1, 57, 1, 57, 3, 57, 755, 8, 57, 1, 57, 3, 57, 758, 8, 57, 1, 58, 1, 58, 1, 58, 3, 58, 763, 8, 58, 3, 58, 765, 8, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 3, 59, 775, 8, 59, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 3, 62, 786, 8, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 3, 65, 803, 8, 65, 1, 66, 1, 66, 1, 66, 5, 66, 808, 8, 66, 10, 66, 12, 66, 811, 9, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 5, 67, 818, 8, 67, 10, 67, 12, 67, 821, 9, 67, 1, 67, 3, 67, 824, 8, 67, 1, 67, 1, 67, 5, 67, 828, 8, 67, 10, 67, 12, 67, 831, 9, 67, 1, 67, 1, 67, 1, 68, 1, 68, 5, 68, 837, 8, 68, 10, 68, 12, 68, 840, 9, 68, 1, 68, 1, 68, 3, 68, 844, 8, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 3, 69, 851, 8, 69, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 5, 71, 859, 8, 71, 10, 71, 12, 71, 862, 9, 71, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 3, 73, 870, 8, 73, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 3, 75, 878, 8, 75, 1, 75, 1, 75, 1, 75, 5, 75, 883, 8, 75, 10, 75, 12, 75, 886, 9, 75, 1, 75, 1, 75, 3, 75, 890, 8, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 5, 76, 897, 8, 76, 10, 76, 12, 76, 900, 9, 76, 1, 76, 1, 76, 3, 76, 904, 8, 76, 1, 77, 1, 77, 3, 77, 908, 8, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 3, 78, 915, 8, 78, 3, 78, 917, 8, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 3, 79, 925, 8, 79, 1, 80, 3, 80, 928, 8, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 3, 81, 936, 8, 81, 5, 81, 938, 8, 81, 10, 81, 12, 81, 941, 9, 81, 1, 82, 1, 82, 3, 82, 945, 8, 82, 1, 83, 1, 83, 1, 83, 5, 83, 950, 8, 83, 10, 83, 12, 83, 953, 9, 83, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 3, 85, 963, 8, 85, 1, 86, 3, 86, 966, 8, 86, 1, 87, 1, 87, 1, 87, 3, 87, 971, 8, 87, 5, 87, 973, 8, 87, 10, 87, 12, 87, 976, 9, 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 3, 92, 990, 8, 92, 1, 93, 1, 93, 1, 93, 5, 93, 995, 8, 93, 10, 93, 12, 93, 998, 9, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 5, 96, 1007, 8, 96, 10, 96, 12, 96, 1010, 9, 96, 1, 97, 1, 97, 1, 97, 5, 97, 1015, 8, 97, 10, 97, 12, 97, 1018, 9, 97, 1, 98, 1, 98, 3, 98, 1022, 8, 98, 1, 99, 1, 99, 1, 99, 3, 99, 1027, 8, 99, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 1039, 8, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 5, 102, 1046, 8, 102, 10, 102, 12, 102, 1049, 9, 102, 3, 102, 1051, 8, 102, 1, 102, 3, 102, 1054, 8, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 3, 103, 1061, 8, 103, 3, 103, 1063, 8, 103, 1, 104, 1, 104, 1, 105, 1, 105, 3, 105, 1069, 8, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 3, 107, 1077, 8, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 4, 109, 1085, 8, 109, 11, 109, 12, 109, 1086, 1, 109, 1, 109, 1, 110, 1, 110, 4, 110, 1093, 8, 110, 11, 110, 12, 110, 1094, 1, 110, 1, 110, 1, 111, 1, 111, 3, 111, 1101, 8, 111, 1, 112, 1, 112, 3, 112, 1105, 8, 112, 1, 113, 1, 113, 3, 113, 1109, 8, 113, 1, 114, 1, 114, 3, 114, 1113, 8, 114, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 3, 116, 1123, 8, 116, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 5, 118, 1130, 8, 118, 10, 118, 12, 118, 1133, 9, 118, 1, 119, 1, 119, 1, 119, 5, 119, 1138, 8, 119, 10, 119, 12, 119, 1141, 9, 119, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 3, 121, 1163, 8, 121, 1, 122, 1, 122, 1, 123, 1, 123, 5, 123, 1169, 8, 123, 10, 123, 12, 123, 1172, 9, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 3, 124, 1179, 8, 124, 1, 125, 1, 125, 1, 126, 1, 126, 1, 127, 1, 127, 3, 127, 1187, 8, 127, 1, 127, 5, 127, 1190, 8, 127, 10, 127, 12, 127, 1193, 9, 127, 1, 128, 1, 128, 5, 128, 1197, 8, 128, 10, 128, 12, 128, 1200, 9, 128, 1, 129, 1, 129, 3, 129, 1204, 8, 129, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 3, 132, 1219, 8, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 1228, 8, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1274, 8, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1488, 8, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 3, 136, 1497, 8, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 3, 138, 1513, 8, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 3, 139, 1526, 8, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 3, 142, 1540, 8, 142, 1, 142, 1, 142, 3, 142, 1544, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1550, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1558, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1566, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1574, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1582, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1590, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1598, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1605, 8, 142, 1, 142, 1, 142, 3, 142, 1609, 8, 142, 1, 143, 1, 143, 3, 143, 1613, 8, 143, 1, 144, 1, 144, 1, 144, 1, 144, 3, 144, 1619, 8, 144, 1, 145, 1, 145, 1, 145, 3, 145, 1624, 8, 145, 1, 146, 1, 146, 1, 147, 1, 147, 1, 148, 1, 148, 1, 149, 1, 149, 1, 150, 1, 150, 1, 151, 3, 151, 1637, 8, 151, 1, 151, 1, 151, 3, 151, 1641, 8, 151, 1, 152, 1, 152, 3, 152, 1645, 8, 152, 1, 153, 1, 153, 1, 154, 1, 154, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 0, 0, 157, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 0, 10, 1, 0, 33, 34, 1, 0, 47, 48, 2, 0, 1, 1, 13, 14, 1, 0, 146, 147, 1, 0, 150, 152, 1, 0, 153, 155, 1, 0, 156, 158, 1, 0, 28, 29, 1, 0, 160, 163, 2, 0, 145, 145, 166, 166, 1771, 0, 316, 1, 0, 0, 0, 2, 320, 1, 0, 0, 0, 4, 333, 1, 0, 0, 0, 6, 336, 1, 0, 0, 0, 8, 339, 1, 0, 0, 0, 10, 343, 1, 0, 0, 0, 12, 353, 1, 0, 0, 0, 14, 358, 1, 0, 0, 0, 16, 372, 1, 0, 0, 0, 18, 374, 1, 0, 0, 0, 20, 378, 1, 0, 0, 0, 22, 382, 1, 0, 0, 0, 24, 408, 1, 0, 0, 0, 26, 428, 1, 0, 0, 0, 28, 438, 1, 0, 0, 0, 30, 443, 1, 0, 0, 0, 32, 445, 1, 0, 0, 0, 34, 448, 1, 0, 0, 0, 36, 451, 1, 0, 0, 0, 38, 456, 1, 0, 0, 0, 40, 467, 1, 0, 0, 0, 42, 484, 1, 0, 0, 0, 44, 486, 1, 0, 0, 0, 46, 492, 1, 0, 0, 0, 48, 496, 1, 0, 0, 0, 50, 509, 1, 0, 0, 0, 52, 553, 1, 0, 0, 0, 54, 555, 1, 0, 0, 0, 56, 558, 1, 0, 0, 0, 58, 561, 1, 0, 0, 0, 60, 566, 1, 0, 0, 0, 62, 568, 1, 0, 0, 0, 64, 587, 1, 0, 0, 0, 66, 589, 1, 0, 0, 0, 68, 598, 1, 0, 0, 0, 70, 604, 1, 0, 0, 0, 72, 610, 1, 0, 0, 0, 74, 616, 1, 0, 0, 0, 76, 624, 1, 0, 0, 0, 78, 632, 1, 0, 0, 0, 80, 640, 1, 0, 0, 0, 82, 644, 1, 0, 0, 0, 84, 648, 1, 0, 0, 0, 86, 654, 1, 0, 0, 0, 88, 672, 1, 0, 0, 0, 90, 675, 1, 0, 0, 0, 92, 678, 1, 0, 0, 0, 94, 687, 1, 0, 0, 0, 96, 689, 1, 0, 0, 0, 98, 696, 1, 0, 0, 0, 100, 698, 1, 0, 0, 0, 102, 702, 1, 0, 0, 0, 104, 707, 1, 0, 0, 0, 106, 721, 1, 0, 0, 0, 108, 729, 1, 0, 0, 0, 110, 736, 1, 0, 0, 0, 112, 744, 1, 0, 0, 0, 114, 752, 1, 0, 0, 0, 116, 759, 1, 0, 0, 0, 118, 774, 1, 0, 0, 0, 120, 776, 1, 0, 0, 0, 122, 779, 1, 0, 0, 0, 124, 783, 1, 0, 0, 0, 126, 790, 1, 0, 0, 0, 128, 797, 1, 0, 0, 0, 130, 802, 1, 0, 0, 0, 132, 804, 1, 0, 0, 0, 134, 823, 1, 0, 0, 0, 136, 843, 1, 0, 0, 0, 138, 850, 1, 0, 0, 0, 140, 852, 1, 0, 0, 0, 142, 855, 1, 0, 0, 0, 144, 863, 1, 0, 0, 0, 146, 869, 1, 0, 0, 0, 148, 871, 1, 0, 0, 0, 150, 889, 1, 0, 0, 0, 152, 903, 1, 0, 0, 0, 154, 905, 1, 0, 0, 0, 156, 911, 1, 0, 0, 0, 158, 924, 1, 0, 0, 0, 160, 927, 1, 0, 0, 0, 162, 929, 1, 0, 0, 0, 164, 944, 1, 0, 0, 0, 166, 946, 1, 0, 0, 0, 168, 954, 1, 0, 0, 0, 170, 962, 1, 0, 0, 0, 172, 965, 1, 0, 0, 0, 174, 967, 1, 0, 0, 0, 176, 977, 1, 0, 0, 0, 178, 979, 1, 0, 0, 0, 180, 981, 1, 0, 0, 0, 182, 984, 1, 0, 0, 0, 184, 989, 1, 0, 0, 0, 186, 991, 1, 0, 0, 0, 188, 999, 1, 0, 0, 0, 190, 1001, 1, 0, 0, 0, 192, 1003, 1, 0, 0, 0, 194, 1011, 1, 0, 0, 0, 196, 1019, 1, 0, 0, 0, 198, 1026, 1, 0, 0, 0, 200, 1028, 1, 0, 0, 0, 202, 1038, 1, 0, 0, 0, 204, 1053, 1, 0, 0, 0, 206, 1062, 1, 0, 0, 0, 208, 1064, 1, 0, 0, 0, 210, 1068, 1, 0, 0, 0, 212, 1070, 1, 0, 0, 0, 214, 1076, 1, 0, 0, 0, 216, 1078, 1, 0, 0, 0, 218, 1082, 1, 0, 0, 0, 220, 1090, 1, 0, 0, 0, 222, 1100, 1, 0, 0, 0, 224, 1104, 1, 0, 0, 0, 226, 1108, 1, 0, 0, 0, 228, 1112, 1, 0, 0, 0, 230, 1114, 1, 0, 0, 0, 232, 1122, 1, 0, 0, 0, 234, 1124, 1, 0, 0, 0, 236, 1126, 1, 0, 0, 0, 238, 1134, 1, 0, 0, 0, 240, 1142, 1, 0, 0, 0, 242, 1144, 1, 0, 0, 0, 244, 1164, 1, 0, 0, 0, 246, 1166, 1, 0, 0, 0, 248, 1178, 1, 0, 0, 0, 250, 1180, 1, 0, 0, 0, 252, 1182, 1, 0, 0, 0, 254, 1186, 1, 0, 0, 0, 256, 1194, 1, 0, 0, 0, 258, 1203, 1, 0, 0, 0, 260, 1205, 1, 0, 0, 0, 262, 1208, 1, 0, 0, 0, 264, 1218, 1, 0, 0, 0, 266, 1227, 1, 0, 0, 0, 268, 1229, 1, 0, 0, 0, 270, 1487, 1, 0, 0, 0, 272, 1489, 1, 0, 0, 0, 274, 1500, 1, 0, 0, 0, 276, 1505, 1, 0, 0, 0, 278, 1516, 1, 0, 0, 0, 280, 1529, 1, 0, 0, 0, 282, 1532, 1, 0, 0, 0, 284, 1608, 1, 0, 0, 0, 286, 1610, 1, 0, 0, 0, 288, 1614, 1, 0, 0, 0, 290, 1623, 1, 0, 0, 0, 292, 1625, 1, 0, 0, 0, 294, 1627, 1, 0, 0, 0, 296, 1629, 1, 0, 0, 0, 298, 1631, 1, 0, 0, 0, 300, 1633, 1, 0, 0, 0, 302, 1636, 1, 0, 0, 0, 304, 1644, 1, 0, 0, 0, 306, 1646, 1, 0, 0, 0, 308, 1648, 1, 0, 0, 0, 310, 1650, 1, 0, 0, 0, 312, 1652, 1, 0, 0, 0, 314, 317, 3, 2, 1, 0, 315, 317, 3, 62, 31, 0, 316, 314, 1, 0, 0, 0, 316, 315, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319, 5, 0, 0, 1, 319, 1, 1, 0, 0, 0, 320, 325, 3, 4, 2, 0, 321, 326, 3, 10, 5, 0, 322, 326, 3, 22, 11, 0, 323, 326, 3, 24, 12, 0, 324, 326, 3, 26, 13, 0, 325, 321, 1, 0, 0, 0, 325, 322, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 324, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 3, 60, 30, 0, 328, 3, 1, 0, 0, 0, 329, 332, 3, 6, 3, 0, 330, 332, 3, 8, 4, 0, 331, 329, 1, 0, 0, 0, 331, 330, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 5, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 337, 5, 30, 0, 0, 337, 338, 3, 308, 154, 0, 338, 7, 1, 0, 0, 0, 339, 340, 5, 31, 0, 0, 340, 341, 5, 143, 0, 0, 341, 342, 3, 308, 154, 0, 342, 9, 1, 0, 0, 0, 343, 347, 3, 14, 7, 0, 344, 346, 3, 28, 14, 0, 345, 344, 1, 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 351, 3, 36, 18, 0, 351, 352, 3, 38, 19, 0, 352, 11, 1, 0, 0, 0, 353, 354, 3, 14, 7, 0, 354, 355, 3, 36, 18, 0, 355, 356, 3, 38, 19, 0, 356, 357, 3, 60, 30, 0, 357, 13, 1, 0, 0, 0, 358, 360, 5, 32, 0, 0, 359, 361, 7, 0, 0, 0, 360, 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 368, 1, 0, 0, 0, 362, 364, 3, 16, 8, 0, 363, 362, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 369, 5, 1, 0, 0, 368, 363, 1, 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 15, 1, 0, 0, 0, 370, 373, 3, 230, 115, 0, 371, 373, 3, 18, 9, 0, 372, 370, 1, 0, 0, 0, 372, 371, 1, 0, 0, 0, 373, 17, 1, 0, 0, 0, 374, 375, 5, 2, 0, 0, 375, 376, 3, 20, 10, 0, 376, 377, 5, 3, 0, 0, 377, 19, 1, 0, 0, 0, 378, 379, 3, 234, 117, 0, 379, 380, 5, 35, 0, 0, 380, 381, 3, 230, 115, 0, 381, 21, 1, 0, 0, 0, 382, 406, 5, 36, 0, 0, 383, 387, 3, 154, 77, 0, 384, 386, 3, 28, 14, 0, 385, 384, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 390, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, 3, 36, 18, 0, 391, 392, 3, 38, 19, 0, 392, 407, 1, 0, 0, 0, 393, 395, 3, 28, 14, 0, 394, 393, 1, 0, 0, 0, 395, 398, 1, 0, 0, 0, 396, 394, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 399, 1, 0, 0, 0, 398, 396, 1, 0, 0, 0, 399, 400, 5, 37, 0, 0, 400, 402, 5, 4, 0, 0, 401, 403, 3, 108, 54, 0, 402, 401, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 405, 5, 5, 0, 0, 405, 407, 3, 38, 19, 0, 406, 383, 1, 0, 0, 0, 406, 396, 1, 0, 0, 0, 407, 23, 1, 0, 0, 0, 408, 415, 5, 38, 0, 0, 409, 411, 3, 228, 114, 0, 410, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 410, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 416, 1, 0, 0, 0, 414, 416, 5, 1, 0, 0, 415, 410, 1, 0, 0, 0, 415, 414, 1, 0, 0, 0, 416, 420, 1, 0, 0, 0, 417, 419, 3, 28, 14, 0, 418, 417, 1, 0, 0, 0, 419, 422, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 423, 425, 3, 36, 18, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 427, 3, 38, 19, 0, 427, 25, 1, 0, 0, 0, 428, 432, 5, 39, 0, 0, 429, 431, 3, 28, 14, 0, 430, 429, 1, 0, 0, 0, 431, 434, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 435, 1, 0, 0, 0, 434, 432, 1, 0, 0, 0, 435, 436, 3, 36, 18, 0, 436, 437, 3, 38, 19, 0, 437, 27, 1, 0, 0, 0, 438, 441, 5, 40, 0, 0, 439, 442, 3, 30, 15, 0, 440, 442, 3, 32, 16, 0, 441, 439, 1, 0, 0, 0, 441, 440, 1, 0, 0, 0, 442, 29, 1, 0, 0, 0, 443, 444, 3, 34, 17, 0, 444, 31, 1, 0, 0, 0, 445, 446, 5, 41, 0, 0, 446, 447, 3, 34, 17, 0, 447, 33, 1, 0, 0, 0, 448, 449, 3, 302, 151, 0, 449, 35, 1, 0, 0, 0, 450, 452, 5, 37, 0, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 454, 3, 110, 55, 0, 454, 37, 1, 0, 0, 0, 455, 457, 3, 40, 20, 0, 456, 455, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 459, 1, 0, 0, 0, 458, 460, 3, 44, 22, 0, 459, 458, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 462, 1, 0, 0, 0, 461, 463, 3, 48, 24, 0, 462, 461, 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, 1, 0, 0, 0, 464, 466, 3, 52, 26, 0, 465, 464, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 39, 1, 0, 0, 0, 467, 469, 5, 42, 0, 0, 468, 470, 3, 42, 21, 0, 469, 468, 1, 0, 0, 0, 470, 471, 1, 0, 0, 0, 471, 469, 1, 0, 0, 0, 471, 472, 1, 0, 0, 0, 472, 41, 1, 0, 0, 0, 473, 485, 3, 270, 135, 0, 474, 485, 3, 148, 74, 0, 475, 476, 5, 2, 0, 0, 476, 479, 3, 234, 117, 0, 477, 478, 5, 35, 0, 0, 478, 480, 3, 230, 115, 0, 479, 477, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, 3, 0, 0, 482, 485, 1, 0, 0, 0, 483, 485, 3, 230, 115, 0, 484, 473, 1, 0, 0, 0, 484, 474, 1, 0, 0, 0, 484, 475, 1, 0, 0, 0, 484, 483, 1, 0, 0, 0, 485, 43, 1, 0, 0, 0, 486, 488, 5, 44, 0, 0, 487, 489, 3, 46, 23, 0, 488, 487, 1, 0, 0, 0, 489, 490, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 45, 1, 0, 0, 0, 492, 493, 3, 146, 73, 0, 493, 47, 1, 0, 0, 0, 494, 497, 5, 45, 0, 0, 495, 497, 5, 46, 0, 0, 496, 494, 1, 0, 0, 0, 496, 495, 1, 0, 0, 0, 497, 499, 1, 0, 0, 0, 498, 500, 3, 50, 25, 0, 499, 498, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 499, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 49, 1, 0, 0, 0, 503, 504, 7, 1, 0, 0, 504, 510, 3, 268, 134, 0, 505, 508, 3, 146, 73, 0, 506, 508, 3, 230, 115, 0, 507, 505, 1, 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 510, 1, 0, 0, 0, 509, 503, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 510, 51, 1, 0, 0, 0, 511, 513, 3, 54, 27, 0, 512, 514, 3, 56, 28, 0, 513, 512, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 516, 1, 0, 0, 0, 515, 517, 3, 58, 29, 0, 516, 515, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 554, 1, 0, 0, 0, 518, 520, 3, 54, 27, 0, 519, 521, 3, 58, 29, 0, 520, 519, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 523, 1, 0, 0, 0, 522, 524, 3, 56, 28, 0, 523, 522, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 554, 1, 0, 0, 0, 525, 527, 3, 56, 28, 0, 526, 528, 3, 54, 27, 0, 527, 526, 1, 0, 0, 0, 527, 528, 1, 0, 0, 0, 528, 530, 1, 0, 0, 0, 529, 531, 3, 58, 29, 0, 530, 529, 1, 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 554, 1, 0, 0, 0, 532, 534, 3, 56, 28, 0, 533, 535, 3, 58, 29, 0, 534, 533, 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 537, 1, 0, 0, 0, 536, 538, 3, 54, 27, 0, 537, 536, 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 554, 1, 0, 0, 0, 539, 541, 3, 58, 29, 0, 540, 542, 3, 56, 28, 0, 541, 540, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 544, 1, 0, 0, 0, 543, 545, 3, 54, 27, 0, 544, 543, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 554, 1, 0, 0, 0, 546, 548, 3, 58, 29, 0, 547, 549, 3, 54, 27, 0, 548, 547, 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 551, 1, 0, 0, 0, 550, 552, 3, 56, 28, 0, 551, 550, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 554, 1, 0, 0, 0, 553, 511, 1, 0, 0, 0, 553, 518, 1, 0, 0, 0, 553, 525, 1, 0, 0, 0, 553, 532, 1, 0, 0, 0, 553, 539, 1, 0, 0, 0, 553, 546, 1, 0, 0, 0, 554, 53, 1, 0, 0, 0, 555, 556, 5, 49, 0, 0, 556, 557, 3, 208, 104, 0, 557, 55, 1, 0, 0, 0, 558, 559, 5, 50, 0, 0, 559, 560, 3, 208, 104, 0, 560, 57, 1, 0, 0, 0, 561, 562, 5, 51, 0, 0, 562, 563, 3, 208, 104, 0, 563, 59, 1, 0, 0, 0, 564, 565, 5, 52, 0, 0, 565, 567, 3, 130, 65, 0, 566, 564, 1, 0, 0, 0, 566, 567, 1, 0, 0, 0, 567, 61, 1, 0, 0, 0, 568, 574, 3, 4, 2, 0, 569, 572, 3, 64, 32, 0, 570, 571, 5, 6, 0, 0, 571, 573, 3, 62, 31, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 575, 1, 0, 0, 0, 574, 569, 1, 0, 0, 0, 574, 575, 1, 0, 0, 0, 575, 63, 1, 0, 0, 0, 576, 588, 3, 66, 33, 0, 577, 588, 3, 68, 34, 0, 578, 588, 3, 70, 35, 0, 579, 588, 3, 74, 37, 0, 580, 588, 3, 76, 38, 0, 581, 588, 3, 78, 39, 0, 582, 588, 3, 72, 36, 0, 583, 588, 3, 80, 40, 0, 584, 588, 3, 82, 41, 0, 585, 588, 3, 84, 42, 0, 586, 588, 3, 86, 43, 0, 587, 576, 1, 0, 0, 0, 587, 577, 1, 0, 0, 0, 587, 578, 1, 0, 0, 0, 587, 579, 1, 0, 0, 0, 587, 580, 1, 0, 0, 0, 587, 581, 1, 0, 0, 0, 587, 582, 1, 0, 0, 0, 587, 583, 1, 0, 0, 0, 587, 584, 1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 587, 586, 1, 0, 0, 0, 588, 65, 1, 0, 0, 0, 589, 591, 5, 53, 0, 0, 590, 592, 5, 54, 0, 0, 591, 590, 1, 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 593, 1, 0, 0, 0, 593, 596, 3, 302, 151, 0, 594, 595, 5, 55, 0, 0, 595, 597, 3, 96, 48, 0, 596, 594, 1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 67, 1, 0, 0, 0, 598, 600, 5, 56, 0, 0, 599, 601, 5, 54, 0, 0, 600, 599, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603, 3, 98, 49, 0, 603, 69, 1, 0, 0, 0, 604, 606, 5, 57, 0, 0, 605, 607, 5, 54, 0, 0, 606, 605, 1, 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, 3, 98, 49, 0, 609, 71, 1, 0, 0, 0, 610, 612, 5, 58, 0, 0, 611, 613, 5, 54, 0, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 614, 1, 0, 0, 0, 614, 615, 3, 96, 48, 0, 615, 73, 1, 0, 0, 0, 616, 618, 5, 59, 0, 0, 617, 619, 5, 54, 0, 0, 618, 617, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 621, 3, 94, 47, 0, 621, 622, 5, 60, 0, 0, 622, 623, 3, 94, 47, 0, 623, 75, 1, 0, 0, 0, 624, 626, 5, 62, 0, 0, 625, 627, 5, 54, 0, 0, 626, 625, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 3, 94, 47, 0, 629, 630, 5, 60, 0, 0, 630, 631, 3, 94, 47, 0, 631, 77, 1, 0, 0, 0, 632, 634, 5, 63, 0, 0, 633, 635, 5, 54, 0, 0, 634, 633, 1, 0, 0, 0, 634, 635, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 637, 3, 94, 47, 0, 637, 638, 5, 60, 0, 0, 638, 639, 3, 94, 47, 0, 639, 79, 1, 0, 0, 0, 640, 641, 5, 64, 0, 0, 641, 642, 5, 61, 0, 0, 642, 643, 3, 102, 51, 0, 643, 81, 1, 0, 0, 0, 644, 645, 5, 65, 0, 0, 645, 646, 5, 61, 0, 0, 646, 647, 3, 102, 51, 0, 647, 83, 1, 0, 0, 0, 648, 649, 5, 65, 0, 0, 649, 650, 5, 37, 0, 0, 650, 651, 3, 100, 50, 0, 651, 85, 1, 0, 0, 0, 652, 653, 5, 66, 0, 0, 653, 655, 3, 302, 151, 0, 654, 652, 1, 0, 0, 0, 654, 655, 1, 0, 0, 0, 655, 661, 1, 0, 0, 0, 656, 658, 3, 88, 44, 0, 657, 659, 3, 90, 45, 0, 658, 657, 1, 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 662, 1, 0, 0, 0, 660, 662, 3, 90, 45, 0, 661, 656, 1, 0, 0, 0, 661, 660, 1, 0, 0, 0, 662, 666, 1, 0, 0, 0, 663, 665, 3, 92, 46, 0, 664, 663, 1, 0, 0, 0, 665, 668, 1, 0, 0, 0, 666, 664, 1, 0, 0, 0, 666, 667, 1, 0, 0, 0, 667, 669, 1, 0, 0, 0, 668, 666, 1, 0, 0, 0, 669, 670, 5, 37, 0, 0, 670, 671, 3, 110, 55, 0, 671, 87, 1, 0, 0, 0, 672, 673, 5, 65, 0, 0, 673, 674, 3, 100, 50, 0, 674, 89, 1, 0, 0, 0, 675, 676, 5, 64, 0, 0, 676, 677, 3, 100, 50, 0, 677, 91, 1, 0, 0, 0, 678, 682, 5, 67, 0, 0, 679, 683, 5, 85, 0, 0, 680, 681, 5, 41, 0, 0, 681, 683, 3, 302, 151, 0, 682, 679, 1, 0, 0, 0, 682, 680, 1, 0, 0, 0, 683, 93, 1, 0, 0, 0, 684, 688, 5, 68, 0, 0, 685, 686, 5, 69, 0, 0, 686, 688, 3, 302, 151, 0, 687, 684, 1, 0, 0, 0, 687, 685, 1, 0, 0, 0, 688, 95, 1, 0, 0, 0, 689, 690, 5, 69, 0, 0, 690, 691, 3, 302, 151, 0, 691, 97, 1, 0, 0, 0, 692, 697, 3, 96, 48, 0, 693, 697, 5, 68, 0, 0, 694, 697, 5, 41, 0, 0, 695, 697, 5, 70, 0, 0, 696, 692, 1, 0, 0, 0, 696, 693, 1, 0, 0, 0, 696, 694, 1, 0, 0, 0, 696, 695, 1, 0, 0, 0, 697, 99, 1, 0, 0, 0, 698, 699, 5, 4, 0, 0, 699, 700, 3, 104, 52, 0, 700, 701, 5, 5, 0, 0, 701, 101, 1, 0, 0, 0, 702, 703, 5, 4, 0, 0, 703, 704, 3, 104, 52, 0, 704, 705, 5, 5, 0, 0, 705, 103, 1, 0, 0, 0, 706, 708, 3, 108, 54, 0, 707, 706, 1, 0, 0, 0, 707, 708, 1, 0, 0, 0, 708, 718, 1, 0, 0, 0, 709, 711, 3, 106, 53, 0, 710, 712, 5, 7, 0, 0, 711, 710, 1, 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 714, 1, 0, 0, 0, 713, 715, 3, 108, 54, 0, 714, 713, 1, 0, 0, 0, 714, 715, 1, 0, 0, 0, 715, 717, 1, 0, 0, 0, 716, 709, 1, 0, 0, 0, 717, 720, 1, 0, 0, 0, 718, 716, 1, 0, 0, 0, 718, 719, 1, 0, 0, 0, 719, 105, 1, 0, 0, 0, 720, 718, 1, 0, 0, 0, 721, 722, 5, 69, 0, 0, 722, 723, 3, 228, 114, 0, 723, 725, 5, 4, 0, 0, 724, 726, 3, 108, 54, 0, 725, 724, 1, 0, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 728, 5, 5, 0, 0, 728, 107, 1, 0, 0, 0, 729, 734, 3, 158, 79, 0, 730, 732, 5, 7, 0, 0, 731, 733, 3, 108, 54, 0, 732, 731, 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 735, 1, 0, 0, 0, 734, 730, 1, 0, 0, 0, 734, 735, 1, 0, 0, 0, 735, 109, 1, 0, 0, 0, 736, 739, 5, 4, 0, 0, 737, 740, 3, 12, 6, 0, 738, 740, 3, 112, 56, 0, 739, 737, 1, 0, 0, 0, 739, 738, 1, 0, 0, 0, 740, 741, 1, 0, 0, 0, 741, 742, 5, 5, 0, 0, 742, 111, 1, 0, 0, 0, 743, 745, 3, 116, 58, 0, 744, 743, 1, 0, 0, 0, 744, 745, 1, 0, 0, 0, 745, 749, 1, 0, 0, 0, 746, 748, 3, 114, 57, 0, 747, 746, 1, 0, 0, 0, 748, 751, 1, 0, 0, 0, 749, 747, 1, 0, 0, 0, 749, 750, 1, 0, 0, 0, 750, 113, 1, 0, 0, 0, 751, 749, 1, 0, 0, 0, 752, 754, 3, 118, 59, 0, 753, 755, 5, 7, 0, 0, 754, 753, 1, 0, 0, 0, 754, 755, 1, 0, 0, 0, 755, 757, 1, 0, 0, 0, 756, 758, 3, 116, 58, 0, 757, 756, 1, 0, 0, 0, 757, 758, 1, 0, 0, 0, 758, 115, 1, 0, 0, 0, 759, 764, 3, 170, 85, 0, 760, 762, 5, 7, 0, 0, 761, 763, 3, 116, 58, 0, 762, 761, 1, 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 765, 1, 0, 0, 0, 764, 760, 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 117, 1, 0, 0, 0, 766, 775, 3, 142, 71, 0, 767, 775, 3, 120, 60, 0, 768, 775, 3, 140, 70, 0, 769, 775, 3, 122, 61, 0, 770, 775, 3, 124, 62, 0, 771, 775, 3, 144, 72, 0, 772, 775, 3, 126, 63, 0, 773, 775, 3, 128, 64, 0, 774, 766, 1, 0, 0, 0, 774, 767, 1, 0, 0, 0, 774, 768, 1, 0, 0, 0, 774, 769, 1, 0, 0, 0, 774, 770, 1, 0, 0, 0, 774, 771, 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774, 773, 1, 0, 0, 0, 775, 119, 1, 0, 0, 0, 776, 777, 5, 71, 0, 0, 777, 778, 3, 110, 55, 0, 778, 121, 1, 0, 0, 0, 779, 780, 5, 69, 0, 0, 780, 781, 3, 228, 114, 0, 781, 782, 3, 110, 55, 0, 782, 123, 1, 0, 0, 0, 783, 785, 5, 72, 0, 0, 784, 786, 5, 54, 0, 0, 785, 784, 1, 0, 0, 0, 785, 786, 1, 0, 0, 0, 786, 787, 1, 0, 0, 0, 787, 788, 3, 228, 114, 0, 788, 789, 3, 110, 55, 0, 789, 125, 1, 0, 0, 0, 790, 791, 5, 73, 0, 0, 791, 792, 5, 2, 0, 0, 792, 793, 3, 234, 117, 0, 793, 794, 5, 35, 0, 0, 794, 795, 3, 230, 115, 0, 795, 796, 5, 3, 0, 0, 796, 127, 1, 0, 0, 0, 797, 798, 5, 52, 0, 0, 798, 799, 3, 130, 65, 0, 799, 129, 1, 0, 0, 0, 800, 803, 3, 132, 66, 0, 801, 803, 3, 134, 67, 0, 802, 800, 1, 0, 0, 0, 802, 801, 1, 0, 0, 0, 803, 131, 1, 0, 0, 0, 804, 805, 3, 230, 115, 0, 805, 809, 5, 4, 0, 0, 806, 808, 3, 138, 69, 0, 807, 806, 1, 0, 0, 0, 808, 811, 1, 0, 0, 0, 809, 807, 1, 0, 0, 0, 809, 810, 1, 0, 0, 0, 810, 812, 1, 0, 0, 0, 811, 809, 1, 0, 0, 0, 812, 813, 5, 5, 0, 0, 813, 133, 1, 0, 0, 0, 814, 824, 5, 165, 0, 0, 815, 819, 5, 2, 0, 0, 816, 818, 3, 230, 115, 0, 817, 816, 1, 0, 0, 0, 818, 821, 1, 0, 0, 0, 819, 817, 1, 0, 0, 0, 819, 820, 1, 0, 0, 0, 820, 822, 1, 0, 0, 0, 821, 819, 1, 0, 0, 0, 822, 824, 5, 3, 0, 0, 823, 814, 1, 0, 0, 0, 823, 815, 1, 0, 0, 0, 824, 825, 1, 0, 0, 0, 825, 829, 5, 4, 0, 0, 826, 828, 3, 136, 68, 0, 827, 826, 1, 0, 0, 0, 828, 831, 1, 0, 0, 0, 829, 827, 1, 0, 0, 0, 829, 830, 1, 0, 0, 0, 830, 832, 1, 0, 0, 0, 831, 829, 1, 0, 0, 0, 832, 833, 5, 5, 0, 0, 833, 135, 1, 0, 0, 0, 834, 838, 5, 2, 0, 0, 835, 837, 3, 138, 69, 0, 836, 835, 1, 0, 0, 0, 837, 840, 1, 0, 0, 0, 838, 836, 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 838, 1, 0, 0, 0, 841, 844, 5, 3, 0, 0, 842, 844, 5, 165, 0, 0, 843, 834, 1, 0, 0, 0, 843, 842, 1, 0, 0, 0, 844, 137, 1, 0, 0, 0, 845, 851, 3, 302, 151, 0, 846, 851, 3, 288, 144, 0, 847, 851, 3, 290, 145, 0, 848, 851, 3, 298, 149, 0, 849, 851, 5, 74, 0, 0, 850, 845, 1, 0, 0, 0, 850, 846, 1, 0, 0, 0, 850, 847, 1, 0, 0, 0, 850, 848, 1, 0, 0, 0, 850, 849, 1, 0, 0, 0, 851, 139, 1, 0, 0, 0, 852, 853, 5, 75, 0, 0, 853, 854, 3, 110, 55, 0, 854, 141, 1, 0, 0, 0, 855, 860, 3, 110, 55, 0, 856, 857, 5, 76, 0, 0, 857, 859, 3, 110, 55, 0, 858, 856, 1, 0, 0, 0, 859, 862, 1, 0, 0, 0, 860, 858, 1, 0, 0, 0, 860, 861, 1, 0, 0, 0, 861, 143, 1, 0, 0, 0, 862, 860, 1, 0, 0, 0, 863, 864, 5, 77, 0, 0, 864, 865, 3, 146, 73, 0, 865, 145, 1, 0, 0, 0, 866, 870, 3, 268, 134, 0, 867, 870, 3, 270, 135, 0, 868, 870, 3, 148, 74, 0, 869, 866, 1, 0, 0, 0, 869, 867, 1, 0, 0, 0, 869, 868, 1, 0, 0, 0, 870, 147, 1, 0, 0, 0, 871, 872, 3, 302, 151, 0, 872, 873, 3, 150, 75, 0, 873, 149, 1, 0, 0, 0, 874, 890, 5, 165, 0, 0, 875, 877, 5, 2, 0, 0, 876, 878, 5, 33, 0, 0, 877, 876, 1, 0, 0, 0, 877, 878, 1, 0, 0, 0, 878, 879, 1, 0, 0, 0, 879, 884, 3, 234, 117, 0, 880, 881, 5, 8, 0, 0, 881, 883, 3, 234, 117, 0, 882, 880, 1, 0, 0, 0, 883, 886, 1, 0, 0, 0, 884, 882, 1, 0, 0, 0, 884, 885, 1, 0, 0, 0, 885, 887, 1, 0, 0, 0, 886, 884, 1, 0, 0, 0, 887, 888, 5, 3, 0, 0, 888, 890, 1, 0, 0, 0, 889, 874, 1, 0, 0, 0, 889, 875, 1, 0, 0, 0, 890, 151, 1, 0, 0, 0, 891, 904, 5, 165, 0, 0, 892, 893, 5, 2, 0, 0, 893, 898, 3, 234, 117, 0, 894, 895, 5, 8, 0, 0, 895, 897, 3, 234, 117, 0, 896, 894, 1, 0, 0, 0, 897, 900, 1, 0, 0, 0, 898, 896, 1, 0, 0, 0, 898, 899, 1, 0, 0, 0, 899, 901, 1, 0, 0, 0, 900, 898, 1, 0, 0, 0, 901, 902, 5, 3, 0, 0, 902, 904, 1, 0, 0, 0, 903, 891, 1, 0, 0, 0, 903, 892, 1, 0, 0, 0, 904, 153, 1, 0, 0, 0, 905, 907, 5, 4, 0, 0, 906, 908, 3, 156, 78, 0, 907, 906, 1, 0, 0, 0, 907, 908, 1, 0, 0, 0, 908, 909, 1, 0, 0, 0, 909, 910, 5, 5, 0, 0, 910, 155, 1, 0, 0, 0, 911, 916, 3, 158, 79, 0, 912, 914, 5, 7, 0, 0, 913, 915, 3, 156, 78, 0, 914, 913, 1, 0, 0, 0, 914, 915, 1, 0, 0, 0, 915, 917, 1, 0, 0, 0, 916, 912, 1, 0, 0, 0, 916, 917, 1, 0, 0, 0, 917, 157, 1, 0, 0, 0, 918, 919, 3, 226, 113, 0, 919, 920, 3, 162, 81, 0, 920, 925, 1, 0, 0, 0, 921, 922, 3, 210, 105, 0, 922, 923, 3, 160, 80, 0, 923, 925, 1, 0, 0, 0, 924, 918, 1, 0, 0, 0, 924, 921, 1, 0, 0, 0, 925, 159, 1, 0, 0, 0, 926, 928, 3, 162, 81, 0, 927, 926, 1, 0, 0, 0, 927, 928, 1, 0, 0, 0, 928, 161, 1, 0, 0, 0, 929, 930, 3, 164, 82, 0, 930, 939, 3, 166, 83, 0, 931, 935, 5, 6, 0, 0, 932, 933, 3, 164, 82, 0, 933, 934, 3, 166, 83, 0, 934, 936, 1, 0, 0, 0, 935, 932, 1, 0, 0, 0, 935, 936, 1, 0, 0, 0, 936, 938, 1, 0, 0, 0, 937, 931, 1, 0, 0, 0, 938, 941, 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 163, 1, 0, 0, 0, 941, 939, 1, 0, 0, 0, 942, 945, 3, 228, 114, 0, 943, 945, 5, 9, 0, 0, 944, 942, 1, 0, 0, 0, 944, 943, 1, 0, 0, 0, 945, 165, 1, 0, 0, 0, 946, 951, 3, 168, 84, 0, 947, 948, 5, 8, 0, 0, 948, 950, 3, 168, 84, 0, 949, 947, 1, 0, 0, 0, 950, 953, 1, 0, 0, 0, 951, 949, 1, 0, 0, 0, 951, 952, 1, 0, 0, 0, 952, 167, 1, 0, 0, 0, 953, 951, 1, 0, 0, 0, 954, 955, 3, 222, 111, 0, 955, 169, 1, 0, 0, 0, 956, 957, 3, 226, 113, 0, 957, 958, 3, 174, 87, 0, 958, 963, 1, 0, 0, 0, 959, 960, 3, 214, 107, 0, 960, 961, 3, 172, 86, 0, 961, 963, 1, 0, 0, 0, 962, 956, 1, 0, 0, 0, 962, 959, 1, 0, 0, 0, 963, 171, 1, 0, 0, 0, 964, 966, 3, 174, 87, 0, 965, 964, 1, 0, 0, 0, 965, 966, 1, 0, 0, 0, 966, 173, 1, 0, 0, 0, 967, 974, 3, 182, 91, 0, 968, 970, 5, 6, 0, 0, 969, 971, 3, 180, 90, 0, 970, 969, 1, 0, 0, 0, 970, 971, 1, 0, 0, 0, 971, 973, 1, 0, 0, 0, 972, 968, 1, 0, 0, 0, 973, 976, 1, 0, 0, 0, 974, 972, 1, 0, 0, 0, 974, 975, 1, 0, 0, 0, 975, 175, 1, 0, 0, 0, 976, 974, 1, 0, 0, 0, 977, 978, 3, 190, 95, 0, 978, 177, 1, 0, 0, 0, 979, 980, 3, 230, 115, 0, 980, 179, 1, 0, 0, 0, 981, 982, 3, 184, 92, 0, 982, 983, 3, 166, 83, 0, 983, 181, 1, 0, 0, 0, 984, 985, 3, 184, 92, 0, 985, 986, 3, 186, 93, 0, 986, 183, 1, 0, 0, 0, 987, 990, 3, 176, 88, 0, 988, 990, 3, 178, 89, 0, 989, 987, 1, 0, 0, 0, 989, 988, 1, 0, 0, 0, 990, 185, 1, 0, 0, 0, 991, 996, 3, 188, 94, 0, 992, 993, 5, 8, 0, 0, 993, 995, 3, 188, 94, 0, 994, 992, 1, 0, 0, 0, 995, 998, 1, 0, 0, 0, 996, 994, 1, 0, 0, 0, 996, 997, 1, 0, 0, 0, 997, 187, 1, 0, 0, 0, 998, 996, 1, 0, 0, 0, 999, 1000, 3, 224, 112, 0, 1000, 189, 1, 0, 0, 0, 1001, 1002, 3, 192, 96, 0, 1002, 191, 1, 0, 0, 0, 1003, 1008, 3, 194, 97, 0, 1004, 1005, 5, 10, 0, 0, 1005, 1007, 3, 194, 97, 0, 1006, 1004, 1, 0, 0, 0, 1007, 1010, 1, 0, 0, 0, 1008, 1006, 1, 0, 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 193, 1, 0, 0, 0, 1010, 1008, 1, 0, 0, 0, 1011, 1016, 3, 198, 99, 0, 1012, 1013, 5, 11, 0, 0, 1013, 1015, 3, 198, 99, 0, 1014, 1012, 1, 0, 0, 0, 1015, 1018, 1, 0, 0, 0, 1016, 1014, 1, 0, 0, 0, 1016, 1017, 1, 0, 0, 0, 1017, 195, 1, 0, 0, 0, 1018, 1016, 1, 0, 0, 0, 1019, 1021, 3, 202, 101, 0, 1020, 1022, 3, 200, 100, 0, 1021, 1020, 1, 0, 0, 0, 1021, 1022, 1, 0, 0, 0, 1022, 197, 1, 0, 0, 0, 1023, 1027, 3, 196, 98, 0, 1024, 1025, 5, 12, 0, 0, 1025, 1027, 3, 196, 98, 0, 1026, 1023, 1, 0, 0, 0, 1026, 1024, 1, 0, 0, 0, 1027, 199, 1, 0, 0, 0, 1028, 1029, 7, 2, 0, 0, 1029, 201, 1, 0, 0, 0, 1030, 1039, 3, 302, 151, 0, 1031, 1039, 5, 9, 0, 0, 1032, 1033, 5, 15, 0, 0, 1033, 1039, 3, 204, 102, 0, 1034, 1035, 5, 2, 0, 0, 1035, 1036, 3, 190, 95, 0, 1036, 1037, 5, 3, 0, 0, 1037, 1039, 1, 0, 0, 0, 1038, 1030, 1, 0, 0, 0, 1038, 1031, 1, 0, 0, 0, 1038, 1032, 1, 0, 0, 0, 1038, 1034, 1, 0, 0, 0, 1039, 203, 1, 0, 0, 0, 1040, 1054, 3, 206, 103, 0, 1041, 1050, 5, 2, 0, 0, 1042, 1047, 3, 206, 103, 0, 1043, 1044, 5, 10, 0, 0, 1044, 1046, 3, 206, 103, 0, 1045, 1043, 1, 0, 0, 0, 1046, 1049, 1, 0, 0, 0, 1047, 1045, 1, 0, 0, 0, 1047, 1048, 1, 0, 0, 0, 1048, 1051, 1, 0, 0, 0, 1049, 1047, 1, 0, 0, 0, 1050, 1042, 1, 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1054, 5, 3, 0, 0, 1053, 1040, 1, 0, 0, 0, 1053, 1041, 1, 0, 0, 0, 1054, 205, 1, 0, 0, 0, 1055, 1063, 3, 302, 151, 0, 1056, 1063, 5, 9, 0, 0, 1057, 1060, 5, 12, 0, 0, 1058, 1061, 3, 302, 151, 0, 1059, 1061, 5, 9, 0, 0, 1060, 1058, 1, 0, 0, 0, 1060, 1059, 1, 0, 0, 0, 1061, 1063, 1, 0, 0, 0, 1062, 1055, 1, 0, 0, 0, 1062, 1056, 1, 0, 0, 0, 1062, 1057, 1, 0, 0, 0, 1063, 207, 1, 0, 0, 0, 1064, 1065, 5, 150, 0, 0, 1065, 209, 1, 0, 0, 0, 1066, 1069, 3, 218, 109, 0, 1067, 1069, 3, 212, 106, 0, 1068, 1066, 1, 0, 0, 0, 1068, 1067, 1, 0, 0, 0, 1069, 211, 1, 0, 0, 0, 1070, 1071, 5, 16, 0, 0, 1071, 1072, 3, 162, 81, 0, 1072, 1073, 5, 17, 0, 0, 1073, 213, 1, 0, 0, 0, 1074, 1077, 3, 220, 110, 0, 1075, 1077, 3, 216, 108, 0, 1076, 1074, 1, 0, 0, 0, 1076, 1075, 1, 0, 0, 0, 1077, 215, 1, 0, 0, 0, 1078, 1079, 5, 16, 0, 0, 1079, 1080, 3, 174, 87, 0, 1080, 1081, 5, 17, 0, 0, 1081, 217, 1, 0, 0, 0, 1082, 1084, 5, 2, 0, 0, 1083, 1085, 3, 222, 111, 0, 1084, 1083, 1, 0, 0, 0, 1085, 1086, 1, 0, 0, 0, 1086, 1084, 1, 0, 0, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1088, 1, 0, 0, 0, 1088, 1089, 5, 3, 0, 0, 1089, 219, 1, 0, 0, 0, 1090, 1092, 5, 2, 0, 0, 1091, 1093, 3, 224, 112, 0, 1092, 1091, 1, 0, 0, 0, 1093, 1094, 1, 0, 0, 0, 1094, 1092, 1, 0, 0, 0, 1094, 1095, 1, 0, 0, 0, 1095, 1096, 1, 0, 0, 0, 1096, 1097, 5, 3, 0, 0, 1097, 221, 1, 0, 0, 0, 1098, 1101, 3, 226, 113, 0, 1099, 1101, 3, 210, 105, 0, 1100, 1098, 1, 0, 0, 0, 1100, 1099, 1, 0, 0, 0, 1101, 223, 1, 0, 0, 0, 1102, 1105, 3, 226, 113, 0, 1103, 1105, 3, 214, 107, 0, 1104, 1102, 1, 0, 0, 0, 1104, 1103, 1, 0, 0, 0, 1105, 225, 1, 0, 0, 0, 1106, 1109, 3, 230, 115, 0, 1107, 1109, 3, 232, 116, 0, 1108, 1106, 1, 0, 0, 0, 1108, 1107, 1, 0, 0, 0, 1109, 227, 1, 0, 0, 0, 1110, 1113, 3, 230, 115, 0, 1111, 1113, 3, 302, 151, 0, 1112, 1110, 1, 0, 0, 0, 1112, 1111, 1, 0, 0, 0, 1113, 229, 1, 0, 0, 0, 1114, 1115, 7, 3, 0, 0, 1115, 231, 1, 0, 0, 0, 1116, 1123, 3, 302, 151, 0, 1117, 1123, 3, 288, 144, 0, 1118, 1123, 3, 290, 145, 0, 1119, 1123, 3, 298, 149, 0, 1120, 1123, 3, 306, 153, 0, 1121, 1123, 5, 165, 0, 0, 1122, 1116, 1, 0, 0, 0, 1122, 1117, 1, 0, 0, 0, 1122, 1118, 1, 0, 0, 0, 1122, 1119, 1, 0, 0, 0, 1122, 1120, 1, 0, 0, 0, 1122, 1121, 1, 0, 0, 0, 1123, 233, 1, 0, 0, 0, 1124, 1125, 3, 236, 118, 0, 1125, 235, 1, 0, 0, 0, 1126, 1131, 3, 238, 119, 0, 1127, 1128, 5, 18, 0, 0, 1128, 1130, 3, 238, 119, 0, 1129, 1127, 1, 0, 0, 0, 1130, 1133, 1, 0, 0, 0, 1131, 1129, 1, 0, 0, 0, 1131, 1132, 1, 0, 0, 0, 1132, 237, 1, 0, 0, 0, 1133, 1131, 1, 0, 0, 0, 1134, 1139, 3, 240, 120, 0, 1135, 1136, 5, 19, 0, 0, 1136, 1138, 3, 240, 120, 0, 1137, 1135, 1, 0, 0, 0, 1138, 1141, 1, 0, 0, 0, 1139, 1137, 1, 0, 0, 0, 1139, 1140, 1, 0, 0, 0, 1140, 239, 1, 0, 0, 0, 1141, 1139, 1, 0, 0, 0, 1142, 1143, 3, 242, 121, 0, 1143, 241, 1, 0, 0, 0, 1144, 1162, 3, 244, 122, 0, 1145, 1146, 5, 20, 0, 0, 1146, 1163, 3, 244, 122, 0, 1147, 1148, 5, 21, 0, 0, 1148, 1163, 3, 244, 122, 0, 1149, 1150, 5, 22, 0, 0, 1150, 1163, 3, 244, 122, 0, 1151, 1152, 5, 23, 0, 0, 1152, 1163, 3, 244, 122, 0, 1153, 1154, 5, 24, 0, 0, 1154, 1163, 3, 244, 122, 0, 1155, 1156, 5, 25, 0, 0, 1156, 1163, 3, 244, 122, 0, 1157, 1158, 5, 79, 0, 0, 1158, 1163, 3, 152, 76, 0, 1159, 1160, 5, 78, 0, 0, 1160, 1161, 5, 79, 0, 0, 1161, 1163, 3, 152, 76, 0, 1162, 1145, 1, 0, 0, 0, 1162, 1147, 1, 0, 0, 0, 1162, 1149, 1, 0, 0, 0, 1162, 1151, 1, 0, 0, 0, 1162, 1153, 1, 0, 0, 0, 1162, 1155, 1, 0, 0, 0, 1162, 1157, 1, 0, 0, 0, 1162, 1159, 1, 0, 0, 0, 1162, 1163, 1, 0, 0, 0, 1163, 243, 1, 0, 0, 0, 1164, 1165, 3, 246, 123, 0, 1165, 245, 1, 0, 0, 0, 1166, 1170, 3, 256, 128, 0, 1167, 1169, 3, 248, 124, 0, 1168, 1167, 1, 0, 0, 0, 1169, 1172, 1, 0, 0, 0, 1170, 1168, 1, 0, 0, 0, 1170, 1171, 1, 0, 0, 0, 1171, 247, 1, 0, 0, 0, 1172, 1170, 1, 0, 0, 0, 1173, 1174, 5, 13, 0, 0, 1174, 1179, 3, 250, 125, 0, 1175, 1176, 5, 26, 0, 0, 1176, 1179, 3, 252, 126, 0, 1177, 1179, 3, 254, 127, 0, 1178, 1173, 1, 0, 0, 0, 1178, 1175, 1, 0, 0, 0, 1178, 1177, 1, 0, 0, 0, 1179, 249, 1, 0, 0, 0, 1180, 1181, 3, 256, 128, 0, 1181, 251, 1, 0, 0, 0, 1182, 1183, 3, 256, 128, 0, 1183, 253, 1, 0, 0, 0, 1184, 1187, 3, 294, 147, 0, 1185, 1187, 3, 296, 148, 0, 1186, 1184, 1, 0, 0, 0, 1186, 1185, 1, 0, 0, 0, 1187, 1191, 1, 0, 0, 0, 1188, 1190, 3, 258, 129, 0, 1189, 1188, 1, 0, 0, 0, 1190, 1193, 1, 0, 0, 0, 1191, 1189, 1, 0, 0, 0, 1191, 1192, 1, 0, 0, 0, 1192, 255, 1, 0, 0, 0, 1193, 1191, 1, 0, 0, 0, 1194, 1198, 3, 264, 132, 0, 1195, 1197, 3, 258, 129, 0, 1196, 1195, 1, 0, 0, 0, 1197, 1200, 1, 0, 0, 0, 1198, 1196, 1, 0, 0, 0, 1198, 1199, 1, 0, 0, 0, 1199, 257, 1, 0, 0, 0, 1200, 1198, 1, 0, 0, 0, 1201, 1204, 3, 260, 130, 0, 1202, 1204, 3, 262, 131, 0, 1203, 1201, 1, 0, 0, 0, 1203, 1202, 1, 0, 0, 0, 1204, 259, 1, 0, 0, 0, 1205, 1206, 5, 1, 0, 0, 1206, 1207, 3, 264, 132, 0, 1207, 261, 1, 0, 0, 0, 1208, 1209, 5, 11, 0, 0, 1209, 1210, 3, 264, 132, 0, 1210, 263, 1, 0, 0, 0, 1211, 1212, 5, 15, 0, 0, 1212, 1219, 3, 266, 133, 0, 1213, 1214, 5, 13, 0, 0, 1214, 1219, 3, 266, 133, 0, 1215, 1216, 5, 26, 0, 0, 1216, 1219, 3, 266, 133, 0, 1217, 1219, 3, 266, 133, 0, 1218, 1211, 1, 0, 0, 0, 1218, 1213, 1, 0, 0, 0, 1218, 1215, 1, 0, 0, 0, 1218, 1217, 1, 0, 0, 0, 1219, 265, 1, 0, 0, 0, 1220, 1228, 3, 268, 134, 0, 1221, 1228, 3, 270, 135, 0, 1222, 1228, 3, 286, 143, 0, 1223, 1228, 3, 288, 144, 0, 1224, 1228, 3, 290, 145, 0, 1225, 1228, 3, 298, 149, 0, 1226, 1228, 3, 230, 115, 0, 1227, 1220, 1, 0, 0, 0, 1227, 1221, 1, 0, 0, 0, 1227, 1222, 1, 0, 0, 0, 1227, 1223, 1, 0, 0, 0, 1227, 1224, 1, 0, 0, 0, 1227, 1225, 1, 0, 0, 0, 1227, 1226, 1, 0, 0, 0, 1228, 267, 1, 0, 0, 0, 1229, 1230, 5, 2, 0, 0, 1230, 1231, 3, 234, 117, 0, 1231, 1232, 5, 3, 0, 0, 1232, 269, 1, 0, 0, 0, 1233, 1488, 3, 284, 142, 0, 1234, 1235, 5, 80, 0, 0, 1235, 1236, 5, 2, 0, 0, 1236, 1237, 3, 234, 117, 0, 1237, 1238, 5, 3, 0, 0, 1238, 1488, 1, 0, 0, 0, 1239, 1488, 3, 274, 137, 0, 1240, 1241, 5, 82, 0, 0, 1241, 1242, 5, 2, 0, 0, 1242, 1243, 3, 234, 117, 0, 1243, 1244, 5, 8, 0, 0, 1244, 1245, 3, 234, 117, 0, 1245, 1246, 5, 3, 0, 0, 1246, 1488, 1, 0, 0, 0, 1247, 1248, 5, 83, 0, 0, 1248, 1249, 5, 2, 0, 0, 1249, 1250, 3, 234, 117, 0, 1250, 1251, 5, 3, 0, 0, 1251, 1488, 1, 0, 0, 0, 1252, 1253, 5, 84, 0, 0, 1253, 1254, 5, 2, 0, 0, 1254, 1255, 3, 230, 115, 0, 1255, 1256, 5, 3, 0, 0, 1256, 1488, 1, 0, 0, 0, 1257, 1258, 5, 85, 0, 0, 1258, 1259, 5, 2, 0, 0, 1259, 1260, 3, 234, 117, 0, 1260, 1261, 5, 3, 0, 0, 1261, 1488, 1, 0, 0, 0, 1262, 1263, 5, 86, 0, 0, 1263, 1264, 5, 2, 0, 0, 1264, 1265, 3, 234, 117, 0, 1265, 1266, 5, 3, 0, 0, 1266, 1488, 1, 0, 0, 0, 1267, 1273, 5, 87, 0, 0, 1268, 1269, 5, 2, 0, 0, 1269, 1270, 3, 234, 117, 0, 1270, 1271, 5, 3, 0, 0, 1271, 1274, 1, 0, 0, 0, 1272, 1274, 5, 165, 0, 0, 1273, 1268, 1, 0, 0, 0, 1273, 1272, 1, 0, 0, 0, 1274, 1488, 1, 0, 0, 0, 1275, 1276, 5, 88, 0, 0, 1276, 1488, 5, 165, 0, 0, 1277, 1278, 5, 89, 0, 0, 1278, 1279, 5, 2, 0, 0, 1279, 1280, 3, 234, 117, 0, 1280, 1281, 5, 3, 0, 0, 1281, 1488, 1, 0, 0, 0, 1282, 1283, 5, 90, 0, 0, 1283, 1284, 5, 2, 0, 0, 1284, 1285, 3, 234, 117, 0, 1285, 1286, 5, 3, 0, 0, 1286, 1488, 1, 0, 0, 0, 1287, 1288, 5, 91, 0, 0, 1288, 1289, 5, 2, 0, 0, 1289, 1290, 3, 234, 117, 0, 1290, 1291, 5, 3, 0, 0, 1291, 1488, 1, 0, 0, 0, 1292, 1293, 5, 92, 0, 0, 1293, 1294, 5, 2, 0, 0, 1294, 1295, 3, 234, 117, 0, 1295, 1296, 5, 3, 0, 0, 1296, 1488, 1, 0, 0, 0, 1297, 1298, 5, 93, 0, 0, 1298, 1488, 3, 152, 76, 0, 1299, 1488, 3, 276, 138, 0, 1300, 1301, 5, 94, 0, 0, 1301, 1302, 5, 2, 0, 0, 1302, 1303, 3, 234, 117, 0, 1303, 1304, 5, 3, 0, 0, 1304, 1488, 1, 0, 0, 0, 1305, 1488, 3, 278, 139, 0, 1306, 1307, 5, 95, 0, 0, 1307, 1308, 5, 2, 0, 0, 1308, 1309, 3, 234, 117, 0, 1309, 1310, 5, 3, 0, 0, 1310, 1488, 1, 0, 0, 0, 1311, 1312, 5, 96, 0, 0, 1312, 1313, 5, 2, 0, 0, 1313, 1314, 3, 234, 117, 0, 1314, 1315, 5, 3, 0, 0, 1315, 1488, 1, 0, 0, 0, 1316, 1317, 5, 97, 0, 0, 1317, 1318, 5, 2, 0, 0, 1318, 1319, 3, 234, 117, 0, 1319, 1320, 5, 3, 0, 0, 1320, 1488, 1, 0, 0, 0, 1321, 1322, 5, 99, 0, 0, 1322, 1323, 5, 2, 0, 0, 1323, 1324, 3, 234, 117, 0, 1324, 1325, 5, 8, 0, 0, 1325, 1326, 3, 234, 117, 0, 1326, 1327, 5, 3, 0, 0, 1327, 1488, 1, 0, 0, 0, 1328, 1329, 5, 100, 0, 0, 1329, 1330, 5, 2, 0, 0, 1330, 1331, 3, 234, 117, 0, 1331, 1332, 5, 8, 0, 0, 1332, 1333, 3, 234, 117, 0, 1333, 1334, 5, 3, 0, 0, 1334, 1488, 1, 0, 0, 0, 1335, 1336, 5, 101, 0, 0, 1336, 1337, 5, 2, 0, 0, 1337, 1338, 3, 234, 117, 0, 1338, 1339, 5, 8, 0, 0, 1339, 1340, 3, 234, 117, 0, 1340, 1341, 5, 3, 0, 0, 1341, 1488, 1, 0, 0, 0, 1342, 1343, 5, 102, 0, 0, 1343, 1344, 5, 2, 0, 0, 1344, 1345, 3, 234, 117, 0, 1345, 1346, 5, 8, 0, 0, 1346, 1347, 3, 234, 117, 0, 1347, 1348, 5, 3, 0, 0, 1348, 1488, 1, 0, 0, 0, 1349, 1350, 5, 103, 0, 0, 1350, 1351, 5, 2, 0, 0, 1351, 1352, 3, 234, 117, 0, 1352, 1353, 5, 8, 0, 0, 1353, 1354, 3, 234, 117, 0, 1354, 1355, 5, 3, 0, 0, 1355, 1488, 1, 0, 0, 0, 1356, 1357, 5, 104, 0, 0, 1357, 1358, 5, 2, 0, 0, 1358, 1359, 3, 234, 117, 0, 1359, 1360, 5, 3, 0, 0, 1360, 1488, 1, 0, 0, 0, 1361, 1362, 5, 105, 0, 0, 1362, 1363, 5, 2, 0, 0, 1363, 1364, 3, 234, 117, 0, 1364, 1365, 5, 3, 0, 0, 1365, 1488, 1, 0, 0, 0, 1366, 1367, 5, 106, 0, 0, 1367, 1368, 5, 2, 0, 0, 1368, 1369, 3, 234, 117, 0, 1369, 1370, 5, 3, 0, 0, 1370, 1488, 1, 0, 0, 0, 1371, 1372, 5, 107, 0, 0, 1372, 1373, 5, 2, 0, 0, 1373, 1374, 3, 234, 117, 0, 1374, 1375, 5, 3, 0, 0, 1375, 1488, 1, 0, 0, 0, 1376, 1377, 5, 108, 0, 0, 1377, 1378, 5, 2, 0, 0, 1378, 1379, 3, 234, 117, 0, 1379, 1380, 5, 3, 0, 0, 1380, 1488, 1, 0, 0, 0, 1381, 1382, 5, 109, 0, 0, 1382, 1383, 5, 2, 0, 0, 1383, 1384, 3, 234, 117, 0, 1384, 1385, 5, 3, 0, 0, 1385, 1488, 1, 0, 0, 0, 1386, 1387, 5, 110, 0, 0, 1387, 1388, 5, 2, 0, 0, 1388, 1389, 3, 234, 117, 0, 1389, 1390, 5, 3, 0, 0, 1390, 1488, 1, 0, 0, 0, 1391, 1392, 5, 111, 0, 0, 1392, 1393, 5, 2, 0, 0, 1393, 1394, 3, 234, 117, 0, 1394, 1395, 5, 3, 0, 0, 1395, 1488, 1, 0, 0, 0, 1396, 1397, 5, 112, 0, 0, 1397, 1488, 5, 165, 0, 0, 1398, 1399, 5, 113, 0, 0, 1399, 1488, 5, 165, 0, 0, 1400, 1401, 5, 114, 0, 0, 1401, 1488, 5, 165, 0, 0, 1402, 1403, 5, 119, 0, 0, 1403, 1404, 5, 2, 0, 0, 1404, 1405, 3, 234, 117, 0, 1405, 1406, 5, 3, 0, 0, 1406, 1488, 1, 0, 0, 0, 1407, 1408, 5, 115, 0, 0, 1408, 1409, 5, 2, 0, 0, 1409, 1410, 3, 234, 117, 0, 1410, 1411, 5, 3, 0, 0, 1411, 1488, 1, 0, 0, 0, 1412, 1413, 5, 116, 0, 0, 1413, 1414, 5, 2, 0, 0, 1414, 1415, 3, 234, 117, 0, 1415, 1416, 5, 3, 0, 0, 1416, 1488, 1, 0, 0, 0, 1417, 1418, 5, 117, 0, 0, 1418, 1419, 5, 2, 0, 0, 1419, 1420, 3, 234, 117, 0, 1420, 1421, 5, 3, 0, 0, 1421, 1488, 1, 0, 0, 0, 1422, 1423, 5, 118, 0, 0, 1423, 1424, 5, 2, 0, 0, 1424, 1425, 3, 234, 117, 0, 1425, 1426, 5, 3, 0, 0, 1426, 1488, 1, 0, 0, 0, 1427, 1428, 5, 120, 0, 0, 1428, 1488, 3, 152, 76, 0, 1429, 1430, 5, 121, 0, 0, 1430, 1431, 5, 2, 0, 0, 1431, 1432, 3, 234, 117, 0, 1432, 1433, 5, 8, 0, 0, 1433, 1434, 3, 234, 117, 0, 1434, 1435, 5, 8, 0, 0, 1435, 1436, 3, 234, 117, 0, 1436, 1437, 5, 3, 0, 0, 1437, 1488, 1, 0, 0, 0, 1438, 1439, 5, 122, 0, 0, 1439, 1440, 5, 2, 0, 0, 1440, 1441, 3, 234, 117, 0, 1441, 1442, 5, 8, 0, 0, 1442, 1443, 3, 234, 117, 0, 1443, 1444, 5, 3, 0, 0, 1444, 1488, 1, 0, 0, 0, 1445, 1446, 5, 123, 0, 0, 1446, 1447, 5, 2, 0, 0, 1447, 1448, 3, 234, 117, 0, 1448, 1449, 5, 8, 0, 0, 1449, 1450, 3, 234, 117, 0, 1450, 1451, 5, 3, 0, 0, 1451, 1488, 1, 0, 0, 0, 1452, 1453, 5, 124, 0, 0, 1453, 1454, 5, 2, 0, 0, 1454, 1455, 3, 234, 117, 0, 1455, 1456, 5, 8, 0, 0, 1456, 1457, 3, 234, 117, 0, 1457, 1458, 5, 3, 0, 0, 1458, 1488, 1, 0, 0, 0, 1459, 1460, 5, 125, 0, 0, 1460, 1461, 5, 2, 0, 0, 1461, 1462, 3, 234, 117, 0, 1462, 1463, 5, 3, 0, 0, 1463, 1488, 1, 0, 0, 0, 1464, 1465, 5, 126, 0, 0, 1465, 1466, 5, 2, 0, 0, 1466, 1467, 3, 234, 117, 0, 1467, 1468, 5, 3, 0, 0, 1468, 1488, 1, 0, 0, 0, 1469, 1470, 5, 127, 0, 0, 1470, 1471, 5, 2, 0, 0, 1471, 1472, 3, 234, 117, 0, 1472, 1473, 5, 3, 0, 0, 1473, 1488, 1, 0, 0, 0, 1474, 1475, 5, 128, 0, 0, 1475, 1476, 5, 2, 0, 0, 1476, 1477, 3, 234, 117, 0, 1477, 1478, 5, 3, 0, 0, 1478, 1488, 1, 0, 0, 0, 1479, 1480, 5, 129, 0, 0, 1480, 1481, 5, 2, 0, 0, 1481, 1482, 3, 234, 117, 0, 1482, 1483, 5, 3, 0, 0, 1483, 1488, 1, 0, 0, 0, 1484, 1488, 3, 272, 136, 0, 1485, 1488, 3, 280, 140, 0, 1486, 1488, 3, 282, 141, 0, 1487, 1233, 1, 0, 0, 0, 1487, 1234, 1, 0, 0, 0, 1487, 1239, 1, 0, 0, 0, 1487, 1240, 1, 0, 0, 0, 1487, 1247, 1, 0, 0, 0, 1487, 1252, 1, 0, 0, 0, 1487, 1257, 1, 0, 0, 0, 1487, 1262, 1, 0, 0, 0, 1487, 1267, 1, 0, 0, 0, 1487, 1275, 1, 0, 0, 0, 1487, 1277, 1, 0, 0, 0, 1487, 1282, 1, 0, 0, 0, 1487, 1287, 1, 0, 0, 0, 1487, 1292, 1, 0, 0, 0, 1487, 1297, 1, 0, 0, 0, 1487, 1299, 1, 0, 0, 0, 1487, 1300, 1, 0, 0, 0, 1487, 1305, 1, 0, 0, 0, 1487, 1306, 1, 0, 0, 0, 1487, 1311, 1, 0, 0, 0, 1487, 1316, 1, 0, 0, 0, 1487, 1321, 1, 0, 0, 0, 1487, 1328, 1, 0, 0, 0, 1487, 1335, 1, 0, 0, 0, 1487, 1342, 1, 0, 0, 0, 1487, 1349, 1, 0, 0, 0, 1487, 1356, 1, 0, 0, 0, 1487, 1361, 1, 0, 0, 0, 1487, 1366, 1, 0, 0, 0, 1487, 1371, 1, 0, 0, 0, 1487, 1376, 1, 0, 0, 0, 1487, 1381, 1, 0, 0, 0, 1487, 1386, 1, 0, 0, 0, 1487, 1391, 1, 0, 0, 0, 1487, 1396, 1, 0, 0, 0, 1487, 1398, 1, 0, 0, 0, 1487, 1400, 1, 0, 0, 0, 1487, 1402, 1, 0, 0, 0, 1487, 1407, 1, 0, 0, 0, 1487, 1412, 1, 0, 0, 0, 1487, 1417, 1, 0, 0, 0, 1487, 1422, 1, 0, 0, 0, 1487, 1427, 1, 0, 0, 0, 1487, 1429, 1, 0, 0, 0, 1487, 1438, 1, 0, 0, 0, 1487, 1445, 1, 0, 0, 0, 1487, 1452, 1, 0, 0, 0, 1487, 1459, 1, 0, 0, 0, 1487, 1464, 1, 0, 0, 0, 1487, 1469, 1, 0, 0, 0, 1487, 1474, 1, 0, 0, 0, 1487, 1479, 1, 0, 0, 0, 1487, 1484, 1, 0, 0, 0, 1487, 1485, 1, 0, 0, 0, 1487, 1486, 1, 0, 0, 0, 1488, 271, 1, 0, 0, 0, 1489, 1490, 5, 130, 0, 0, 1490, 1491, 5, 2, 0, 0, 1491, 1492, 3, 234, 117, 0, 1492, 1493, 5, 8, 0, 0, 1493, 1496, 3, 234, 117, 0, 1494, 1495, 5, 8, 0, 0, 1495, 1497, 3, 234, 117, 0, 1496, 1494, 1, 0, 0, 0, 1496, 1497, 1, 0, 0, 0, 1497, 1498, 1, 0, 0, 0, 1498, 1499, 5, 3, 0, 0, 1499, 273, 1, 0, 0, 0, 1500, 1501, 5, 81, 0, 0, 1501, 1502, 5, 2, 0, 0, 1502, 1503, 3, 234, 117, 0, 1503, 1504, 5, 3, 0, 0, 1504, 275, 1, 0, 0, 0, 1505, 1506, 5, 131, 0, 0, 1506, 1507, 5, 2, 0, 0, 1507, 1508, 3, 234, 117, 0, 1508, 1509, 5, 8, 0, 0, 1509, 1512, 3, 234, 117, 0, 1510, 1511, 5, 8, 0, 0, 1511, 1513, 3, 234, 117, 0, 1512, 1510, 1, 0, 0, 0, 1512, 1513, 1, 0, 0, 0, 1513, 1514, 1, 0, 0, 0, 1514, 1515, 5, 3, 0, 0, 1515, 277, 1, 0, 0, 0, 1516, 1517, 5, 132, 0, 0, 1517, 1518, 5, 2, 0, 0, 1518, 1519, 3, 234, 117, 0, 1519, 1520, 5, 8, 0, 0, 1520, 1521, 3, 234, 117, 0, 1521, 1522, 5, 8, 0, 0, 1522, 1525, 3, 234, 117, 0, 1523, 1524, 5, 8, 0, 0, 1524, 1526, 3, 234, 117, 0, 1525, 1523, 1, 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1528, 5, 3, 0, 0, 1528, 279, 1, 0, 0, 0, 1529, 1530, 5, 133, 0, 0, 1530, 1531, 3, 110, 55, 0, 1531, 281, 1, 0, 0, 0, 1532, 1533, 5, 78, 0, 0, 1533, 1534, 5, 133, 0, 0, 1534, 1535, 3, 110, 55, 0, 1535, 283, 1, 0, 0, 0, 1536, 1537, 5, 134, 0, 0, 1537, 1539, 5, 2, 0, 0, 1538, 1540, 5, 33, 0, 0, 1539, 1538, 1, 0, 0, 0, 1539, 1540, 1, 0, 0, 0, 1540, 1543, 1, 0, 0, 0, 1541, 1544, 5, 1, 0, 0, 1542, 1544, 3, 234, 117, 0, 1543, 1541, 1, 0, 0, 0, 1543, 1542, 1, 0, 0, 0, 1544, 1545, 1, 0, 0, 0, 1545, 1609, 5, 3, 0, 0, 1546, 1547, 5, 135, 0, 0, 1547, 1549, 5, 2, 0, 0, 1548, 1550, 5, 33, 0, 0, 1549, 1548, 1, 0, 0, 0, 1549, 1550, 1, 0, 0, 0, 1550, 1551, 1, 0, 0, 0, 1551, 1552, 3, 234, 117, 0, 1552, 1553, 5, 3, 0, 0, 1553, 1609, 1, 0, 0, 0, 1554, 1555, 5, 136, 0, 0, 1555, 1557, 5, 2, 0, 0, 1556, 1558, 5, 33, 0, 0, 1557, 1556, 1, 0, 0, 0, 1557, 1558, 1, 0, 0, 0, 1558, 1559, 1, 0, 0, 0, 1559, 1560, 3, 234, 117, 0, 1560, 1561, 5, 3, 0, 0, 1561, 1609, 1, 0, 0, 0, 1562, 1563, 5, 137, 0, 0, 1563, 1565, 5, 2, 0, 0, 1564, 1566, 5, 33, 0, 0, 1565, 1564, 1, 0, 0, 0, 1565, 1566, 1, 0, 0, 0, 1566, 1567, 1, 0, 0, 0, 1567, 1568, 3, 234, 117, 0, 1568, 1569, 5, 3, 0, 0, 1569, 1609, 1, 0, 0, 0, 1570, 1571, 5, 138, 0, 0, 1571, 1573, 5, 2, 0, 0, 1572, 1574, 5, 33, 0, 0, 1573, 1572, 1, 0, 0, 0, 1573, 1574, 1, 0, 0, 0, 1574, 1575, 1, 0, 0, 0, 1575, 1576, 3, 234, 117, 0, 1576, 1577, 5, 3, 0, 0, 1577, 1609, 1, 0, 0, 0, 1578, 1579, 5, 139, 0, 0, 1579, 1581, 5, 2, 0, 0, 1580, 1582, 5, 33, 0, 0, 1581, 1580, 1, 0, 0, 0, 1581, 1582, 1, 0, 0, 0, 1582, 1583, 1, 0, 0, 0, 1583, 1584, 3, 234, 117, 0, 1584, 1585, 5, 3, 0, 0, 1585, 1609, 1, 0, 0, 0, 1586, 1587, 5, 140, 0, 0, 1587, 1589, 5, 2, 0, 0, 1588, 1590, 5, 33, 0, 0, 1589, 1588, 1, 0, 0, 0, 1589, 1590, 1, 0, 0, 0, 1590, 1591, 1, 0, 0, 0, 1591, 1592, 3, 234, 117, 0, 1592, 1593, 5, 3, 0, 0, 1593, 1609, 1, 0, 0, 0, 1594, 1595, 5, 43, 0, 0, 1595, 1597, 5, 2, 0, 0, 1596, 1598, 5, 33, 0, 0, 1597, 1596, 1, 0, 0, 0, 1597, 1598, 1, 0, 0, 0, 1598, 1599, 1, 0, 0, 0, 1599, 1604, 3, 234, 117, 0, 1600, 1601, 5, 6, 0, 0, 1601, 1602, 5, 141, 0, 0, 1602, 1603, 5, 20, 0, 0, 1603, 1605, 3, 300, 150, 0, 1604, 1600, 1, 0, 0, 0, 1604, 1605, 1, 0, 0, 0, 1605, 1606, 1, 0, 0, 0, 1606, 1607, 5, 3, 0, 0, 1607, 1609, 1, 0, 0, 0, 1608, 1536, 1, 0, 0, 0, 1608, 1546, 1, 0, 0, 0, 1608, 1554, 1, 0, 0, 0, 1608, 1562, 1, 0, 0, 0, 1608, 1570, 1, 0, 0, 0, 1608, 1578, 1, 0, 0, 0, 1608, 1586, 1, 0, 0, 0, 1608, 1594, 1, 0, 0, 0, 1609, 285, 1, 0, 0, 0, 1610, 1612, 3, 302, 151, 0, 1611, 1613, 3, 150, 75, 0, 1612, 1611, 1, 0, 0, 0, 1612, 1613, 1, 0, 0, 0, 1613, 287, 1, 0, 0, 0, 1614, 1618, 3, 300, 150, 0, 1615, 1619, 5, 148, 0, 0, 1616, 1617, 5, 27, 0, 0, 1617, 1619, 3, 302, 151, 0, 1618, 1615, 1, 0, 0, 0, 1618, 1616, 1, 0, 0, 0, 1618, 1619, 1, 0, 0, 0, 1619, 289, 1, 0, 0, 0, 1620, 1624, 3, 292, 146, 0, 1621, 1624, 3, 294, 147, 0, 1622, 1624, 3, 296, 148, 0, 1623, 1620, 1, 0, 0, 0, 1623, 1621, 1, 0, 0, 0, 1623, 1622, 1, 0, 0, 0, 1624, 291, 1, 0, 0, 0, 1625, 1626, 7, 4, 0, 0, 1626, 293, 1, 0, 0, 0, 1627, 1628, 7, 5, 0, 0, 1628, 295, 1, 0, 0, 0, 1629, 1630, 7, 6, 0, 0, 1630, 297, 1, 0, 0, 0, 1631, 1632, 7, 7, 0, 0, 1632, 299, 1, 0, 0, 0, 1633, 1634, 7, 8, 0, 0, 1634, 301, 1, 0, 0, 0, 1635, 1637, 5, 149, 0, 0, 1636, 1635, 1, 0, 0, 0, 1636, 1637, 1, 0, 0, 0, 1637, 1640, 1, 0, 0, 0, 1638, 1641, 3, 308, 154, 0, 1639, 1641, 3, 304, 152, 0, 1640, 1638, 1, 0, 0, 0, 1640, 1639, 1, 0, 0, 0, 1641, 303, 1, 0, 0, 0, 1642, 1645, 3, 310, 155, 0, 1643, 1645, 3, 312, 156, 0, 1644, 1642, 1, 0, 0, 0, 1644, 1643, 1, 0, 0, 0, 1645, 305, 1, 0, 0, 0, 1646, 1647, 7, 9, 0, 0, 1647, 307, 1, 0, 0, 0, 1648, 1649, 5, 142, 0, 0, 1649, 309, 1, 0, 0, 0, 1650, 1651, 5, 144, 0, 0, 1651, 311, 1, 0, 0, 0, 1652, 1653, 5, 143, 0, 0, 1653, 313, 1, 0, 0, 0, 162, 316, 325, 331, 333, 347, 360, 365, 368, 372, 387, 396, 402, 406, 412, 415, 420, 424, 432, 441, 451, 456, 459, 462, 465, 471, 479, 484, 490, 496, 501, 507, 509, 513, 516, 520, 523, 527, 530, 534, 537, 541, 544, 548, 551, 553, 566, 572, 574, 587, 591, 596, 600, 606, 612, 618, 626, 634, 654, 658, 661, 666, 682, 687, 696, 707, 711, 714, 718, 725, 732, 734, 739, 744, 749, 754, 757, 762, 764, 774, 785, 802, 809, 819, 823, 829, 838, 843, 850, 860, 869, 877, 884, 889, 898, 903, 907, 914, 916, 924, 927, 935, 939, 944, 951, 962, 965, 970, 974, 989, 996, 1008, 1016, 1021, 1026, 1038, 1047, 1050, 1053, 1060, 1062, 1068, 1076, 1086, 1094, 1100, 1104, 1108, 1112, 1122, 1131, 1139, 1162, 1170, 1178, 1186, 1191, 1198, 1203, 1218, 1227, 1273, 1487, 1496, 1512, 1525, 1539, 1543, 1549, 1557, 1565, 1573, 1581, 1589, 1597, 1604, 1608, 1612, 1618, 1623, 1636, 1640, 1644] \ No newline at end of file diff --git a/src/parser/sparqlParser/generated/SparqlAutomatic.tokens b/src/parser/sparqlParser/generated/SparqlAutomatic.tokens index 4d2a3fec0c..0d98dd932a 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomatic.tokens +++ b/src/parser/sparqlParser/generated/SparqlAutomatic.tokens @@ -136,43 +136,44 @@ SUM=135 MIN=136 MAX=137 AVG=138 -SAMPLE=139 -SEPARATOR=140 -IRI_REF=141 -PNAME_NS=142 -PNAME_LN=143 -BLANK_NODE_LABEL=144 -VAR1=145 -VAR2=146 -LANGTAG=147 -PREFIX_LANGTAG=148 -INTEGER=149 -DECIMAL=150 -DOUBLE=151 -INTEGER_POSITIVE=152 -DECIMAL_POSITIVE=153 -DOUBLE_POSITIVE=154 -INTEGER_NEGATIVE=155 -DECIMAL_NEGATIVE=156 -DOUBLE_NEGATIVE=157 -EXPONENT=158 -STRING_LITERAL1=159 -STRING_LITERAL2=160 -STRING_LITERAL_LONG1=161 -STRING_LITERAL_LONG2=162 -ECHAR=163 -NIL=164 -ANON=165 -PN_CHARS_U=166 -VARNAME=167 -PN_PREFIX=168 -PN_LOCAL=169 -PLX=170 -PERCENT=171 -HEX=172 -PN_LOCAL_ESC=173 -WS=174 -COMMENTS=175 +STDEV=139 +SAMPLE=140 +SEPARATOR=141 +IRI_REF=142 +PNAME_NS=143 +PNAME_LN=144 +BLANK_NODE_LABEL=145 +VAR1=146 +VAR2=147 +LANGTAG=148 +PREFIX_LANGTAG=149 +INTEGER=150 +DECIMAL=151 +DOUBLE=152 +INTEGER_POSITIVE=153 +DECIMAL_POSITIVE=154 +DOUBLE_POSITIVE=155 +INTEGER_NEGATIVE=156 +DECIMAL_NEGATIVE=157 +DOUBLE_NEGATIVE=158 +EXPONENT=159 +STRING_LITERAL1=160 +STRING_LITERAL2=161 +STRING_LITERAL_LONG1=162 +STRING_LITERAL_LONG2=163 +ECHAR=164 +NIL=165 +ANON=166 +PN_CHARS_U=167 +VARNAME=168 +PN_PREFIX=169 +PN_LOCAL=170 +PLX=171 +PERCENT=172 +HEX=173 +PN_LOCAL_ESC=174 +WS=175 +COMMENTS=176 '*'=1 '('=2 ')'=3 diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp index a1c2bd1aaf..15306faaff 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp @@ -186,6 +186,7 @@ void sparqlautomaticlexerLexerInitialize() { "MIN", "MAX", "AVG", + "STDEV", "SAMPLE", "SEPARATOR", "IRI_REF", @@ -399,6 +400,7 @@ void sparqlautomaticlexerLexerInitialize() { "MIN", "MAX", "AVG", + "STDEV", "SAMPLE", "SEPARATOR", "IRI_REF", @@ -437,1259 +439,1265 @@ void sparqlautomaticlexerLexerInitialize() { "WS", "COMMENTS"}); static const int32_t serializedATNSegment[] = { - 4, 0, 175, 1590, 6, -1, 2, 0, 7, 0, 2, - 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, - 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, - 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, - 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, - 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, - 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, - 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, - 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, - 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, - 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, - 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, - 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, - 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, - 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, - 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, - 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, - 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, - 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, - 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, - 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, - 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, - 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, - 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, - 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, - 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, - 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, - 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, - 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, - 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, - 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, - 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, - 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, - 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, - 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, - 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, - 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, - 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, - 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, - 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, - 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, - 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, - 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, - 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, - 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, - 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, - 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, - 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, - 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, - 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, - 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, - 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, - 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, - 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, - 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, - 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, - 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, - 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, - 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, - 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, - 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, - 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, - 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, - 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, - 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, - 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, - 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, - 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, - 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, - 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, - 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, - 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, - 7, 196, 2, 197, 7, 197, 2, 198, 7, 198, 2, - 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, - 2, 202, 7, 202, 2, 203, 7, 203, 1, 0, 1, - 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, - 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, - 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, - 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, - 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, - 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, - 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, - 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, - 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, - 1, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, - 25, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, - 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, - 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, - 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, - 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, - 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, - 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, - 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, - 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, - 1, 33, 1, 34, 1, 34, 1, 34, 1, 35, 1, - 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, - 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, - 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, - 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, - 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, - 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, - 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, - 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, - 41, 4, 41, 566, 8, 41, 11, 41, 12, 41, 567, - 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, - 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, - 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, - 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, - 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, - 44, 1, 44, 4, 44, 599, 8, 44, 11, 44, 12, - 44, 600, 1, 44, 1, 44, 1, 44, 1, 45, 1, - 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, - 1, 45, 1, 45, 4, 45, 615, 8, 45, 11, 45, - 12, 45, 616, 1, 45, 1, 45, 1, 45, 1, 45, - 1, 45, 4, 45, 624, 8, 45, 11, 45, 12, 45, - 625, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, - 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, - 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, - 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, - 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, - 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, - 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, - 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, - 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, - 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, - 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, - 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, - 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, - 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, - 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, - 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, - 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, - 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, - 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, - 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, - 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, - 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, - 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, - 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, - 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, - 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, - 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, - 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, - 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, - 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, - 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, - 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, - 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, - 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, - 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, - 1, 77, 1, 78, 1, 78, 1, 78, 1, 79, 1, - 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, - 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, - 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, - 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, - 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, - 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, - 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, - 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, - 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, - 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, - 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, - 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, - 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, - 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, - 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, - 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, - 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, - 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, - 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, - 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, - 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, - 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, - 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, - 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, - 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, - 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, - 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, - 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, - 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, - 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, - 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, - 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, - 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, - 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, - 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, - 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, - 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, - 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, - 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, - 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, - 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, - 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, - 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, - 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, - 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, - 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, - 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, - 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, - 1, 119, 1, 120, 1, 120, 1, 120, 1, 121, 1, - 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, - 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, - 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, - 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, - 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, - 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, - 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, - 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, - 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, - 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, - 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, - 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, - 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, - 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, - 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, - 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, - 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, - 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, - 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, - 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, - 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, - 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, - 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, - 1, 139, 1, 139, 1, 140, 1, 140, 5, 140, 1231, - 8, 140, 10, 140, 12, 140, 1234, 9, 140, 1, 140, - 1, 140, 1, 141, 3, 141, 1239, 8, 141, 1, 141, - 1, 141, 1, 142, 1, 142, 1, 142, 1, 143, 1, - 143, 1, 143, 1, 143, 1, 143, 3, 143, 1251, 8, - 143, 1, 143, 1, 143, 5, 143, 1255, 8, 143, 10, - 143, 12, 143, 1258, 9, 143, 1, 143, 3, 143, 1261, - 8, 143, 1, 144, 1, 144, 1, 144, 1, 145, 1, - 145, 1, 145, 1, 146, 1, 146, 4, 146, 1271, 8, - 146, 11, 146, 12, 146, 1272, 1, 146, 1, 146, 1, - 146, 4, 146, 1278, 8, 146, 11, 146, 12, 146, 1279, - 5, 146, 1282, 8, 146, 10, 146, 12, 146, 1285, 9, - 146, 1, 147, 1, 147, 1, 147, 1, 148, 4, 148, - 1291, 8, 148, 11, 148, 12, 148, 1292, 1, 149, 5, - 149, 1296, 8, 149, 10, 149, 12, 149, 1299, 9, 149, - 1, 149, 1, 149, 4, 149, 1303, 8, 149, 11, 149, - 12, 149, 1304, 1, 150, 4, 150, 1308, 8, 150, 11, - 150, 12, 150, 1309, 1, 150, 1, 150, 5, 150, 1314, - 8, 150, 10, 150, 12, 150, 1317, 9, 150, 1, 150, - 1, 150, 1, 150, 1, 150, 4, 150, 1323, 8, 150, - 11, 150, 12, 150, 1324, 1, 150, 1, 150, 1, 150, - 4, 150, 1330, 8, 150, 11, 150, 12, 150, 1331, 1, - 150, 1, 150, 3, 150, 1336, 8, 150, 1, 151, 1, - 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 153, - 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, - 155, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, - 1, 157, 1, 157, 3, 157, 1358, 8, 157, 1, 157, - 4, 157, 1361, 8, 157, 11, 157, 12, 157, 1362, 1, - 158, 1, 158, 1, 158, 5, 158, 1368, 8, 158, 10, - 158, 12, 158, 1371, 9, 158, 1, 158, 1, 158, 1, - 159, 1, 159, 1, 159, 5, 159, 1378, 8, 159, 10, - 159, 12, 159, 1381, 9, 159, 1, 159, 1, 159, 1, - 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, - 1, 160, 3, 160, 1392, 8, 160, 1, 160, 1, 160, - 3, 160, 1396, 8, 160, 5, 160, 1398, 8, 160, 10, - 160, 12, 160, 1401, 9, 160, 1, 160, 1, 160, 1, - 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161, - 1, 161, 1, 161, 1, 161, 3, 161, 1414, 8, 161, - 1, 161, 1, 161, 3, 161, 1418, 8, 161, 5, 161, - 1420, 8, 161, 10, 161, 12, 161, 1423, 9, 161, 1, - 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, - 1, 162, 1, 163, 1, 163, 5, 163, 1434, 8, 163, - 10, 163, 12, 163, 1437, 9, 163, 1, 163, 1, 163, - 1, 164, 1, 164, 5, 164, 1443, 8, 164, 10, 164, - 12, 164, 1446, 9, 164, 1, 164, 1, 164, 1, 165, - 1, 165, 3, 165, 1452, 8, 165, 1, 166, 1, 166, - 3, 166, 1456, 8, 166, 1, 166, 1, 166, 1, 166, - 5, 166, 1461, 8, 166, 10, 166, 12, 166, 1464, 9, - 166, 1, 167, 1, 167, 1, 167, 1, 167, 3, 167, - 1470, 8, 167, 1, 168, 1, 168, 1, 168, 5, 168, - 1475, 8, 168, 10, 168, 12, 168, 1478, 9, 168, 1, - 168, 3, 168, 1481, 8, 168, 1, 169, 1, 169, 1, - 169, 1, 169, 3, 169, 1487, 8, 169, 1, 169, 1, - 169, 1, 169, 5, 169, 1492, 8, 169, 10, 169, 12, - 169, 1495, 9, 169, 1, 169, 1, 169, 1, 169, 3, - 169, 1500, 8, 169, 3, 169, 1502, 8, 169, 1, 170, - 1, 170, 3, 170, 1506, 8, 170, 1, 171, 1, 171, - 1, 171, 1, 171, 1, 172, 1, 172, 3, 172, 1514, - 8, 172, 1, 173, 1, 173, 1, 173, 1, 174, 1, - 174, 1, 175, 1, 175, 1, 176, 4, 176, 1524, 8, - 176, 11, 176, 12, 176, 1525, 1, 176, 1, 176, 1, - 177, 1, 177, 5, 177, 1532, 8, 177, 10, 177, 12, - 177, 1535, 9, 177, 1, 177, 1, 177, 1, 178, 1, - 178, 1, 179, 1, 179, 1, 180, 1, 180, 1, 181, - 1, 181, 1, 182, 1, 182, 1, 183, 1, 183, 1, - 184, 1, 184, 1, 185, 1, 185, 1, 186, 1, 186, - 1, 187, 1, 187, 1, 188, 1, 188, 1, 189, 1, - 189, 1, 190, 1, 190, 1, 191, 1, 191, 1, 192, - 1, 192, 1, 193, 1, 193, 1, 194, 1, 194, 1, - 195, 1, 195, 1, 196, 1, 196, 1, 197, 1, 197, - 1, 198, 1, 198, 1, 199, 1, 199, 1, 200, 1, - 200, 1, 201, 1, 201, 1, 202, 1, 202, 1, 203, - 1, 203, 0, 0, 204, 1, 1, 3, 2, 5, 3, - 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, - 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, - 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, - 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, - 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, - 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, - 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, - 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, - 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, - 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, - 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, - 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, - 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, - 75, 151, 76, 153, 77, 155, 78, 157, 79, 159, 80, - 161, 81, 163, 82, 165, 83, 167, 84, 169, 85, 171, - 86, 173, 87, 175, 88, 177, 89, 179, 90, 181, 91, - 183, 92, 185, 93, 187, 94, 189, 95, 191, 96, 193, - 97, 195, 98, 197, 99, 199, 100, 201, 101, 203, 102, - 205, 103, 207, 104, 209, 105, 211, 106, 213, 107, 215, - 108, 217, 109, 219, 110, 221, 111, 223, 112, 225, 113, - 227, 114, 229, 115, 231, 116, 233, 117, 235, 118, 237, - 119, 239, 120, 241, 121, 243, 122, 245, 123, 247, 124, - 249, 125, 251, 126, 253, 127, 255, 128, 257, 129, 259, - 130, 261, 131, 263, 132, 265, 133, 267, 134, 269, 135, - 271, 136, 273, 137, 275, 138, 277, 139, 279, 140, 281, - 141, 283, 142, 285, 143, 287, 144, 289, 145, 291, 146, - 293, 147, 295, 148, 297, 149, 299, 150, 301, 151, 303, - 152, 305, 153, 307, 154, 309, 155, 311, 156, 313, 157, - 315, 158, 317, 159, 319, 160, 321, 161, 323, 162, 325, - 163, 327, 164, 329, 165, 331, 166, 333, 167, 335, 0, - 337, 168, 339, 169, 341, 170, 343, 171, 345, 172, 347, - 173, 349, 0, 351, 0, 353, 174, 355, 175, 357, 0, - 359, 0, 361, 0, 363, 0, 365, 0, 367, 0, 369, - 0, 371, 0, 373, 0, 375, 0, 377, 0, 379, 0, - 381, 0, 383, 0, 385, 0, 387, 0, 389, 0, 391, - 0, 393, 0, 395, 0, 397, 0, 399, 0, 401, 0, - 403, 0, 405, 0, 407, 0, 1, 0, 41, 8, 0, - 0, 32, 34, 34, 60, 60, 62, 62, 92, 92, 94, - 94, 96, 96, 123, 125, 2, 0, 65, 90, 97, 122, - 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, - 45, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, - 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 2, - 0, 39, 39, 92, 92, 2, 0, 34, 34, 92, 92, - 8, 0, 34, 34, 39, 39, 92, 92, 98, 98, 102, - 102, 110, 110, 114, 114, 116, 116, 3, 0, 183, 183, - 768, 879, 8255, 8256, 2, 0, 46, 46, 58, 58, 2, - 0, 65, 70, 97, 102, 7, 0, 33, 33, 35, 47, - 59, 59, 61, 61, 63, 64, 95, 95, 126, 126, 13, - 0, 65, 90, 97, 122, 192, 214, 216, 246, 248, 767, - 880, 893, 895, 8191, 8204, 8205, 8304, 8591, 11264, 12271, 12289, - 55295, 63744, 64975, 65008, 65533, 3, 0, 9, 10, 13, 13, - 32, 32, 2, 0, 10, 10, 13, 13, 2, 0, 65, - 65, 97, 97, 2, 0, 66, 66, 98, 98, 2, 0, - 67, 67, 99, 99, 2, 0, 68, 68, 100, 100, 2, - 0, 70, 70, 102, 102, 2, 0, 71, 71, 103, 103, - 2, 0, 72, 72, 104, 104, 2, 0, 73, 73, 105, - 105, 2, 0, 74, 74, 106, 106, 2, 0, 75, 75, - 107, 107, 2, 0, 76, 76, 108, 108, 2, 0, 77, - 77, 109, 109, 2, 0, 78, 78, 110, 110, 2, 0, - 79, 79, 111, 111, 2, 0, 80, 80, 112, 112, 2, - 0, 81, 81, 113, 113, 2, 0, 82, 82, 114, 114, - 2, 0, 83, 83, 115, 115, 2, 0, 84, 84, 116, - 116, 2, 0, 85, 85, 117, 117, 2, 0, 86, 86, - 118, 118, 2, 0, 87, 87, 119, 119, 2, 0, 88, - 88, 120, 120, 2, 0, 89, 89, 121, 121, 2, 0, - 90, 90, 122, 122, 1623, 0, 1, 1, 0, 0, 0, - 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, - 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, - 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, - 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, - 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, - 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, - 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, - 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, - 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, - 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, - 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, - 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, - 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, - 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, - 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, - 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, - 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, - 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, - 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, - 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, - 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, - 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, - 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, - 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, - 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, - 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, - 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, - 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, - 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, - 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, - 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, - 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, - 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, - 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, - 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, - 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, - 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, - 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, - 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, - 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, - 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, - 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, - 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, - 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, - 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, - 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, - 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, - 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, - 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, - 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, - 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, - 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, - 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, - 197, 1, 0, 0, 0, 0, 199, 1, 0, 0, 0, - 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, - 0, 0, 205, 1, 0, 0, 0, 0, 207, 1, 0, - 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, - 0, 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, - 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, - 219, 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, - 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, - 0, 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, - 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, - 0, 0, 0, 0, 235, 1, 0, 0, 0, 0, 237, - 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, - 241, 1, 0, 0, 0, 0, 243, 1, 0, 0, 0, - 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, 0, - 0, 0, 249, 1, 0, 0, 0, 0, 251, 1, 0, - 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, 1, - 0, 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, - 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, - 263, 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, - 0, 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, - 0, 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, - 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, - 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 281, - 1, 0, 0, 0, 0, 283, 1, 0, 0, 0, 0, - 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, - 0, 289, 1, 0, 0, 0, 0, 291, 1, 0, 0, - 0, 0, 293, 1, 0, 0, 0, 0, 295, 1, 0, - 0, 0, 0, 297, 1, 0, 0, 0, 0, 299, 1, - 0, 0, 0, 0, 301, 1, 0, 0, 0, 0, 303, - 1, 0, 0, 0, 0, 305, 1, 0, 0, 0, 0, - 307, 1, 0, 0, 0, 0, 309, 1, 0, 0, 0, - 0, 311, 1, 0, 0, 0, 0, 313, 1, 0, 0, - 0, 0, 315, 1, 0, 0, 0, 0, 317, 1, 0, - 0, 0, 0, 319, 1, 0, 0, 0, 0, 321, 1, - 0, 0, 0, 0, 323, 1, 0, 0, 0, 0, 325, - 1, 0, 0, 0, 0, 327, 1, 0, 0, 0, 0, - 329, 1, 0, 0, 0, 0, 331, 1, 0, 0, 0, - 0, 333, 1, 0, 0, 0, 0, 337, 1, 0, 0, - 0, 0, 339, 1, 0, 0, 0, 0, 341, 1, 0, - 0, 0, 0, 343, 1, 0, 0, 0, 0, 345, 1, - 0, 0, 0, 0, 347, 1, 0, 0, 0, 0, 353, - 1, 0, 0, 0, 0, 355, 1, 0, 0, 0, 1, - 409, 1, 0, 0, 0, 3, 411, 1, 0, 0, 0, - 5, 413, 1, 0, 0, 0, 7, 415, 1, 0, 0, - 0, 9, 417, 1, 0, 0, 0, 11, 419, 1, 0, - 0, 0, 13, 421, 1, 0, 0, 0, 15, 423, 1, - 0, 0, 0, 17, 425, 1, 0, 0, 0, 19, 427, - 1, 0, 0, 0, 21, 429, 1, 0, 0, 0, 23, - 431, 1, 0, 0, 0, 25, 433, 1, 0, 0, 0, - 27, 435, 1, 0, 0, 0, 29, 437, 1, 0, 0, - 0, 31, 439, 1, 0, 0, 0, 33, 441, 1, 0, - 0, 0, 35, 443, 1, 0, 0, 0, 37, 446, 1, - 0, 0, 0, 39, 449, 1, 0, 0, 0, 41, 451, - 1, 0, 0, 0, 43, 454, 1, 0, 0, 0, 45, - 456, 1, 0, 0, 0, 47, 458, 1, 0, 0, 0, - 49, 461, 1, 0, 0, 0, 51, 464, 1, 0, 0, - 0, 53, 466, 1, 0, 0, 0, 55, 469, 1, 0, - 0, 0, 57, 474, 1, 0, 0, 0, 59, 480, 1, - 0, 0, 0, 61, 485, 1, 0, 0, 0, 63, 492, - 1, 0, 0, 0, 65, 499, 1, 0, 0, 0, 67, - 508, 1, 0, 0, 0, 69, 516, 1, 0, 0, 0, - 71, 519, 1, 0, 0, 0, 73, 529, 1, 0, 0, - 0, 75, 535, 1, 0, 0, 0, 77, 544, 1, 0, - 0, 0, 79, 548, 1, 0, 0, 0, 81, 553, 1, - 0, 0, 0, 83, 559, 1, 0, 0, 0, 85, 572, - 1, 0, 0, 0, 87, 585, 1, 0, 0, 0, 89, - 592, 1, 0, 0, 0, 91, 605, 1, 0, 0, 0, - 93, 630, 1, 0, 0, 0, 95, 634, 1, 0, 0, - 0, 97, 639, 1, 0, 0, 0, 99, 645, 1, 0, - 0, 0, 101, 652, 1, 0, 0, 0, 103, 662, 1, - 0, 0, 0, 105, 669, 1, 0, 0, 0, 107, 674, - 1, 0, 0, 0, 109, 681, 1, 0, 0, 0, 111, - 686, 1, 0, 0, 0, 113, 692, 1, 0, 0, 0, - 115, 697, 1, 0, 0, 0, 117, 704, 1, 0, 0, - 0, 119, 708, 1, 0, 0, 0, 121, 711, 1, 0, - 0, 0, 123, 716, 1, 0, 0, 0, 125, 721, 1, - 0, 0, 0, 127, 726, 1, 0, 0, 0, 129, 733, - 1, 0, 0, 0, 131, 740, 1, 0, 0, 0, 133, - 745, 1, 0, 0, 0, 135, 751, 1, 0, 0, 0, - 137, 759, 1, 0, 0, 0, 139, 765, 1, 0, 0, - 0, 141, 769, 1, 0, 0, 0, 143, 778, 1, 0, - 0, 0, 145, 786, 1, 0, 0, 0, 147, 791, 1, - 0, 0, 0, 149, 797, 1, 0, 0, 0, 151, 803, - 1, 0, 0, 0, 153, 809, 1, 0, 0, 0, 155, - 816, 1, 0, 0, 0, 157, 820, 1, 0, 0, 0, - 159, 823, 1, 0, 0, 0, 161, 827, 1, 0, 0, - 0, 163, 832, 1, 0, 0, 0, 165, 844, 1, 0, - 0, 0, 167, 853, 1, 0, 0, 0, 169, 859, 1, - 0, 0, 0, 171, 863, 1, 0, 0, 0, 173, 867, - 1, 0, 0, 0, 175, 873, 1, 0, 0, 0, 177, - 878, 1, 0, 0, 0, 179, 882, 1, 0, 0, 0, - 181, 887, 1, 0, 0, 0, 183, 893, 1, 0, 0, - 0, 185, 899, 1, 0, 0, 0, 187, 906, 1, 0, - 0, 0, 189, 913, 1, 0, 0, 0, 191, 919, 1, - 0, 0, 0, 193, 925, 1, 0, 0, 0, 195, 940, - 1, 0, 0, 0, 197, 944, 1, 0, 0, 0, 199, - 953, 1, 0, 0, 0, 201, 963, 1, 0, 0, 0, - 203, 971, 1, 0, 0, 0, 205, 981, 1, 0, 0, - 0, 207, 990, 1, 0, 0, 0, 209, 995, 1, 0, - 0, 0, 211, 1001, 1, 0, 0, 0, 213, 1005, 1, - 0, 0, 0, 215, 1011, 1, 0, 0, 0, 217, 1019, - 1, 0, 0, 0, 219, 1027, 1, 0, 0, 0, 221, - 1036, 1, 0, 0, 0, 223, 1039, 1, 0, 0, 0, - 225, 1043, 1, 0, 0, 0, 227, 1048, 1, 0, 0, - 0, 229, 1056, 1, 0, 0, 0, 231, 1061, 1, 0, - 0, 0, 233, 1068, 1, 0, 0, 0, 235, 1075, 1, - 0, 0, 0, 237, 1082, 1, 0, 0, 0, 239, 1086, - 1, 0, 0, 0, 241, 1095, 1, 0, 0, 0, 243, - 1098, 1, 0, 0, 0, 245, 1106, 1, 0, 0, 0, - 247, 1112, 1, 0, 0, 0, 249, 1121, 1, 0, 0, - 0, 251, 1127, 1, 0, 0, 0, 253, 1133, 1, 0, - 0, 0, 255, 1141, 1, 0, 0, 0, 257, 1151, 1, - 0, 0, 0, 259, 1161, 1, 0, 0, 0, 261, 1167, - 1, 0, 0, 0, 263, 1174, 1, 0, 0, 0, 265, - 1182, 1, 0, 0, 0, 267, 1189, 1, 0, 0, 0, - 269, 1195, 1, 0, 0, 0, 271, 1199, 1, 0, 0, - 0, 273, 1203, 1, 0, 0, 0, 275, 1207, 1, 0, - 0, 0, 277, 1211, 1, 0, 0, 0, 279, 1218, 1, - 0, 0, 0, 281, 1228, 1, 0, 0, 0, 283, 1238, - 1, 0, 0, 0, 285, 1242, 1, 0, 0, 0, 287, - 1245, 1, 0, 0, 0, 289, 1262, 1, 0, 0, 0, - 291, 1265, 1, 0, 0, 0, 293, 1268, 1, 0, 0, - 0, 295, 1286, 1, 0, 0, 0, 297, 1290, 1, 0, - 0, 0, 299, 1297, 1, 0, 0, 0, 301, 1335, 1, - 0, 0, 0, 303, 1337, 1, 0, 0, 0, 305, 1340, - 1, 0, 0, 0, 307, 1343, 1, 0, 0, 0, 309, - 1346, 1, 0, 0, 0, 311, 1349, 1, 0, 0, 0, - 313, 1352, 1, 0, 0, 0, 315, 1355, 1, 0, 0, - 0, 317, 1364, 1, 0, 0, 0, 319, 1374, 1, 0, - 0, 0, 321, 1384, 1, 0, 0, 0, 323, 1406, 1, - 0, 0, 0, 325, 1428, 1, 0, 0, 0, 327, 1431, - 1, 0, 0, 0, 329, 1440, 1, 0, 0, 0, 331, - 1451, 1, 0, 0, 0, 333, 1455, 1, 0, 0, 0, - 335, 1469, 1, 0, 0, 0, 337, 1471, 1, 0, 0, - 0, 339, 1486, 1, 0, 0, 0, 341, 1505, 1, 0, - 0, 0, 343, 1507, 1, 0, 0, 0, 345, 1513, 1, - 0, 0, 0, 347, 1515, 1, 0, 0, 0, 349, 1518, - 1, 0, 0, 0, 351, 1520, 1, 0, 0, 0, 353, - 1523, 1, 0, 0, 0, 355, 1529, 1, 0, 0, 0, - 357, 1538, 1, 0, 0, 0, 359, 1540, 1, 0, 0, - 0, 361, 1542, 1, 0, 0, 0, 363, 1544, 1, 0, - 0, 0, 365, 1546, 1, 0, 0, 0, 367, 1548, 1, - 0, 0, 0, 369, 1550, 1, 0, 0, 0, 371, 1552, - 1, 0, 0, 0, 373, 1554, 1, 0, 0, 0, 375, - 1556, 1, 0, 0, 0, 377, 1558, 1, 0, 0, 0, - 379, 1560, 1, 0, 0, 0, 381, 1562, 1, 0, 0, - 0, 383, 1564, 1, 0, 0, 0, 385, 1566, 1, 0, - 0, 0, 387, 1568, 1, 0, 0, 0, 389, 1570, 1, - 0, 0, 0, 391, 1572, 1, 0, 0, 0, 393, 1574, - 1, 0, 0, 0, 395, 1576, 1, 0, 0, 0, 397, - 1578, 1, 0, 0, 0, 399, 1580, 1, 0, 0, 0, - 401, 1582, 1, 0, 0, 0, 403, 1584, 1, 0, 0, - 0, 405, 1586, 1, 0, 0, 0, 407, 1588, 1, 0, - 0, 0, 409, 410, 5, 42, 0, 0, 410, 2, 1, - 0, 0, 0, 411, 412, 5, 40, 0, 0, 412, 4, - 1, 0, 0, 0, 413, 414, 5, 41, 0, 0, 414, - 6, 1, 0, 0, 0, 415, 416, 5, 123, 0, 0, - 416, 8, 1, 0, 0, 0, 417, 418, 5, 125, 0, - 0, 418, 10, 1, 0, 0, 0, 419, 420, 5, 59, - 0, 0, 420, 12, 1, 0, 0, 0, 421, 422, 5, - 46, 0, 0, 422, 14, 1, 0, 0, 0, 423, 424, - 5, 44, 0, 0, 424, 16, 1, 0, 0, 0, 425, - 426, 5, 97, 0, 0, 426, 18, 1, 0, 0, 0, - 427, 428, 5, 124, 0, 0, 428, 20, 1, 0, 0, - 0, 429, 430, 5, 47, 0, 0, 430, 22, 1, 0, - 0, 0, 431, 432, 5, 94, 0, 0, 432, 24, 1, - 0, 0, 0, 433, 434, 5, 43, 0, 0, 434, 26, - 1, 0, 0, 0, 435, 436, 5, 63, 0, 0, 436, - 28, 1, 0, 0, 0, 437, 438, 5, 33, 0, 0, - 438, 30, 1, 0, 0, 0, 439, 440, 5, 91, 0, - 0, 440, 32, 1, 0, 0, 0, 441, 442, 5, 93, - 0, 0, 442, 34, 1, 0, 0, 0, 443, 444, 5, - 124, 0, 0, 444, 445, 5, 124, 0, 0, 445, 36, - 1, 0, 0, 0, 446, 447, 5, 38, 0, 0, 447, - 448, 5, 38, 0, 0, 448, 38, 1, 0, 0, 0, - 449, 450, 5, 61, 0, 0, 450, 40, 1, 0, 0, - 0, 451, 452, 5, 33, 0, 0, 452, 453, 5, 61, - 0, 0, 453, 42, 1, 0, 0, 0, 454, 455, 5, - 60, 0, 0, 455, 44, 1, 0, 0, 0, 456, 457, - 5, 62, 0, 0, 457, 46, 1, 0, 0, 0, 458, - 459, 5, 60, 0, 0, 459, 460, 5, 61, 0, 0, - 460, 48, 1, 0, 0, 0, 461, 462, 5, 62, 0, - 0, 462, 463, 5, 61, 0, 0, 463, 50, 1, 0, - 0, 0, 464, 465, 5, 45, 0, 0, 465, 52, 1, - 0, 0, 0, 466, 467, 5, 94, 0, 0, 467, 468, - 5, 94, 0, 0, 468, 54, 1, 0, 0, 0, 469, - 470, 5, 116, 0, 0, 470, 471, 5, 114, 0, 0, - 471, 472, 5, 117, 0, 0, 472, 473, 5, 101, 0, - 0, 473, 56, 1, 0, 0, 0, 474, 475, 5, 102, - 0, 0, 475, 476, 5, 97, 0, 0, 476, 477, 5, - 108, 0, 0, 477, 478, 5, 115, 0, 0, 478, 479, - 5, 101, 0, 0, 479, 58, 1, 0, 0, 0, 480, - 481, 3, 359, 179, 0, 481, 482, 3, 357, 178, 0, - 482, 483, 3, 393, 196, 0, 483, 484, 3, 365, 182, - 0, 484, 60, 1, 0, 0, 0, 485, 486, 3, 387, - 193, 0, 486, 487, 3, 391, 195, 0, 487, 488, 3, - 365, 182, 0, 488, 489, 3, 367, 183, 0, 489, 490, - 3, 373, 186, 0, 490, 491, 3, 403, 201, 0, 491, - 62, 1, 0, 0, 0, 492, 493, 3, 393, 196, 0, - 493, 494, 3, 365, 182, 0, 494, 495, 3, 379, 189, - 0, 495, 496, 3, 365, 182, 0, 496, 497, 3, 361, - 180, 0, 497, 498, 3, 395, 197, 0, 498, 64, 1, - 0, 0, 0, 499, 500, 3, 363, 181, 0, 500, 501, - 3, 373, 186, 0, 501, 502, 3, 393, 196, 0, 502, - 503, 3, 395, 197, 0, 503, 504, 3, 373, 186, 0, - 504, 505, 3, 383, 191, 0, 505, 506, 3, 361, 180, - 0, 506, 507, 3, 395, 197, 0, 507, 66, 1, 0, - 0, 0, 508, 509, 3, 391, 195, 0, 509, 510, 3, - 365, 182, 0, 510, 511, 3, 363, 181, 0, 511, 512, - 3, 397, 198, 0, 512, 513, 3, 361, 180, 0, 513, - 514, 3, 365, 182, 0, 514, 515, 3, 363, 181, 0, - 515, 68, 1, 0, 0, 0, 516, 517, 3, 357, 178, - 0, 517, 518, 3, 393, 196, 0, 518, 70, 1, 0, - 0, 0, 519, 520, 3, 361, 180, 0, 520, 521, 3, - 385, 192, 0, 521, 522, 3, 383, 191, 0, 522, 523, - 3, 393, 196, 0, 523, 524, 3, 395, 197, 0, 524, - 525, 3, 391, 195, 0, 525, 526, 3, 397, 198, 0, - 526, 527, 3, 361, 180, 0, 527, 528, 3, 395, 197, - 0, 528, 72, 1, 0, 0, 0, 529, 530, 3, 401, - 200, 0, 530, 531, 3, 371, 185, 0, 531, 532, 3, - 365, 182, 0, 532, 533, 3, 391, 195, 0, 533, 534, - 3, 365, 182, 0, 534, 74, 1, 0, 0, 0, 535, - 536, 3, 363, 181, 0, 536, 537, 3, 365, 182, 0, - 537, 538, 3, 393, 196, 0, 538, 539, 3, 361, 180, - 0, 539, 540, 3, 391, 195, 0, 540, 541, 3, 373, - 186, 0, 541, 542, 3, 359, 179, 0, 542, 543, 3, - 365, 182, 0, 543, 76, 1, 0, 0, 0, 544, 545, - 3, 357, 178, 0, 545, 546, 3, 393, 196, 0, 546, - 547, 3, 377, 188, 0, 547, 78, 1, 0, 0, 0, - 548, 549, 3, 367, 183, 0, 549, 550, 3, 391, 195, - 0, 550, 551, 3, 385, 192, 0, 551, 552, 3, 381, - 190, 0, 552, 80, 1, 0, 0, 0, 553, 554, 3, - 383, 191, 0, 554, 555, 3, 357, 178, 0, 555, 556, - 3, 381, 190, 0, 556, 557, 3, 365, 182, 0, 557, - 558, 3, 363, 181, 0, 558, 82, 1, 0, 0, 0, - 559, 560, 3, 369, 184, 0, 560, 561, 3, 391, 195, - 0, 561, 562, 3, 385, 192, 0, 562, 563, 3, 397, - 198, 0, 563, 565, 3, 387, 193, 0, 564, 566, 3, - 353, 176, 0, 565, 564, 1, 0, 0, 0, 566, 567, - 1, 0, 0, 0, 567, 565, 1, 0, 0, 0, 567, - 568, 1, 0, 0, 0, 568, 569, 1, 0, 0, 0, - 569, 570, 3, 359, 179, 0, 570, 571, 3, 405, 202, - 0, 571, 84, 1, 0, 0, 0, 572, 573, 3, 369, - 184, 0, 573, 574, 3, 391, 195, 0, 574, 575, 3, - 385, 192, 0, 575, 576, 3, 397, 198, 0, 576, 577, - 3, 387, 193, 0, 577, 578, 5, 95, 0, 0, 578, - 579, 3, 361, 180, 0, 579, 580, 3, 385, 192, 0, - 580, 581, 3, 383, 191, 0, 581, 582, 3, 361, 180, - 0, 582, 583, 3, 357, 178, 0, 583, 584, 3, 395, - 197, 0, 584, 86, 1, 0, 0, 0, 585, 586, 3, - 371, 185, 0, 586, 587, 3, 357, 178, 0, 587, 588, - 3, 399, 199, 0, 588, 589, 3, 373, 186, 0, 589, - 590, 3, 383, 191, 0, 590, 591, 3, 369, 184, 0, - 591, 88, 1, 0, 0, 0, 592, 593, 3, 385, 192, - 0, 593, 594, 3, 391, 195, 0, 594, 595, 3, 363, - 181, 0, 595, 596, 3, 365, 182, 0, 596, 598, 3, - 391, 195, 0, 597, 599, 3, 353, 176, 0, 598, 597, - 1, 0, 0, 0, 599, 600, 1, 0, 0, 0, 600, - 598, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, - 601, 602, 1, 0, 0, 0, 602, 603, 3, 359, 179, - 0, 603, 604, 3, 405, 202, 0, 604, 90, 1, 0, - 0, 0, 605, 606, 3, 373, 186, 0, 606, 607, 3, - 383, 191, 0, 607, 608, 3, 395, 197, 0, 608, 609, - 3, 365, 182, 0, 609, 610, 3, 391, 195, 0, 610, - 611, 3, 383, 191, 0, 611, 612, 3, 357, 178, 0, - 612, 614, 3, 379, 189, 0, 613, 615, 3, 353, 176, - 0, 614, 613, 1, 0, 0, 0, 615, 616, 1, 0, - 0, 0, 616, 614, 1, 0, 0, 0, 616, 617, 1, - 0, 0, 0, 617, 618, 1, 0, 0, 0, 618, 619, - 3, 393, 196, 0, 619, 620, 3, 385, 192, 0, 620, - 621, 3, 391, 195, 0, 621, 623, 3, 395, 197, 0, - 622, 624, 3, 353, 176, 0, 623, 622, 1, 0, 0, - 0, 624, 625, 1, 0, 0, 0, 625, 623, 1, 0, - 0, 0, 625, 626, 1, 0, 0, 0, 626, 627, 1, - 0, 0, 0, 627, 628, 3, 359, 179, 0, 628, 629, - 3, 405, 202, 0, 629, 92, 1, 0, 0, 0, 630, - 631, 3, 357, 178, 0, 631, 632, 3, 393, 196, 0, - 632, 633, 3, 361, 180, 0, 633, 94, 1, 0, 0, - 0, 634, 635, 3, 363, 181, 0, 635, 636, 3, 365, - 182, 0, 636, 637, 3, 393, 196, 0, 637, 638, 3, - 361, 180, 0, 638, 96, 1, 0, 0, 0, 639, 640, - 3, 379, 189, 0, 640, 641, 3, 373, 186, 0, 641, - 642, 3, 381, 190, 0, 642, 643, 3, 373, 186, 0, - 643, 644, 3, 395, 197, 0, 644, 98, 1, 0, 0, - 0, 645, 646, 3, 385, 192, 0, 646, 647, 3, 367, - 183, 0, 647, 648, 3, 367, 183, 0, 648, 649, 3, - 393, 196, 0, 649, 650, 3, 365, 182, 0, 650, 651, - 3, 395, 197, 0, 651, 100, 1, 0, 0, 0, 652, - 653, 3, 395, 197, 0, 653, 654, 3, 365, 182, 0, - 654, 655, 3, 403, 201, 0, 655, 656, 3, 395, 197, - 0, 656, 657, 3, 379, 189, 0, 657, 658, 3, 373, - 186, 0, 658, 659, 3, 381, 190, 0, 659, 660, 3, - 373, 186, 0, 660, 661, 3, 395, 197, 0, 661, 102, - 1, 0, 0, 0, 662, 663, 3, 399, 199, 0, 663, - 664, 3, 357, 178, 0, 664, 665, 3, 379, 189, 0, - 665, 666, 3, 397, 198, 0, 666, 667, 3, 365, 182, - 0, 667, 668, 3, 393, 196, 0, 668, 104, 1, 0, - 0, 0, 669, 670, 3, 379, 189, 0, 670, 671, 3, - 385, 192, 0, 671, 672, 3, 357, 178, 0, 672, 673, - 3, 363, 181, 0, 673, 106, 1, 0, 0, 0, 674, - 675, 3, 393, 196, 0, 675, 676, 3, 373, 186, 0, - 676, 677, 3, 379, 189, 0, 677, 678, 3, 365, 182, - 0, 678, 679, 3, 383, 191, 0, 679, 680, 3, 395, - 197, 0, 680, 108, 1, 0, 0, 0, 681, 682, 3, - 373, 186, 0, 682, 683, 3, 383, 191, 0, 683, 684, - 3, 395, 197, 0, 684, 685, 3, 385, 192, 0, 685, - 110, 1, 0, 0, 0, 686, 687, 3, 361, 180, 0, - 687, 688, 3, 379, 189, 0, 688, 689, 3, 365, 182, - 0, 689, 690, 3, 357, 178, 0, 690, 691, 3, 391, - 195, 0, 691, 112, 1, 0, 0, 0, 692, 693, 3, - 363, 181, 0, 693, 694, 3, 391, 195, 0, 694, 695, - 3, 385, 192, 0, 695, 696, 3, 387, 193, 0, 696, - 114, 1, 0, 0, 0, 697, 698, 3, 361, 180, 0, - 698, 699, 3, 391, 195, 0, 699, 700, 3, 365, 182, - 0, 700, 701, 3, 357, 178, 0, 701, 702, 3, 395, - 197, 0, 702, 703, 3, 365, 182, 0, 703, 116, 1, - 0, 0, 0, 704, 705, 3, 357, 178, 0, 705, 706, - 3, 363, 181, 0, 706, 707, 3, 363, 181, 0, 707, - 118, 1, 0, 0, 0, 708, 709, 3, 395, 197, 0, - 709, 710, 3, 385, 192, 0, 710, 120, 1, 0, 0, - 0, 711, 712, 3, 363, 181, 0, 712, 713, 3, 357, - 178, 0, 713, 714, 3, 395, 197, 0, 714, 715, 3, - 357, 178, 0, 715, 122, 1, 0, 0, 0, 716, 717, - 3, 381, 190, 0, 717, 718, 3, 385, 192, 0, 718, - 719, 3, 399, 199, 0, 719, 720, 3, 365, 182, 0, - 720, 124, 1, 0, 0, 0, 721, 722, 3, 361, 180, - 0, 722, 723, 3, 385, 192, 0, 723, 724, 3, 387, - 193, 0, 724, 725, 3, 405, 202, 0, 725, 126, 1, - 0, 0, 0, 726, 727, 3, 373, 186, 0, 727, 728, - 3, 383, 191, 0, 728, 729, 3, 393, 196, 0, 729, - 730, 3, 365, 182, 0, 730, 731, 3, 391, 195, 0, - 731, 732, 3, 395, 197, 0, 732, 128, 1, 0, 0, - 0, 733, 734, 3, 363, 181, 0, 734, 735, 3, 365, - 182, 0, 735, 736, 3, 379, 189, 0, 736, 737, 3, - 365, 182, 0, 737, 738, 3, 395, 197, 0, 738, 739, - 3, 365, 182, 0, 739, 130, 1, 0, 0, 0, 740, - 741, 3, 401, 200, 0, 741, 742, 3, 373, 186, 0, - 742, 743, 3, 395, 197, 0, 743, 744, 3, 371, 185, - 0, 744, 132, 1, 0, 0, 0, 745, 746, 3, 397, - 198, 0, 746, 747, 3, 393, 196, 0, 747, 748, 3, - 373, 186, 0, 748, 749, 3, 383, 191, 0, 749, 750, - 3, 369, 184, 0, 750, 134, 1, 0, 0, 0, 751, - 752, 3, 363, 181, 0, 752, 753, 3, 365, 182, 0, - 753, 754, 3, 367, 183, 0, 754, 755, 3, 357, 178, - 0, 755, 756, 3, 397, 198, 0, 756, 757, 3, 379, - 189, 0, 757, 758, 3, 395, 197, 0, 758, 136, 1, - 0, 0, 0, 759, 760, 3, 369, 184, 0, 760, 761, - 3, 391, 195, 0, 761, 762, 3, 357, 178, 0, 762, - 763, 3, 387, 193, 0, 763, 764, 3, 371, 185, 0, - 764, 138, 1, 0, 0, 0, 765, 766, 3, 357, 178, - 0, 766, 767, 3, 379, 189, 0, 767, 768, 3, 379, - 189, 0, 768, 140, 1, 0, 0, 0, 769, 770, 3, - 385, 192, 0, 770, 771, 3, 387, 193, 0, 771, 772, - 3, 395, 197, 0, 772, 773, 3, 373, 186, 0, 773, - 774, 3, 385, 192, 0, 774, 775, 3, 383, 191, 0, - 775, 776, 3, 357, 178, 0, 776, 777, 3, 379, 189, - 0, 777, 142, 1, 0, 0, 0, 778, 779, 3, 393, - 196, 0, 779, 780, 3, 365, 182, 0, 780, 781, 3, - 391, 195, 0, 781, 782, 3, 399, 199, 0, 782, 783, - 3, 373, 186, 0, 783, 784, 3, 361, 180, 0, 784, - 785, 3, 365, 182, 0, 785, 144, 1, 0, 0, 0, - 786, 787, 3, 359, 179, 0, 787, 788, 3, 373, 186, - 0, 788, 789, 3, 383, 191, 0, 789, 790, 3, 363, - 181, 0, 790, 146, 1, 0, 0, 0, 791, 792, 3, - 397, 198, 0, 792, 793, 3, 383, 191, 0, 793, 794, - 3, 363, 181, 0, 794, 795, 3, 365, 182, 0, 795, - 796, 3, 367, 183, 0, 796, 148, 1, 0, 0, 0, - 797, 798, 3, 381, 190, 0, 798, 799, 3, 373, 186, - 0, 799, 800, 3, 383, 191, 0, 800, 801, 3, 397, - 198, 0, 801, 802, 3, 393, 196, 0, 802, 150, 1, - 0, 0, 0, 803, 804, 3, 397, 198, 0, 804, 805, - 3, 383, 191, 0, 805, 806, 3, 373, 186, 0, 806, - 807, 3, 385, 192, 0, 807, 808, 3, 383, 191, 0, - 808, 152, 1, 0, 0, 0, 809, 810, 3, 367, 183, - 0, 810, 811, 3, 373, 186, 0, 811, 812, 3, 379, - 189, 0, 812, 813, 3, 395, 197, 0, 813, 814, 3, - 365, 182, 0, 814, 815, 3, 391, 195, 0, 815, 154, - 1, 0, 0, 0, 816, 817, 3, 383, 191, 0, 817, - 818, 3, 385, 192, 0, 818, 819, 3, 395, 197, 0, - 819, 156, 1, 0, 0, 0, 820, 821, 3, 373, 186, - 0, 821, 822, 3, 383, 191, 0, 822, 158, 1, 0, - 0, 0, 823, 824, 3, 393, 196, 0, 824, 825, 3, - 395, 197, 0, 825, 826, 3, 391, 195, 0, 826, 160, - 1, 0, 0, 0, 827, 828, 3, 379, 189, 0, 828, - 829, 3, 357, 178, 0, 829, 830, 3, 383, 191, 0, - 830, 831, 3, 369, 184, 0, 831, 162, 1, 0, 0, - 0, 832, 833, 3, 379, 189, 0, 833, 834, 3, 357, - 178, 0, 834, 835, 3, 383, 191, 0, 835, 836, 3, - 369, 184, 0, 836, 837, 3, 381, 190, 0, 837, 838, - 3, 357, 178, 0, 838, 839, 3, 395, 197, 0, 839, - 840, 3, 361, 180, 0, 840, 841, 3, 371, 185, 0, - 841, 842, 3, 365, 182, 0, 842, 843, 3, 393, 196, - 0, 843, 164, 1, 0, 0, 0, 844, 845, 3, 363, - 181, 0, 845, 846, 3, 357, 178, 0, 846, 847, 3, - 395, 197, 0, 847, 848, 3, 357, 178, 0, 848, 849, - 3, 395, 197, 0, 849, 850, 3, 405, 202, 0, 850, - 851, 3, 387, 193, 0, 851, 852, 3, 365, 182, 0, - 852, 166, 1, 0, 0, 0, 853, 854, 3, 359, 179, - 0, 854, 855, 3, 385, 192, 0, 855, 856, 3, 397, - 198, 0, 856, 857, 3, 383, 191, 0, 857, 858, 3, - 363, 181, 0, 858, 168, 1, 0, 0, 0, 859, 860, - 3, 373, 186, 0, 860, 861, 3, 391, 195, 0, 861, - 862, 3, 373, 186, 0, 862, 170, 1, 0, 0, 0, - 863, 864, 3, 397, 198, 0, 864, 865, 3, 391, 195, - 0, 865, 866, 3, 373, 186, 0, 866, 172, 1, 0, - 0, 0, 867, 868, 3, 359, 179, 0, 868, 869, 3, - 383, 191, 0, 869, 870, 3, 385, 192, 0, 870, 871, - 3, 363, 181, 0, 871, 872, 3, 365, 182, 0, 872, - 174, 1, 0, 0, 0, 873, 874, 3, 391, 195, 0, - 874, 875, 3, 357, 178, 0, 875, 876, 3, 383, 191, - 0, 876, 877, 3, 363, 181, 0, 877, 176, 1, 0, - 0, 0, 878, 879, 3, 357, 178, 0, 879, 880, 3, - 359, 179, 0, 880, 881, 3, 393, 196, 0, 881, 178, - 1, 0, 0, 0, 882, 883, 3, 361, 180, 0, 883, - 884, 3, 365, 182, 0, 884, 885, 3, 373, 186, 0, - 885, 886, 3, 379, 189, 0, 886, 180, 1, 0, 0, - 0, 887, 888, 3, 367, 183, 0, 888, 889, 3, 379, - 189, 0, 889, 890, 3, 385, 192, 0, 890, 891, 3, - 385, 192, 0, 891, 892, 3, 391, 195, 0, 892, 182, - 1, 0, 0, 0, 893, 894, 3, 391, 195, 0, 894, - 895, 3, 385, 192, 0, 895, 896, 3, 397, 198, 0, - 896, 897, 3, 383, 191, 0, 897, 898, 3, 363, 181, - 0, 898, 184, 1, 0, 0, 0, 899, 900, 3, 361, - 180, 0, 900, 901, 3, 385, 192, 0, 901, 902, 3, - 383, 191, 0, 902, 903, 3, 361, 180, 0, 903, 904, - 3, 357, 178, 0, 904, 905, 3, 395, 197, 0, 905, - 186, 1, 0, 0, 0, 906, 907, 3, 393, 196, 0, - 907, 908, 3, 395, 197, 0, 908, 909, 3, 391, 195, - 0, 909, 910, 3, 379, 189, 0, 910, 911, 3, 365, - 182, 0, 911, 912, 3, 383, 191, 0, 912, 188, 1, - 0, 0, 0, 913, 914, 3, 397, 198, 0, 914, 915, - 3, 361, 180, 0, 915, 916, 3, 357, 178, 0, 916, - 917, 3, 393, 196, 0, 917, 918, 3, 365, 182, 0, - 918, 190, 1, 0, 0, 0, 919, 920, 3, 379, 189, - 0, 920, 921, 3, 361, 180, 0, 921, 922, 3, 357, - 178, 0, 922, 923, 3, 393, 196, 0, 923, 924, 3, - 365, 182, 0, 924, 192, 1, 0, 0, 0, 925, 926, - 3, 365, 182, 0, 926, 927, 3, 383, 191, 0, 927, - 928, 3, 361, 180, 0, 928, 929, 3, 385, 192, 0, - 929, 930, 3, 363, 181, 0, 930, 931, 3, 365, 182, - 0, 931, 932, 5, 95, 0, 0, 932, 933, 3, 367, - 183, 0, 933, 934, 3, 385, 192, 0, 934, 935, 3, - 391, 195, 0, 935, 936, 5, 95, 0, 0, 936, 937, - 3, 397, 198, 0, 937, 938, 3, 391, 195, 0, 938, - 939, 3, 373, 186, 0, 939, 194, 1, 0, 0, 0, - 940, 941, 3, 367, 183, 0, 941, 942, 3, 385, 192, - 0, 942, 943, 3, 391, 195, 0, 943, 196, 1, 0, - 0, 0, 944, 945, 3, 361, 180, 0, 945, 946, 3, - 385, 192, 0, 946, 947, 3, 383, 191, 0, 947, 948, - 3, 395, 197, 0, 948, 949, 3, 357, 178, 0, 949, - 950, 3, 373, 186, 0, 950, 951, 3, 383, 191, 0, - 951, 952, 3, 393, 196, 0, 952, 198, 1, 0, 0, - 0, 953, 954, 3, 393, 196, 0, 954, 955, 3, 395, - 197, 0, 955, 956, 3, 391, 195, 0, 956, 957, 3, - 393, 196, 0, 957, 958, 3, 395, 197, 0, 958, 959, - 3, 357, 178, 0, 959, 960, 3, 391, 195, 0, 960, - 961, 3, 395, 197, 0, 961, 962, 3, 393, 196, 0, - 962, 200, 1, 0, 0, 0, 963, 964, 3, 393, 196, - 0, 964, 965, 3, 395, 197, 0, 965, 966, 3, 391, - 195, 0, 966, 967, 3, 365, 182, 0, 967, 968, 3, - 383, 191, 0, 968, 969, 3, 363, 181, 0, 969, 970, - 3, 393, 196, 0, 970, 202, 1, 0, 0, 0, 971, - 972, 3, 393, 196, 0, 972, 973, 3, 395, 197, 0, - 973, 974, 3, 391, 195, 0, 974, 975, 3, 359, 179, - 0, 975, 976, 3, 365, 182, 0, 976, 977, 3, 367, - 183, 0, 977, 978, 3, 385, 192, 0, 978, 979, 3, - 391, 195, 0, 979, 980, 3, 365, 182, 0, 980, 204, - 1, 0, 0, 0, 981, 982, 3, 393, 196, 0, 982, - 983, 3, 395, 197, 0, 983, 984, 3, 391, 195, 0, - 984, 985, 3, 357, 178, 0, 985, 986, 3, 367, 183, - 0, 986, 987, 3, 395, 197, 0, 987, 988, 3, 365, - 182, 0, 988, 989, 3, 391, 195, 0, 989, 206, 1, - 0, 0, 0, 990, 991, 3, 405, 202, 0, 991, 992, - 3, 365, 182, 0, 992, 993, 3, 357, 178, 0, 993, - 994, 3, 391, 195, 0, 994, 208, 1, 0, 0, 0, - 995, 996, 3, 381, 190, 0, 996, 997, 3, 385, 192, - 0, 997, 998, 3, 383, 191, 0, 998, 999, 3, 395, - 197, 0, 999, 1000, 3, 371, 185, 0, 1000, 210, 1, - 0, 0, 0, 1001, 1002, 3, 363, 181, 0, 1002, 1003, - 3, 357, 178, 0, 1003, 1004, 3, 405, 202, 0, 1004, - 212, 1, 0, 0, 0, 1005, 1006, 3, 371, 185, 0, - 1006, 1007, 3, 385, 192, 0, 1007, 1008, 3, 397, 198, - 0, 1008, 1009, 3, 391, 195, 0, 1009, 1010, 3, 393, - 196, 0, 1010, 214, 1, 0, 0, 0, 1011, 1012, 3, - 381, 190, 0, 1012, 1013, 3, 373, 186, 0, 1013, 1014, - 3, 383, 191, 0, 1014, 1015, 3, 397, 198, 0, 1015, - 1016, 3, 395, 197, 0, 1016, 1017, 3, 365, 182, 0, - 1017, 1018, 3, 393, 196, 0, 1018, 216, 1, 0, 0, - 0, 1019, 1020, 3, 393, 196, 0, 1020, 1021, 3, 365, - 182, 0, 1021, 1022, 3, 361, 180, 0, 1022, 1023, 3, - 385, 192, 0, 1023, 1024, 3, 383, 191, 0, 1024, 1025, - 3, 363, 181, 0, 1025, 1026, 3, 393, 196, 0, 1026, - 218, 1, 0, 0, 0, 1027, 1028, 3, 395, 197, 0, - 1028, 1029, 3, 373, 186, 0, 1029, 1030, 3, 381, 190, - 0, 1030, 1031, 3, 365, 182, 0, 1031, 1032, 3, 407, - 203, 0, 1032, 1033, 3, 385, 192, 0, 1033, 1034, 3, - 383, 191, 0, 1034, 1035, 3, 365, 182, 0, 1035, 220, - 1, 0, 0, 0, 1036, 1037, 3, 395, 197, 0, 1037, - 1038, 3, 407, 203, 0, 1038, 222, 1, 0, 0, 0, - 1039, 1040, 3, 383, 191, 0, 1040, 1041, 3, 385, 192, - 0, 1041, 1042, 3, 401, 200, 0, 1042, 224, 1, 0, - 0, 0, 1043, 1044, 3, 397, 198, 0, 1044, 1045, 3, - 397, 198, 0, 1045, 1046, 3, 373, 186, 0, 1046, 1047, - 3, 363, 181, 0, 1047, 226, 1, 0, 0, 0, 1048, - 1049, 3, 393, 196, 0, 1049, 1050, 3, 395, 197, 0, - 1050, 1051, 3, 391, 195, 0, 1051, 1052, 3, 397, 198, - 0, 1052, 1053, 3, 397, 198, 0, 1053, 1054, 3, 373, - 186, 0, 1054, 1055, 3, 363, 181, 0, 1055, 228, 1, - 0, 0, 0, 1056, 1057, 3, 393, 196, 0, 1057, 1058, - 3, 371, 185, 0, 1058, 1059, 3, 357, 178, 0, 1059, - 1060, 5, 49, 0, 0, 1060, 230, 1, 0, 0, 0, - 1061, 1062, 3, 393, 196, 0, 1062, 1063, 3, 371, 185, - 0, 1063, 1064, 3, 357, 178, 0, 1064, 1065, 5, 50, - 0, 0, 1065, 1066, 5, 53, 0, 0, 1066, 1067, 5, - 54, 0, 0, 1067, 232, 1, 0, 0, 0, 1068, 1069, - 3, 393, 196, 0, 1069, 1070, 3, 371, 185, 0, 1070, - 1071, 3, 357, 178, 0, 1071, 1072, 5, 51, 0, 0, - 1072, 1073, 5, 56, 0, 0, 1073, 1074, 5, 52, 0, - 0, 1074, 234, 1, 0, 0, 0, 1075, 1076, 3, 393, - 196, 0, 1076, 1077, 3, 371, 185, 0, 1077, 1078, 3, - 357, 178, 0, 1078, 1079, 5, 53, 0, 0, 1079, 1080, - 5, 49, 0, 0, 1080, 1081, 5, 50, 0, 0, 1081, - 236, 1, 0, 0, 0, 1082, 1083, 3, 381, 190, 0, - 1083, 1084, 3, 363, 181, 0, 1084, 1085, 5, 53, 0, - 0, 1085, 238, 1, 0, 0, 0, 1086, 1087, 3, 361, - 180, 0, 1087, 1088, 3, 385, 192, 0, 1088, 1089, 3, - 357, 178, 0, 1089, 1090, 3, 379, 189, 0, 1090, 1091, - 3, 365, 182, 0, 1091, 1092, 3, 393, 196, 0, 1092, - 1093, 3, 361, 180, 0, 1093, 1094, 3, 365, 182, 0, - 1094, 240, 1, 0, 0, 0, 1095, 1096, 3, 373, 186, - 0, 1096, 1097, 3, 367, 183, 0, 1097, 242, 1, 0, - 0, 0, 1098, 1099, 3, 393, 196, 0, 1099, 1100, 3, - 395, 197, 0, 1100, 1101, 3, 391, 195, 0, 1101, 1102, - 3, 379, 189, 0, 1102, 1103, 3, 357, 178, 0, 1103, - 1104, 3, 383, 191, 0, 1104, 1105, 3, 369, 184, 0, - 1105, 244, 1, 0, 0, 0, 1106, 1107, 3, 393, 196, - 0, 1107, 1108, 3, 395, 197, 0, 1108, 1109, 3, 391, - 195, 0, 1109, 1110, 3, 363, 181, 0, 1110, 1111, 3, - 395, 197, 0, 1111, 246, 1, 0, 0, 0, 1112, 1113, - 3, 393, 196, 0, 1113, 1114, 3, 357, 178, 0, 1114, - 1115, 3, 381, 190, 0, 1115, 1116, 3, 365, 182, 0, - 1116, 1117, 3, 395, 197, 0, 1117, 1118, 3, 365, 182, - 0, 1118, 1119, 3, 391, 195, 0, 1119, 1120, 3, 381, - 190, 0, 1120, 248, 1, 0, 0, 0, 1121, 1122, 3, - 373, 186, 0, 1122, 1123, 3, 393, 196, 0, 1123, 1124, - 3, 373, 186, 0, 1124, 1125, 3, 391, 195, 0, 1125, - 1126, 3, 373, 186, 0, 1126, 250, 1, 0, 0, 0, - 1127, 1128, 3, 373, 186, 0, 1128, 1129, 3, 393, 196, - 0, 1129, 1130, 3, 397, 198, 0, 1130, 1131, 3, 391, - 195, 0, 1131, 1132, 3, 373, 186, 0, 1132, 252, 1, - 0, 0, 0, 1133, 1134, 3, 373, 186, 0, 1134, 1135, - 3, 393, 196, 0, 1135, 1136, 3, 359, 179, 0, 1136, - 1137, 3, 379, 189, 0, 1137, 1138, 3, 357, 178, 0, - 1138, 1139, 3, 383, 191, 0, 1139, 1140, 3, 377, 188, - 0, 1140, 254, 1, 0, 0, 0, 1141, 1142, 3, 373, - 186, 0, 1142, 1143, 3, 393, 196, 0, 1143, 1144, 3, - 379, 189, 0, 1144, 1145, 3, 373, 186, 0, 1145, 1146, - 3, 395, 197, 0, 1146, 1147, 3, 365, 182, 0, 1147, - 1148, 3, 391, 195, 0, 1148, 1149, 3, 357, 178, 0, - 1149, 1150, 3, 379, 189, 0, 1150, 256, 1, 0, 0, - 0, 1151, 1152, 3, 373, 186, 0, 1152, 1153, 3, 393, - 196, 0, 1153, 1154, 3, 383, 191, 0, 1154, 1155, 3, - 397, 198, 0, 1155, 1156, 3, 381, 190, 0, 1156, 1157, - 3, 365, 182, 0, 1157, 1158, 3, 391, 195, 0, 1158, - 1159, 3, 373, 186, 0, 1159, 1160, 3, 361, 180, 0, - 1160, 258, 1, 0, 0, 0, 1161, 1162, 3, 391, 195, - 0, 1162, 1163, 3, 365, 182, 0, 1163, 1164, 3, 369, - 184, 0, 1164, 1165, 3, 365, 182, 0, 1165, 1166, 3, - 403, 201, 0, 1166, 260, 1, 0, 0, 0, 1167, 1168, - 3, 393, 196, 0, 1168, 1169, 3, 397, 198, 0, 1169, - 1170, 3, 359, 179, 0, 1170, 1171, 3, 393, 196, 0, - 1171, 1172, 3, 395, 197, 0, 1172, 1173, 3, 391, 195, - 0, 1173, 262, 1, 0, 0, 0, 1174, 1175, 3, 391, - 195, 0, 1175, 1176, 3, 365, 182, 0, 1176, 1177, 3, - 387, 193, 0, 1177, 1178, 3, 379, 189, 0, 1178, 1179, - 3, 357, 178, 0, 1179, 1180, 3, 361, 180, 0, 1180, - 1181, 3, 365, 182, 0, 1181, 264, 1, 0, 0, 0, - 1182, 1183, 3, 365, 182, 0, 1183, 1184, 3, 403, 201, - 0, 1184, 1185, 3, 373, 186, 0, 1185, 1186, 3, 393, - 196, 0, 1186, 1187, 3, 395, 197, 0, 1187, 1188, 3, - 393, 196, 0, 1188, 266, 1, 0, 0, 0, 1189, 1190, - 3, 361, 180, 0, 1190, 1191, 3, 385, 192, 0, 1191, - 1192, 3, 397, 198, 0, 1192, 1193, 3, 383, 191, 0, - 1193, 1194, 3, 395, 197, 0, 1194, 268, 1, 0, 0, - 0, 1195, 1196, 3, 393, 196, 0, 1196, 1197, 3, 397, - 198, 0, 1197, 1198, 3, 381, 190, 0, 1198, 270, 1, - 0, 0, 0, 1199, 1200, 3, 381, 190, 0, 1200, 1201, - 3, 373, 186, 0, 1201, 1202, 3, 383, 191, 0, 1202, - 272, 1, 0, 0, 0, 1203, 1204, 3, 381, 190, 0, - 1204, 1205, 3, 357, 178, 0, 1205, 1206, 3, 403, 201, - 0, 1206, 274, 1, 0, 0, 0, 1207, 1208, 3, 357, - 178, 0, 1208, 1209, 3, 399, 199, 0, 1209, 1210, 3, - 369, 184, 0, 1210, 276, 1, 0, 0, 0, 1211, 1212, - 3, 393, 196, 0, 1212, 1213, 3, 357, 178, 0, 1213, - 1214, 3, 381, 190, 0, 1214, 1215, 3, 387, 193, 0, - 1215, 1216, 3, 379, 189, 0, 1216, 1217, 3, 365, 182, - 0, 1217, 278, 1, 0, 0, 0, 1218, 1219, 3, 393, - 196, 0, 1219, 1220, 3, 365, 182, 0, 1220, 1221, 3, - 387, 193, 0, 1221, 1222, 3, 357, 178, 0, 1222, 1223, - 3, 391, 195, 0, 1223, 1224, 3, 357, 178, 0, 1224, - 1225, 3, 395, 197, 0, 1225, 1226, 3, 385, 192, 0, - 1226, 1227, 3, 391, 195, 0, 1227, 280, 1, 0, 0, - 0, 1228, 1232, 5, 60, 0, 0, 1229, 1231, 8, 0, - 0, 0, 1230, 1229, 1, 0, 0, 0, 1231, 1234, 1, - 0, 0, 0, 1232, 1230, 1, 0, 0, 0, 1232, 1233, - 1, 0, 0, 0, 1233, 1235, 1, 0, 0, 0, 1234, - 1232, 1, 0, 0, 0, 1235, 1236, 5, 62, 0, 0, - 1236, 282, 1, 0, 0, 0, 1237, 1239, 3, 337, 168, - 0, 1238, 1237, 1, 0, 0, 0, 1238, 1239, 1, 0, - 0, 0, 1239, 1240, 1, 0, 0, 0, 1240, 1241, 5, - 58, 0, 0, 1241, 284, 1, 0, 0, 0, 1242, 1243, - 3, 283, 141, 0, 1243, 1244, 3, 339, 169, 0, 1244, - 286, 1, 0, 0, 0, 1245, 1246, 5, 95, 0, 0, - 1246, 1247, 5, 58, 0, 0, 1247, 1250, 1, 0, 0, - 0, 1248, 1251, 3, 331, 165, 0, 1249, 1251, 3, 351, - 175, 0, 1250, 1248, 1, 0, 0, 0, 1250, 1249, 1, - 0, 0, 0, 1251, 1260, 1, 0, 0, 0, 1252, 1255, - 3, 335, 167, 0, 1253, 1255, 5, 46, 0, 0, 1254, - 1252, 1, 0, 0, 0, 1254, 1253, 1, 0, 0, 0, - 1255, 1258, 1, 0, 0, 0, 1256, 1254, 1, 0, 0, - 0, 1256, 1257, 1, 0, 0, 0, 1257, 1259, 1, 0, - 0, 0, 1258, 1256, 1, 0, 0, 0, 1259, 1261, 3, - 335, 167, 0, 1260, 1256, 1, 0, 0, 0, 1260, 1261, - 1, 0, 0, 0, 1261, 288, 1, 0, 0, 0, 1262, - 1263, 5, 63, 0, 0, 1263, 1264, 3, 333, 166, 0, - 1264, 290, 1, 0, 0, 0, 1265, 1266, 5, 36, 0, - 0, 1266, 1267, 3, 333, 166, 0, 1267, 292, 1, 0, - 0, 0, 1268, 1270, 5, 64, 0, 0, 1269, 1271, 7, - 1, 0, 0, 1270, 1269, 1, 0, 0, 0, 1271, 1272, - 1, 0, 0, 0, 1272, 1270, 1, 0, 0, 0, 1272, - 1273, 1, 0, 0, 0, 1273, 1283, 1, 0, 0, 0, - 1274, 1277, 5, 45, 0, 0, 1275, 1278, 7, 1, 0, - 0, 1276, 1278, 3, 351, 175, 0, 1277, 1275, 1, 0, - 0, 0, 1277, 1276, 1, 0, 0, 0, 1278, 1279, 1, - 0, 0, 0, 1279, 1277, 1, 0, 0, 0, 1279, 1280, - 1, 0, 0, 0, 1280, 1282, 1, 0, 0, 0, 1281, - 1274, 1, 0, 0, 0, 1282, 1285, 1, 0, 0, 0, - 1283, 1281, 1, 0, 0, 0, 1283, 1284, 1, 0, 0, - 0, 1284, 294, 1, 0, 0, 0, 1285, 1283, 1, 0, - 0, 0, 1286, 1287, 3, 293, 146, 0, 1287, 1288, 5, - 64, 0, 0, 1288, 296, 1, 0, 0, 0, 1289, 1291, - 3, 351, 175, 0, 1290, 1289, 1, 0, 0, 0, 1291, - 1292, 1, 0, 0, 0, 1292, 1290, 1, 0, 0, 0, - 1292, 1293, 1, 0, 0, 0, 1293, 298, 1, 0, 0, - 0, 1294, 1296, 3, 351, 175, 0, 1295, 1294, 1, 0, - 0, 0, 1296, 1299, 1, 0, 0, 0, 1297, 1295, 1, - 0, 0, 0, 1297, 1298, 1, 0, 0, 0, 1298, 1300, - 1, 0, 0, 0, 1299, 1297, 1, 0, 0, 0, 1300, - 1302, 5, 46, 0, 0, 1301, 1303, 3, 351, 175, 0, - 1302, 1301, 1, 0, 0, 0, 1303, 1304, 1, 0, 0, - 0, 1304, 1302, 1, 0, 0, 0, 1304, 1305, 1, 0, - 0, 0, 1305, 300, 1, 0, 0, 0, 1306, 1308, 3, - 351, 175, 0, 1307, 1306, 1, 0, 0, 0, 1308, 1309, - 1, 0, 0, 0, 1309, 1307, 1, 0, 0, 0, 1309, - 1310, 1, 0, 0, 0, 1310, 1311, 1, 0, 0, 0, - 1311, 1315, 5, 46, 0, 0, 1312, 1314, 3, 351, 175, - 0, 1313, 1312, 1, 0, 0, 0, 1314, 1317, 1, 0, - 0, 0, 1315, 1313, 1, 0, 0, 0, 1315, 1316, 1, - 0, 0, 0, 1316, 1318, 1, 0, 0, 0, 1317, 1315, - 1, 0, 0, 0, 1318, 1319, 3, 315, 157, 0, 1319, - 1336, 1, 0, 0, 0, 1320, 1322, 5, 46, 0, 0, - 1321, 1323, 3, 351, 175, 0, 1322, 1321, 1, 0, 0, - 0, 1323, 1324, 1, 0, 0, 0, 1324, 1322, 1, 0, - 0, 0, 1324, 1325, 1, 0, 0, 0, 1325, 1326, 1, - 0, 0, 0, 1326, 1327, 3, 315, 157, 0, 1327, 1336, - 1, 0, 0, 0, 1328, 1330, 3, 351, 175, 0, 1329, - 1328, 1, 0, 0, 0, 1330, 1331, 1, 0, 0, 0, - 1331, 1329, 1, 0, 0, 0, 1331, 1332, 1, 0, 0, - 0, 1332, 1333, 1, 0, 0, 0, 1333, 1334, 3, 315, - 157, 0, 1334, 1336, 1, 0, 0, 0, 1335, 1307, 1, - 0, 0, 0, 1335, 1320, 1, 0, 0, 0, 1335, 1329, - 1, 0, 0, 0, 1336, 302, 1, 0, 0, 0, 1337, - 1338, 5, 43, 0, 0, 1338, 1339, 3, 297, 148, 0, - 1339, 304, 1, 0, 0, 0, 1340, 1341, 5, 43, 0, - 0, 1341, 1342, 3, 299, 149, 0, 1342, 306, 1, 0, - 0, 0, 1343, 1344, 5, 43, 0, 0, 1344, 1345, 3, - 301, 150, 0, 1345, 308, 1, 0, 0, 0, 1346, 1347, - 5, 45, 0, 0, 1347, 1348, 3, 297, 148, 0, 1348, - 310, 1, 0, 0, 0, 1349, 1350, 5, 45, 0, 0, - 1350, 1351, 3, 299, 149, 0, 1351, 312, 1, 0, 0, - 0, 1352, 1353, 5, 45, 0, 0, 1353, 1354, 3, 301, - 150, 0, 1354, 314, 1, 0, 0, 0, 1355, 1357, 7, - 2, 0, 0, 1356, 1358, 7, 3, 0, 0, 1357, 1356, - 1, 0, 0, 0, 1357, 1358, 1, 0, 0, 0, 1358, - 1360, 1, 0, 0, 0, 1359, 1361, 3, 351, 175, 0, - 1360, 1359, 1, 0, 0, 0, 1361, 1362, 1, 0, 0, - 0, 1362, 1360, 1, 0, 0, 0, 1362, 1363, 1, 0, - 0, 0, 1363, 316, 1, 0, 0, 0, 1364, 1369, 5, - 39, 0, 0, 1365, 1368, 8, 4, 0, 0, 1366, 1368, - 3, 325, 162, 0, 1367, 1365, 1, 0, 0, 0, 1367, - 1366, 1, 0, 0, 0, 1368, 1371, 1, 0, 0, 0, - 1369, 1367, 1, 0, 0, 0, 1369, 1370, 1, 0, 0, - 0, 1370, 1372, 1, 0, 0, 0, 1371, 1369, 1, 0, - 0, 0, 1372, 1373, 5, 39, 0, 0, 1373, 318, 1, - 0, 0, 0, 1374, 1379, 5, 34, 0, 0, 1375, 1378, - 8, 5, 0, 0, 1376, 1378, 3, 325, 162, 0, 1377, - 1375, 1, 0, 0, 0, 1377, 1376, 1, 0, 0, 0, - 1378, 1381, 1, 0, 0, 0, 1379, 1377, 1, 0, 0, - 0, 1379, 1380, 1, 0, 0, 0, 1380, 1382, 1, 0, - 0, 0, 1381, 1379, 1, 0, 0, 0, 1382, 1383, 5, - 34, 0, 0, 1383, 320, 1, 0, 0, 0, 1384, 1385, - 5, 39, 0, 0, 1385, 1386, 5, 39, 0, 0, 1386, - 1387, 5, 39, 0, 0, 1387, 1399, 1, 0, 0, 0, - 1388, 1392, 5, 39, 0, 0, 1389, 1390, 5, 39, 0, - 0, 1390, 1392, 5, 39, 0, 0, 1391, 1388, 1, 0, - 0, 0, 1391, 1389, 1, 0, 0, 0, 1391, 1392, 1, - 0, 0, 0, 1392, 1395, 1, 0, 0, 0, 1393, 1396, - 8, 6, 0, 0, 1394, 1396, 3, 325, 162, 0, 1395, - 1393, 1, 0, 0, 0, 1395, 1394, 1, 0, 0, 0, - 1396, 1398, 1, 0, 0, 0, 1397, 1391, 1, 0, 0, - 0, 1398, 1401, 1, 0, 0, 0, 1399, 1397, 1, 0, - 0, 0, 1399, 1400, 1, 0, 0, 0, 1400, 1402, 1, - 0, 0, 0, 1401, 1399, 1, 0, 0, 0, 1402, 1403, - 5, 39, 0, 0, 1403, 1404, 5, 39, 0, 0, 1404, - 1405, 5, 39, 0, 0, 1405, 322, 1, 0, 0, 0, - 1406, 1407, 5, 34, 0, 0, 1407, 1408, 5, 34, 0, - 0, 1408, 1409, 5, 34, 0, 0, 1409, 1421, 1, 0, - 0, 0, 1410, 1414, 5, 34, 0, 0, 1411, 1412, 5, - 34, 0, 0, 1412, 1414, 5, 34, 0, 0, 1413, 1410, - 1, 0, 0, 0, 1413, 1411, 1, 0, 0, 0, 1413, - 1414, 1, 0, 0, 0, 1414, 1417, 1, 0, 0, 0, - 1415, 1418, 8, 7, 0, 0, 1416, 1418, 3, 325, 162, - 0, 1417, 1415, 1, 0, 0, 0, 1417, 1416, 1, 0, - 0, 0, 1418, 1420, 1, 0, 0, 0, 1419, 1413, 1, - 0, 0, 0, 1420, 1423, 1, 0, 0, 0, 1421, 1419, - 1, 0, 0, 0, 1421, 1422, 1, 0, 0, 0, 1422, - 1424, 1, 0, 0, 0, 1423, 1421, 1, 0, 0, 0, - 1424, 1425, 5, 34, 0, 0, 1425, 1426, 5, 34, 0, - 0, 1426, 1427, 5, 34, 0, 0, 1427, 324, 1, 0, - 0, 0, 1428, 1429, 5, 92, 0, 0, 1429, 1430, 7, - 8, 0, 0, 1430, 326, 1, 0, 0, 0, 1431, 1435, - 5, 40, 0, 0, 1432, 1434, 3, 353, 176, 0, 1433, - 1432, 1, 0, 0, 0, 1434, 1437, 1, 0, 0, 0, - 1435, 1433, 1, 0, 0, 0, 1435, 1436, 1, 0, 0, - 0, 1436, 1438, 1, 0, 0, 0, 1437, 1435, 1, 0, - 0, 0, 1438, 1439, 5, 41, 0, 0, 1439, 328, 1, - 0, 0, 0, 1440, 1444, 5, 91, 0, 0, 1441, 1443, - 3, 353, 176, 0, 1442, 1441, 1, 0, 0, 0, 1443, - 1446, 1, 0, 0, 0, 1444, 1442, 1, 0, 0, 0, - 1444, 1445, 1, 0, 0, 0, 1445, 1447, 1, 0, 0, - 0, 1446, 1444, 1, 0, 0, 0, 1447, 1448, 5, 93, - 0, 0, 1448, 330, 1, 0, 0, 0, 1449, 1452, 3, - 349, 174, 0, 1450, 1452, 5, 95, 0, 0, 1451, 1449, - 1, 0, 0, 0, 1451, 1450, 1, 0, 0, 0, 1452, - 332, 1, 0, 0, 0, 1453, 1456, 3, 331, 165, 0, - 1454, 1456, 3, 351, 175, 0, 1455, 1453, 1, 0, 0, - 0, 1455, 1454, 1, 0, 0, 0, 1456, 1462, 1, 0, - 0, 0, 1457, 1461, 3, 331, 165, 0, 1458, 1461, 3, - 351, 175, 0, 1459, 1461, 7, 9, 0, 0, 1460, 1457, - 1, 0, 0, 0, 1460, 1458, 1, 0, 0, 0, 1460, - 1459, 1, 0, 0, 0, 1461, 1464, 1, 0, 0, 0, - 1462, 1460, 1, 0, 0, 0, 1462, 1463, 1, 0, 0, - 0, 1463, 334, 1, 0, 0, 0, 1464, 1462, 1, 0, - 0, 0, 1465, 1470, 3, 331, 165, 0, 1466, 1470, 5, - 45, 0, 0, 1467, 1470, 3, 351, 175, 0, 1468, 1470, - 7, 9, 0, 0, 1469, 1465, 1, 0, 0, 0, 1469, - 1466, 1, 0, 0, 0, 1469, 1467, 1, 0, 0, 0, - 1469, 1468, 1, 0, 0, 0, 1470, 336, 1, 0, 0, - 0, 1471, 1480, 3, 349, 174, 0, 1472, 1475, 3, 335, - 167, 0, 1473, 1475, 5, 46, 0, 0, 1474, 1472, 1, - 0, 0, 0, 1474, 1473, 1, 0, 0, 0, 1475, 1478, - 1, 0, 0, 0, 1476, 1474, 1, 0, 0, 0, 1476, - 1477, 1, 0, 0, 0, 1477, 1479, 1, 0, 0, 0, - 1478, 1476, 1, 0, 0, 0, 1479, 1481, 3, 335, 167, - 0, 1480, 1476, 1, 0, 0, 0, 1480, 1481, 1, 0, - 0, 0, 1481, 338, 1, 0, 0, 0, 1482, 1487, 3, - 331, 165, 0, 1483, 1487, 5, 58, 0, 0, 1484, 1487, - 3, 351, 175, 0, 1485, 1487, 3, 341, 170, 0, 1486, - 1482, 1, 0, 0, 0, 1486, 1483, 1, 0, 0, 0, - 1486, 1484, 1, 0, 0, 0, 1486, 1485, 1, 0, 0, - 0, 1487, 1501, 1, 0, 0, 0, 1488, 1492, 3, 335, - 167, 0, 1489, 1492, 7, 10, 0, 0, 1490, 1492, 3, - 341, 170, 0, 1491, 1488, 1, 0, 0, 0, 1491, 1489, - 1, 0, 0, 0, 1491, 1490, 1, 0, 0, 0, 1492, - 1495, 1, 0, 0, 0, 1493, 1491, 1, 0, 0, 0, - 1493, 1494, 1, 0, 0, 0, 1494, 1499, 1, 0, 0, - 0, 1495, 1493, 1, 0, 0, 0, 1496, 1500, 3, 335, - 167, 0, 1497, 1500, 5, 58, 0, 0, 1498, 1500, 3, - 341, 170, 0, 1499, 1496, 1, 0, 0, 0, 1499, 1497, - 1, 0, 0, 0, 1499, 1498, 1, 0, 0, 0, 1500, - 1502, 1, 0, 0, 0, 1501, 1493, 1, 0, 0, 0, - 1501, 1502, 1, 0, 0, 0, 1502, 340, 1, 0, 0, - 0, 1503, 1506, 3, 343, 171, 0, 1504, 1506, 3, 347, - 173, 0, 1505, 1503, 1, 0, 0, 0, 1505, 1504, 1, - 0, 0, 0, 1506, 342, 1, 0, 0, 0, 1507, 1508, - 5, 37, 0, 0, 1508, 1509, 3, 345, 172, 0, 1509, - 1510, 3, 345, 172, 0, 1510, 344, 1, 0, 0, 0, - 1511, 1514, 3, 351, 175, 0, 1512, 1514, 7, 11, 0, - 0, 1513, 1511, 1, 0, 0, 0, 1513, 1512, 1, 0, - 0, 0, 1514, 346, 1, 0, 0, 0, 1515, 1516, 5, - 92, 0, 0, 1516, 1517, 7, 12, 0, 0, 1517, 348, - 1, 0, 0, 0, 1518, 1519, 7, 13, 0, 0, 1519, - 350, 1, 0, 0, 0, 1520, 1521, 2, 48, 57, 0, - 1521, 352, 1, 0, 0, 0, 1522, 1524, 7, 14, 0, - 0, 1523, 1522, 1, 0, 0, 0, 1524, 1525, 1, 0, - 0, 0, 1525, 1523, 1, 0, 0, 0, 1525, 1526, 1, - 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1528, - 6, 176, 0, 0, 1528, 354, 1, 0, 0, 0, 1529, - 1533, 5, 35, 0, 0, 1530, 1532, 8, 15, 0, 0, - 1531, 1530, 1, 0, 0, 0, 1532, 1535, 1, 0, 0, - 0, 1533, 1531, 1, 0, 0, 0, 1533, 1534, 1, 0, - 0, 0, 1534, 1536, 1, 0, 0, 0, 1535, 1533, 1, - 0, 0, 0, 1536, 1537, 6, 177, 0, 0, 1537, 356, - 1, 0, 0, 0, 1538, 1539, 7, 16, 0, 0, 1539, - 358, 1, 0, 0, 0, 1540, 1541, 7, 17, 0, 0, - 1541, 360, 1, 0, 0, 0, 1542, 1543, 7, 18, 0, - 0, 1543, 362, 1, 0, 0, 0, 1544, 1545, 7, 19, - 0, 0, 1545, 364, 1, 0, 0, 0, 1546, 1547, 7, - 2, 0, 0, 1547, 366, 1, 0, 0, 0, 1548, 1549, - 7, 20, 0, 0, 1549, 368, 1, 0, 0, 0, 1550, - 1551, 7, 21, 0, 0, 1551, 370, 1, 0, 0, 0, - 1552, 1553, 7, 22, 0, 0, 1553, 372, 1, 0, 0, - 0, 1554, 1555, 7, 23, 0, 0, 1555, 374, 1, 0, - 0, 0, 1556, 1557, 7, 24, 0, 0, 1557, 376, 1, - 0, 0, 0, 1558, 1559, 7, 25, 0, 0, 1559, 378, - 1, 0, 0, 0, 1560, 1561, 7, 26, 0, 0, 1561, - 380, 1, 0, 0, 0, 1562, 1563, 7, 27, 0, 0, - 1563, 382, 1, 0, 0, 0, 1564, 1565, 7, 28, 0, - 0, 1565, 384, 1, 0, 0, 0, 1566, 1567, 7, 29, - 0, 0, 1567, 386, 1, 0, 0, 0, 1568, 1569, 7, - 30, 0, 0, 1569, 388, 1, 0, 0, 0, 1570, 1571, - 7, 31, 0, 0, 1571, 390, 1, 0, 0, 0, 1572, - 1573, 7, 32, 0, 0, 1573, 392, 1, 0, 0, 0, - 1574, 1575, 7, 33, 0, 0, 1575, 394, 1, 0, 0, - 0, 1576, 1577, 7, 34, 0, 0, 1577, 396, 1, 0, - 0, 0, 1578, 1579, 7, 35, 0, 0, 1579, 398, 1, - 0, 0, 0, 1580, 1581, 7, 36, 0, 0, 1581, 400, - 1, 0, 0, 0, 1582, 1583, 7, 37, 0, 0, 1583, - 402, 1, 0, 0, 0, 1584, 1585, 7, 38, 0, 0, - 1585, 404, 1, 0, 0, 0, 1586, 1587, 7, 39, 0, - 0, 1587, 406, 1, 0, 0, 0, 1588, 1589, 7, 40, - 0, 0, 1589, 408, 1, 0, 0, 0, 54, 0, 567, - 600, 616, 625, 1232, 1238, 1250, 1254, 1256, 1260, 1272, 1277, - 1279, 1283, 1292, 1297, 1304, 1309, 1315, 1324, 1331, 1335, 1357, - 1362, 1367, 1369, 1377, 1379, 1391, 1395, 1399, 1413, 1417, 1421, - 1435, 1444, 1451, 1455, 1460, 1462, 1469, 1474, 1476, 1480, 1486, - 1491, 1493, 1499, 1501, 1505, 1513, 1525, 1533, 1, 6, 0, + 4, 0, 176, 1598, 6, -1, 2, 0, 7, 0, 2, + 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, + 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, + 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, + 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, + 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, + 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, + 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, + 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, + 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, + 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, + 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, + 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, + 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, + 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, + 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, + 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, + 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, + 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, + 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, + 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, + 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, + 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, + 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, + 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, + 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, + 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, + 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, + 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, + 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, + 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, + 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, + 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, + 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, + 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, + 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, + 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, + 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, + 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, + 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, + 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, + 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, + 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, + 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, + 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, + 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, + 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, + 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, + 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, + 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, + 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, + 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, + 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, + 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, + 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, + 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, + 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, + 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, + 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, + 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, + 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, + 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, + 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, + 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, + 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, + 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, + 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, + 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, + 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, + 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, + 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, + 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, + 7, 196, 2, 197, 7, 197, 2, 198, 7, 198, 2, + 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, + 2, 202, 7, 202, 2, 203, 7, 203, 2, 204, 7, + 204, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, + 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, + 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, + 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, + 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, + 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, + 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, + 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, + 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, + 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, + 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, + 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, + 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, + 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, + 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, + 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, + 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, + 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, + 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, + 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, + 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, + 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, + 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, + 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, + 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, + 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, + 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, + 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, + 41, 1, 41, 1, 41, 4, 41, 568, 8, 41, 11, + 41, 12, 41, 569, 1, 41, 1, 41, 1, 41, 1, + 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, + 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, + 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, + 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, + 44, 1, 44, 1, 44, 1, 44, 4, 44, 601, 8, + 44, 11, 44, 12, 44, 602, 1, 44, 1, 44, 1, + 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, + 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 617, + 8, 45, 11, 45, 12, 45, 618, 1, 45, 1, 45, + 1, 45, 1, 45, 1, 45, 4, 45, 626, 8, 45, + 11, 45, 12, 45, 627, 1, 45, 1, 45, 1, 45, + 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, + 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, + 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, + 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, + 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, + 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, + 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, + 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, + 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, + 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, + 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, + 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, + 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, + 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, + 1, 58, 1, 59, 1, 59, 1, 59, 1, 60, 1, + 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, + 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, + 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, + 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, + 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, + 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, + 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, + 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, + 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, + 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, + 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, + 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, + 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, + 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, + 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, + 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, + 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, + 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, + 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, + 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, + 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, + 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, + 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, + 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, + 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, + 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, + 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, + 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, + 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, + 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, + 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, + 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, + 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, + 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, + 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, + 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, + 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, + 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, + 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, + 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, + 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, + 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, + 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, + 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, + 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, + 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, + 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, + 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, + 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, + 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, + 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, + 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, + 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, + 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, + 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, + 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, + 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, + 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, + 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, + 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, + 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, + 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, + 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, + 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, + 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, + 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, + 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, + 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, + 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, + 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, + 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, + 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, + 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, + 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, + 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, + 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, + 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, + 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, + 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, + 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, + 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, + 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, + 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, + 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, + 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, + 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, + 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, + 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, + 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, + 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, + 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, + 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, + 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, + 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, + 1, 141, 5, 141, 1239, 8, 141, 10, 141, 12, 141, + 1242, 9, 141, 1, 141, 1, 141, 1, 142, 3, 142, + 1247, 8, 142, 1, 142, 1, 142, 1, 143, 1, 143, + 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, + 144, 3, 144, 1259, 8, 144, 1, 144, 1, 144, 5, + 144, 1263, 8, 144, 10, 144, 12, 144, 1266, 9, 144, + 1, 144, 3, 144, 1269, 8, 144, 1, 145, 1, 145, + 1, 145, 1, 146, 1, 146, 1, 146, 1, 147, 1, + 147, 4, 147, 1279, 8, 147, 11, 147, 12, 147, 1280, + 1, 147, 1, 147, 1, 147, 4, 147, 1286, 8, 147, + 11, 147, 12, 147, 1287, 5, 147, 1290, 8, 147, 10, + 147, 12, 147, 1293, 9, 147, 1, 148, 1, 148, 1, + 148, 1, 149, 4, 149, 1299, 8, 149, 11, 149, 12, + 149, 1300, 1, 150, 5, 150, 1304, 8, 150, 10, 150, + 12, 150, 1307, 9, 150, 1, 150, 1, 150, 4, 150, + 1311, 8, 150, 11, 150, 12, 150, 1312, 1, 151, 4, + 151, 1316, 8, 151, 11, 151, 12, 151, 1317, 1, 151, + 1, 151, 5, 151, 1322, 8, 151, 10, 151, 12, 151, + 1325, 9, 151, 1, 151, 1, 151, 1, 151, 1, 151, + 4, 151, 1331, 8, 151, 11, 151, 12, 151, 1332, 1, + 151, 1, 151, 1, 151, 4, 151, 1338, 8, 151, 11, + 151, 12, 151, 1339, 1, 151, 1, 151, 3, 151, 1344, + 8, 151, 1, 152, 1, 152, 1, 152, 1, 153, 1, + 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 155, + 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, + 157, 1, 157, 1, 157, 1, 158, 1, 158, 3, 158, + 1366, 8, 158, 1, 158, 4, 158, 1369, 8, 158, 11, + 158, 12, 158, 1370, 1, 159, 1, 159, 1, 159, 5, + 159, 1376, 8, 159, 10, 159, 12, 159, 1379, 9, 159, + 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 5, + 160, 1386, 8, 160, 10, 160, 12, 160, 1389, 9, 160, + 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, + 161, 1, 161, 1, 161, 1, 161, 3, 161, 1400, 8, + 161, 1, 161, 1, 161, 3, 161, 1404, 8, 161, 5, + 161, 1406, 8, 161, 10, 161, 12, 161, 1409, 9, 161, + 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, + 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, + 3, 162, 1422, 8, 162, 1, 162, 1, 162, 3, 162, + 1426, 8, 162, 5, 162, 1428, 8, 162, 10, 162, 12, + 162, 1431, 9, 162, 1, 162, 1, 162, 1, 162, 1, + 162, 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, + 5, 164, 1442, 8, 164, 10, 164, 12, 164, 1445, 9, + 164, 1, 164, 1, 164, 1, 165, 1, 165, 5, 165, + 1451, 8, 165, 10, 165, 12, 165, 1454, 9, 165, 1, + 165, 1, 165, 1, 166, 1, 166, 3, 166, 1460, 8, + 166, 1, 167, 1, 167, 3, 167, 1464, 8, 167, 1, + 167, 1, 167, 1, 167, 5, 167, 1469, 8, 167, 10, + 167, 12, 167, 1472, 9, 167, 1, 168, 1, 168, 1, + 168, 1, 168, 3, 168, 1478, 8, 168, 1, 169, 1, + 169, 1, 169, 5, 169, 1483, 8, 169, 10, 169, 12, + 169, 1486, 9, 169, 1, 169, 3, 169, 1489, 8, 169, + 1, 170, 1, 170, 1, 170, 1, 170, 3, 170, 1495, + 8, 170, 1, 170, 1, 170, 1, 170, 5, 170, 1500, + 8, 170, 10, 170, 12, 170, 1503, 9, 170, 1, 170, + 1, 170, 1, 170, 3, 170, 1508, 8, 170, 3, 170, + 1510, 8, 170, 1, 171, 1, 171, 3, 171, 1514, 8, + 171, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, + 1, 173, 3, 173, 1522, 8, 173, 1, 174, 1, 174, + 1, 174, 1, 175, 1, 175, 1, 176, 1, 176, 1, + 177, 4, 177, 1532, 8, 177, 11, 177, 12, 177, 1533, + 1, 177, 1, 177, 1, 178, 1, 178, 5, 178, 1540, + 8, 178, 10, 178, 12, 178, 1543, 9, 178, 1, 178, + 1, 178, 1, 179, 1, 179, 1, 180, 1, 180, 1, + 181, 1, 181, 1, 182, 1, 182, 1, 183, 1, 183, + 1, 184, 1, 184, 1, 185, 1, 185, 1, 186, 1, + 186, 1, 187, 1, 187, 1, 188, 1, 188, 1, 189, + 1, 189, 1, 190, 1, 190, 1, 191, 1, 191, 1, + 192, 1, 192, 1, 193, 1, 193, 1, 194, 1, 194, + 1, 195, 1, 195, 1, 196, 1, 196, 1, 197, 1, + 197, 1, 198, 1, 198, 1, 199, 1, 199, 1, 200, + 1, 200, 1, 201, 1, 201, 1, 202, 1, 202, 1, + 203, 1, 203, 1, 204, 1, 204, 0, 0, 205, 1, + 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, + 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, + 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, + 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, + 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, + 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, + 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, + 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, + 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, + 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, + 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, + 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, + 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, + 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, + 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, + 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, + 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, + 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, + 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, + 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, + 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, + 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, + 122, 245, 123, 247, 124, 249, 125, 251, 126, 253, 127, + 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, + 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, + 277, 139, 279, 140, 281, 141, 283, 142, 285, 143, 287, + 144, 289, 145, 291, 146, 293, 147, 295, 148, 297, 149, + 299, 150, 301, 151, 303, 152, 305, 153, 307, 154, 309, + 155, 311, 156, 313, 157, 315, 158, 317, 159, 319, 160, + 321, 161, 323, 162, 325, 163, 327, 164, 329, 165, 331, + 166, 333, 167, 335, 168, 337, 0, 339, 169, 341, 170, + 343, 171, 345, 172, 347, 173, 349, 174, 351, 0, 353, + 0, 355, 175, 357, 176, 359, 0, 361, 0, 363, 0, + 365, 0, 367, 0, 369, 0, 371, 0, 373, 0, 375, + 0, 377, 0, 379, 0, 381, 0, 383, 0, 385, 0, + 387, 0, 389, 0, 391, 0, 393, 0, 395, 0, 397, + 0, 399, 0, 401, 0, 403, 0, 405, 0, 407, 0, + 409, 0, 1, 0, 41, 8, 0, 0, 32, 34, 34, + 60, 60, 62, 62, 92, 92, 94, 94, 96, 96, 123, + 125, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, + 101, 101, 2, 0, 43, 43, 45, 45, 4, 0, 10, + 10, 13, 13, 39, 39, 92, 92, 4, 0, 10, 10, + 13, 13, 34, 34, 92, 92, 2, 0, 39, 39, 92, + 92, 2, 0, 34, 34, 92, 92, 8, 0, 34, 34, + 39, 39, 92, 92, 98, 98, 102, 102, 110, 110, 114, + 114, 116, 116, 3, 0, 183, 183, 768, 879, 8255, 8256, + 2, 0, 46, 46, 58, 58, 2, 0, 65, 70, 97, + 102, 7, 0, 33, 33, 35, 47, 59, 59, 61, 61, + 63, 64, 95, 95, 126, 126, 13, 0, 65, 90, 97, + 122, 192, 214, 216, 246, 248, 767, 880, 893, 895, 8191, + 8204, 8205, 8304, 8591, 11264, 12271, 12289, 55295, 63744, 64975, 65008, + 65533, 3, 0, 9, 10, 13, 13, 32, 32, 2, 0, + 10, 10, 13, 13, 2, 0, 65, 65, 97, 97, 2, + 0, 66, 66, 98, 98, 2, 0, 67, 67, 99, 99, + 2, 0, 68, 68, 100, 100, 2, 0, 70, 70, 102, + 102, 2, 0, 71, 71, 103, 103, 2, 0, 72, 72, + 104, 104, 2, 0, 73, 73, 105, 105, 2, 0, 74, + 74, 106, 106, 2, 0, 75, 75, 107, 107, 2, 0, + 76, 76, 108, 108, 2, 0, 77, 77, 109, 109, 2, + 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, + 2, 0, 80, 80, 112, 112, 2, 0, 81, 81, 113, + 113, 2, 0, 82, 82, 114, 114, 2, 0, 83, 83, + 115, 115, 2, 0, 84, 84, 116, 116, 2, 0, 85, + 85, 117, 117, 2, 0, 86, 86, 118, 118, 2, 0, + 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, + 0, 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, + 1631, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, + 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, + 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, + 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, + 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, + 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, + 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, + 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, + 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, + 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, + 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, + 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, + 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, + 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, + 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, + 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, + 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, + 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, + 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, + 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, + 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, + 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, + 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, + 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, + 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, + 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, + 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, + 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, + 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, + 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, + 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, + 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, + 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, + 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, + 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, + 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, + 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, + 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, + 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, + 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, + 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, + 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, + 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, + 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, + 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, + 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, + 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, + 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, + 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, + 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, + 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, + 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, + 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, + 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, + 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, + 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, + 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, + 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, + 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, + 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, + 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, + 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, + 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, + 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, + 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, + 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, + 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, + 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, + 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, + 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, + 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, + 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, + 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, + 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, + 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, + 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, + 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, + 0, 283, 1, 0, 0, 0, 0, 285, 1, 0, 0, + 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, + 0, 0, 0, 291, 1, 0, 0, 0, 0, 293, 1, + 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, + 1, 0, 0, 0, 0, 299, 1, 0, 0, 0, 0, + 301, 1, 0, 0, 0, 0, 303, 1, 0, 0, 0, + 0, 305, 1, 0, 0, 0, 0, 307, 1, 0, 0, + 0, 0, 309, 1, 0, 0, 0, 0, 311, 1, 0, + 0, 0, 0, 313, 1, 0, 0, 0, 0, 315, 1, + 0, 0, 0, 0, 317, 1, 0, 0, 0, 0, 319, + 1, 0, 0, 0, 0, 321, 1, 0, 0, 0, 0, + 323, 1, 0, 0, 0, 0, 325, 1, 0, 0, 0, + 0, 327, 1, 0, 0, 0, 0, 329, 1, 0, 0, + 0, 0, 331, 1, 0, 0, 0, 0, 333, 1, 0, + 0, 0, 0, 335, 1, 0, 0, 0, 0, 339, 1, + 0, 0, 0, 0, 341, 1, 0, 0, 0, 0, 343, + 1, 0, 0, 0, 0, 345, 1, 0, 0, 0, 0, + 347, 1, 0, 0, 0, 0, 349, 1, 0, 0, 0, + 0, 355, 1, 0, 0, 0, 0, 357, 1, 0, 0, + 0, 1, 411, 1, 0, 0, 0, 3, 413, 1, 0, + 0, 0, 5, 415, 1, 0, 0, 0, 7, 417, 1, + 0, 0, 0, 9, 419, 1, 0, 0, 0, 11, 421, + 1, 0, 0, 0, 13, 423, 1, 0, 0, 0, 15, + 425, 1, 0, 0, 0, 17, 427, 1, 0, 0, 0, + 19, 429, 1, 0, 0, 0, 21, 431, 1, 0, 0, + 0, 23, 433, 1, 0, 0, 0, 25, 435, 1, 0, + 0, 0, 27, 437, 1, 0, 0, 0, 29, 439, 1, + 0, 0, 0, 31, 441, 1, 0, 0, 0, 33, 443, + 1, 0, 0, 0, 35, 445, 1, 0, 0, 0, 37, + 448, 1, 0, 0, 0, 39, 451, 1, 0, 0, 0, + 41, 453, 1, 0, 0, 0, 43, 456, 1, 0, 0, + 0, 45, 458, 1, 0, 0, 0, 47, 460, 1, 0, + 0, 0, 49, 463, 1, 0, 0, 0, 51, 466, 1, + 0, 0, 0, 53, 468, 1, 0, 0, 0, 55, 471, + 1, 0, 0, 0, 57, 476, 1, 0, 0, 0, 59, + 482, 1, 0, 0, 0, 61, 487, 1, 0, 0, 0, + 63, 494, 1, 0, 0, 0, 65, 501, 1, 0, 0, + 0, 67, 510, 1, 0, 0, 0, 69, 518, 1, 0, + 0, 0, 71, 521, 1, 0, 0, 0, 73, 531, 1, + 0, 0, 0, 75, 537, 1, 0, 0, 0, 77, 546, + 1, 0, 0, 0, 79, 550, 1, 0, 0, 0, 81, + 555, 1, 0, 0, 0, 83, 561, 1, 0, 0, 0, + 85, 574, 1, 0, 0, 0, 87, 587, 1, 0, 0, + 0, 89, 594, 1, 0, 0, 0, 91, 607, 1, 0, + 0, 0, 93, 632, 1, 0, 0, 0, 95, 636, 1, + 0, 0, 0, 97, 641, 1, 0, 0, 0, 99, 647, + 1, 0, 0, 0, 101, 654, 1, 0, 0, 0, 103, + 664, 1, 0, 0, 0, 105, 671, 1, 0, 0, 0, + 107, 676, 1, 0, 0, 0, 109, 683, 1, 0, 0, + 0, 111, 688, 1, 0, 0, 0, 113, 694, 1, 0, + 0, 0, 115, 699, 1, 0, 0, 0, 117, 706, 1, + 0, 0, 0, 119, 710, 1, 0, 0, 0, 121, 713, + 1, 0, 0, 0, 123, 718, 1, 0, 0, 0, 125, + 723, 1, 0, 0, 0, 127, 728, 1, 0, 0, 0, + 129, 735, 1, 0, 0, 0, 131, 742, 1, 0, 0, + 0, 133, 747, 1, 0, 0, 0, 135, 753, 1, 0, + 0, 0, 137, 761, 1, 0, 0, 0, 139, 767, 1, + 0, 0, 0, 141, 771, 1, 0, 0, 0, 143, 780, + 1, 0, 0, 0, 145, 788, 1, 0, 0, 0, 147, + 793, 1, 0, 0, 0, 149, 799, 1, 0, 0, 0, + 151, 805, 1, 0, 0, 0, 153, 811, 1, 0, 0, + 0, 155, 818, 1, 0, 0, 0, 157, 822, 1, 0, + 0, 0, 159, 825, 1, 0, 0, 0, 161, 829, 1, + 0, 0, 0, 163, 834, 1, 0, 0, 0, 165, 846, + 1, 0, 0, 0, 167, 855, 1, 0, 0, 0, 169, + 861, 1, 0, 0, 0, 171, 865, 1, 0, 0, 0, + 173, 869, 1, 0, 0, 0, 175, 875, 1, 0, 0, + 0, 177, 880, 1, 0, 0, 0, 179, 884, 1, 0, + 0, 0, 181, 889, 1, 0, 0, 0, 183, 895, 1, + 0, 0, 0, 185, 901, 1, 0, 0, 0, 187, 908, + 1, 0, 0, 0, 189, 915, 1, 0, 0, 0, 191, + 921, 1, 0, 0, 0, 193, 927, 1, 0, 0, 0, + 195, 942, 1, 0, 0, 0, 197, 946, 1, 0, 0, + 0, 199, 955, 1, 0, 0, 0, 201, 965, 1, 0, + 0, 0, 203, 973, 1, 0, 0, 0, 205, 983, 1, + 0, 0, 0, 207, 992, 1, 0, 0, 0, 209, 997, + 1, 0, 0, 0, 211, 1003, 1, 0, 0, 0, 213, + 1007, 1, 0, 0, 0, 215, 1013, 1, 0, 0, 0, + 217, 1021, 1, 0, 0, 0, 219, 1029, 1, 0, 0, + 0, 221, 1038, 1, 0, 0, 0, 223, 1041, 1, 0, + 0, 0, 225, 1045, 1, 0, 0, 0, 227, 1050, 1, + 0, 0, 0, 229, 1058, 1, 0, 0, 0, 231, 1063, + 1, 0, 0, 0, 233, 1070, 1, 0, 0, 0, 235, + 1077, 1, 0, 0, 0, 237, 1084, 1, 0, 0, 0, + 239, 1088, 1, 0, 0, 0, 241, 1097, 1, 0, 0, + 0, 243, 1100, 1, 0, 0, 0, 245, 1108, 1, 0, + 0, 0, 247, 1114, 1, 0, 0, 0, 249, 1123, 1, + 0, 0, 0, 251, 1129, 1, 0, 0, 0, 253, 1135, + 1, 0, 0, 0, 255, 1143, 1, 0, 0, 0, 257, + 1153, 1, 0, 0, 0, 259, 1163, 1, 0, 0, 0, + 261, 1169, 1, 0, 0, 0, 263, 1176, 1, 0, 0, + 0, 265, 1184, 1, 0, 0, 0, 267, 1191, 1, 0, + 0, 0, 269, 1197, 1, 0, 0, 0, 271, 1201, 1, + 0, 0, 0, 273, 1205, 1, 0, 0, 0, 275, 1209, + 1, 0, 0, 0, 277, 1213, 1, 0, 0, 0, 279, + 1219, 1, 0, 0, 0, 281, 1226, 1, 0, 0, 0, + 283, 1236, 1, 0, 0, 0, 285, 1246, 1, 0, 0, + 0, 287, 1250, 1, 0, 0, 0, 289, 1253, 1, 0, + 0, 0, 291, 1270, 1, 0, 0, 0, 293, 1273, 1, + 0, 0, 0, 295, 1276, 1, 0, 0, 0, 297, 1294, + 1, 0, 0, 0, 299, 1298, 1, 0, 0, 0, 301, + 1305, 1, 0, 0, 0, 303, 1343, 1, 0, 0, 0, + 305, 1345, 1, 0, 0, 0, 307, 1348, 1, 0, 0, + 0, 309, 1351, 1, 0, 0, 0, 311, 1354, 1, 0, + 0, 0, 313, 1357, 1, 0, 0, 0, 315, 1360, 1, + 0, 0, 0, 317, 1363, 1, 0, 0, 0, 319, 1372, + 1, 0, 0, 0, 321, 1382, 1, 0, 0, 0, 323, + 1392, 1, 0, 0, 0, 325, 1414, 1, 0, 0, 0, + 327, 1436, 1, 0, 0, 0, 329, 1439, 1, 0, 0, + 0, 331, 1448, 1, 0, 0, 0, 333, 1459, 1, 0, + 0, 0, 335, 1463, 1, 0, 0, 0, 337, 1477, 1, + 0, 0, 0, 339, 1479, 1, 0, 0, 0, 341, 1494, + 1, 0, 0, 0, 343, 1513, 1, 0, 0, 0, 345, + 1515, 1, 0, 0, 0, 347, 1521, 1, 0, 0, 0, + 349, 1523, 1, 0, 0, 0, 351, 1526, 1, 0, 0, + 0, 353, 1528, 1, 0, 0, 0, 355, 1531, 1, 0, + 0, 0, 357, 1537, 1, 0, 0, 0, 359, 1546, 1, + 0, 0, 0, 361, 1548, 1, 0, 0, 0, 363, 1550, + 1, 0, 0, 0, 365, 1552, 1, 0, 0, 0, 367, + 1554, 1, 0, 0, 0, 369, 1556, 1, 0, 0, 0, + 371, 1558, 1, 0, 0, 0, 373, 1560, 1, 0, 0, + 0, 375, 1562, 1, 0, 0, 0, 377, 1564, 1, 0, + 0, 0, 379, 1566, 1, 0, 0, 0, 381, 1568, 1, + 0, 0, 0, 383, 1570, 1, 0, 0, 0, 385, 1572, + 1, 0, 0, 0, 387, 1574, 1, 0, 0, 0, 389, + 1576, 1, 0, 0, 0, 391, 1578, 1, 0, 0, 0, + 393, 1580, 1, 0, 0, 0, 395, 1582, 1, 0, 0, + 0, 397, 1584, 1, 0, 0, 0, 399, 1586, 1, 0, + 0, 0, 401, 1588, 1, 0, 0, 0, 403, 1590, 1, + 0, 0, 0, 405, 1592, 1, 0, 0, 0, 407, 1594, + 1, 0, 0, 0, 409, 1596, 1, 0, 0, 0, 411, + 412, 5, 42, 0, 0, 412, 2, 1, 0, 0, 0, + 413, 414, 5, 40, 0, 0, 414, 4, 1, 0, 0, + 0, 415, 416, 5, 41, 0, 0, 416, 6, 1, 0, + 0, 0, 417, 418, 5, 123, 0, 0, 418, 8, 1, + 0, 0, 0, 419, 420, 5, 125, 0, 0, 420, 10, + 1, 0, 0, 0, 421, 422, 5, 59, 0, 0, 422, + 12, 1, 0, 0, 0, 423, 424, 5, 46, 0, 0, + 424, 14, 1, 0, 0, 0, 425, 426, 5, 44, 0, + 0, 426, 16, 1, 0, 0, 0, 427, 428, 5, 97, + 0, 0, 428, 18, 1, 0, 0, 0, 429, 430, 5, + 124, 0, 0, 430, 20, 1, 0, 0, 0, 431, 432, + 5, 47, 0, 0, 432, 22, 1, 0, 0, 0, 433, + 434, 5, 94, 0, 0, 434, 24, 1, 0, 0, 0, + 435, 436, 5, 43, 0, 0, 436, 26, 1, 0, 0, + 0, 437, 438, 5, 63, 0, 0, 438, 28, 1, 0, + 0, 0, 439, 440, 5, 33, 0, 0, 440, 30, 1, + 0, 0, 0, 441, 442, 5, 91, 0, 0, 442, 32, + 1, 0, 0, 0, 443, 444, 5, 93, 0, 0, 444, + 34, 1, 0, 0, 0, 445, 446, 5, 124, 0, 0, + 446, 447, 5, 124, 0, 0, 447, 36, 1, 0, 0, + 0, 448, 449, 5, 38, 0, 0, 449, 450, 5, 38, + 0, 0, 450, 38, 1, 0, 0, 0, 451, 452, 5, + 61, 0, 0, 452, 40, 1, 0, 0, 0, 453, 454, + 5, 33, 0, 0, 454, 455, 5, 61, 0, 0, 455, + 42, 1, 0, 0, 0, 456, 457, 5, 60, 0, 0, + 457, 44, 1, 0, 0, 0, 458, 459, 5, 62, 0, + 0, 459, 46, 1, 0, 0, 0, 460, 461, 5, 60, + 0, 0, 461, 462, 5, 61, 0, 0, 462, 48, 1, + 0, 0, 0, 463, 464, 5, 62, 0, 0, 464, 465, + 5, 61, 0, 0, 465, 50, 1, 0, 0, 0, 466, + 467, 5, 45, 0, 0, 467, 52, 1, 0, 0, 0, + 468, 469, 5, 94, 0, 0, 469, 470, 5, 94, 0, + 0, 470, 54, 1, 0, 0, 0, 471, 472, 5, 116, + 0, 0, 472, 473, 5, 114, 0, 0, 473, 474, 5, + 117, 0, 0, 474, 475, 5, 101, 0, 0, 475, 56, + 1, 0, 0, 0, 476, 477, 5, 102, 0, 0, 477, + 478, 5, 97, 0, 0, 478, 479, 5, 108, 0, 0, + 479, 480, 5, 115, 0, 0, 480, 481, 5, 101, 0, + 0, 481, 58, 1, 0, 0, 0, 482, 483, 3, 361, + 180, 0, 483, 484, 3, 359, 179, 0, 484, 485, 3, + 395, 197, 0, 485, 486, 3, 367, 183, 0, 486, 60, + 1, 0, 0, 0, 487, 488, 3, 389, 194, 0, 488, + 489, 3, 393, 196, 0, 489, 490, 3, 367, 183, 0, + 490, 491, 3, 369, 184, 0, 491, 492, 3, 375, 187, + 0, 492, 493, 3, 405, 202, 0, 493, 62, 1, 0, + 0, 0, 494, 495, 3, 395, 197, 0, 495, 496, 3, + 367, 183, 0, 496, 497, 3, 381, 190, 0, 497, 498, + 3, 367, 183, 0, 498, 499, 3, 363, 181, 0, 499, + 500, 3, 397, 198, 0, 500, 64, 1, 0, 0, 0, + 501, 502, 3, 365, 182, 0, 502, 503, 3, 375, 187, + 0, 503, 504, 3, 395, 197, 0, 504, 505, 3, 397, + 198, 0, 505, 506, 3, 375, 187, 0, 506, 507, 3, + 385, 192, 0, 507, 508, 3, 363, 181, 0, 508, 509, + 3, 397, 198, 0, 509, 66, 1, 0, 0, 0, 510, + 511, 3, 393, 196, 0, 511, 512, 3, 367, 183, 0, + 512, 513, 3, 365, 182, 0, 513, 514, 3, 399, 199, + 0, 514, 515, 3, 363, 181, 0, 515, 516, 3, 367, + 183, 0, 516, 517, 3, 365, 182, 0, 517, 68, 1, + 0, 0, 0, 518, 519, 3, 359, 179, 0, 519, 520, + 3, 395, 197, 0, 520, 70, 1, 0, 0, 0, 521, + 522, 3, 363, 181, 0, 522, 523, 3, 387, 193, 0, + 523, 524, 3, 385, 192, 0, 524, 525, 3, 395, 197, + 0, 525, 526, 3, 397, 198, 0, 526, 527, 3, 393, + 196, 0, 527, 528, 3, 399, 199, 0, 528, 529, 3, + 363, 181, 0, 529, 530, 3, 397, 198, 0, 530, 72, + 1, 0, 0, 0, 531, 532, 3, 403, 201, 0, 532, + 533, 3, 373, 186, 0, 533, 534, 3, 367, 183, 0, + 534, 535, 3, 393, 196, 0, 535, 536, 3, 367, 183, + 0, 536, 74, 1, 0, 0, 0, 537, 538, 3, 365, + 182, 0, 538, 539, 3, 367, 183, 0, 539, 540, 3, + 395, 197, 0, 540, 541, 3, 363, 181, 0, 541, 542, + 3, 393, 196, 0, 542, 543, 3, 375, 187, 0, 543, + 544, 3, 361, 180, 0, 544, 545, 3, 367, 183, 0, + 545, 76, 1, 0, 0, 0, 546, 547, 3, 359, 179, + 0, 547, 548, 3, 395, 197, 0, 548, 549, 3, 379, + 189, 0, 549, 78, 1, 0, 0, 0, 550, 551, 3, + 369, 184, 0, 551, 552, 3, 393, 196, 0, 552, 553, + 3, 387, 193, 0, 553, 554, 3, 383, 191, 0, 554, + 80, 1, 0, 0, 0, 555, 556, 3, 385, 192, 0, + 556, 557, 3, 359, 179, 0, 557, 558, 3, 383, 191, + 0, 558, 559, 3, 367, 183, 0, 559, 560, 3, 365, + 182, 0, 560, 82, 1, 0, 0, 0, 561, 562, 3, + 371, 185, 0, 562, 563, 3, 393, 196, 0, 563, 564, + 3, 387, 193, 0, 564, 565, 3, 399, 199, 0, 565, + 567, 3, 389, 194, 0, 566, 568, 3, 355, 177, 0, + 567, 566, 1, 0, 0, 0, 568, 569, 1, 0, 0, + 0, 569, 567, 1, 0, 0, 0, 569, 570, 1, 0, + 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 3, + 361, 180, 0, 572, 573, 3, 407, 203, 0, 573, 84, + 1, 0, 0, 0, 574, 575, 3, 371, 185, 0, 575, + 576, 3, 393, 196, 0, 576, 577, 3, 387, 193, 0, + 577, 578, 3, 399, 199, 0, 578, 579, 3, 389, 194, + 0, 579, 580, 5, 95, 0, 0, 580, 581, 3, 363, + 181, 0, 581, 582, 3, 387, 193, 0, 582, 583, 3, + 385, 192, 0, 583, 584, 3, 363, 181, 0, 584, 585, + 3, 359, 179, 0, 585, 586, 3, 397, 198, 0, 586, + 86, 1, 0, 0, 0, 587, 588, 3, 373, 186, 0, + 588, 589, 3, 359, 179, 0, 589, 590, 3, 401, 200, + 0, 590, 591, 3, 375, 187, 0, 591, 592, 3, 385, + 192, 0, 592, 593, 3, 371, 185, 0, 593, 88, 1, + 0, 0, 0, 594, 595, 3, 387, 193, 0, 595, 596, + 3, 393, 196, 0, 596, 597, 3, 365, 182, 0, 597, + 598, 3, 367, 183, 0, 598, 600, 3, 393, 196, 0, + 599, 601, 3, 355, 177, 0, 600, 599, 1, 0, 0, + 0, 601, 602, 1, 0, 0, 0, 602, 600, 1, 0, + 0, 0, 602, 603, 1, 0, 0, 0, 603, 604, 1, + 0, 0, 0, 604, 605, 3, 361, 180, 0, 605, 606, + 3, 407, 203, 0, 606, 90, 1, 0, 0, 0, 607, + 608, 3, 375, 187, 0, 608, 609, 3, 385, 192, 0, + 609, 610, 3, 397, 198, 0, 610, 611, 3, 367, 183, + 0, 611, 612, 3, 393, 196, 0, 612, 613, 3, 385, + 192, 0, 613, 614, 3, 359, 179, 0, 614, 616, 3, + 381, 190, 0, 615, 617, 3, 355, 177, 0, 616, 615, + 1, 0, 0, 0, 617, 618, 1, 0, 0, 0, 618, + 616, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, + 619, 620, 1, 0, 0, 0, 620, 621, 3, 395, 197, + 0, 621, 622, 3, 387, 193, 0, 622, 623, 3, 393, + 196, 0, 623, 625, 3, 397, 198, 0, 624, 626, 3, + 355, 177, 0, 625, 624, 1, 0, 0, 0, 626, 627, + 1, 0, 0, 0, 627, 625, 1, 0, 0, 0, 627, + 628, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, + 629, 630, 3, 361, 180, 0, 630, 631, 3, 407, 203, + 0, 631, 92, 1, 0, 0, 0, 632, 633, 3, 359, + 179, 0, 633, 634, 3, 395, 197, 0, 634, 635, 3, + 363, 181, 0, 635, 94, 1, 0, 0, 0, 636, 637, + 3, 365, 182, 0, 637, 638, 3, 367, 183, 0, 638, + 639, 3, 395, 197, 0, 639, 640, 3, 363, 181, 0, + 640, 96, 1, 0, 0, 0, 641, 642, 3, 381, 190, + 0, 642, 643, 3, 375, 187, 0, 643, 644, 3, 383, + 191, 0, 644, 645, 3, 375, 187, 0, 645, 646, 3, + 397, 198, 0, 646, 98, 1, 0, 0, 0, 647, 648, + 3, 387, 193, 0, 648, 649, 3, 369, 184, 0, 649, + 650, 3, 369, 184, 0, 650, 651, 3, 395, 197, 0, + 651, 652, 3, 367, 183, 0, 652, 653, 3, 397, 198, + 0, 653, 100, 1, 0, 0, 0, 654, 655, 3, 397, + 198, 0, 655, 656, 3, 367, 183, 0, 656, 657, 3, + 405, 202, 0, 657, 658, 3, 397, 198, 0, 658, 659, + 3, 381, 190, 0, 659, 660, 3, 375, 187, 0, 660, + 661, 3, 383, 191, 0, 661, 662, 3, 375, 187, 0, + 662, 663, 3, 397, 198, 0, 663, 102, 1, 0, 0, + 0, 664, 665, 3, 401, 200, 0, 665, 666, 3, 359, + 179, 0, 666, 667, 3, 381, 190, 0, 667, 668, 3, + 399, 199, 0, 668, 669, 3, 367, 183, 0, 669, 670, + 3, 395, 197, 0, 670, 104, 1, 0, 0, 0, 671, + 672, 3, 381, 190, 0, 672, 673, 3, 387, 193, 0, + 673, 674, 3, 359, 179, 0, 674, 675, 3, 365, 182, + 0, 675, 106, 1, 0, 0, 0, 676, 677, 3, 395, + 197, 0, 677, 678, 3, 375, 187, 0, 678, 679, 3, + 381, 190, 0, 679, 680, 3, 367, 183, 0, 680, 681, + 3, 385, 192, 0, 681, 682, 3, 397, 198, 0, 682, + 108, 1, 0, 0, 0, 683, 684, 3, 375, 187, 0, + 684, 685, 3, 385, 192, 0, 685, 686, 3, 397, 198, + 0, 686, 687, 3, 387, 193, 0, 687, 110, 1, 0, + 0, 0, 688, 689, 3, 363, 181, 0, 689, 690, 3, + 381, 190, 0, 690, 691, 3, 367, 183, 0, 691, 692, + 3, 359, 179, 0, 692, 693, 3, 393, 196, 0, 693, + 112, 1, 0, 0, 0, 694, 695, 3, 365, 182, 0, + 695, 696, 3, 393, 196, 0, 696, 697, 3, 387, 193, + 0, 697, 698, 3, 389, 194, 0, 698, 114, 1, 0, + 0, 0, 699, 700, 3, 363, 181, 0, 700, 701, 3, + 393, 196, 0, 701, 702, 3, 367, 183, 0, 702, 703, + 3, 359, 179, 0, 703, 704, 3, 397, 198, 0, 704, + 705, 3, 367, 183, 0, 705, 116, 1, 0, 0, 0, + 706, 707, 3, 359, 179, 0, 707, 708, 3, 365, 182, + 0, 708, 709, 3, 365, 182, 0, 709, 118, 1, 0, + 0, 0, 710, 711, 3, 397, 198, 0, 711, 712, 3, + 387, 193, 0, 712, 120, 1, 0, 0, 0, 713, 714, + 3, 365, 182, 0, 714, 715, 3, 359, 179, 0, 715, + 716, 3, 397, 198, 0, 716, 717, 3, 359, 179, 0, + 717, 122, 1, 0, 0, 0, 718, 719, 3, 383, 191, + 0, 719, 720, 3, 387, 193, 0, 720, 721, 3, 401, + 200, 0, 721, 722, 3, 367, 183, 0, 722, 124, 1, + 0, 0, 0, 723, 724, 3, 363, 181, 0, 724, 725, + 3, 387, 193, 0, 725, 726, 3, 389, 194, 0, 726, + 727, 3, 407, 203, 0, 727, 126, 1, 0, 0, 0, + 728, 729, 3, 375, 187, 0, 729, 730, 3, 385, 192, + 0, 730, 731, 3, 395, 197, 0, 731, 732, 3, 367, + 183, 0, 732, 733, 3, 393, 196, 0, 733, 734, 3, + 397, 198, 0, 734, 128, 1, 0, 0, 0, 735, 736, + 3, 365, 182, 0, 736, 737, 3, 367, 183, 0, 737, + 738, 3, 381, 190, 0, 738, 739, 3, 367, 183, 0, + 739, 740, 3, 397, 198, 0, 740, 741, 3, 367, 183, + 0, 741, 130, 1, 0, 0, 0, 742, 743, 3, 403, + 201, 0, 743, 744, 3, 375, 187, 0, 744, 745, 3, + 397, 198, 0, 745, 746, 3, 373, 186, 0, 746, 132, + 1, 0, 0, 0, 747, 748, 3, 399, 199, 0, 748, + 749, 3, 395, 197, 0, 749, 750, 3, 375, 187, 0, + 750, 751, 3, 385, 192, 0, 751, 752, 3, 371, 185, + 0, 752, 134, 1, 0, 0, 0, 753, 754, 3, 365, + 182, 0, 754, 755, 3, 367, 183, 0, 755, 756, 3, + 369, 184, 0, 756, 757, 3, 359, 179, 0, 757, 758, + 3, 399, 199, 0, 758, 759, 3, 381, 190, 0, 759, + 760, 3, 397, 198, 0, 760, 136, 1, 0, 0, 0, + 761, 762, 3, 371, 185, 0, 762, 763, 3, 393, 196, + 0, 763, 764, 3, 359, 179, 0, 764, 765, 3, 389, + 194, 0, 765, 766, 3, 373, 186, 0, 766, 138, 1, + 0, 0, 0, 767, 768, 3, 359, 179, 0, 768, 769, + 3, 381, 190, 0, 769, 770, 3, 381, 190, 0, 770, + 140, 1, 0, 0, 0, 771, 772, 3, 387, 193, 0, + 772, 773, 3, 389, 194, 0, 773, 774, 3, 397, 198, + 0, 774, 775, 3, 375, 187, 0, 775, 776, 3, 387, + 193, 0, 776, 777, 3, 385, 192, 0, 777, 778, 3, + 359, 179, 0, 778, 779, 3, 381, 190, 0, 779, 142, + 1, 0, 0, 0, 780, 781, 3, 395, 197, 0, 781, + 782, 3, 367, 183, 0, 782, 783, 3, 393, 196, 0, + 783, 784, 3, 401, 200, 0, 784, 785, 3, 375, 187, + 0, 785, 786, 3, 363, 181, 0, 786, 787, 3, 367, + 183, 0, 787, 144, 1, 0, 0, 0, 788, 789, 3, + 361, 180, 0, 789, 790, 3, 375, 187, 0, 790, 791, + 3, 385, 192, 0, 791, 792, 3, 365, 182, 0, 792, + 146, 1, 0, 0, 0, 793, 794, 3, 399, 199, 0, + 794, 795, 3, 385, 192, 0, 795, 796, 3, 365, 182, + 0, 796, 797, 3, 367, 183, 0, 797, 798, 3, 369, + 184, 0, 798, 148, 1, 0, 0, 0, 799, 800, 3, + 383, 191, 0, 800, 801, 3, 375, 187, 0, 801, 802, + 3, 385, 192, 0, 802, 803, 3, 399, 199, 0, 803, + 804, 3, 395, 197, 0, 804, 150, 1, 0, 0, 0, + 805, 806, 3, 399, 199, 0, 806, 807, 3, 385, 192, + 0, 807, 808, 3, 375, 187, 0, 808, 809, 3, 387, + 193, 0, 809, 810, 3, 385, 192, 0, 810, 152, 1, + 0, 0, 0, 811, 812, 3, 369, 184, 0, 812, 813, + 3, 375, 187, 0, 813, 814, 3, 381, 190, 0, 814, + 815, 3, 397, 198, 0, 815, 816, 3, 367, 183, 0, + 816, 817, 3, 393, 196, 0, 817, 154, 1, 0, 0, + 0, 818, 819, 3, 385, 192, 0, 819, 820, 3, 387, + 193, 0, 820, 821, 3, 397, 198, 0, 821, 156, 1, + 0, 0, 0, 822, 823, 3, 375, 187, 0, 823, 824, + 3, 385, 192, 0, 824, 158, 1, 0, 0, 0, 825, + 826, 3, 395, 197, 0, 826, 827, 3, 397, 198, 0, + 827, 828, 3, 393, 196, 0, 828, 160, 1, 0, 0, + 0, 829, 830, 3, 381, 190, 0, 830, 831, 3, 359, + 179, 0, 831, 832, 3, 385, 192, 0, 832, 833, 3, + 371, 185, 0, 833, 162, 1, 0, 0, 0, 834, 835, + 3, 381, 190, 0, 835, 836, 3, 359, 179, 0, 836, + 837, 3, 385, 192, 0, 837, 838, 3, 371, 185, 0, + 838, 839, 3, 383, 191, 0, 839, 840, 3, 359, 179, + 0, 840, 841, 3, 397, 198, 0, 841, 842, 3, 363, + 181, 0, 842, 843, 3, 373, 186, 0, 843, 844, 3, + 367, 183, 0, 844, 845, 3, 395, 197, 0, 845, 164, + 1, 0, 0, 0, 846, 847, 3, 365, 182, 0, 847, + 848, 3, 359, 179, 0, 848, 849, 3, 397, 198, 0, + 849, 850, 3, 359, 179, 0, 850, 851, 3, 397, 198, + 0, 851, 852, 3, 407, 203, 0, 852, 853, 3, 389, + 194, 0, 853, 854, 3, 367, 183, 0, 854, 166, 1, + 0, 0, 0, 855, 856, 3, 361, 180, 0, 856, 857, + 3, 387, 193, 0, 857, 858, 3, 399, 199, 0, 858, + 859, 3, 385, 192, 0, 859, 860, 3, 365, 182, 0, + 860, 168, 1, 0, 0, 0, 861, 862, 3, 375, 187, + 0, 862, 863, 3, 393, 196, 0, 863, 864, 3, 375, + 187, 0, 864, 170, 1, 0, 0, 0, 865, 866, 3, + 399, 199, 0, 866, 867, 3, 393, 196, 0, 867, 868, + 3, 375, 187, 0, 868, 172, 1, 0, 0, 0, 869, + 870, 3, 361, 180, 0, 870, 871, 3, 385, 192, 0, + 871, 872, 3, 387, 193, 0, 872, 873, 3, 365, 182, + 0, 873, 874, 3, 367, 183, 0, 874, 174, 1, 0, + 0, 0, 875, 876, 3, 393, 196, 0, 876, 877, 3, + 359, 179, 0, 877, 878, 3, 385, 192, 0, 878, 879, + 3, 365, 182, 0, 879, 176, 1, 0, 0, 0, 880, + 881, 3, 359, 179, 0, 881, 882, 3, 361, 180, 0, + 882, 883, 3, 395, 197, 0, 883, 178, 1, 0, 0, + 0, 884, 885, 3, 363, 181, 0, 885, 886, 3, 367, + 183, 0, 886, 887, 3, 375, 187, 0, 887, 888, 3, + 381, 190, 0, 888, 180, 1, 0, 0, 0, 889, 890, + 3, 369, 184, 0, 890, 891, 3, 381, 190, 0, 891, + 892, 3, 387, 193, 0, 892, 893, 3, 387, 193, 0, + 893, 894, 3, 393, 196, 0, 894, 182, 1, 0, 0, + 0, 895, 896, 3, 393, 196, 0, 896, 897, 3, 387, + 193, 0, 897, 898, 3, 399, 199, 0, 898, 899, 3, + 385, 192, 0, 899, 900, 3, 365, 182, 0, 900, 184, + 1, 0, 0, 0, 901, 902, 3, 363, 181, 0, 902, + 903, 3, 387, 193, 0, 903, 904, 3, 385, 192, 0, + 904, 905, 3, 363, 181, 0, 905, 906, 3, 359, 179, + 0, 906, 907, 3, 397, 198, 0, 907, 186, 1, 0, + 0, 0, 908, 909, 3, 395, 197, 0, 909, 910, 3, + 397, 198, 0, 910, 911, 3, 393, 196, 0, 911, 912, + 3, 381, 190, 0, 912, 913, 3, 367, 183, 0, 913, + 914, 3, 385, 192, 0, 914, 188, 1, 0, 0, 0, + 915, 916, 3, 399, 199, 0, 916, 917, 3, 363, 181, + 0, 917, 918, 3, 359, 179, 0, 918, 919, 3, 395, + 197, 0, 919, 920, 3, 367, 183, 0, 920, 190, 1, + 0, 0, 0, 921, 922, 3, 381, 190, 0, 922, 923, + 3, 363, 181, 0, 923, 924, 3, 359, 179, 0, 924, + 925, 3, 395, 197, 0, 925, 926, 3, 367, 183, 0, + 926, 192, 1, 0, 0, 0, 927, 928, 3, 367, 183, + 0, 928, 929, 3, 385, 192, 0, 929, 930, 3, 363, + 181, 0, 930, 931, 3, 387, 193, 0, 931, 932, 3, + 365, 182, 0, 932, 933, 3, 367, 183, 0, 933, 934, + 5, 95, 0, 0, 934, 935, 3, 369, 184, 0, 935, + 936, 3, 387, 193, 0, 936, 937, 3, 393, 196, 0, + 937, 938, 5, 95, 0, 0, 938, 939, 3, 399, 199, + 0, 939, 940, 3, 393, 196, 0, 940, 941, 3, 375, + 187, 0, 941, 194, 1, 0, 0, 0, 942, 943, 3, + 369, 184, 0, 943, 944, 3, 387, 193, 0, 944, 945, + 3, 393, 196, 0, 945, 196, 1, 0, 0, 0, 946, + 947, 3, 363, 181, 0, 947, 948, 3, 387, 193, 0, + 948, 949, 3, 385, 192, 0, 949, 950, 3, 397, 198, + 0, 950, 951, 3, 359, 179, 0, 951, 952, 3, 375, + 187, 0, 952, 953, 3, 385, 192, 0, 953, 954, 3, + 395, 197, 0, 954, 198, 1, 0, 0, 0, 955, 956, + 3, 395, 197, 0, 956, 957, 3, 397, 198, 0, 957, + 958, 3, 393, 196, 0, 958, 959, 3, 395, 197, 0, + 959, 960, 3, 397, 198, 0, 960, 961, 3, 359, 179, + 0, 961, 962, 3, 393, 196, 0, 962, 963, 3, 397, + 198, 0, 963, 964, 3, 395, 197, 0, 964, 200, 1, + 0, 0, 0, 965, 966, 3, 395, 197, 0, 966, 967, + 3, 397, 198, 0, 967, 968, 3, 393, 196, 0, 968, + 969, 3, 367, 183, 0, 969, 970, 3, 385, 192, 0, + 970, 971, 3, 365, 182, 0, 971, 972, 3, 395, 197, + 0, 972, 202, 1, 0, 0, 0, 973, 974, 3, 395, + 197, 0, 974, 975, 3, 397, 198, 0, 975, 976, 3, + 393, 196, 0, 976, 977, 3, 361, 180, 0, 977, 978, + 3, 367, 183, 0, 978, 979, 3, 369, 184, 0, 979, + 980, 3, 387, 193, 0, 980, 981, 3, 393, 196, 0, + 981, 982, 3, 367, 183, 0, 982, 204, 1, 0, 0, + 0, 983, 984, 3, 395, 197, 0, 984, 985, 3, 397, + 198, 0, 985, 986, 3, 393, 196, 0, 986, 987, 3, + 359, 179, 0, 987, 988, 3, 369, 184, 0, 988, 989, + 3, 397, 198, 0, 989, 990, 3, 367, 183, 0, 990, + 991, 3, 393, 196, 0, 991, 206, 1, 0, 0, 0, + 992, 993, 3, 407, 203, 0, 993, 994, 3, 367, 183, + 0, 994, 995, 3, 359, 179, 0, 995, 996, 3, 393, + 196, 0, 996, 208, 1, 0, 0, 0, 997, 998, 3, + 383, 191, 0, 998, 999, 3, 387, 193, 0, 999, 1000, + 3, 385, 192, 0, 1000, 1001, 3, 397, 198, 0, 1001, + 1002, 3, 373, 186, 0, 1002, 210, 1, 0, 0, 0, + 1003, 1004, 3, 365, 182, 0, 1004, 1005, 3, 359, 179, + 0, 1005, 1006, 3, 407, 203, 0, 1006, 212, 1, 0, + 0, 0, 1007, 1008, 3, 373, 186, 0, 1008, 1009, 3, + 387, 193, 0, 1009, 1010, 3, 399, 199, 0, 1010, 1011, + 3, 393, 196, 0, 1011, 1012, 3, 395, 197, 0, 1012, + 214, 1, 0, 0, 0, 1013, 1014, 3, 383, 191, 0, + 1014, 1015, 3, 375, 187, 0, 1015, 1016, 3, 385, 192, + 0, 1016, 1017, 3, 399, 199, 0, 1017, 1018, 3, 397, + 198, 0, 1018, 1019, 3, 367, 183, 0, 1019, 1020, 3, + 395, 197, 0, 1020, 216, 1, 0, 0, 0, 1021, 1022, + 3, 395, 197, 0, 1022, 1023, 3, 367, 183, 0, 1023, + 1024, 3, 363, 181, 0, 1024, 1025, 3, 387, 193, 0, + 1025, 1026, 3, 385, 192, 0, 1026, 1027, 3, 365, 182, + 0, 1027, 1028, 3, 395, 197, 0, 1028, 218, 1, 0, + 0, 0, 1029, 1030, 3, 397, 198, 0, 1030, 1031, 3, + 375, 187, 0, 1031, 1032, 3, 383, 191, 0, 1032, 1033, + 3, 367, 183, 0, 1033, 1034, 3, 409, 204, 0, 1034, + 1035, 3, 387, 193, 0, 1035, 1036, 3, 385, 192, 0, + 1036, 1037, 3, 367, 183, 0, 1037, 220, 1, 0, 0, + 0, 1038, 1039, 3, 397, 198, 0, 1039, 1040, 3, 409, + 204, 0, 1040, 222, 1, 0, 0, 0, 1041, 1042, 3, + 385, 192, 0, 1042, 1043, 3, 387, 193, 0, 1043, 1044, + 3, 403, 201, 0, 1044, 224, 1, 0, 0, 0, 1045, + 1046, 3, 399, 199, 0, 1046, 1047, 3, 399, 199, 0, + 1047, 1048, 3, 375, 187, 0, 1048, 1049, 3, 365, 182, + 0, 1049, 226, 1, 0, 0, 0, 1050, 1051, 3, 395, + 197, 0, 1051, 1052, 3, 397, 198, 0, 1052, 1053, 3, + 393, 196, 0, 1053, 1054, 3, 399, 199, 0, 1054, 1055, + 3, 399, 199, 0, 1055, 1056, 3, 375, 187, 0, 1056, + 1057, 3, 365, 182, 0, 1057, 228, 1, 0, 0, 0, + 1058, 1059, 3, 395, 197, 0, 1059, 1060, 3, 373, 186, + 0, 1060, 1061, 3, 359, 179, 0, 1061, 1062, 5, 49, + 0, 0, 1062, 230, 1, 0, 0, 0, 1063, 1064, 3, + 395, 197, 0, 1064, 1065, 3, 373, 186, 0, 1065, 1066, + 3, 359, 179, 0, 1066, 1067, 5, 50, 0, 0, 1067, + 1068, 5, 53, 0, 0, 1068, 1069, 5, 54, 0, 0, + 1069, 232, 1, 0, 0, 0, 1070, 1071, 3, 395, 197, + 0, 1071, 1072, 3, 373, 186, 0, 1072, 1073, 3, 359, + 179, 0, 1073, 1074, 5, 51, 0, 0, 1074, 1075, 5, + 56, 0, 0, 1075, 1076, 5, 52, 0, 0, 1076, 234, + 1, 0, 0, 0, 1077, 1078, 3, 395, 197, 0, 1078, + 1079, 3, 373, 186, 0, 1079, 1080, 3, 359, 179, 0, + 1080, 1081, 5, 53, 0, 0, 1081, 1082, 5, 49, 0, + 0, 1082, 1083, 5, 50, 0, 0, 1083, 236, 1, 0, + 0, 0, 1084, 1085, 3, 383, 191, 0, 1085, 1086, 3, + 365, 182, 0, 1086, 1087, 5, 53, 0, 0, 1087, 238, + 1, 0, 0, 0, 1088, 1089, 3, 363, 181, 0, 1089, + 1090, 3, 387, 193, 0, 1090, 1091, 3, 359, 179, 0, + 1091, 1092, 3, 381, 190, 0, 1092, 1093, 3, 367, 183, + 0, 1093, 1094, 3, 395, 197, 0, 1094, 1095, 3, 363, + 181, 0, 1095, 1096, 3, 367, 183, 0, 1096, 240, 1, + 0, 0, 0, 1097, 1098, 3, 375, 187, 0, 1098, 1099, + 3, 369, 184, 0, 1099, 242, 1, 0, 0, 0, 1100, + 1101, 3, 395, 197, 0, 1101, 1102, 3, 397, 198, 0, + 1102, 1103, 3, 393, 196, 0, 1103, 1104, 3, 381, 190, + 0, 1104, 1105, 3, 359, 179, 0, 1105, 1106, 3, 385, + 192, 0, 1106, 1107, 3, 371, 185, 0, 1107, 244, 1, + 0, 0, 0, 1108, 1109, 3, 395, 197, 0, 1109, 1110, + 3, 397, 198, 0, 1110, 1111, 3, 393, 196, 0, 1111, + 1112, 3, 365, 182, 0, 1112, 1113, 3, 397, 198, 0, + 1113, 246, 1, 0, 0, 0, 1114, 1115, 3, 395, 197, + 0, 1115, 1116, 3, 359, 179, 0, 1116, 1117, 3, 383, + 191, 0, 1117, 1118, 3, 367, 183, 0, 1118, 1119, 3, + 397, 198, 0, 1119, 1120, 3, 367, 183, 0, 1120, 1121, + 3, 393, 196, 0, 1121, 1122, 3, 383, 191, 0, 1122, + 248, 1, 0, 0, 0, 1123, 1124, 3, 375, 187, 0, + 1124, 1125, 3, 395, 197, 0, 1125, 1126, 3, 375, 187, + 0, 1126, 1127, 3, 393, 196, 0, 1127, 1128, 3, 375, + 187, 0, 1128, 250, 1, 0, 0, 0, 1129, 1130, 3, + 375, 187, 0, 1130, 1131, 3, 395, 197, 0, 1131, 1132, + 3, 399, 199, 0, 1132, 1133, 3, 393, 196, 0, 1133, + 1134, 3, 375, 187, 0, 1134, 252, 1, 0, 0, 0, + 1135, 1136, 3, 375, 187, 0, 1136, 1137, 3, 395, 197, + 0, 1137, 1138, 3, 361, 180, 0, 1138, 1139, 3, 381, + 190, 0, 1139, 1140, 3, 359, 179, 0, 1140, 1141, 3, + 385, 192, 0, 1141, 1142, 3, 379, 189, 0, 1142, 254, + 1, 0, 0, 0, 1143, 1144, 3, 375, 187, 0, 1144, + 1145, 3, 395, 197, 0, 1145, 1146, 3, 381, 190, 0, + 1146, 1147, 3, 375, 187, 0, 1147, 1148, 3, 397, 198, + 0, 1148, 1149, 3, 367, 183, 0, 1149, 1150, 3, 393, + 196, 0, 1150, 1151, 3, 359, 179, 0, 1151, 1152, 3, + 381, 190, 0, 1152, 256, 1, 0, 0, 0, 1153, 1154, + 3, 375, 187, 0, 1154, 1155, 3, 395, 197, 0, 1155, + 1156, 3, 385, 192, 0, 1156, 1157, 3, 399, 199, 0, + 1157, 1158, 3, 383, 191, 0, 1158, 1159, 3, 367, 183, + 0, 1159, 1160, 3, 393, 196, 0, 1160, 1161, 3, 375, + 187, 0, 1161, 1162, 3, 363, 181, 0, 1162, 258, 1, + 0, 0, 0, 1163, 1164, 3, 393, 196, 0, 1164, 1165, + 3, 367, 183, 0, 1165, 1166, 3, 371, 185, 0, 1166, + 1167, 3, 367, 183, 0, 1167, 1168, 3, 405, 202, 0, + 1168, 260, 1, 0, 0, 0, 1169, 1170, 3, 395, 197, + 0, 1170, 1171, 3, 399, 199, 0, 1171, 1172, 3, 361, + 180, 0, 1172, 1173, 3, 395, 197, 0, 1173, 1174, 3, + 397, 198, 0, 1174, 1175, 3, 393, 196, 0, 1175, 262, + 1, 0, 0, 0, 1176, 1177, 3, 393, 196, 0, 1177, + 1178, 3, 367, 183, 0, 1178, 1179, 3, 389, 194, 0, + 1179, 1180, 3, 381, 190, 0, 1180, 1181, 3, 359, 179, + 0, 1181, 1182, 3, 363, 181, 0, 1182, 1183, 3, 367, + 183, 0, 1183, 264, 1, 0, 0, 0, 1184, 1185, 3, + 367, 183, 0, 1185, 1186, 3, 405, 202, 0, 1186, 1187, + 3, 375, 187, 0, 1187, 1188, 3, 395, 197, 0, 1188, + 1189, 3, 397, 198, 0, 1189, 1190, 3, 395, 197, 0, + 1190, 266, 1, 0, 0, 0, 1191, 1192, 3, 363, 181, + 0, 1192, 1193, 3, 387, 193, 0, 1193, 1194, 3, 399, + 199, 0, 1194, 1195, 3, 385, 192, 0, 1195, 1196, 3, + 397, 198, 0, 1196, 268, 1, 0, 0, 0, 1197, 1198, + 3, 395, 197, 0, 1198, 1199, 3, 399, 199, 0, 1199, + 1200, 3, 383, 191, 0, 1200, 270, 1, 0, 0, 0, + 1201, 1202, 3, 383, 191, 0, 1202, 1203, 3, 375, 187, + 0, 1203, 1204, 3, 385, 192, 0, 1204, 272, 1, 0, + 0, 0, 1205, 1206, 3, 383, 191, 0, 1206, 1207, 3, + 359, 179, 0, 1207, 1208, 3, 405, 202, 0, 1208, 274, + 1, 0, 0, 0, 1209, 1210, 3, 359, 179, 0, 1210, + 1211, 3, 401, 200, 0, 1211, 1212, 3, 371, 185, 0, + 1212, 276, 1, 0, 0, 0, 1213, 1214, 3, 395, 197, + 0, 1214, 1215, 3, 397, 198, 0, 1215, 1216, 3, 365, + 182, 0, 1216, 1217, 3, 367, 183, 0, 1217, 1218, 3, + 401, 200, 0, 1218, 278, 1, 0, 0, 0, 1219, 1220, + 3, 395, 197, 0, 1220, 1221, 3, 359, 179, 0, 1221, + 1222, 3, 383, 191, 0, 1222, 1223, 3, 389, 194, 0, + 1223, 1224, 3, 381, 190, 0, 1224, 1225, 3, 367, 183, + 0, 1225, 280, 1, 0, 0, 0, 1226, 1227, 3, 395, + 197, 0, 1227, 1228, 3, 367, 183, 0, 1228, 1229, 3, + 389, 194, 0, 1229, 1230, 3, 359, 179, 0, 1230, 1231, + 3, 393, 196, 0, 1231, 1232, 3, 359, 179, 0, 1232, + 1233, 3, 397, 198, 0, 1233, 1234, 3, 387, 193, 0, + 1234, 1235, 3, 393, 196, 0, 1235, 282, 1, 0, 0, + 0, 1236, 1240, 5, 60, 0, 0, 1237, 1239, 8, 0, + 0, 0, 1238, 1237, 1, 0, 0, 0, 1239, 1242, 1, + 0, 0, 0, 1240, 1238, 1, 0, 0, 0, 1240, 1241, + 1, 0, 0, 0, 1241, 1243, 1, 0, 0, 0, 1242, + 1240, 1, 0, 0, 0, 1243, 1244, 5, 62, 0, 0, + 1244, 284, 1, 0, 0, 0, 1245, 1247, 3, 339, 169, + 0, 1246, 1245, 1, 0, 0, 0, 1246, 1247, 1, 0, + 0, 0, 1247, 1248, 1, 0, 0, 0, 1248, 1249, 5, + 58, 0, 0, 1249, 286, 1, 0, 0, 0, 1250, 1251, + 3, 285, 142, 0, 1251, 1252, 3, 341, 170, 0, 1252, + 288, 1, 0, 0, 0, 1253, 1254, 5, 95, 0, 0, + 1254, 1255, 5, 58, 0, 0, 1255, 1258, 1, 0, 0, + 0, 1256, 1259, 3, 333, 166, 0, 1257, 1259, 3, 353, + 176, 0, 1258, 1256, 1, 0, 0, 0, 1258, 1257, 1, + 0, 0, 0, 1259, 1268, 1, 0, 0, 0, 1260, 1263, + 3, 337, 168, 0, 1261, 1263, 5, 46, 0, 0, 1262, + 1260, 1, 0, 0, 0, 1262, 1261, 1, 0, 0, 0, + 1263, 1266, 1, 0, 0, 0, 1264, 1262, 1, 0, 0, + 0, 1264, 1265, 1, 0, 0, 0, 1265, 1267, 1, 0, + 0, 0, 1266, 1264, 1, 0, 0, 0, 1267, 1269, 3, + 337, 168, 0, 1268, 1264, 1, 0, 0, 0, 1268, 1269, + 1, 0, 0, 0, 1269, 290, 1, 0, 0, 0, 1270, + 1271, 5, 63, 0, 0, 1271, 1272, 3, 335, 167, 0, + 1272, 292, 1, 0, 0, 0, 1273, 1274, 5, 36, 0, + 0, 1274, 1275, 3, 335, 167, 0, 1275, 294, 1, 0, + 0, 0, 1276, 1278, 5, 64, 0, 0, 1277, 1279, 7, + 1, 0, 0, 1278, 1277, 1, 0, 0, 0, 1279, 1280, + 1, 0, 0, 0, 1280, 1278, 1, 0, 0, 0, 1280, + 1281, 1, 0, 0, 0, 1281, 1291, 1, 0, 0, 0, + 1282, 1285, 5, 45, 0, 0, 1283, 1286, 7, 1, 0, + 0, 1284, 1286, 3, 353, 176, 0, 1285, 1283, 1, 0, + 0, 0, 1285, 1284, 1, 0, 0, 0, 1286, 1287, 1, + 0, 0, 0, 1287, 1285, 1, 0, 0, 0, 1287, 1288, + 1, 0, 0, 0, 1288, 1290, 1, 0, 0, 0, 1289, + 1282, 1, 0, 0, 0, 1290, 1293, 1, 0, 0, 0, + 1291, 1289, 1, 0, 0, 0, 1291, 1292, 1, 0, 0, + 0, 1292, 296, 1, 0, 0, 0, 1293, 1291, 1, 0, + 0, 0, 1294, 1295, 3, 295, 147, 0, 1295, 1296, 5, + 64, 0, 0, 1296, 298, 1, 0, 0, 0, 1297, 1299, + 3, 353, 176, 0, 1298, 1297, 1, 0, 0, 0, 1299, + 1300, 1, 0, 0, 0, 1300, 1298, 1, 0, 0, 0, + 1300, 1301, 1, 0, 0, 0, 1301, 300, 1, 0, 0, + 0, 1302, 1304, 3, 353, 176, 0, 1303, 1302, 1, 0, + 0, 0, 1304, 1307, 1, 0, 0, 0, 1305, 1303, 1, + 0, 0, 0, 1305, 1306, 1, 0, 0, 0, 1306, 1308, + 1, 0, 0, 0, 1307, 1305, 1, 0, 0, 0, 1308, + 1310, 5, 46, 0, 0, 1309, 1311, 3, 353, 176, 0, + 1310, 1309, 1, 0, 0, 0, 1311, 1312, 1, 0, 0, + 0, 1312, 1310, 1, 0, 0, 0, 1312, 1313, 1, 0, + 0, 0, 1313, 302, 1, 0, 0, 0, 1314, 1316, 3, + 353, 176, 0, 1315, 1314, 1, 0, 0, 0, 1316, 1317, + 1, 0, 0, 0, 1317, 1315, 1, 0, 0, 0, 1317, + 1318, 1, 0, 0, 0, 1318, 1319, 1, 0, 0, 0, + 1319, 1323, 5, 46, 0, 0, 1320, 1322, 3, 353, 176, + 0, 1321, 1320, 1, 0, 0, 0, 1322, 1325, 1, 0, + 0, 0, 1323, 1321, 1, 0, 0, 0, 1323, 1324, 1, + 0, 0, 0, 1324, 1326, 1, 0, 0, 0, 1325, 1323, + 1, 0, 0, 0, 1326, 1327, 3, 317, 158, 0, 1327, + 1344, 1, 0, 0, 0, 1328, 1330, 5, 46, 0, 0, + 1329, 1331, 3, 353, 176, 0, 1330, 1329, 1, 0, 0, + 0, 1331, 1332, 1, 0, 0, 0, 1332, 1330, 1, 0, + 0, 0, 1332, 1333, 1, 0, 0, 0, 1333, 1334, 1, + 0, 0, 0, 1334, 1335, 3, 317, 158, 0, 1335, 1344, + 1, 0, 0, 0, 1336, 1338, 3, 353, 176, 0, 1337, + 1336, 1, 0, 0, 0, 1338, 1339, 1, 0, 0, 0, + 1339, 1337, 1, 0, 0, 0, 1339, 1340, 1, 0, 0, + 0, 1340, 1341, 1, 0, 0, 0, 1341, 1342, 3, 317, + 158, 0, 1342, 1344, 1, 0, 0, 0, 1343, 1315, 1, + 0, 0, 0, 1343, 1328, 1, 0, 0, 0, 1343, 1337, + 1, 0, 0, 0, 1344, 304, 1, 0, 0, 0, 1345, + 1346, 5, 43, 0, 0, 1346, 1347, 3, 299, 149, 0, + 1347, 306, 1, 0, 0, 0, 1348, 1349, 5, 43, 0, + 0, 1349, 1350, 3, 301, 150, 0, 1350, 308, 1, 0, + 0, 0, 1351, 1352, 5, 43, 0, 0, 1352, 1353, 3, + 303, 151, 0, 1353, 310, 1, 0, 0, 0, 1354, 1355, + 5, 45, 0, 0, 1355, 1356, 3, 299, 149, 0, 1356, + 312, 1, 0, 0, 0, 1357, 1358, 5, 45, 0, 0, + 1358, 1359, 3, 301, 150, 0, 1359, 314, 1, 0, 0, + 0, 1360, 1361, 5, 45, 0, 0, 1361, 1362, 3, 303, + 151, 0, 1362, 316, 1, 0, 0, 0, 1363, 1365, 7, + 2, 0, 0, 1364, 1366, 7, 3, 0, 0, 1365, 1364, + 1, 0, 0, 0, 1365, 1366, 1, 0, 0, 0, 1366, + 1368, 1, 0, 0, 0, 1367, 1369, 3, 353, 176, 0, + 1368, 1367, 1, 0, 0, 0, 1369, 1370, 1, 0, 0, + 0, 1370, 1368, 1, 0, 0, 0, 1370, 1371, 1, 0, + 0, 0, 1371, 318, 1, 0, 0, 0, 1372, 1377, 5, + 39, 0, 0, 1373, 1376, 8, 4, 0, 0, 1374, 1376, + 3, 327, 163, 0, 1375, 1373, 1, 0, 0, 0, 1375, + 1374, 1, 0, 0, 0, 1376, 1379, 1, 0, 0, 0, + 1377, 1375, 1, 0, 0, 0, 1377, 1378, 1, 0, 0, + 0, 1378, 1380, 1, 0, 0, 0, 1379, 1377, 1, 0, + 0, 0, 1380, 1381, 5, 39, 0, 0, 1381, 320, 1, + 0, 0, 0, 1382, 1387, 5, 34, 0, 0, 1383, 1386, + 8, 5, 0, 0, 1384, 1386, 3, 327, 163, 0, 1385, + 1383, 1, 0, 0, 0, 1385, 1384, 1, 0, 0, 0, + 1386, 1389, 1, 0, 0, 0, 1387, 1385, 1, 0, 0, + 0, 1387, 1388, 1, 0, 0, 0, 1388, 1390, 1, 0, + 0, 0, 1389, 1387, 1, 0, 0, 0, 1390, 1391, 5, + 34, 0, 0, 1391, 322, 1, 0, 0, 0, 1392, 1393, + 5, 39, 0, 0, 1393, 1394, 5, 39, 0, 0, 1394, + 1395, 5, 39, 0, 0, 1395, 1407, 1, 0, 0, 0, + 1396, 1400, 5, 39, 0, 0, 1397, 1398, 5, 39, 0, + 0, 1398, 1400, 5, 39, 0, 0, 1399, 1396, 1, 0, + 0, 0, 1399, 1397, 1, 0, 0, 0, 1399, 1400, 1, + 0, 0, 0, 1400, 1403, 1, 0, 0, 0, 1401, 1404, + 8, 6, 0, 0, 1402, 1404, 3, 327, 163, 0, 1403, + 1401, 1, 0, 0, 0, 1403, 1402, 1, 0, 0, 0, + 1404, 1406, 1, 0, 0, 0, 1405, 1399, 1, 0, 0, + 0, 1406, 1409, 1, 0, 0, 0, 1407, 1405, 1, 0, + 0, 0, 1407, 1408, 1, 0, 0, 0, 1408, 1410, 1, + 0, 0, 0, 1409, 1407, 1, 0, 0, 0, 1410, 1411, + 5, 39, 0, 0, 1411, 1412, 5, 39, 0, 0, 1412, + 1413, 5, 39, 0, 0, 1413, 324, 1, 0, 0, 0, + 1414, 1415, 5, 34, 0, 0, 1415, 1416, 5, 34, 0, + 0, 1416, 1417, 5, 34, 0, 0, 1417, 1429, 1, 0, + 0, 0, 1418, 1422, 5, 34, 0, 0, 1419, 1420, 5, + 34, 0, 0, 1420, 1422, 5, 34, 0, 0, 1421, 1418, + 1, 0, 0, 0, 1421, 1419, 1, 0, 0, 0, 1421, + 1422, 1, 0, 0, 0, 1422, 1425, 1, 0, 0, 0, + 1423, 1426, 8, 7, 0, 0, 1424, 1426, 3, 327, 163, + 0, 1425, 1423, 1, 0, 0, 0, 1425, 1424, 1, 0, + 0, 0, 1426, 1428, 1, 0, 0, 0, 1427, 1421, 1, + 0, 0, 0, 1428, 1431, 1, 0, 0, 0, 1429, 1427, + 1, 0, 0, 0, 1429, 1430, 1, 0, 0, 0, 1430, + 1432, 1, 0, 0, 0, 1431, 1429, 1, 0, 0, 0, + 1432, 1433, 5, 34, 0, 0, 1433, 1434, 5, 34, 0, + 0, 1434, 1435, 5, 34, 0, 0, 1435, 326, 1, 0, + 0, 0, 1436, 1437, 5, 92, 0, 0, 1437, 1438, 7, + 8, 0, 0, 1438, 328, 1, 0, 0, 0, 1439, 1443, + 5, 40, 0, 0, 1440, 1442, 3, 355, 177, 0, 1441, + 1440, 1, 0, 0, 0, 1442, 1445, 1, 0, 0, 0, + 1443, 1441, 1, 0, 0, 0, 1443, 1444, 1, 0, 0, + 0, 1444, 1446, 1, 0, 0, 0, 1445, 1443, 1, 0, + 0, 0, 1446, 1447, 5, 41, 0, 0, 1447, 330, 1, + 0, 0, 0, 1448, 1452, 5, 91, 0, 0, 1449, 1451, + 3, 355, 177, 0, 1450, 1449, 1, 0, 0, 0, 1451, + 1454, 1, 0, 0, 0, 1452, 1450, 1, 0, 0, 0, + 1452, 1453, 1, 0, 0, 0, 1453, 1455, 1, 0, 0, + 0, 1454, 1452, 1, 0, 0, 0, 1455, 1456, 5, 93, + 0, 0, 1456, 332, 1, 0, 0, 0, 1457, 1460, 3, + 351, 175, 0, 1458, 1460, 5, 95, 0, 0, 1459, 1457, + 1, 0, 0, 0, 1459, 1458, 1, 0, 0, 0, 1460, + 334, 1, 0, 0, 0, 1461, 1464, 3, 333, 166, 0, + 1462, 1464, 3, 353, 176, 0, 1463, 1461, 1, 0, 0, + 0, 1463, 1462, 1, 0, 0, 0, 1464, 1470, 1, 0, + 0, 0, 1465, 1469, 3, 333, 166, 0, 1466, 1469, 3, + 353, 176, 0, 1467, 1469, 7, 9, 0, 0, 1468, 1465, + 1, 0, 0, 0, 1468, 1466, 1, 0, 0, 0, 1468, + 1467, 1, 0, 0, 0, 1469, 1472, 1, 0, 0, 0, + 1470, 1468, 1, 0, 0, 0, 1470, 1471, 1, 0, 0, + 0, 1471, 336, 1, 0, 0, 0, 1472, 1470, 1, 0, + 0, 0, 1473, 1478, 3, 333, 166, 0, 1474, 1478, 5, + 45, 0, 0, 1475, 1478, 3, 353, 176, 0, 1476, 1478, + 7, 9, 0, 0, 1477, 1473, 1, 0, 0, 0, 1477, + 1474, 1, 0, 0, 0, 1477, 1475, 1, 0, 0, 0, + 1477, 1476, 1, 0, 0, 0, 1478, 338, 1, 0, 0, + 0, 1479, 1488, 3, 351, 175, 0, 1480, 1483, 3, 337, + 168, 0, 1481, 1483, 5, 46, 0, 0, 1482, 1480, 1, + 0, 0, 0, 1482, 1481, 1, 0, 0, 0, 1483, 1486, + 1, 0, 0, 0, 1484, 1482, 1, 0, 0, 0, 1484, + 1485, 1, 0, 0, 0, 1485, 1487, 1, 0, 0, 0, + 1486, 1484, 1, 0, 0, 0, 1487, 1489, 3, 337, 168, + 0, 1488, 1484, 1, 0, 0, 0, 1488, 1489, 1, 0, + 0, 0, 1489, 340, 1, 0, 0, 0, 1490, 1495, 3, + 333, 166, 0, 1491, 1495, 5, 58, 0, 0, 1492, 1495, + 3, 353, 176, 0, 1493, 1495, 3, 343, 171, 0, 1494, + 1490, 1, 0, 0, 0, 1494, 1491, 1, 0, 0, 0, + 1494, 1492, 1, 0, 0, 0, 1494, 1493, 1, 0, 0, + 0, 1495, 1509, 1, 0, 0, 0, 1496, 1500, 3, 337, + 168, 0, 1497, 1500, 7, 10, 0, 0, 1498, 1500, 3, + 343, 171, 0, 1499, 1496, 1, 0, 0, 0, 1499, 1497, + 1, 0, 0, 0, 1499, 1498, 1, 0, 0, 0, 1500, + 1503, 1, 0, 0, 0, 1501, 1499, 1, 0, 0, 0, + 1501, 1502, 1, 0, 0, 0, 1502, 1507, 1, 0, 0, + 0, 1503, 1501, 1, 0, 0, 0, 1504, 1508, 3, 337, + 168, 0, 1505, 1508, 5, 58, 0, 0, 1506, 1508, 3, + 343, 171, 0, 1507, 1504, 1, 0, 0, 0, 1507, 1505, + 1, 0, 0, 0, 1507, 1506, 1, 0, 0, 0, 1508, + 1510, 1, 0, 0, 0, 1509, 1501, 1, 0, 0, 0, + 1509, 1510, 1, 0, 0, 0, 1510, 342, 1, 0, 0, + 0, 1511, 1514, 3, 345, 172, 0, 1512, 1514, 3, 349, + 174, 0, 1513, 1511, 1, 0, 0, 0, 1513, 1512, 1, + 0, 0, 0, 1514, 344, 1, 0, 0, 0, 1515, 1516, + 5, 37, 0, 0, 1516, 1517, 3, 347, 173, 0, 1517, + 1518, 3, 347, 173, 0, 1518, 346, 1, 0, 0, 0, + 1519, 1522, 3, 353, 176, 0, 1520, 1522, 7, 11, 0, + 0, 1521, 1519, 1, 0, 0, 0, 1521, 1520, 1, 0, + 0, 0, 1522, 348, 1, 0, 0, 0, 1523, 1524, 5, + 92, 0, 0, 1524, 1525, 7, 12, 0, 0, 1525, 350, + 1, 0, 0, 0, 1526, 1527, 7, 13, 0, 0, 1527, + 352, 1, 0, 0, 0, 1528, 1529, 2, 48, 57, 0, + 1529, 354, 1, 0, 0, 0, 1530, 1532, 7, 14, 0, + 0, 1531, 1530, 1, 0, 0, 0, 1532, 1533, 1, 0, + 0, 0, 1533, 1531, 1, 0, 0, 0, 1533, 1534, 1, + 0, 0, 0, 1534, 1535, 1, 0, 0, 0, 1535, 1536, + 6, 177, 0, 0, 1536, 356, 1, 0, 0, 0, 1537, + 1541, 5, 35, 0, 0, 1538, 1540, 8, 15, 0, 0, + 1539, 1538, 1, 0, 0, 0, 1540, 1543, 1, 0, 0, + 0, 1541, 1539, 1, 0, 0, 0, 1541, 1542, 1, 0, + 0, 0, 1542, 1544, 1, 0, 0, 0, 1543, 1541, 1, + 0, 0, 0, 1544, 1545, 6, 178, 0, 0, 1545, 358, + 1, 0, 0, 0, 1546, 1547, 7, 16, 0, 0, 1547, + 360, 1, 0, 0, 0, 1548, 1549, 7, 17, 0, 0, + 1549, 362, 1, 0, 0, 0, 1550, 1551, 7, 18, 0, + 0, 1551, 364, 1, 0, 0, 0, 1552, 1553, 7, 19, + 0, 0, 1553, 366, 1, 0, 0, 0, 1554, 1555, 7, + 2, 0, 0, 1555, 368, 1, 0, 0, 0, 1556, 1557, + 7, 20, 0, 0, 1557, 370, 1, 0, 0, 0, 1558, + 1559, 7, 21, 0, 0, 1559, 372, 1, 0, 0, 0, + 1560, 1561, 7, 22, 0, 0, 1561, 374, 1, 0, 0, + 0, 1562, 1563, 7, 23, 0, 0, 1563, 376, 1, 0, + 0, 0, 1564, 1565, 7, 24, 0, 0, 1565, 378, 1, + 0, 0, 0, 1566, 1567, 7, 25, 0, 0, 1567, 380, + 1, 0, 0, 0, 1568, 1569, 7, 26, 0, 0, 1569, + 382, 1, 0, 0, 0, 1570, 1571, 7, 27, 0, 0, + 1571, 384, 1, 0, 0, 0, 1572, 1573, 7, 28, 0, + 0, 1573, 386, 1, 0, 0, 0, 1574, 1575, 7, 29, + 0, 0, 1575, 388, 1, 0, 0, 0, 1576, 1577, 7, + 30, 0, 0, 1577, 390, 1, 0, 0, 0, 1578, 1579, + 7, 31, 0, 0, 1579, 392, 1, 0, 0, 0, 1580, + 1581, 7, 32, 0, 0, 1581, 394, 1, 0, 0, 0, + 1582, 1583, 7, 33, 0, 0, 1583, 396, 1, 0, 0, + 0, 1584, 1585, 7, 34, 0, 0, 1585, 398, 1, 0, + 0, 0, 1586, 1587, 7, 35, 0, 0, 1587, 400, 1, + 0, 0, 0, 1588, 1589, 7, 36, 0, 0, 1589, 402, + 1, 0, 0, 0, 1590, 1591, 7, 37, 0, 0, 1591, + 404, 1, 0, 0, 0, 1592, 1593, 7, 38, 0, 0, + 1593, 406, 1, 0, 0, 0, 1594, 1595, 7, 39, 0, + 0, 1595, 408, 1, 0, 0, 0, 1596, 1597, 7, 40, + 0, 0, 1597, 410, 1, 0, 0, 0, 54, 0, 569, + 602, 618, 627, 1240, 1246, 1258, 1262, 1264, 1268, 1280, 1285, + 1287, 1291, 1300, 1305, 1312, 1317, 1323, 1332, 1339, 1343, 1365, + 1370, 1375, 1377, 1385, 1387, 1399, 1403, 1407, 1421, 1425, 1429, + 1443, 1452, 1459, 1463, 1468, 1470, 1477, 1482, 1484, 1488, 1494, + 1499, 1501, 1507, 1509, 1513, 1521, 1533, 1541, 1, 6, 0, 0}; staticData->serializedATN = antlr4::atn::SerializedATNView( serializedATNSegment, diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h index b4e3b1a738..c482fc873a 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h @@ -146,43 +146,44 @@ class SparqlAutomaticLexer : public antlr4::Lexer { MIN = 136, MAX = 137, AVG = 138, - SAMPLE = 139, - SEPARATOR = 140, - IRI_REF = 141, - PNAME_NS = 142, - PNAME_LN = 143, - BLANK_NODE_LABEL = 144, - VAR1 = 145, - VAR2 = 146, - LANGTAG = 147, - PREFIX_LANGTAG = 148, - INTEGER = 149, - DECIMAL = 150, - DOUBLE = 151, - INTEGER_POSITIVE = 152, - DECIMAL_POSITIVE = 153, - DOUBLE_POSITIVE = 154, - INTEGER_NEGATIVE = 155, - DECIMAL_NEGATIVE = 156, - DOUBLE_NEGATIVE = 157, - EXPONENT = 158, - STRING_LITERAL1 = 159, - STRING_LITERAL2 = 160, - STRING_LITERAL_LONG1 = 161, - STRING_LITERAL_LONG2 = 162, - ECHAR = 163, - NIL = 164, - ANON = 165, - PN_CHARS_U = 166, - VARNAME = 167, - PN_PREFIX = 168, - PN_LOCAL = 169, - PLX = 170, - PERCENT = 171, - HEX = 172, - PN_LOCAL_ESC = 173, - WS = 174, - COMMENTS = 175 + STDEV = 139, + SAMPLE = 140, + SEPARATOR = 141, + IRI_REF = 142, + PNAME_NS = 143, + PNAME_LN = 144, + BLANK_NODE_LABEL = 145, + VAR1 = 146, + VAR2 = 147, + LANGTAG = 148, + PREFIX_LANGTAG = 149, + INTEGER = 150, + DECIMAL = 151, + DOUBLE = 152, + INTEGER_POSITIVE = 153, + DECIMAL_POSITIVE = 154, + DOUBLE_POSITIVE = 155, + INTEGER_NEGATIVE = 156, + DECIMAL_NEGATIVE = 157, + DOUBLE_NEGATIVE = 158, + EXPONENT = 159, + STRING_LITERAL1 = 160, + STRING_LITERAL2 = 161, + STRING_LITERAL_LONG1 = 162, + STRING_LITERAL_LONG2 = 163, + ECHAR = 164, + NIL = 165, + ANON = 166, + PN_CHARS_U = 167, + VARNAME = 168, + PN_PREFIX = 169, + PN_LOCAL = 170, + PLX = 171, + PERCENT = 172, + HEX = 173, + PN_LOCAL_ESC = 174, + WS = 175, + COMMENTS = 176 }; explicit SparqlAutomaticLexer(antlr4::CharStream* input); diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.interp b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.interp index 24332ac764..c278c76942 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.interp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.interp @@ -175,6 +175,7 @@ null null null null +null token symbolic names: null @@ -316,6 +317,7 @@ SUM MIN MAX AVG +STDEV SAMPLE SEPARATOR IRI_REF @@ -493,6 +495,7 @@ SUM MIN MAX AVG +STDEV SAMPLE SEPARATOR IRI_REF @@ -568,4 +571,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 175, 1590, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, 7, 196, 2, 197, 7, 197, 2, 198, 7, 198, 2, 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, 2, 202, 7, 202, 2, 203, 7, 203, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 4, 41, 566, 8, 41, 11, 41, 12, 41, 567, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 4, 44, 599, 8, 44, 11, 44, 12, 44, 600, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 615, 8, 45, 11, 45, 12, 45, 616, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 624, 8, 45, 11, 45, 12, 45, 625, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, 5, 140, 1231, 8, 140, 10, 140, 12, 140, 1234, 9, 140, 1, 140, 1, 140, 1, 141, 3, 141, 1239, 8, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 3, 143, 1251, 8, 143, 1, 143, 1, 143, 5, 143, 1255, 8, 143, 10, 143, 12, 143, 1258, 9, 143, 1, 143, 3, 143, 1261, 8, 143, 1, 144, 1, 144, 1, 144, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 4, 146, 1271, 8, 146, 11, 146, 12, 146, 1272, 1, 146, 1, 146, 1, 146, 4, 146, 1278, 8, 146, 11, 146, 12, 146, 1279, 5, 146, 1282, 8, 146, 10, 146, 12, 146, 1285, 9, 146, 1, 147, 1, 147, 1, 147, 1, 148, 4, 148, 1291, 8, 148, 11, 148, 12, 148, 1292, 1, 149, 5, 149, 1296, 8, 149, 10, 149, 12, 149, 1299, 9, 149, 1, 149, 1, 149, 4, 149, 1303, 8, 149, 11, 149, 12, 149, 1304, 1, 150, 4, 150, 1308, 8, 150, 11, 150, 12, 150, 1309, 1, 150, 1, 150, 5, 150, 1314, 8, 150, 10, 150, 12, 150, 1317, 9, 150, 1, 150, 1, 150, 1, 150, 1, 150, 4, 150, 1323, 8, 150, 11, 150, 12, 150, 1324, 1, 150, 1, 150, 1, 150, 4, 150, 1330, 8, 150, 11, 150, 12, 150, 1331, 1, 150, 1, 150, 3, 150, 1336, 8, 150, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 3, 157, 1358, 8, 157, 1, 157, 4, 157, 1361, 8, 157, 11, 157, 12, 157, 1362, 1, 158, 1, 158, 1, 158, 5, 158, 1368, 8, 158, 10, 158, 12, 158, 1371, 9, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 5, 159, 1378, 8, 159, 10, 159, 12, 159, 1381, 9, 159, 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 3, 160, 1392, 8, 160, 1, 160, 1, 160, 3, 160, 1396, 8, 160, 5, 160, 1398, 8, 160, 10, 160, 12, 160, 1401, 9, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 3, 161, 1414, 8, 161, 1, 161, 1, 161, 3, 161, 1418, 8, 161, 5, 161, 1420, 8, 161, 10, 161, 12, 161, 1423, 9, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 1, 163, 1, 163, 5, 163, 1434, 8, 163, 10, 163, 12, 163, 1437, 9, 163, 1, 163, 1, 163, 1, 164, 1, 164, 5, 164, 1443, 8, 164, 10, 164, 12, 164, 1446, 9, 164, 1, 164, 1, 164, 1, 165, 1, 165, 3, 165, 1452, 8, 165, 1, 166, 1, 166, 3, 166, 1456, 8, 166, 1, 166, 1, 166, 1, 166, 5, 166, 1461, 8, 166, 10, 166, 12, 166, 1464, 9, 166, 1, 167, 1, 167, 1, 167, 1, 167, 3, 167, 1470, 8, 167, 1, 168, 1, 168, 1, 168, 5, 168, 1475, 8, 168, 10, 168, 12, 168, 1478, 9, 168, 1, 168, 3, 168, 1481, 8, 168, 1, 169, 1, 169, 1, 169, 1, 169, 3, 169, 1487, 8, 169, 1, 169, 1, 169, 1, 169, 5, 169, 1492, 8, 169, 10, 169, 12, 169, 1495, 9, 169, 1, 169, 1, 169, 1, 169, 3, 169, 1500, 8, 169, 3, 169, 1502, 8, 169, 1, 170, 1, 170, 3, 170, 1506, 8, 170, 1, 171, 1, 171, 1, 171, 1, 171, 1, 172, 1, 172, 3, 172, 1514, 8, 172, 1, 173, 1, 173, 1, 173, 1, 174, 1, 174, 1, 175, 1, 175, 1, 176, 4, 176, 1524, 8, 176, 11, 176, 12, 176, 1525, 1, 176, 1, 176, 1, 177, 1, 177, 5, 177, 1532, 8, 177, 10, 177, 12, 177, 1535, 9, 177, 1, 177, 1, 177, 1, 178, 1, 178, 1, 179, 1, 179, 1, 180, 1, 180, 1, 181, 1, 181, 1, 182, 1, 182, 1, 183, 1, 183, 1, 184, 1, 184, 1, 185, 1, 185, 1, 186, 1, 186, 1, 187, 1, 187, 1, 188, 1, 188, 1, 189, 1, 189, 1, 190, 1, 190, 1, 191, 1, 191, 1, 192, 1, 192, 1, 193, 1, 193, 1, 194, 1, 194, 1, 195, 1, 195, 1, 196, 1, 196, 1, 197, 1, 197, 1, 198, 1, 198, 1, 199, 1, 199, 1, 200, 1, 200, 1, 201, 1, 201, 1, 202, 1, 202, 1, 203, 1, 203, 0, 0, 204, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, 122, 245, 123, 247, 124, 249, 125, 251, 126, 253, 127, 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, 277, 139, 279, 140, 281, 141, 283, 142, 285, 143, 287, 144, 289, 145, 291, 146, 293, 147, 295, 148, 297, 149, 299, 150, 301, 151, 303, 152, 305, 153, 307, 154, 309, 155, 311, 156, 313, 157, 315, 158, 317, 159, 319, 160, 321, 161, 323, 162, 325, 163, 327, 164, 329, 165, 331, 166, 333, 167, 335, 0, 337, 168, 339, 169, 341, 170, 343, 171, 345, 172, 347, 173, 349, 0, 351, 0, 353, 174, 355, 175, 357, 0, 359, 0, 361, 0, 363, 0, 365, 0, 367, 0, 369, 0, 371, 0, 373, 0, 375, 0, 377, 0, 379, 0, 381, 0, 383, 0, 385, 0, 387, 0, 389, 0, 391, 0, 393, 0, 395, 0, 397, 0, 399, 0, 401, 0, 403, 0, 405, 0, 407, 0, 1, 0, 41, 8, 0, 0, 32, 34, 34, 60, 60, 62, 62, 92, 92, 94, 94, 96, 96, 123, 125, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 2, 0, 39, 39, 92, 92, 2, 0, 34, 34, 92, 92, 8, 0, 34, 34, 39, 39, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 3, 0, 183, 183, 768, 879, 8255, 8256, 2, 0, 46, 46, 58, 58, 2, 0, 65, 70, 97, 102, 7, 0, 33, 33, 35, 47, 59, 59, 61, 61, 63, 64, 95, 95, 126, 126, 13, 0, 65, 90, 97, 122, 192, 214, 216, 246, 248, 767, 880, 893, 895, 8191, 8204, 8205, 8304, 8591, 11264, 12271, 12289, 55295, 63744, 64975, 65008, 65533, 3, 0, 9, 10, 13, 13, 32, 32, 2, 0, 10, 10, 13, 13, 2, 0, 65, 65, 97, 97, 2, 0, 66, 66, 98, 98, 2, 0, 67, 67, 99, 99, 2, 0, 68, 68, 100, 100, 2, 0, 70, 70, 102, 102, 2, 0, 71, 71, 103, 103, 2, 0, 72, 72, 104, 104, 2, 0, 73, 73, 105, 105, 2, 0, 74, 74, 106, 106, 2, 0, 75, 75, 107, 107, 2, 0, 76, 76, 108, 108, 2, 0, 77, 77, 109, 109, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, 80, 80, 112, 112, 2, 0, 81, 81, 113, 113, 2, 0, 82, 82, 114, 114, 2, 0, 83, 83, 115, 115, 2, 0, 84, 84, 116, 116, 2, 0, 85, 85, 117, 117, 2, 0, 86, 86, 118, 118, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, 1623, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, 0, 283, 1, 0, 0, 0, 0, 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, 0, 0, 0, 291, 1, 0, 0, 0, 0, 293, 1, 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, 1, 0, 0, 0, 0, 299, 1, 0, 0, 0, 0, 301, 1, 0, 0, 0, 0, 303, 1, 0, 0, 0, 0, 305, 1, 0, 0, 0, 0, 307, 1, 0, 0, 0, 0, 309, 1, 0, 0, 0, 0, 311, 1, 0, 0, 0, 0, 313, 1, 0, 0, 0, 0, 315, 1, 0, 0, 0, 0, 317, 1, 0, 0, 0, 0, 319, 1, 0, 0, 0, 0, 321, 1, 0, 0, 0, 0, 323, 1, 0, 0, 0, 0, 325, 1, 0, 0, 0, 0, 327, 1, 0, 0, 0, 0, 329, 1, 0, 0, 0, 0, 331, 1, 0, 0, 0, 0, 333, 1, 0, 0, 0, 0, 337, 1, 0, 0, 0, 0, 339, 1, 0, 0, 0, 0, 341, 1, 0, 0, 0, 0, 343, 1, 0, 0, 0, 0, 345, 1, 0, 0, 0, 0, 347, 1, 0, 0, 0, 0, 353, 1, 0, 0, 0, 0, 355, 1, 0, 0, 0, 1, 409, 1, 0, 0, 0, 3, 411, 1, 0, 0, 0, 5, 413, 1, 0, 0, 0, 7, 415, 1, 0, 0, 0, 9, 417, 1, 0, 0, 0, 11, 419, 1, 0, 0, 0, 13, 421, 1, 0, 0, 0, 15, 423, 1, 0, 0, 0, 17, 425, 1, 0, 0, 0, 19, 427, 1, 0, 0, 0, 21, 429, 1, 0, 0, 0, 23, 431, 1, 0, 0, 0, 25, 433, 1, 0, 0, 0, 27, 435, 1, 0, 0, 0, 29, 437, 1, 0, 0, 0, 31, 439, 1, 0, 0, 0, 33, 441, 1, 0, 0, 0, 35, 443, 1, 0, 0, 0, 37, 446, 1, 0, 0, 0, 39, 449, 1, 0, 0, 0, 41, 451, 1, 0, 0, 0, 43, 454, 1, 0, 0, 0, 45, 456, 1, 0, 0, 0, 47, 458, 1, 0, 0, 0, 49, 461, 1, 0, 0, 0, 51, 464, 1, 0, 0, 0, 53, 466, 1, 0, 0, 0, 55, 469, 1, 0, 0, 0, 57, 474, 1, 0, 0, 0, 59, 480, 1, 0, 0, 0, 61, 485, 1, 0, 0, 0, 63, 492, 1, 0, 0, 0, 65, 499, 1, 0, 0, 0, 67, 508, 1, 0, 0, 0, 69, 516, 1, 0, 0, 0, 71, 519, 1, 0, 0, 0, 73, 529, 1, 0, 0, 0, 75, 535, 1, 0, 0, 0, 77, 544, 1, 0, 0, 0, 79, 548, 1, 0, 0, 0, 81, 553, 1, 0, 0, 0, 83, 559, 1, 0, 0, 0, 85, 572, 1, 0, 0, 0, 87, 585, 1, 0, 0, 0, 89, 592, 1, 0, 0, 0, 91, 605, 1, 0, 0, 0, 93, 630, 1, 0, 0, 0, 95, 634, 1, 0, 0, 0, 97, 639, 1, 0, 0, 0, 99, 645, 1, 0, 0, 0, 101, 652, 1, 0, 0, 0, 103, 662, 1, 0, 0, 0, 105, 669, 1, 0, 0, 0, 107, 674, 1, 0, 0, 0, 109, 681, 1, 0, 0, 0, 111, 686, 1, 0, 0, 0, 113, 692, 1, 0, 0, 0, 115, 697, 1, 0, 0, 0, 117, 704, 1, 0, 0, 0, 119, 708, 1, 0, 0, 0, 121, 711, 1, 0, 0, 0, 123, 716, 1, 0, 0, 0, 125, 721, 1, 0, 0, 0, 127, 726, 1, 0, 0, 0, 129, 733, 1, 0, 0, 0, 131, 740, 1, 0, 0, 0, 133, 745, 1, 0, 0, 0, 135, 751, 1, 0, 0, 0, 137, 759, 1, 0, 0, 0, 139, 765, 1, 0, 0, 0, 141, 769, 1, 0, 0, 0, 143, 778, 1, 0, 0, 0, 145, 786, 1, 0, 0, 0, 147, 791, 1, 0, 0, 0, 149, 797, 1, 0, 0, 0, 151, 803, 1, 0, 0, 0, 153, 809, 1, 0, 0, 0, 155, 816, 1, 0, 0, 0, 157, 820, 1, 0, 0, 0, 159, 823, 1, 0, 0, 0, 161, 827, 1, 0, 0, 0, 163, 832, 1, 0, 0, 0, 165, 844, 1, 0, 0, 0, 167, 853, 1, 0, 0, 0, 169, 859, 1, 0, 0, 0, 171, 863, 1, 0, 0, 0, 173, 867, 1, 0, 0, 0, 175, 873, 1, 0, 0, 0, 177, 878, 1, 0, 0, 0, 179, 882, 1, 0, 0, 0, 181, 887, 1, 0, 0, 0, 183, 893, 1, 0, 0, 0, 185, 899, 1, 0, 0, 0, 187, 906, 1, 0, 0, 0, 189, 913, 1, 0, 0, 0, 191, 919, 1, 0, 0, 0, 193, 925, 1, 0, 0, 0, 195, 940, 1, 0, 0, 0, 197, 944, 1, 0, 0, 0, 199, 953, 1, 0, 0, 0, 201, 963, 1, 0, 0, 0, 203, 971, 1, 0, 0, 0, 205, 981, 1, 0, 0, 0, 207, 990, 1, 0, 0, 0, 209, 995, 1, 0, 0, 0, 211, 1001, 1, 0, 0, 0, 213, 1005, 1, 0, 0, 0, 215, 1011, 1, 0, 0, 0, 217, 1019, 1, 0, 0, 0, 219, 1027, 1, 0, 0, 0, 221, 1036, 1, 0, 0, 0, 223, 1039, 1, 0, 0, 0, 225, 1043, 1, 0, 0, 0, 227, 1048, 1, 0, 0, 0, 229, 1056, 1, 0, 0, 0, 231, 1061, 1, 0, 0, 0, 233, 1068, 1, 0, 0, 0, 235, 1075, 1, 0, 0, 0, 237, 1082, 1, 0, 0, 0, 239, 1086, 1, 0, 0, 0, 241, 1095, 1, 0, 0, 0, 243, 1098, 1, 0, 0, 0, 245, 1106, 1, 0, 0, 0, 247, 1112, 1, 0, 0, 0, 249, 1121, 1, 0, 0, 0, 251, 1127, 1, 0, 0, 0, 253, 1133, 1, 0, 0, 0, 255, 1141, 1, 0, 0, 0, 257, 1151, 1, 0, 0, 0, 259, 1161, 1, 0, 0, 0, 261, 1167, 1, 0, 0, 0, 263, 1174, 1, 0, 0, 0, 265, 1182, 1, 0, 0, 0, 267, 1189, 1, 0, 0, 0, 269, 1195, 1, 0, 0, 0, 271, 1199, 1, 0, 0, 0, 273, 1203, 1, 0, 0, 0, 275, 1207, 1, 0, 0, 0, 277, 1211, 1, 0, 0, 0, 279, 1218, 1, 0, 0, 0, 281, 1228, 1, 0, 0, 0, 283, 1238, 1, 0, 0, 0, 285, 1242, 1, 0, 0, 0, 287, 1245, 1, 0, 0, 0, 289, 1262, 1, 0, 0, 0, 291, 1265, 1, 0, 0, 0, 293, 1268, 1, 0, 0, 0, 295, 1286, 1, 0, 0, 0, 297, 1290, 1, 0, 0, 0, 299, 1297, 1, 0, 0, 0, 301, 1335, 1, 0, 0, 0, 303, 1337, 1, 0, 0, 0, 305, 1340, 1, 0, 0, 0, 307, 1343, 1, 0, 0, 0, 309, 1346, 1, 0, 0, 0, 311, 1349, 1, 0, 0, 0, 313, 1352, 1, 0, 0, 0, 315, 1355, 1, 0, 0, 0, 317, 1364, 1, 0, 0, 0, 319, 1374, 1, 0, 0, 0, 321, 1384, 1, 0, 0, 0, 323, 1406, 1, 0, 0, 0, 325, 1428, 1, 0, 0, 0, 327, 1431, 1, 0, 0, 0, 329, 1440, 1, 0, 0, 0, 331, 1451, 1, 0, 0, 0, 333, 1455, 1, 0, 0, 0, 335, 1469, 1, 0, 0, 0, 337, 1471, 1, 0, 0, 0, 339, 1486, 1, 0, 0, 0, 341, 1505, 1, 0, 0, 0, 343, 1507, 1, 0, 0, 0, 345, 1513, 1, 0, 0, 0, 347, 1515, 1, 0, 0, 0, 349, 1518, 1, 0, 0, 0, 351, 1520, 1, 0, 0, 0, 353, 1523, 1, 0, 0, 0, 355, 1529, 1, 0, 0, 0, 357, 1538, 1, 0, 0, 0, 359, 1540, 1, 0, 0, 0, 361, 1542, 1, 0, 0, 0, 363, 1544, 1, 0, 0, 0, 365, 1546, 1, 0, 0, 0, 367, 1548, 1, 0, 0, 0, 369, 1550, 1, 0, 0, 0, 371, 1552, 1, 0, 0, 0, 373, 1554, 1, 0, 0, 0, 375, 1556, 1, 0, 0, 0, 377, 1558, 1, 0, 0, 0, 379, 1560, 1, 0, 0, 0, 381, 1562, 1, 0, 0, 0, 383, 1564, 1, 0, 0, 0, 385, 1566, 1, 0, 0, 0, 387, 1568, 1, 0, 0, 0, 389, 1570, 1, 0, 0, 0, 391, 1572, 1, 0, 0, 0, 393, 1574, 1, 0, 0, 0, 395, 1576, 1, 0, 0, 0, 397, 1578, 1, 0, 0, 0, 399, 1580, 1, 0, 0, 0, 401, 1582, 1, 0, 0, 0, 403, 1584, 1, 0, 0, 0, 405, 1586, 1, 0, 0, 0, 407, 1588, 1, 0, 0, 0, 409, 410, 5, 42, 0, 0, 410, 2, 1, 0, 0, 0, 411, 412, 5, 40, 0, 0, 412, 4, 1, 0, 0, 0, 413, 414, 5, 41, 0, 0, 414, 6, 1, 0, 0, 0, 415, 416, 5, 123, 0, 0, 416, 8, 1, 0, 0, 0, 417, 418, 5, 125, 0, 0, 418, 10, 1, 0, 0, 0, 419, 420, 5, 59, 0, 0, 420, 12, 1, 0, 0, 0, 421, 422, 5, 46, 0, 0, 422, 14, 1, 0, 0, 0, 423, 424, 5, 44, 0, 0, 424, 16, 1, 0, 0, 0, 425, 426, 5, 97, 0, 0, 426, 18, 1, 0, 0, 0, 427, 428, 5, 124, 0, 0, 428, 20, 1, 0, 0, 0, 429, 430, 5, 47, 0, 0, 430, 22, 1, 0, 0, 0, 431, 432, 5, 94, 0, 0, 432, 24, 1, 0, 0, 0, 433, 434, 5, 43, 0, 0, 434, 26, 1, 0, 0, 0, 435, 436, 5, 63, 0, 0, 436, 28, 1, 0, 0, 0, 437, 438, 5, 33, 0, 0, 438, 30, 1, 0, 0, 0, 439, 440, 5, 91, 0, 0, 440, 32, 1, 0, 0, 0, 441, 442, 5, 93, 0, 0, 442, 34, 1, 0, 0, 0, 443, 444, 5, 124, 0, 0, 444, 445, 5, 124, 0, 0, 445, 36, 1, 0, 0, 0, 446, 447, 5, 38, 0, 0, 447, 448, 5, 38, 0, 0, 448, 38, 1, 0, 0, 0, 449, 450, 5, 61, 0, 0, 450, 40, 1, 0, 0, 0, 451, 452, 5, 33, 0, 0, 452, 453, 5, 61, 0, 0, 453, 42, 1, 0, 0, 0, 454, 455, 5, 60, 0, 0, 455, 44, 1, 0, 0, 0, 456, 457, 5, 62, 0, 0, 457, 46, 1, 0, 0, 0, 458, 459, 5, 60, 0, 0, 459, 460, 5, 61, 0, 0, 460, 48, 1, 0, 0, 0, 461, 462, 5, 62, 0, 0, 462, 463, 5, 61, 0, 0, 463, 50, 1, 0, 0, 0, 464, 465, 5, 45, 0, 0, 465, 52, 1, 0, 0, 0, 466, 467, 5, 94, 0, 0, 467, 468, 5, 94, 0, 0, 468, 54, 1, 0, 0, 0, 469, 470, 5, 116, 0, 0, 470, 471, 5, 114, 0, 0, 471, 472, 5, 117, 0, 0, 472, 473, 5, 101, 0, 0, 473, 56, 1, 0, 0, 0, 474, 475, 5, 102, 0, 0, 475, 476, 5, 97, 0, 0, 476, 477, 5, 108, 0, 0, 477, 478, 5, 115, 0, 0, 478, 479, 5, 101, 0, 0, 479, 58, 1, 0, 0, 0, 480, 481, 3, 359, 179, 0, 481, 482, 3, 357, 178, 0, 482, 483, 3, 393, 196, 0, 483, 484, 3, 365, 182, 0, 484, 60, 1, 0, 0, 0, 485, 486, 3, 387, 193, 0, 486, 487, 3, 391, 195, 0, 487, 488, 3, 365, 182, 0, 488, 489, 3, 367, 183, 0, 489, 490, 3, 373, 186, 0, 490, 491, 3, 403, 201, 0, 491, 62, 1, 0, 0, 0, 492, 493, 3, 393, 196, 0, 493, 494, 3, 365, 182, 0, 494, 495, 3, 379, 189, 0, 495, 496, 3, 365, 182, 0, 496, 497, 3, 361, 180, 0, 497, 498, 3, 395, 197, 0, 498, 64, 1, 0, 0, 0, 499, 500, 3, 363, 181, 0, 500, 501, 3, 373, 186, 0, 501, 502, 3, 393, 196, 0, 502, 503, 3, 395, 197, 0, 503, 504, 3, 373, 186, 0, 504, 505, 3, 383, 191, 0, 505, 506, 3, 361, 180, 0, 506, 507, 3, 395, 197, 0, 507, 66, 1, 0, 0, 0, 508, 509, 3, 391, 195, 0, 509, 510, 3, 365, 182, 0, 510, 511, 3, 363, 181, 0, 511, 512, 3, 397, 198, 0, 512, 513, 3, 361, 180, 0, 513, 514, 3, 365, 182, 0, 514, 515, 3, 363, 181, 0, 515, 68, 1, 0, 0, 0, 516, 517, 3, 357, 178, 0, 517, 518, 3, 393, 196, 0, 518, 70, 1, 0, 0, 0, 519, 520, 3, 361, 180, 0, 520, 521, 3, 385, 192, 0, 521, 522, 3, 383, 191, 0, 522, 523, 3, 393, 196, 0, 523, 524, 3, 395, 197, 0, 524, 525, 3, 391, 195, 0, 525, 526, 3, 397, 198, 0, 526, 527, 3, 361, 180, 0, 527, 528, 3, 395, 197, 0, 528, 72, 1, 0, 0, 0, 529, 530, 3, 401, 200, 0, 530, 531, 3, 371, 185, 0, 531, 532, 3, 365, 182, 0, 532, 533, 3, 391, 195, 0, 533, 534, 3, 365, 182, 0, 534, 74, 1, 0, 0, 0, 535, 536, 3, 363, 181, 0, 536, 537, 3, 365, 182, 0, 537, 538, 3, 393, 196, 0, 538, 539, 3, 361, 180, 0, 539, 540, 3, 391, 195, 0, 540, 541, 3, 373, 186, 0, 541, 542, 3, 359, 179, 0, 542, 543, 3, 365, 182, 0, 543, 76, 1, 0, 0, 0, 544, 545, 3, 357, 178, 0, 545, 546, 3, 393, 196, 0, 546, 547, 3, 377, 188, 0, 547, 78, 1, 0, 0, 0, 548, 549, 3, 367, 183, 0, 549, 550, 3, 391, 195, 0, 550, 551, 3, 385, 192, 0, 551, 552, 3, 381, 190, 0, 552, 80, 1, 0, 0, 0, 553, 554, 3, 383, 191, 0, 554, 555, 3, 357, 178, 0, 555, 556, 3, 381, 190, 0, 556, 557, 3, 365, 182, 0, 557, 558, 3, 363, 181, 0, 558, 82, 1, 0, 0, 0, 559, 560, 3, 369, 184, 0, 560, 561, 3, 391, 195, 0, 561, 562, 3, 385, 192, 0, 562, 563, 3, 397, 198, 0, 563, 565, 3, 387, 193, 0, 564, 566, 3, 353, 176, 0, 565, 564, 1, 0, 0, 0, 566, 567, 1, 0, 0, 0, 567, 565, 1, 0, 0, 0, 567, 568, 1, 0, 0, 0, 568, 569, 1, 0, 0, 0, 569, 570, 3, 359, 179, 0, 570, 571, 3, 405, 202, 0, 571, 84, 1, 0, 0, 0, 572, 573, 3, 369, 184, 0, 573, 574, 3, 391, 195, 0, 574, 575, 3, 385, 192, 0, 575, 576, 3, 397, 198, 0, 576, 577, 3, 387, 193, 0, 577, 578, 5, 95, 0, 0, 578, 579, 3, 361, 180, 0, 579, 580, 3, 385, 192, 0, 580, 581, 3, 383, 191, 0, 581, 582, 3, 361, 180, 0, 582, 583, 3, 357, 178, 0, 583, 584, 3, 395, 197, 0, 584, 86, 1, 0, 0, 0, 585, 586, 3, 371, 185, 0, 586, 587, 3, 357, 178, 0, 587, 588, 3, 399, 199, 0, 588, 589, 3, 373, 186, 0, 589, 590, 3, 383, 191, 0, 590, 591, 3, 369, 184, 0, 591, 88, 1, 0, 0, 0, 592, 593, 3, 385, 192, 0, 593, 594, 3, 391, 195, 0, 594, 595, 3, 363, 181, 0, 595, 596, 3, 365, 182, 0, 596, 598, 3, 391, 195, 0, 597, 599, 3, 353, 176, 0, 598, 597, 1, 0, 0, 0, 599, 600, 1, 0, 0, 0, 600, 598, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603, 3, 359, 179, 0, 603, 604, 3, 405, 202, 0, 604, 90, 1, 0, 0, 0, 605, 606, 3, 373, 186, 0, 606, 607, 3, 383, 191, 0, 607, 608, 3, 395, 197, 0, 608, 609, 3, 365, 182, 0, 609, 610, 3, 391, 195, 0, 610, 611, 3, 383, 191, 0, 611, 612, 3, 357, 178, 0, 612, 614, 3, 379, 189, 0, 613, 615, 3, 353, 176, 0, 614, 613, 1, 0, 0, 0, 615, 616, 1, 0, 0, 0, 616, 614, 1, 0, 0, 0, 616, 617, 1, 0, 0, 0, 617, 618, 1, 0, 0, 0, 618, 619, 3, 393, 196, 0, 619, 620, 3, 385, 192, 0, 620, 621, 3, 391, 195, 0, 621, 623, 3, 395, 197, 0, 622, 624, 3, 353, 176, 0, 623, 622, 1, 0, 0, 0, 624, 625, 1, 0, 0, 0, 625, 623, 1, 0, 0, 0, 625, 626, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 628, 3, 359, 179, 0, 628, 629, 3, 405, 202, 0, 629, 92, 1, 0, 0, 0, 630, 631, 3, 357, 178, 0, 631, 632, 3, 393, 196, 0, 632, 633, 3, 361, 180, 0, 633, 94, 1, 0, 0, 0, 634, 635, 3, 363, 181, 0, 635, 636, 3, 365, 182, 0, 636, 637, 3, 393, 196, 0, 637, 638, 3, 361, 180, 0, 638, 96, 1, 0, 0, 0, 639, 640, 3, 379, 189, 0, 640, 641, 3, 373, 186, 0, 641, 642, 3, 381, 190, 0, 642, 643, 3, 373, 186, 0, 643, 644, 3, 395, 197, 0, 644, 98, 1, 0, 0, 0, 645, 646, 3, 385, 192, 0, 646, 647, 3, 367, 183, 0, 647, 648, 3, 367, 183, 0, 648, 649, 3, 393, 196, 0, 649, 650, 3, 365, 182, 0, 650, 651, 3, 395, 197, 0, 651, 100, 1, 0, 0, 0, 652, 653, 3, 395, 197, 0, 653, 654, 3, 365, 182, 0, 654, 655, 3, 403, 201, 0, 655, 656, 3, 395, 197, 0, 656, 657, 3, 379, 189, 0, 657, 658, 3, 373, 186, 0, 658, 659, 3, 381, 190, 0, 659, 660, 3, 373, 186, 0, 660, 661, 3, 395, 197, 0, 661, 102, 1, 0, 0, 0, 662, 663, 3, 399, 199, 0, 663, 664, 3, 357, 178, 0, 664, 665, 3, 379, 189, 0, 665, 666, 3, 397, 198, 0, 666, 667, 3, 365, 182, 0, 667, 668, 3, 393, 196, 0, 668, 104, 1, 0, 0, 0, 669, 670, 3, 379, 189, 0, 670, 671, 3, 385, 192, 0, 671, 672, 3, 357, 178, 0, 672, 673, 3, 363, 181, 0, 673, 106, 1, 0, 0, 0, 674, 675, 3, 393, 196, 0, 675, 676, 3, 373, 186, 0, 676, 677, 3, 379, 189, 0, 677, 678, 3, 365, 182, 0, 678, 679, 3, 383, 191, 0, 679, 680, 3, 395, 197, 0, 680, 108, 1, 0, 0, 0, 681, 682, 3, 373, 186, 0, 682, 683, 3, 383, 191, 0, 683, 684, 3, 395, 197, 0, 684, 685, 3, 385, 192, 0, 685, 110, 1, 0, 0, 0, 686, 687, 3, 361, 180, 0, 687, 688, 3, 379, 189, 0, 688, 689, 3, 365, 182, 0, 689, 690, 3, 357, 178, 0, 690, 691, 3, 391, 195, 0, 691, 112, 1, 0, 0, 0, 692, 693, 3, 363, 181, 0, 693, 694, 3, 391, 195, 0, 694, 695, 3, 385, 192, 0, 695, 696, 3, 387, 193, 0, 696, 114, 1, 0, 0, 0, 697, 698, 3, 361, 180, 0, 698, 699, 3, 391, 195, 0, 699, 700, 3, 365, 182, 0, 700, 701, 3, 357, 178, 0, 701, 702, 3, 395, 197, 0, 702, 703, 3, 365, 182, 0, 703, 116, 1, 0, 0, 0, 704, 705, 3, 357, 178, 0, 705, 706, 3, 363, 181, 0, 706, 707, 3, 363, 181, 0, 707, 118, 1, 0, 0, 0, 708, 709, 3, 395, 197, 0, 709, 710, 3, 385, 192, 0, 710, 120, 1, 0, 0, 0, 711, 712, 3, 363, 181, 0, 712, 713, 3, 357, 178, 0, 713, 714, 3, 395, 197, 0, 714, 715, 3, 357, 178, 0, 715, 122, 1, 0, 0, 0, 716, 717, 3, 381, 190, 0, 717, 718, 3, 385, 192, 0, 718, 719, 3, 399, 199, 0, 719, 720, 3, 365, 182, 0, 720, 124, 1, 0, 0, 0, 721, 722, 3, 361, 180, 0, 722, 723, 3, 385, 192, 0, 723, 724, 3, 387, 193, 0, 724, 725, 3, 405, 202, 0, 725, 126, 1, 0, 0, 0, 726, 727, 3, 373, 186, 0, 727, 728, 3, 383, 191, 0, 728, 729, 3, 393, 196, 0, 729, 730, 3, 365, 182, 0, 730, 731, 3, 391, 195, 0, 731, 732, 3, 395, 197, 0, 732, 128, 1, 0, 0, 0, 733, 734, 3, 363, 181, 0, 734, 735, 3, 365, 182, 0, 735, 736, 3, 379, 189, 0, 736, 737, 3, 365, 182, 0, 737, 738, 3, 395, 197, 0, 738, 739, 3, 365, 182, 0, 739, 130, 1, 0, 0, 0, 740, 741, 3, 401, 200, 0, 741, 742, 3, 373, 186, 0, 742, 743, 3, 395, 197, 0, 743, 744, 3, 371, 185, 0, 744, 132, 1, 0, 0, 0, 745, 746, 3, 397, 198, 0, 746, 747, 3, 393, 196, 0, 747, 748, 3, 373, 186, 0, 748, 749, 3, 383, 191, 0, 749, 750, 3, 369, 184, 0, 750, 134, 1, 0, 0, 0, 751, 752, 3, 363, 181, 0, 752, 753, 3, 365, 182, 0, 753, 754, 3, 367, 183, 0, 754, 755, 3, 357, 178, 0, 755, 756, 3, 397, 198, 0, 756, 757, 3, 379, 189, 0, 757, 758, 3, 395, 197, 0, 758, 136, 1, 0, 0, 0, 759, 760, 3, 369, 184, 0, 760, 761, 3, 391, 195, 0, 761, 762, 3, 357, 178, 0, 762, 763, 3, 387, 193, 0, 763, 764, 3, 371, 185, 0, 764, 138, 1, 0, 0, 0, 765, 766, 3, 357, 178, 0, 766, 767, 3, 379, 189, 0, 767, 768, 3, 379, 189, 0, 768, 140, 1, 0, 0, 0, 769, 770, 3, 385, 192, 0, 770, 771, 3, 387, 193, 0, 771, 772, 3, 395, 197, 0, 772, 773, 3, 373, 186, 0, 773, 774, 3, 385, 192, 0, 774, 775, 3, 383, 191, 0, 775, 776, 3, 357, 178, 0, 776, 777, 3, 379, 189, 0, 777, 142, 1, 0, 0, 0, 778, 779, 3, 393, 196, 0, 779, 780, 3, 365, 182, 0, 780, 781, 3, 391, 195, 0, 781, 782, 3, 399, 199, 0, 782, 783, 3, 373, 186, 0, 783, 784, 3, 361, 180, 0, 784, 785, 3, 365, 182, 0, 785, 144, 1, 0, 0, 0, 786, 787, 3, 359, 179, 0, 787, 788, 3, 373, 186, 0, 788, 789, 3, 383, 191, 0, 789, 790, 3, 363, 181, 0, 790, 146, 1, 0, 0, 0, 791, 792, 3, 397, 198, 0, 792, 793, 3, 383, 191, 0, 793, 794, 3, 363, 181, 0, 794, 795, 3, 365, 182, 0, 795, 796, 3, 367, 183, 0, 796, 148, 1, 0, 0, 0, 797, 798, 3, 381, 190, 0, 798, 799, 3, 373, 186, 0, 799, 800, 3, 383, 191, 0, 800, 801, 3, 397, 198, 0, 801, 802, 3, 393, 196, 0, 802, 150, 1, 0, 0, 0, 803, 804, 3, 397, 198, 0, 804, 805, 3, 383, 191, 0, 805, 806, 3, 373, 186, 0, 806, 807, 3, 385, 192, 0, 807, 808, 3, 383, 191, 0, 808, 152, 1, 0, 0, 0, 809, 810, 3, 367, 183, 0, 810, 811, 3, 373, 186, 0, 811, 812, 3, 379, 189, 0, 812, 813, 3, 395, 197, 0, 813, 814, 3, 365, 182, 0, 814, 815, 3, 391, 195, 0, 815, 154, 1, 0, 0, 0, 816, 817, 3, 383, 191, 0, 817, 818, 3, 385, 192, 0, 818, 819, 3, 395, 197, 0, 819, 156, 1, 0, 0, 0, 820, 821, 3, 373, 186, 0, 821, 822, 3, 383, 191, 0, 822, 158, 1, 0, 0, 0, 823, 824, 3, 393, 196, 0, 824, 825, 3, 395, 197, 0, 825, 826, 3, 391, 195, 0, 826, 160, 1, 0, 0, 0, 827, 828, 3, 379, 189, 0, 828, 829, 3, 357, 178, 0, 829, 830, 3, 383, 191, 0, 830, 831, 3, 369, 184, 0, 831, 162, 1, 0, 0, 0, 832, 833, 3, 379, 189, 0, 833, 834, 3, 357, 178, 0, 834, 835, 3, 383, 191, 0, 835, 836, 3, 369, 184, 0, 836, 837, 3, 381, 190, 0, 837, 838, 3, 357, 178, 0, 838, 839, 3, 395, 197, 0, 839, 840, 3, 361, 180, 0, 840, 841, 3, 371, 185, 0, 841, 842, 3, 365, 182, 0, 842, 843, 3, 393, 196, 0, 843, 164, 1, 0, 0, 0, 844, 845, 3, 363, 181, 0, 845, 846, 3, 357, 178, 0, 846, 847, 3, 395, 197, 0, 847, 848, 3, 357, 178, 0, 848, 849, 3, 395, 197, 0, 849, 850, 3, 405, 202, 0, 850, 851, 3, 387, 193, 0, 851, 852, 3, 365, 182, 0, 852, 166, 1, 0, 0, 0, 853, 854, 3, 359, 179, 0, 854, 855, 3, 385, 192, 0, 855, 856, 3, 397, 198, 0, 856, 857, 3, 383, 191, 0, 857, 858, 3, 363, 181, 0, 858, 168, 1, 0, 0, 0, 859, 860, 3, 373, 186, 0, 860, 861, 3, 391, 195, 0, 861, 862, 3, 373, 186, 0, 862, 170, 1, 0, 0, 0, 863, 864, 3, 397, 198, 0, 864, 865, 3, 391, 195, 0, 865, 866, 3, 373, 186, 0, 866, 172, 1, 0, 0, 0, 867, 868, 3, 359, 179, 0, 868, 869, 3, 383, 191, 0, 869, 870, 3, 385, 192, 0, 870, 871, 3, 363, 181, 0, 871, 872, 3, 365, 182, 0, 872, 174, 1, 0, 0, 0, 873, 874, 3, 391, 195, 0, 874, 875, 3, 357, 178, 0, 875, 876, 3, 383, 191, 0, 876, 877, 3, 363, 181, 0, 877, 176, 1, 0, 0, 0, 878, 879, 3, 357, 178, 0, 879, 880, 3, 359, 179, 0, 880, 881, 3, 393, 196, 0, 881, 178, 1, 0, 0, 0, 882, 883, 3, 361, 180, 0, 883, 884, 3, 365, 182, 0, 884, 885, 3, 373, 186, 0, 885, 886, 3, 379, 189, 0, 886, 180, 1, 0, 0, 0, 887, 888, 3, 367, 183, 0, 888, 889, 3, 379, 189, 0, 889, 890, 3, 385, 192, 0, 890, 891, 3, 385, 192, 0, 891, 892, 3, 391, 195, 0, 892, 182, 1, 0, 0, 0, 893, 894, 3, 391, 195, 0, 894, 895, 3, 385, 192, 0, 895, 896, 3, 397, 198, 0, 896, 897, 3, 383, 191, 0, 897, 898, 3, 363, 181, 0, 898, 184, 1, 0, 0, 0, 899, 900, 3, 361, 180, 0, 900, 901, 3, 385, 192, 0, 901, 902, 3, 383, 191, 0, 902, 903, 3, 361, 180, 0, 903, 904, 3, 357, 178, 0, 904, 905, 3, 395, 197, 0, 905, 186, 1, 0, 0, 0, 906, 907, 3, 393, 196, 0, 907, 908, 3, 395, 197, 0, 908, 909, 3, 391, 195, 0, 909, 910, 3, 379, 189, 0, 910, 911, 3, 365, 182, 0, 911, 912, 3, 383, 191, 0, 912, 188, 1, 0, 0, 0, 913, 914, 3, 397, 198, 0, 914, 915, 3, 361, 180, 0, 915, 916, 3, 357, 178, 0, 916, 917, 3, 393, 196, 0, 917, 918, 3, 365, 182, 0, 918, 190, 1, 0, 0, 0, 919, 920, 3, 379, 189, 0, 920, 921, 3, 361, 180, 0, 921, 922, 3, 357, 178, 0, 922, 923, 3, 393, 196, 0, 923, 924, 3, 365, 182, 0, 924, 192, 1, 0, 0, 0, 925, 926, 3, 365, 182, 0, 926, 927, 3, 383, 191, 0, 927, 928, 3, 361, 180, 0, 928, 929, 3, 385, 192, 0, 929, 930, 3, 363, 181, 0, 930, 931, 3, 365, 182, 0, 931, 932, 5, 95, 0, 0, 932, 933, 3, 367, 183, 0, 933, 934, 3, 385, 192, 0, 934, 935, 3, 391, 195, 0, 935, 936, 5, 95, 0, 0, 936, 937, 3, 397, 198, 0, 937, 938, 3, 391, 195, 0, 938, 939, 3, 373, 186, 0, 939, 194, 1, 0, 0, 0, 940, 941, 3, 367, 183, 0, 941, 942, 3, 385, 192, 0, 942, 943, 3, 391, 195, 0, 943, 196, 1, 0, 0, 0, 944, 945, 3, 361, 180, 0, 945, 946, 3, 385, 192, 0, 946, 947, 3, 383, 191, 0, 947, 948, 3, 395, 197, 0, 948, 949, 3, 357, 178, 0, 949, 950, 3, 373, 186, 0, 950, 951, 3, 383, 191, 0, 951, 952, 3, 393, 196, 0, 952, 198, 1, 0, 0, 0, 953, 954, 3, 393, 196, 0, 954, 955, 3, 395, 197, 0, 955, 956, 3, 391, 195, 0, 956, 957, 3, 393, 196, 0, 957, 958, 3, 395, 197, 0, 958, 959, 3, 357, 178, 0, 959, 960, 3, 391, 195, 0, 960, 961, 3, 395, 197, 0, 961, 962, 3, 393, 196, 0, 962, 200, 1, 0, 0, 0, 963, 964, 3, 393, 196, 0, 964, 965, 3, 395, 197, 0, 965, 966, 3, 391, 195, 0, 966, 967, 3, 365, 182, 0, 967, 968, 3, 383, 191, 0, 968, 969, 3, 363, 181, 0, 969, 970, 3, 393, 196, 0, 970, 202, 1, 0, 0, 0, 971, 972, 3, 393, 196, 0, 972, 973, 3, 395, 197, 0, 973, 974, 3, 391, 195, 0, 974, 975, 3, 359, 179, 0, 975, 976, 3, 365, 182, 0, 976, 977, 3, 367, 183, 0, 977, 978, 3, 385, 192, 0, 978, 979, 3, 391, 195, 0, 979, 980, 3, 365, 182, 0, 980, 204, 1, 0, 0, 0, 981, 982, 3, 393, 196, 0, 982, 983, 3, 395, 197, 0, 983, 984, 3, 391, 195, 0, 984, 985, 3, 357, 178, 0, 985, 986, 3, 367, 183, 0, 986, 987, 3, 395, 197, 0, 987, 988, 3, 365, 182, 0, 988, 989, 3, 391, 195, 0, 989, 206, 1, 0, 0, 0, 990, 991, 3, 405, 202, 0, 991, 992, 3, 365, 182, 0, 992, 993, 3, 357, 178, 0, 993, 994, 3, 391, 195, 0, 994, 208, 1, 0, 0, 0, 995, 996, 3, 381, 190, 0, 996, 997, 3, 385, 192, 0, 997, 998, 3, 383, 191, 0, 998, 999, 3, 395, 197, 0, 999, 1000, 3, 371, 185, 0, 1000, 210, 1, 0, 0, 0, 1001, 1002, 3, 363, 181, 0, 1002, 1003, 3, 357, 178, 0, 1003, 1004, 3, 405, 202, 0, 1004, 212, 1, 0, 0, 0, 1005, 1006, 3, 371, 185, 0, 1006, 1007, 3, 385, 192, 0, 1007, 1008, 3, 397, 198, 0, 1008, 1009, 3, 391, 195, 0, 1009, 1010, 3, 393, 196, 0, 1010, 214, 1, 0, 0, 0, 1011, 1012, 3, 381, 190, 0, 1012, 1013, 3, 373, 186, 0, 1013, 1014, 3, 383, 191, 0, 1014, 1015, 3, 397, 198, 0, 1015, 1016, 3, 395, 197, 0, 1016, 1017, 3, 365, 182, 0, 1017, 1018, 3, 393, 196, 0, 1018, 216, 1, 0, 0, 0, 1019, 1020, 3, 393, 196, 0, 1020, 1021, 3, 365, 182, 0, 1021, 1022, 3, 361, 180, 0, 1022, 1023, 3, 385, 192, 0, 1023, 1024, 3, 383, 191, 0, 1024, 1025, 3, 363, 181, 0, 1025, 1026, 3, 393, 196, 0, 1026, 218, 1, 0, 0, 0, 1027, 1028, 3, 395, 197, 0, 1028, 1029, 3, 373, 186, 0, 1029, 1030, 3, 381, 190, 0, 1030, 1031, 3, 365, 182, 0, 1031, 1032, 3, 407, 203, 0, 1032, 1033, 3, 385, 192, 0, 1033, 1034, 3, 383, 191, 0, 1034, 1035, 3, 365, 182, 0, 1035, 220, 1, 0, 0, 0, 1036, 1037, 3, 395, 197, 0, 1037, 1038, 3, 407, 203, 0, 1038, 222, 1, 0, 0, 0, 1039, 1040, 3, 383, 191, 0, 1040, 1041, 3, 385, 192, 0, 1041, 1042, 3, 401, 200, 0, 1042, 224, 1, 0, 0, 0, 1043, 1044, 3, 397, 198, 0, 1044, 1045, 3, 397, 198, 0, 1045, 1046, 3, 373, 186, 0, 1046, 1047, 3, 363, 181, 0, 1047, 226, 1, 0, 0, 0, 1048, 1049, 3, 393, 196, 0, 1049, 1050, 3, 395, 197, 0, 1050, 1051, 3, 391, 195, 0, 1051, 1052, 3, 397, 198, 0, 1052, 1053, 3, 397, 198, 0, 1053, 1054, 3, 373, 186, 0, 1054, 1055, 3, 363, 181, 0, 1055, 228, 1, 0, 0, 0, 1056, 1057, 3, 393, 196, 0, 1057, 1058, 3, 371, 185, 0, 1058, 1059, 3, 357, 178, 0, 1059, 1060, 5, 49, 0, 0, 1060, 230, 1, 0, 0, 0, 1061, 1062, 3, 393, 196, 0, 1062, 1063, 3, 371, 185, 0, 1063, 1064, 3, 357, 178, 0, 1064, 1065, 5, 50, 0, 0, 1065, 1066, 5, 53, 0, 0, 1066, 1067, 5, 54, 0, 0, 1067, 232, 1, 0, 0, 0, 1068, 1069, 3, 393, 196, 0, 1069, 1070, 3, 371, 185, 0, 1070, 1071, 3, 357, 178, 0, 1071, 1072, 5, 51, 0, 0, 1072, 1073, 5, 56, 0, 0, 1073, 1074, 5, 52, 0, 0, 1074, 234, 1, 0, 0, 0, 1075, 1076, 3, 393, 196, 0, 1076, 1077, 3, 371, 185, 0, 1077, 1078, 3, 357, 178, 0, 1078, 1079, 5, 53, 0, 0, 1079, 1080, 5, 49, 0, 0, 1080, 1081, 5, 50, 0, 0, 1081, 236, 1, 0, 0, 0, 1082, 1083, 3, 381, 190, 0, 1083, 1084, 3, 363, 181, 0, 1084, 1085, 5, 53, 0, 0, 1085, 238, 1, 0, 0, 0, 1086, 1087, 3, 361, 180, 0, 1087, 1088, 3, 385, 192, 0, 1088, 1089, 3, 357, 178, 0, 1089, 1090, 3, 379, 189, 0, 1090, 1091, 3, 365, 182, 0, 1091, 1092, 3, 393, 196, 0, 1092, 1093, 3, 361, 180, 0, 1093, 1094, 3, 365, 182, 0, 1094, 240, 1, 0, 0, 0, 1095, 1096, 3, 373, 186, 0, 1096, 1097, 3, 367, 183, 0, 1097, 242, 1, 0, 0, 0, 1098, 1099, 3, 393, 196, 0, 1099, 1100, 3, 395, 197, 0, 1100, 1101, 3, 391, 195, 0, 1101, 1102, 3, 379, 189, 0, 1102, 1103, 3, 357, 178, 0, 1103, 1104, 3, 383, 191, 0, 1104, 1105, 3, 369, 184, 0, 1105, 244, 1, 0, 0, 0, 1106, 1107, 3, 393, 196, 0, 1107, 1108, 3, 395, 197, 0, 1108, 1109, 3, 391, 195, 0, 1109, 1110, 3, 363, 181, 0, 1110, 1111, 3, 395, 197, 0, 1111, 246, 1, 0, 0, 0, 1112, 1113, 3, 393, 196, 0, 1113, 1114, 3, 357, 178, 0, 1114, 1115, 3, 381, 190, 0, 1115, 1116, 3, 365, 182, 0, 1116, 1117, 3, 395, 197, 0, 1117, 1118, 3, 365, 182, 0, 1118, 1119, 3, 391, 195, 0, 1119, 1120, 3, 381, 190, 0, 1120, 248, 1, 0, 0, 0, 1121, 1122, 3, 373, 186, 0, 1122, 1123, 3, 393, 196, 0, 1123, 1124, 3, 373, 186, 0, 1124, 1125, 3, 391, 195, 0, 1125, 1126, 3, 373, 186, 0, 1126, 250, 1, 0, 0, 0, 1127, 1128, 3, 373, 186, 0, 1128, 1129, 3, 393, 196, 0, 1129, 1130, 3, 397, 198, 0, 1130, 1131, 3, 391, 195, 0, 1131, 1132, 3, 373, 186, 0, 1132, 252, 1, 0, 0, 0, 1133, 1134, 3, 373, 186, 0, 1134, 1135, 3, 393, 196, 0, 1135, 1136, 3, 359, 179, 0, 1136, 1137, 3, 379, 189, 0, 1137, 1138, 3, 357, 178, 0, 1138, 1139, 3, 383, 191, 0, 1139, 1140, 3, 377, 188, 0, 1140, 254, 1, 0, 0, 0, 1141, 1142, 3, 373, 186, 0, 1142, 1143, 3, 393, 196, 0, 1143, 1144, 3, 379, 189, 0, 1144, 1145, 3, 373, 186, 0, 1145, 1146, 3, 395, 197, 0, 1146, 1147, 3, 365, 182, 0, 1147, 1148, 3, 391, 195, 0, 1148, 1149, 3, 357, 178, 0, 1149, 1150, 3, 379, 189, 0, 1150, 256, 1, 0, 0, 0, 1151, 1152, 3, 373, 186, 0, 1152, 1153, 3, 393, 196, 0, 1153, 1154, 3, 383, 191, 0, 1154, 1155, 3, 397, 198, 0, 1155, 1156, 3, 381, 190, 0, 1156, 1157, 3, 365, 182, 0, 1157, 1158, 3, 391, 195, 0, 1158, 1159, 3, 373, 186, 0, 1159, 1160, 3, 361, 180, 0, 1160, 258, 1, 0, 0, 0, 1161, 1162, 3, 391, 195, 0, 1162, 1163, 3, 365, 182, 0, 1163, 1164, 3, 369, 184, 0, 1164, 1165, 3, 365, 182, 0, 1165, 1166, 3, 403, 201, 0, 1166, 260, 1, 0, 0, 0, 1167, 1168, 3, 393, 196, 0, 1168, 1169, 3, 397, 198, 0, 1169, 1170, 3, 359, 179, 0, 1170, 1171, 3, 393, 196, 0, 1171, 1172, 3, 395, 197, 0, 1172, 1173, 3, 391, 195, 0, 1173, 262, 1, 0, 0, 0, 1174, 1175, 3, 391, 195, 0, 1175, 1176, 3, 365, 182, 0, 1176, 1177, 3, 387, 193, 0, 1177, 1178, 3, 379, 189, 0, 1178, 1179, 3, 357, 178, 0, 1179, 1180, 3, 361, 180, 0, 1180, 1181, 3, 365, 182, 0, 1181, 264, 1, 0, 0, 0, 1182, 1183, 3, 365, 182, 0, 1183, 1184, 3, 403, 201, 0, 1184, 1185, 3, 373, 186, 0, 1185, 1186, 3, 393, 196, 0, 1186, 1187, 3, 395, 197, 0, 1187, 1188, 3, 393, 196, 0, 1188, 266, 1, 0, 0, 0, 1189, 1190, 3, 361, 180, 0, 1190, 1191, 3, 385, 192, 0, 1191, 1192, 3, 397, 198, 0, 1192, 1193, 3, 383, 191, 0, 1193, 1194, 3, 395, 197, 0, 1194, 268, 1, 0, 0, 0, 1195, 1196, 3, 393, 196, 0, 1196, 1197, 3, 397, 198, 0, 1197, 1198, 3, 381, 190, 0, 1198, 270, 1, 0, 0, 0, 1199, 1200, 3, 381, 190, 0, 1200, 1201, 3, 373, 186, 0, 1201, 1202, 3, 383, 191, 0, 1202, 272, 1, 0, 0, 0, 1203, 1204, 3, 381, 190, 0, 1204, 1205, 3, 357, 178, 0, 1205, 1206, 3, 403, 201, 0, 1206, 274, 1, 0, 0, 0, 1207, 1208, 3, 357, 178, 0, 1208, 1209, 3, 399, 199, 0, 1209, 1210, 3, 369, 184, 0, 1210, 276, 1, 0, 0, 0, 1211, 1212, 3, 393, 196, 0, 1212, 1213, 3, 357, 178, 0, 1213, 1214, 3, 381, 190, 0, 1214, 1215, 3, 387, 193, 0, 1215, 1216, 3, 379, 189, 0, 1216, 1217, 3, 365, 182, 0, 1217, 278, 1, 0, 0, 0, 1218, 1219, 3, 393, 196, 0, 1219, 1220, 3, 365, 182, 0, 1220, 1221, 3, 387, 193, 0, 1221, 1222, 3, 357, 178, 0, 1222, 1223, 3, 391, 195, 0, 1223, 1224, 3, 357, 178, 0, 1224, 1225, 3, 395, 197, 0, 1225, 1226, 3, 385, 192, 0, 1226, 1227, 3, 391, 195, 0, 1227, 280, 1, 0, 0, 0, 1228, 1232, 5, 60, 0, 0, 1229, 1231, 8, 0, 0, 0, 1230, 1229, 1, 0, 0, 0, 1231, 1234, 1, 0, 0, 0, 1232, 1230, 1, 0, 0, 0, 1232, 1233, 1, 0, 0, 0, 1233, 1235, 1, 0, 0, 0, 1234, 1232, 1, 0, 0, 0, 1235, 1236, 5, 62, 0, 0, 1236, 282, 1, 0, 0, 0, 1237, 1239, 3, 337, 168, 0, 1238, 1237, 1, 0, 0, 0, 1238, 1239, 1, 0, 0, 0, 1239, 1240, 1, 0, 0, 0, 1240, 1241, 5, 58, 0, 0, 1241, 284, 1, 0, 0, 0, 1242, 1243, 3, 283, 141, 0, 1243, 1244, 3, 339, 169, 0, 1244, 286, 1, 0, 0, 0, 1245, 1246, 5, 95, 0, 0, 1246, 1247, 5, 58, 0, 0, 1247, 1250, 1, 0, 0, 0, 1248, 1251, 3, 331, 165, 0, 1249, 1251, 3, 351, 175, 0, 1250, 1248, 1, 0, 0, 0, 1250, 1249, 1, 0, 0, 0, 1251, 1260, 1, 0, 0, 0, 1252, 1255, 3, 335, 167, 0, 1253, 1255, 5, 46, 0, 0, 1254, 1252, 1, 0, 0, 0, 1254, 1253, 1, 0, 0, 0, 1255, 1258, 1, 0, 0, 0, 1256, 1254, 1, 0, 0, 0, 1256, 1257, 1, 0, 0, 0, 1257, 1259, 1, 0, 0, 0, 1258, 1256, 1, 0, 0, 0, 1259, 1261, 3, 335, 167, 0, 1260, 1256, 1, 0, 0, 0, 1260, 1261, 1, 0, 0, 0, 1261, 288, 1, 0, 0, 0, 1262, 1263, 5, 63, 0, 0, 1263, 1264, 3, 333, 166, 0, 1264, 290, 1, 0, 0, 0, 1265, 1266, 5, 36, 0, 0, 1266, 1267, 3, 333, 166, 0, 1267, 292, 1, 0, 0, 0, 1268, 1270, 5, 64, 0, 0, 1269, 1271, 7, 1, 0, 0, 1270, 1269, 1, 0, 0, 0, 1271, 1272, 1, 0, 0, 0, 1272, 1270, 1, 0, 0, 0, 1272, 1273, 1, 0, 0, 0, 1273, 1283, 1, 0, 0, 0, 1274, 1277, 5, 45, 0, 0, 1275, 1278, 7, 1, 0, 0, 1276, 1278, 3, 351, 175, 0, 1277, 1275, 1, 0, 0, 0, 1277, 1276, 1, 0, 0, 0, 1278, 1279, 1, 0, 0, 0, 1279, 1277, 1, 0, 0, 0, 1279, 1280, 1, 0, 0, 0, 1280, 1282, 1, 0, 0, 0, 1281, 1274, 1, 0, 0, 0, 1282, 1285, 1, 0, 0, 0, 1283, 1281, 1, 0, 0, 0, 1283, 1284, 1, 0, 0, 0, 1284, 294, 1, 0, 0, 0, 1285, 1283, 1, 0, 0, 0, 1286, 1287, 3, 293, 146, 0, 1287, 1288, 5, 64, 0, 0, 1288, 296, 1, 0, 0, 0, 1289, 1291, 3, 351, 175, 0, 1290, 1289, 1, 0, 0, 0, 1291, 1292, 1, 0, 0, 0, 1292, 1290, 1, 0, 0, 0, 1292, 1293, 1, 0, 0, 0, 1293, 298, 1, 0, 0, 0, 1294, 1296, 3, 351, 175, 0, 1295, 1294, 1, 0, 0, 0, 1296, 1299, 1, 0, 0, 0, 1297, 1295, 1, 0, 0, 0, 1297, 1298, 1, 0, 0, 0, 1298, 1300, 1, 0, 0, 0, 1299, 1297, 1, 0, 0, 0, 1300, 1302, 5, 46, 0, 0, 1301, 1303, 3, 351, 175, 0, 1302, 1301, 1, 0, 0, 0, 1303, 1304, 1, 0, 0, 0, 1304, 1302, 1, 0, 0, 0, 1304, 1305, 1, 0, 0, 0, 1305, 300, 1, 0, 0, 0, 1306, 1308, 3, 351, 175, 0, 1307, 1306, 1, 0, 0, 0, 1308, 1309, 1, 0, 0, 0, 1309, 1307, 1, 0, 0, 0, 1309, 1310, 1, 0, 0, 0, 1310, 1311, 1, 0, 0, 0, 1311, 1315, 5, 46, 0, 0, 1312, 1314, 3, 351, 175, 0, 1313, 1312, 1, 0, 0, 0, 1314, 1317, 1, 0, 0, 0, 1315, 1313, 1, 0, 0, 0, 1315, 1316, 1, 0, 0, 0, 1316, 1318, 1, 0, 0, 0, 1317, 1315, 1, 0, 0, 0, 1318, 1319, 3, 315, 157, 0, 1319, 1336, 1, 0, 0, 0, 1320, 1322, 5, 46, 0, 0, 1321, 1323, 3, 351, 175, 0, 1322, 1321, 1, 0, 0, 0, 1323, 1324, 1, 0, 0, 0, 1324, 1322, 1, 0, 0, 0, 1324, 1325, 1, 0, 0, 0, 1325, 1326, 1, 0, 0, 0, 1326, 1327, 3, 315, 157, 0, 1327, 1336, 1, 0, 0, 0, 1328, 1330, 3, 351, 175, 0, 1329, 1328, 1, 0, 0, 0, 1330, 1331, 1, 0, 0, 0, 1331, 1329, 1, 0, 0, 0, 1331, 1332, 1, 0, 0, 0, 1332, 1333, 1, 0, 0, 0, 1333, 1334, 3, 315, 157, 0, 1334, 1336, 1, 0, 0, 0, 1335, 1307, 1, 0, 0, 0, 1335, 1320, 1, 0, 0, 0, 1335, 1329, 1, 0, 0, 0, 1336, 302, 1, 0, 0, 0, 1337, 1338, 5, 43, 0, 0, 1338, 1339, 3, 297, 148, 0, 1339, 304, 1, 0, 0, 0, 1340, 1341, 5, 43, 0, 0, 1341, 1342, 3, 299, 149, 0, 1342, 306, 1, 0, 0, 0, 1343, 1344, 5, 43, 0, 0, 1344, 1345, 3, 301, 150, 0, 1345, 308, 1, 0, 0, 0, 1346, 1347, 5, 45, 0, 0, 1347, 1348, 3, 297, 148, 0, 1348, 310, 1, 0, 0, 0, 1349, 1350, 5, 45, 0, 0, 1350, 1351, 3, 299, 149, 0, 1351, 312, 1, 0, 0, 0, 1352, 1353, 5, 45, 0, 0, 1353, 1354, 3, 301, 150, 0, 1354, 314, 1, 0, 0, 0, 1355, 1357, 7, 2, 0, 0, 1356, 1358, 7, 3, 0, 0, 1357, 1356, 1, 0, 0, 0, 1357, 1358, 1, 0, 0, 0, 1358, 1360, 1, 0, 0, 0, 1359, 1361, 3, 351, 175, 0, 1360, 1359, 1, 0, 0, 0, 1361, 1362, 1, 0, 0, 0, 1362, 1360, 1, 0, 0, 0, 1362, 1363, 1, 0, 0, 0, 1363, 316, 1, 0, 0, 0, 1364, 1369, 5, 39, 0, 0, 1365, 1368, 8, 4, 0, 0, 1366, 1368, 3, 325, 162, 0, 1367, 1365, 1, 0, 0, 0, 1367, 1366, 1, 0, 0, 0, 1368, 1371, 1, 0, 0, 0, 1369, 1367, 1, 0, 0, 0, 1369, 1370, 1, 0, 0, 0, 1370, 1372, 1, 0, 0, 0, 1371, 1369, 1, 0, 0, 0, 1372, 1373, 5, 39, 0, 0, 1373, 318, 1, 0, 0, 0, 1374, 1379, 5, 34, 0, 0, 1375, 1378, 8, 5, 0, 0, 1376, 1378, 3, 325, 162, 0, 1377, 1375, 1, 0, 0, 0, 1377, 1376, 1, 0, 0, 0, 1378, 1381, 1, 0, 0, 0, 1379, 1377, 1, 0, 0, 0, 1379, 1380, 1, 0, 0, 0, 1380, 1382, 1, 0, 0, 0, 1381, 1379, 1, 0, 0, 0, 1382, 1383, 5, 34, 0, 0, 1383, 320, 1, 0, 0, 0, 1384, 1385, 5, 39, 0, 0, 1385, 1386, 5, 39, 0, 0, 1386, 1387, 5, 39, 0, 0, 1387, 1399, 1, 0, 0, 0, 1388, 1392, 5, 39, 0, 0, 1389, 1390, 5, 39, 0, 0, 1390, 1392, 5, 39, 0, 0, 1391, 1388, 1, 0, 0, 0, 1391, 1389, 1, 0, 0, 0, 1391, 1392, 1, 0, 0, 0, 1392, 1395, 1, 0, 0, 0, 1393, 1396, 8, 6, 0, 0, 1394, 1396, 3, 325, 162, 0, 1395, 1393, 1, 0, 0, 0, 1395, 1394, 1, 0, 0, 0, 1396, 1398, 1, 0, 0, 0, 1397, 1391, 1, 0, 0, 0, 1398, 1401, 1, 0, 0, 0, 1399, 1397, 1, 0, 0, 0, 1399, 1400, 1, 0, 0, 0, 1400, 1402, 1, 0, 0, 0, 1401, 1399, 1, 0, 0, 0, 1402, 1403, 5, 39, 0, 0, 1403, 1404, 5, 39, 0, 0, 1404, 1405, 5, 39, 0, 0, 1405, 322, 1, 0, 0, 0, 1406, 1407, 5, 34, 0, 0, 1407, 1408, 5, 34, 0, 0, 1408, 1409, 5, 34, 0, 0, 1409, 1421, 1, 0, 0, 0, 1410, 1414, 5, 34, 0, 0, 1411, 1412, 5, 34, 0, 0, 1412, 1414, 5, 34, 0, 0, 1413, 1410, 1, 0, 0, 0, 1413, 1411, 1, 0, 0, 0, 1413, 1414, 1, 0, 0, 0, 1414, 1417, 1, 0, 0, 0, 1415, 1418, 8, 7, 0, 0, 1416, 1418, 3, 325, 162, 0, 1417, 1415, 1, 0, 0, 0, 1417, 1416, 1, 0, 0, 0, 1418, 1420, 1, 0, 0, 0, 1419, 1413, 1, 0, 0, 0, 1420, 1423, 1, 0, 0, 0, 1421, 1419, 1, 0, 0, 0, 1421, 1422, 1, 0, 0, 0, 1422, 1424, 1, 0, 0, 0, 1423, 1421, 1, 0, 0, 0, 1424, 1425, 5, 34, 0, 0, 1425, 1426, 5, 34, 0, 0, 1426, 1427, 5, 34, 0, 0, 1427, 324, 1, 0, 0, 0, 1428, 1429, 5, 92, 0, 0, 1429, 1430, 7, 8, 0, 0, 1430, 326, 1, 0, 0, 0, 1431, 1435, 5, 40, 0, 0, 1432, 1434, 3, 353, 176, 0, 1433, 1432, 1, 0, 0, 0, 1434, 1437, 1, 0, 0, 0, 1435, 1433, 1, 0, 0, 0, 1435, 1436, 1, 0, 0, 0, 1436, 1438, 1, 0, 0, 0, 1437, 1435, 1, 0, 0, 0, 1438, 1439, 5, 41, 0, 0, 1439, 328, 1, 0, 0, 0, 1440, 1444, 5, 91, 0, 0, 1441, 1443, 3, 353, 176, 0, 1442, 1441, 1, 0, 0, 0, 1443, 1446, 1, 0, 0, 0, 1444, 1442, 1, 0, 0, 0, 1444, 1445, 1, 0, 0, 0, 1445, 1447, 1, 0, 0, 0, 1446, 1444, 1, 0, 0, 0, 1447, 1448, 5, 93, 0, 0, 1448, 330, 1, 0, 0, 0, 1449, 1452, 3, 349, 174, 0, 1450, 1452, 5, 95, 0, 0, 1451, 1449, 1, 0, 0, 0, 1451, 1450, 1, 0, 0, 0, 1452, 332, 1, 0, 0, 0, 1453, 1456, 3, 331, 165, 0, 1454, 1456, 3, 351, 175, 0, 1455, 1453, 1, 0, 0, 0, 1455, 1454, 1, 0, 0, 0, 1456, 1462, 1, 0, 0, 0, 1457, 1461, 3, 331, 165, 0, 1458, 1461, 3, 351, 175, 0, 1459, 1461, 7, 9, 0, 0, 1460, 1457, 1, 0, 0, 0, 1460, 1458, 1, 0, 0, 0, 1460, 1459, 1, 0, 0, 0, 1461, 1464, 1, 0, 0, 0, 1462, 1460, 1, 0, 0, 0, 1462, 1463, 1, 0, 0, 0, 1463, 334, 1, 0, 0, 0, 1464, 1462, 1, 0, 0, 0, 1465, 1470, 3, 331, 165, 0, 1466, 1470, 5, 45, 0, 0, 1467, 1470, 3, 351, 175, 0, 1468, 1470, 7, 9, 0, 0, 1469, 1465, 1, 0, 0, 0, 1469, 1466, 1, 0, 0, 0, 1469, 1467, 1, 0, 0, 0, 1469, 1468, 1, 0, 0, 0, 1470, 336, 1, 0, 0, 0, 1471, 1480, 3, 349, 174, 0, 1472, 1475, 3, 335, 167, 0, 1473, 1475, 5, 46, 0, 0, 1474, 1472, 1, 0, 0, 0, 1474, 1473, 1, 0, 0, 0, 1475, 1478, 1, 0, 0, 0, 1476, 1474, 1, 0, 0, 0, 1476, 1477, 1, 0, 0, 0, 1477, 1479, 1, 0, 0, 0, 1478, 1476, 1, 0, 0, 0, 1479, 1481, 3, 335, 167, 0, 1480, 1476, 1, 0, 0, 0, 1480, 1481, 1, 0, 0, 0, 1481, 338, 1, 0, 0, 0, 1482, 1487, 3, 331, 165, 0, 1483, 1487, 5, 58, 0, 0, 1484, 1487, 3, 351, 175, 0, 1485, 1487, 3, 341, 170, 0, 1486, 1482, 1, 0, 0, 0, 1486, 1483, 1, 0, 0, 0, 1486, 1484, 1, 0, 0, 0, 1486, 1485, 1, 0, 0, 0, 1487, 1501, 1, 0, 0, 0, 1488, 1492, 3, 335, 167, 0, 1489, 1492, 7, 10, 0, 0, 1490, 1492, 3, 341, 170, 0, 1491, 1488, 1, 0, 0, 0, 1491, 1489, 1, 0, 0, 0, 1491, 1490, 1, 0, 0, 0, 1492, 1495, 1, 0, 0, 0, 1493, 1491, 1, 0, 0, 0, 1493, 1494, 1, 0, 0, 0, 1494, 1499, 1, 0, 0, 0, 1495, 1493, 1, 0, 0, 0, 1496, 1500, 3, 335, 167, 0, 1497, 1500, 5, 58, 0, 0, 1498, 1500, 3, 341, 170, 0, 1499, 1496, 1, 0, 0, 0, 1499, 1497, 1, 0, 0, 0, 1499, 1498, 1, 0, 0, 0, 1500, 1502, 1, 0, 0, 0, 1501, 1493, 1, 0, 0, 0, 1501, 1502, 1, 0, 0, 0, 1502, 340, 1, 0, 0, 0, 1503, 1506, 3, 343, 171, 0, 1504, 1506, 3, 347, 173, 0, 1505, 1503, 1, 0, 0, 0, 1505, 1504, 1, 0, 0, 0, 1506, 342, 1, 0, 0, 0, 1507, 1508, 5, 37, 0, 0, 1508, 1509, 3, 345, 172, 0, 1509, 1510, 3, 345, 172, 0, 1510, 344, 1, 0, 0, 0, 1511, 1514, 3, 351, 175, 0, 1512, 1514, 7, 11, 0, 0, 1513, 1511, 1, 0, 0, 0, 1513, 1512, 1, 0, 0, 0, 1514, 346, 1, 0, 0, 0, 1515, 1516, 5, 92, 0, 0, 1516, 1517, 7, 12, 0, 0, 1517, 348, 1, 0, 0, 0, 1518, 1519, 7, 13, 0, 0, 1519, 350, 1, 0, 0, 0, 1520, 1521, 2, 48, 57, 0, 1521, 352, 1, 0, 0, 0, 1522, 1524, 7, 14, 0, 0, 1523, 1522, 1, 0, 0, 0, 1524, 1525, 1, 0, 0, 0, 1525, 1523, 1, 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1528, 6, 176, 0, 0, 1528, 354, 1, 0, 0, 0, 1529, 1533, 5, 35, 0, 0, 1530, 1532, 8, 15, 0, 0, 1531, 1530, 1, 0, 0, 0, 1532, 1535, 1, 0, 0, 0, 1533, 1531, 1, 0, 0, 0, 1533, 1534, 1, 0, 0, 0, 1534, 1536, 1, 0, 0, 0, 1535, 1533, 1, 0, 0, 0, 1536, 1537, 6, 177, 0, 0, 1537, 356, 1, 0, 0, 0, 1538, 1539, 7, 16, 0, 0, 1539, 358, 1, 0, 0, 0, 1540, 1541, 7, 17, 0, 0, 1541, 360, 1, 0, 0, 0, 1542, 1543, 7, 18, 0, 0, 1543, 362, 1, 0, 0, 0, 1544, 1545, 7, 19, 0, 0, 1545, 364, 1, 0, 0, 0, 1546, 1547, 7, 2, 0, 0, 1547, 366, 1, 0, 0, 0, 1548, 1549, 7, 20, 0, 0, 1549, 368, 1, 0, 0, 0, 1550, 1551, 7, 21, 0, 0, 1551, 370, 1, 0, 0, 0, 1552, 1553, 7, 22, 0, 0, 1553, 372, 1, 0, 0, 0, 1554, 1555, 7, 23, 0, 0, 1555, 374, 1, 0, 0, 0, 1556, 1557, 7, 24, 0, 0, 1557, 376, 1, 0, 0, 0, 1558, 1559, 7, 25, 0, 0, 1559, 378, 1, 0, 0, 0, 1560, 1561, 7, 26, 0, 0, 1561, 380, 1, 0, 0, 0, 1562, 1563, 7, 27, 0, 0, 1563, 382, 1, 0, 0, 0, 1564, 1565, 7, 28, 0, 0, 1565, 384, 1, 0, 0, 0, 1566, 1567, 7, 29, 0, 0, 1567, 386, 1, 0, 0, 0, 1568, 1569, 7, 30, 0, 0, 1569, 388, 1, 0, 0, 0, 1570, 1571, 7, 31, 0, 0, 1571, 390, 1, 0, 0, 0, 1572, 1573, 7, 32, 0, 0, 1573, 392, 1, 0, 0, 0, 1574, 1575, 7, 33, 0, 0, 1575, 394, 1, 0, 0, 0, 1576, 1577, 7, 34, 0, 0, 1577, 396, 1, 0, 0, 0, 1578, 1579, 7, 35, 0, 0, 1579, 398, 1, 0, 0, 0, 1580, 1581, 7, 36, 0, 0, 1581, 400, 1, 0, 0, 0, 1582, 1583, 7, 37, 0, 0, 1583, 402, 1, 0, 0, 0, 1584, 1585, 7, 38, 0, 0, 1585, 404, 1, 0, 0, 0, 1586, 1587, 7, 39, 0, 0, 1587, 406, 1, 0, 0, 0, 1588, 1589, 7, 40, 0, 0, 1589, 408, 1, 0, 0, 0, 54, 0, 567, 600, 616, 625, 1232, 1238, 1250, 1254, 1256, 1260, 1272, 1277, 1279, 1283, 1292, 1297, 1304, 1309, 1315, 1324, 1331, 1335, 1357, 1362, 1367, 1369, 1377, 1379, 1391, 1395, 1399, 1413, 1417, 1421, 1435, 1444, 1451, 1455, 1460, 1462, 1469, 1474, 1476, 1480, 1486, 1491, 1493, 1499, 1501, 1505, 1513, 1525, 1533, 1, 6, 0, 0] \ No newline at end of file +[4, 0, 176, 1598, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, 7, 196, 2, 197, 7, 197, 2, 198, 7, 198, 2, 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, 2, 202, 7, 202, 2, 203, 7, 203, 2, 204, 7, 204, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 4, 41, 568, 8, 41, 11, 41, 12, 41, 569, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 4, 44, 601, 8, 44, 11, 44, 12, 44, 602, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 617, 8, 45, 11, 45, 12, 45, 618, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 626, 8, 45, 11, 45, 12, 45, 627, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 5, 141, 1239, 8, 141, 10, 141, 12, 141, 1242, 9, 141, 1, 141, 1, 141, 1, 142, 3, 142, 1247, 8, 142, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 3, 144, 1259, 8, 144, 1, 144, 1, 144, 5, 144, 1263, 8, 144, 10, 144, 12, 144, 1266, 9, 144, 1, 144, 3, 144, 1269, 8, 144, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 4, 147, 1279, 8, 147, 11, 147, 12, 147, 1280, 1, 147, 1, 147, 1, 147, 4, 147, 1286, 8, 147, 11, 147, 12, 147, 1287, 5, 147, 1290, 8, 147, 10, 147, 12, 147, 1293, 9, 147, 1, 148, 1, 148, 1, 148, 1, 149, 4, 149, 1299, 8, 149, 11, 149, 12, 149, 1300, 1, 150, 5, 150, 1304, 8, 150, 10, 150, 12, 150, 1307, 9, 150, 1, 150, 1, 150, 4, 150, 1311, 8, 150, 11, 150, 12, 150, 1312, 1, 151, 4, 151, 1316, 8, 151, 11, 151, 12, 151, 1317, 1, 151, 1, 151, 5, 151, 1322, 8, 151, 10, 151, 12, 151, 1325, 9, 151, 1, 151, 1, 151, 1, 151, 1, 151, 4, 151, 1331, 8, 151, 11, 151, 12, 151, 1332, 1, 151, 1, 151, 1, 151, 4, 151, 1338, 8, 151, 11, 151, 12, 151, 1339, 1, 151, 1, 151, 3, 151, 1344, 8, 151, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 3, 158, 1366, 8, 158, 1, 158, 4, 158, 1369, 8, 158, 11, 158, 12, 158, 1370, 1, 159, 1, 159, 1, 159, 5, 159, 1376, 8, 159, 10, 159, 12, 159, 1379, 9, 159, 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 5, 160, 1386, 8, 160, 10, 160, 12, 160, 1389, 9, 160, 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 3, 161, 1400, 8, 161, 1, 161, 1, 161, 3, 161, 1404, 8, 161, 5, 161, 1406, 8, 161, 10, 161, 12, 161, 1409, 9, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 3, 162, 1422, 8, 162, 1, 162, 1, 162, 3, 162, 1426, 8, 162, 5, 162, 1428, 8, 162, 10, 162, 12, 162, 1431, 9, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, 5, 164, 1442, 8, 164, 10, 164, 12, 164, 1445, 9, 164, 1, 164, 1, 164, 1, 165, 1, 165, 5, 165, 1451, 8, 165, 10, 165, 12, 165, 1454, 9, 165, 1, 165, 1, 165, 1, 166, 1, 166, 3, 166, 1460, 8, 166, 1, 167, 1, 167, 3, 167, 1464, 8, 167, 1, 167, 1, 167, 1, 167, 5, 167, 1469, 8, 167, 10, 167, 12, 167, 1472, 9, 167, 1, 168, 1, 168, 1, 168, 1, 168, 3, 168, 1478, 8, 168, 1, 169, 1, 169, 1, 169, 5, 169, 1483, 8, 169, 10, 169, 12, 169, 1486, 9, 169, 1, 169, 3, 169, 1489, 8, 169, 1, 170, 1, 170, 1, 170, 1, 170, 3, 170, 1495, 8, 170, 1, 170, 1, 170, 1, 170, 5, 170, 1500, 8, 170, 10, 170, 12, 170, 1503, 9, 170, 1, 170, 1, 170, 1, 170, 3, 170, 1508, 8, 170, 3, 170, 1510, 8, 170, 1, 171, 1, 171, 3, 171, 1514, 8, 171, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, 1, 173, 3, 173, 1522, 8, 173, 1, 174, 1, 174, 1, 174, 1, 175, 1, 175, 1, 176, 1, 176, 1, 177, 4, 177, 1532, 8, 177, 11, 177, 12, 177, 1533, 1, 177, 1, 177, 1, 178, 1, 178, 5, 178, 1540, 8, 178, 10, 178, 12, 178, 1543, 9, 178, 1, 178, 1, 178, 1, 179, 1, 179, 1, 180, 1, 180, 1, 181, 1, 181, 1, 182, 1, 182, 1, 183, 1, 183, 1, 184, 1, 184, 1, 185, 1, 185, 1, 186, 1, 186, 1, 187, 1, 187, 1, 188, 1, 188, 1, 189, 1, 189, 1, 190, 1, 190, 1, 191, 1, 191, 1, 192, 1, 192, 1, 193, 1, 193, 1, 194, 1, 194, 1, 195, 1, 195, 1, 196, 1, 196, 1, 197, 1, 197, 1, 198, 1, 198, 1, 199, 1, 199, 1, 200, 1, 200, 1, 201, 1, 201, 1, 202, 1, 202, 1, 203, 1, 203, 1, 204, 1, 204, 0, 0, 205, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, 122, 245, 123, 247, 124, 249, 125, 251, 126, 253, 127, 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, 277, 139, 279, 140, 281, 141, 283, 142, 285, 143, 287, 144, 289, 145, 291, 146, 293, 147, 295, 148, 297, 149, 299, 150, 301, 151, 303, 152, 305, 153, 307, 154, 309, 155, 311, 156, 313, 157, 315, 158, 317, 159, 319, 160, 321, 161, 323, 162, 325, 163, 327, 164, 329, 165, 331, 166, 333, 167, 335, 168, 337, 0, 339, 169, 341, 170, 343, 171, 345, 172, 347, 173, 349, 174, 351, 0, 353, 0, 355, 175, 357, 176, 359, 0, 361, 0, 363, 0, 365, 0, 367, 0, 369, 0, 371, 0, 373, 0, 375, 0, 377, 0, 379, 0, 381, 0, 383, 0, 385, 0, 387, 0, 389, 0, 391, 0, 393, 0, 395, 0, 397, 0, 399, 0, 401, 0, 403, 0, 405, 0, 407, 0, 409, 0, 1, 0, 41, 8, 0, 0, 32, 34, 34, 60, 60, 62, 62, 92, 92, 94, 94, 96, 96, 123, 125, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 2, 0, 39, 39, 92, 92, 2, 0, 34, 34, 92, 92, 8, 0, 34, 34, 39, 39, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 3, 0, 183, 183, 768, 879, 8255, 8256, 2, 0, 46, 46, 58, 58, 2, 0, 65, 70, 97, 102, 7, 0, 33, 33, 35, 47, 59, 59, 61, 61, 63, 64, 95, 95, 126, 126, 13, 0, 65, 90, 97, 122, 192, 214, 216, 246, 248, 767, 880, 893, 895, 8191, 8204, 8205, 8304, 8591, 11264, 12271, 12289, 55295, 63744, 64975, 65008, 65533, 3, 0, 9, 10, 13, 13, 32, 32, 2, 0, 10, 10, 13, 13, 2, 0, 65, 65, 97, 97, 2, 0, 66, 66, 98, 98, 2, 0, 67, 67, 99, 99, 2, 0, 68, 68, 100, 100, 2, 0, 70, 70, 102, 102, 2, 0, 71, 71, 103, 103, 2, 0, 72, 72, 104, 104, 2, 0, 73, 73, 105, 105, 2, 0, 74, 74, 106, 106, 2, 0, 75, 75, 107, 107, 2, 0, 76, 76, 108, 108, 2, 0, 77, 77, 109, 109, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, 80, 80, 112, 112, 2, 0, 81, 81, 113, 113, 2, 0, 82, 82, 114, 114, 2, 0, 83, 83, 115, 115, 2, 0, 84, 84, 116, 116, 2, 0, 85, 85, 117, 117, 2, 0, 86, 86, 118, 118, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, 1631, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, 0, 283, 1, 0, 0, 0, 0, 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, 0, 0, 0, 291, 1, 0, 0, 0, 0, 293, 1, 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, 1, 0, 0, 0, 0, 299, 1, 0, 0, 0, 0, 301, 1, 0, 0, 0, 0, 303, 1, 0, 0, 0, 0, 305, 1, 0, 0, 0, 0, 307, 1, 0, 0, 0, 0, 309, 1, 0, 0, 0, 0, 311, 1, 0, 0, 0, 0, 313, 1, 0, 0, 0, 0, 315, 1, 0, 0, 0, 0, 317, 1, 0, 0, 0, 0, 319, 1, 0, 0, 0, 0, 321, 1, 0, 0, 0, 0, 323, 1, 0, 0, 0, 0, 325, 1, 0, 0, 0, 0, 327, 1, 0, 0, 0, 0, 329, 1, 0, 0, 0, 0, 331, 1, 0, 0, 0, 0, 333, 1, 0, 0, 0, 0, 335, 1, 0, 0, 0, 0, 339, 1, 0, 0, 0, 0, 341, 1, 0, 0, 0, 0, 343, 1, 0, 0, 0, 0, 345, 1, 0, 0, 0, 0, 347, 1, 0, 0, 0, 0, 349, 1, 0, 0, 0, 0, 355, 1, 0, 0, 0, 0, 357, 1, 0, 0, 0, 1, 411, 1, 0, 0, 0, 3, 413, 1, 0, 0, 0, 5, 415, 1, 0, 0, 0, 7, 417, 1, 0, 0, 0, 9, 419, 1, 0, 0, 0, 11, 421, 1, 0, 0, 0, 13, 423, 1, 0, 0, 0, 15, 425, 1, 0, 0, 0, 17, 427, 1, 0, 0, 0, 19, 429, 1, 0, 0, 0, 21, 431, 1, 0, 0, 0, 23, 433, 1, 0, 0, 0, 25, 435, 1, 0, 0, 0, 27, 437, 1, 0, 0, 0, 29, 439, 1, 0, 0, 0, 31, 441, 1, 0, 0, 0, 33, 443, 1, 0, 0, 0, 35, 445, 1, 0, 0, 0, 37, 448, 1, 0, 0, 0, 39, 451, 1, 0, 0, 0, 41, 453, 1, 0, 0, 0, 43, 456, 1, 0, 0, 0, 45, 458, 1, 0, 0, 0, 47, 460, 1, 0, 0, 0, 49, 463, 1, 0, 0, 0, 51, 466, 1, 0, 0, 0, 53, 468, 1, 0, 0, 0, 55, 471, 1, 0, 0, 0, 57, 476, 1, 0, 0, 0, 59, 482, 1, 0, 0, 0, 61, 487, 1, 0, 0, 0, 63, 494, 1, 0, 0, 0, 65, 501, 1, 0, 0, 0, 67, 510, 1, 0, 0, 0, 69, 518, 1, 0, 0, 0, 71, 521, 1, 0, 0, 0, 73, 531, 1, 0, 0, 0, 75, 537, 1, 0, 0, 0, 77, 546, 1, 0, 0, 0, 79, 550, 1, 0, 0, 0, 81, 555, 1, 0, 0, 0, 83, 561, 1, 0, 0, 0, 85, 574, 1, 0, 0, 0, 87, 587, 1, 0, 0, 0, 89, 594, 1, 0, 0, 0, 91, 607, 1, 0, 0, 0, 93, 632, 1, 0, 0, 0, 95, 636, 1, 0, 0, 0, 97, 641, 1, 0, 0, 0, 99, 647, 1, 0, 0, 0, 101, 654, 1, 0, 0, 0, 103, 664, 1, 0, 0, 0, 105, 671, 1, 0, 0, 0, 107, 676, 1, 0, 0, 0, 109, 683, 1, 0, 0, 0, 111, 688, 1, 0, 0, 0, 113, 694, 1, 0, 0, 0, 115, 699, 1, 0, 0, 0, 117, 706, 1, 0, 0, 0, 119, 710, 1, 0, 0, 0, 121, 713, 1, 0, 0, 0, 123, 718, 1, 0, 0, 0, 125, 723, 1, 0, 0, 0, 127, 728, 1, 0, 0, 0, 129, 735, 1, 0, 0, 0, 131, 742, 1, 0, 0, 0, 133, 747, 1, 0, 0, 0, 135, 753, 1, 0, 0, 0, 137, 761, 1, 0, 0, 0, 139, 767, 1, 0, 0, 0, 141, 771, 1, 0, 0, 0, 143, 780, 1, 0, 0, 0, 145, 788, 1, 0, 0, 0, 147, 793, 1, 0, 0, 0, 149, 799, 1, 0, 0, 0, 151, 805, 1, 0, 0, 0, 153, 811, 1, 0, 0, 0, 155, 818, 1, 0, 0, 0, 157, 822, 1, 0, 0, 0, 159, 825, 1, 0, 0, 0, 161, 829, 1, 0, 0, 0, 163, 834, 1, 0, 0, 0, 165, 846, 1, 0, 0, 0, 167, 855, 1, 0, 0, 0, 169, 861, 1, 0, 0, 0, 171, 865, 1, 0, 0, 0, 173, 869, 1, 0, 0, 0, 175, 875, 1, 0, 0, 0, 177, 880, 1, 0, 0, 0, 179, 884, 1, 0, 0, 0, 181, 889, 1, 0, 0, 0, 183, 895, 1, 0, 0, 0, 185, 901, 1, 0, 0, 0, 187, 908, 1, 0, 0, 0, 189, 915, 1, 0, 0, 0, 191, 921, 1, 0, 0, 0, 193, 927, 1, 0, 0, 0, 195, 942, 1, 0, 0, 0, 197, 946, 1, 0, 0, 0, 199, 955, 1, 0, 0, 0, 201, 965, 1, 0, 0, 0, 203, 973, 1, 0, 0, 0, 205, 983, 1, 0, 0, 0, 207, 992, 1, 0, 0, 0, 209, 997, 1, 0, 0, 0, 211, 1003, 1, 0, 0, 0, 213, 1007, 1, 0, 0, 0, 215, 1013, 1, 0, 0, 0, 217, 1021, 1, 0, 0, 0, 219, 1029, 1, 0, 0, 0, 221, 1038, 1, 0, 0, 0, 223, 1041, 1, 0, 0, 0, 225, 1045, 1, 0, 0, 0, 227, 1050, 1, 0, 0, 0, 229, 1058, 1, 0, 0, 0, 231, 1063, 1, 0, 0, 0, 233, 1070, 1, 0, 0, 0, 235, 1077, 1, 0, 0, 0, 237, 1084, 1, 0, 0, 0, 239, 1088, 1, 0, 0, 0, 241, 1097, 1, 0, 0, 0, 243, 1100, 1, 0, 0, 0, 245, 1108, 1, 0, 0, 0, 247, 1114, 1, 0, 0, 0, 249, 1123, 1, 0, 0, 0, 251, 1129, 1, 0, 0, 0, 253, 1135, 1, 0, 0, 0, 255, 1143, 1, 0, 0, 0, 257, 1153, 1, 0, 0, 0, 259, 1163, 1, 0, 0, 0, 261, 1169, 1, 0, 0, 0, 263, 1176, 1, 0, 0, 0, 265, 1184, 1, 0, 0, 0, 267, 1191, 1, 0, 0, 0, 269, 1197, 1, 0, 0, 0, 271, 1201, 1, 0, 0, 0, 273, 1205, 1, 0, 0, 0, 275, 1209, 1, 0, 0, 0, 277, 1213, 1, 0, 0, 0, 279, 1219, 1, 0, 0, 0, 281, 1226, 1, 0, 0, 0, 283, 1236, 1, 0, 0, 0, 285, 1246, 1, 0, 0, 0, 287, 1250, 1, 0, 0, 0, 289, 1253, 1, 0, 0, 0, 291, 1270, 1, 0, 0, 0, 293, 1273, 1, 0, 0, 0, 295, 1276, 1, 0, 0, 0, 297, 1294, 1, 0, 0, 0, 299, 1298, 1, 0, 0, 0, 301, 1305, 1, 0, 0, 0, 303, 1343, 1, 0, 0, 0, 305, 1345, 1, 0, 0, 0, 307, 1348, 1, 0, 0, 0, 309, 1351, 1, 0, 0, 0, 311, 1354, 1, 0, 0, 0, 313, 1357, 1, 0, 0, 0, 315, 1360, 1, 0, 0, 0, 317, 1363, 1, 0, 0, 0, 319, 1372, 1, 0, 0, 0, 321, 1382, 1, 0, 0, 0, 323, 1392, 1, 0, 0, 0, 325, 1414, 1, 0, 0, 0, 327, 1436, 1, 0, 0, 0, 329, 1439, 1, 0, 0, 0, 331, 1448, 1, 0, 0, 0, 333, 1459, 1, 0, 0, 0, 335, 1463, 1, 0, 0, 0, 337, 1477, 1, 0, 0, 0, 339, 1479, 1, 0, 0, 0, 341, 1494, 1, 0, 0, 0, 343, 1513, 1, 0, 0, 0, 345, 1515, 1, 0, 0, 0, 347, 1521, 1, 0, 0, 0, 349, 1523, 1, 0, 0, 0, 351, 1526, 1, 0, 0, 0, 353, 1528, 1, 0, 0, 0, 355, 1531, 1, 0, 0, 0, 357, 1537, 1, 0, 0, 0, 359, 1546, 1, 0, 0, 0, 361, 1548, 1, 0, 0, 0, 363, 1550, 1, 0, 0, 0, 365, 1552, 1, 0, 0, 0, 367, 1554, 1, 0, 0, 0, 369, 1556, 1, 0, 0, 0, 371, 1558, 1, 0, 0, 0, 373, 1560, 1, 0, 0, 0, 375, 1562, 1, 0, 0, 0, 377, 1564, 1, 0, 0, 0, 379, 1566, 1, 0, 0, 0, 381, 1568, 1, 0, 0, 0, 383, 1570, 1, 0, 0, 0, 385, 1572, 1, 0, 0, 0, 387, 1574, 1, 0, 0, 0, 389, 1576, 1, 0, 0, 0, 391, 1578, 1, 0, 0, 0, 393, 1580, 1, 0, 0, 0, 395, 1582, 1, 0, 0, 0, 397, 1584, 1, 0, 0, 0, 399, 1586, 1, 0, 0, 0, 401, 1588, 1, 0, 0, 0, 403, 1590, 1, 0, 0, 0, 405, 1592, 1, 0, 0, 0, 407, 1594, 1, 0, 0, 0, 409, 1596, 1, 0, 0, 0, 411, 412, 5, 42, 0, 0, 412, 2, 1, 0, 0, 0, 413, 414, 5, 40, 0, 0, 414, 4, 1, 0, 0, 0, 415, 416, 5, 41, 0, 0, 416, 6, 1, 0, 0, 0, 417, 418, 5, 123, 0, 0, 418, 8, 1, 0, 0, 0, 419, 420, 5, 125, 0, 0, 420, 10, 1, 0, 0, 0, 421, 422, 5, 59, 0, 0, 422, 12, 1, 0, 0, 0, 423, 424, 5, 46, 0, 0, 424, 14, 1, 0, 0, 0, 425, 426, 5, 44, 0, 0, 426, 16, 1, 0, 0, 0, 427, 428, 5, 97, 0, 0, 428, 18, 1, 0, 0, 0, 429, 430, 5, 124, 0, 0, 430, 20, 1, 0, 0, 0, 431, 432, 5, 47, 0, 0, 432, 22, 1, 0, 0, 0, 433, 434, 5, 94, 0, 0, 434, 24, 1, 0, 0, 0, 435, 436, 5, 43, 0, 0, 436, 26, 1, 0, 0, 0, 437, 438, 5, 63, 0, 0, 438, 28, 1, 0, 0, 0, 439, 440, 5, 33, 0, 0, 440, 30, 1, 0, 0, 0, 441, 442, 5, 91, 0, 0, 442, 32, 1, 0, 0, 0, 443, 444, 5, 93, 0, 0, 444, 34, 1, 0, 0, 0, 445, 446, 5, 124, 0, 0, 446, 447, 5, 124, 0, 0, 447, 36, 1, 0, 0, 0, 448, 449, 5, 38, 0, 0, 449, 450, 5, 38, 0, 0, 450, 38, 1, 0, 0, 0, 451, 452, 5, 61, 0, 0, 452, 40, 1, 0, 0, 0, 453, 454, 5, 33, 0, 0, 454, 455, 5, 61, 0, 0, 455, 42, 1, 0, 0, 0, 456, 457, 5, 60, 0, 0, 457, 44, 1, 0, 0, 0, 458, 459, 5, 62, 0, 0, 459, 46, 1, 0, 0, 0, 460, 461, 5, 60, 0, 0, 461, 462, 5, 61, 0, 0, 462, 48, 1, 0, 0, 0, 463, 464, 5, 62, 0, 0, 464, 465, 5, 61, 0, 0, 465, 50, 1, 0, 0, 0, 466, 467, 5, 45, 0, 0, 467, 52, 1, 0, 0, 0, 468, 469, 5, 94, 0, 0, 469, 470, 5, 94, 0, 0, 470, 54, 1, 0, 0, 0, 471, 472, 5, 116, 0, 0, 472, 473, 5, 114, 0, 0, 473, 474, 5, 117, 0, 0, 474, 475, 5, 101, 0, 0, 475, 56, 1, 0, 0, 0, 476, 477, 5, 102, 0, 0, 477, 478, 5, 97, 0, 0, 478, 479, 5, 108, 0, 0, 479, 480, 5, 115, 0, 0, 480, 481, 5, 101, 0, 0, 481, 58, 1, 0, 0, 0, 482, 483, 3, 361, 180, 0, 483, 484, 3, 359, 179, 0, 484, 485, 3, 395, 197, 0, 485, 486, 3, 367, 183, 0, 486, 60, 1, 0, 0, 0, 487, 488, 3, 389, 194, 0, 488, 489, 3, 393, 196, 0, 489, 490, 3, 367, 183, 0, 490, 491, 3, 369, 184, 0, 491, 492, 3, 375, 187, 0, 492, 493, 3, 405, 202, 0, 493, 62, 1, 0, 0, 0, 494, 495, 3, 395, 197, 0, 495, 496, 3, 367, 183, 0, 496, 497, 3, 381, 190, 0, 497, 498, 3, 367, 183, 0, 498, 499, 3, 363, 181, 0, 499, 500, 3, 397, 198, 0, 500, 64, 1, 0, 0, 0, 501, 502, 3, 365, 182, 0, 502, 503, 3, 375, 187, 0, 503, 504, 3, 395, 197, 0, 504, 505, 3, 397, 198, 0, 505, 506, 3, 375, 187, 0, 506, 507, 3, 385, 192, 0, 507, 508, 3, 363, 181, 0, 508, 509, 3, 397, 198, 0, 509, 66, 1, 0, 0, 0, 510, 511, 3, 393, 196, 0, 511, 512, 3, 367, 183, 0, 512, 513, 3, 365, 182, 0, 513, 514, 3, 399, 199, 0, 514, 515, 3, 363, 181, 0, 515, 516, 3, 367, 183, 0, 516, 517, 3, 365, 182, 0, 517, 68, 1, 0, 0, 0, 518, 519, 3, 359, 179, 0, 519, 520, 3, 395, 197, 0, 520, 70, 1, 0, 0, 0, 521, 522, 3, 363, 181, 0, 522, 523, 3, 387, 193, 0, 523, 524, 3, 385, 192, 0, 524, 525, 3, 395, 197, 0, 525, 526, 3, 397, 198, 0, 526, 527, 3, 393, 196, 0, 527, 528, 3, 399, 199, 0, 528, 529, 3, 363, 181, 0, 529, 530, 3, 397, 198, 0, 530, 72, 1, 0, 0, 0, 531, 532, 3, 403, 201, 0, 532, 533, 3, 373, 186, 0, 533, 534, 3, 367, 183, 0, 534, 535, 3, 393, 196, 0, 535, 536, 3, 367, 183, 0, 536, 74, 1, 0, 0, 0, 537, 538, 3, 365, 182, 0, 538, 539, 3, 367, 183, 0, 539, 540, 3, 395, 197, 0, 540, 541, 3, 363, 181, 0, 541, 542, 3, 393, 196, 0, 542, 543, 3, 375, 187, 0, 543, 544, 3, 361, 180, 0, 544, 545, 3, 367, 183, 0, 545, 76, 1, 0, 0, 0, 546, 547, 3, 359, 179, 0, 547, 548, 3, 395, 197, 0, 548, 549, 3, 379, 189, 0, 549, 78, 1, 0, 0, 0, 550, 551, 3, 369, 184, 0, 551, 552, 3, 393, 196, 0, 552, 553, 3, 387, 193, 0, 553, 554, 3, 383, 191, 0, 554, 80, 1, 0, 0, 0, 555, 556, 3, 385, 192, 0, 556, 557, 3, 359, 179, 0, 557, 558, 3, 383, 191, 0, 558, 559, 3, 367, 183, 0, 559, 560, 3, 365, 182, 0, 560, 82, 1, 0, 0, 0, 561, 562, 3, 371, 185, 0, 562, 563, 3, 393, 196, 0, 563, 564, 3, 387, 193, 0, 564, 565, 3, 399, 199, 0, 565, 567, 3, 389, 194, 0, 566, 568, 3, 355, 177, 0, 567, 566, 1, 0, 0, 0, 568, 569, 1, 0, 0, 0, 569, 567, 1, 0, 0, 0, 569, 570, 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 3, 361, 180, 0, 572, 573, 3, 407, 203, 0, 573, 84, 1, 0, 0, 0, 574, 575, 3, 371, 185, 0, 575, 576, 3, 393, 196, 0, 576, 577, 3, 387, 193, 0, 577, 578, 3, 399, 199, 0, 578, 579, 3, 389, 194, 0, 579, 580, 5, 95, 0, 0, 580, 581, 3, 363, 181, 0, 581, 582, 3, 387, 193, 0, 582, 583, 3, 385, 192, 0, 583, 584, 3, 363, 181, 0, 584, 585, 3, 359, 179, 0, 585, 586, 3, 397, 198, 0, 586, 86, 1, 0, 0, 0, 587, 588, 3, 373, 186, 0, 588, 589, 3, 359, 179, 0, 589, 590, 3, 401, 200, 0, 590, 591, 3, 375, 187, 0, 591, 592, 3, 385, 192, 0, 592, 593, 3, 371, 185, 0, 593, 88, 1, 0, 0, 0, 594, 595, 3, 387, 193, 0, 595, 596, 3, 393, 196, 0, 596, 597, 3, 365, 182, 0, 597, 598, 3, 367, 183, 0, 598, 600, 3, 393, 196, 0, 599, 601, 3, 355, 177, 0, 600, 599, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 600, 1, 0, 0, 0, 602, 603, 1, 0, 0, 0, 603, 604, 1, 0, 0, 0, 604, 605, 3, 361, 180, 0, 605, 606, 3, 407, 203, 0, 606, 90, 1, 0, 0, 0, 607, 608, 3, 375, 187, 0, 608, 609, 3, 385, 192, 0, 609, 610, 3, 397, 198, 0, 610, 611, 3, 367, 183, 0, 611, 612, 3, 393, 196, 0, 612, 613, 3, 385, 192, 0, 613, 614, 3, 359, 179, 0, 614, 616, 3, 381, 190, 0, 615, 617, 3, 355, 177, 0, 616, 615, 1, 0, 0, 0, 617, 618, 1, 0, 0, 0, 618, 616, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 621, 3, 395, 197, 0, 621, 622, 3, 387, 193, 0, 622, 623, 3, 393, 196, 0, 623, 625, 3, 397, 198, 0, 624, 626, 3, 355, 177, 0, 625, 624, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 625, 1, 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, 629, 630, 3, 361, 180, 0, 630, 631, 3, 407, 203, 0, 631, 92, 1, 0, 0, 0, 632, 633, 3, 359, 179, 0, 633, 634, 3, 395, 197, 0, 634, 635, 3, 363, 181, 0, 635, 94, 1, 0, 0, 0, 636, 637, 3, 365, 182, 0, 637, 638, 3, 367, 183, 0, 638, 639, 3, 395, 197, 0, 639, 640, 3, 363, 181, 0, 640, 96, 1, 0, 0, 0, 641, 642, 3, 381, 190, 0, 642, 643, 3, 375, 187, 0, 643, 644, 3, 383, 191, 0, 644, 645, 3, 375, 187, 0, 645, 646, 3, 397, 198, 0, 646, 98, 1, 0, 0, 0, 647, 648, 3, 387, 193, 0, 648, 649, 3, 369, 184, 0, 649, 650, 3, 369, 184, 0, 650, 651, 3, 395, 197, 0, 651, 652, 3, 367, 183, 0, 652, 653, 3, 397, 198, 0, 653, 100, 1, 0, 0, 0, 654, 655, 3, 397, 198, 0, 655, 656, 3, 367, 183, 0, 656, 657, 3, 405, 202, 0, 657, 658, 3, 397, 198, 0, 658, 659, 3, 381, 190, 0, 659, 660, 3, 375, 187, 0, 660, 661, 3, 383, 191, 0, 661, 662, 3, 375, 187, 0, 662, 663, 3, 397, 198, 0, 663, 102, 1, 0, 0, 0, 664, 665, 3, 401, 200, 0, 665, 666, 3, 359, 179, 0, 666, 667, 3, 381, 190, 0, 667, 668, 3, 399, 199, 0, 668, 669, 3, 367, 183, 0, 669, 670, 3, 395, 197, 0, 670, 104, 1, 0, 0, 0, 671, 672, 3, 381, 190, 0, 672, 673, 3, 387, 193, 0, 673, 674, 3, 359, 179, 0, 674, 675, 3, 365, 182, 0, 675, 106, 1, 0, 0, 0, 676, 677, 3, 395, 197, 0, 677, 678, 3, 375, 187, 0, 678, 679, 3, 381, 190, 0, 679, 680, 3, 367, 183, 0, 680, 681, 3, 385, 192, 0, 681, 682, 3, 397, 198, 0, 682, 108, 1, 0, 0, 0, 683, 684, 3, 375, 187, 0, 684, 685, 3, 385, 192, 0, 685, 686, 3, 397, 198, 0, 686, 687, 3, 387, 193, 0, 687, 110, 1, 0, 0, 0, 688, 689, 3, 363, 181, 0, 689, 690, 3, 381, 190, 0, 690, 691, 3, 367, 183, 0, 691, 692, 3, 359, 179, 0, 692, 693, 3, 393, 196, 0, 693, 112, 1, 0, 0, 0, 694, 695, 3, 365, 182, 0, 695, 696, 3, 393, 196, 0, 696, 697, 3, 387, 193, 0, 697, 698, 3, 389, 194, 0, 698, 114, 1, 0, 0, 0, 699, 700, 3, 363, 181, 0, 700, 701, 3, 393, 196, 0, 701, 702, 3, 367, 183, 0, 702, 703, 3, 359, 179, 0, 703, 704, 3, 397, 198, 0, 704, 705, 3, 367, 183, 0, 705, 116, 1, 0, 0, 0, 706, 707, 3, 359, 179, 0, 707, 708, 3, 365, 182, 0, 708, 709, 3, 365, 182, 0, 709, 118, 1, 0, 0, 0, 710, 711, 3, 397, 198, 0, 711, 712, 3, 387, 193, 0, 712, 120, 1, 0, 0, 0, 713, 714, 3, 365, 182, 0, 714, 715, 3, 359, 179, 0, 715, 716, 3, 397, 198, 0, 716, 717, 3, 359, 179, 0, 717, 122, 1, 0, 0, 0, 718, 719, 3, 383, 191, 0, 719, 720, 3, 387, 193, 0, 720, 721, 3, 401, 200, 0, 721, 722, 3, 367, 183, 0, 722, 124, 1, 0, 0, 0, 723, 724, 3, 363, 181, 0, 724, 725, 3, 387, 193, 0, 725, 726, 3, 389, 194, 0, 726, 727, 3, 407, 203, 0, 727, 126, 1, 0, 0, 0, 728, 729, 3, 375, 187, 0, 729, 730, 3, 385, 192, 0, 730, 731, 3, 395, 197, 0, 731, 732, 3, 367, 183, 0, 732, 733, 3, 393, 196, 0, 733, 734, 3, 397, 198, 0, 734, 128, 1, 0, 0, 0, 735, 736, 3, 365, 182, 0, 736, 737, 3, 367, 183, 0, 737, 738, 3, 381, 190, 0, 738, 739, 3, 367, 183, 0, 739, 740, 3, 397, 198, 0, 740, 741, 3, 367, 183, 0, 741, 130, 1, 0, 0, 0, 742, 743, 3, 403, 201, 0, 743, 744, 3, 375, 187, 0, 744, 745, 3, 397, 198, 0, 745, 746, 3, 373, 186, 0, 746, 132, 1, 0, 0, 0, 747, 748, 3, 399, 199, 0, 748, 749, 3, 395, 197, 0, 749, 750, 3, 375, 187, 0, 750, 751, 3, 385, 192, 0, 751, 752, 3, 371, 185, 0, 752, 134, 1, 0, 0, 0, 753, 754, 3, 365, 182, 0, 754, 755, 3, 367, 183, 0, 755, 756, 3, 369, 184, 0, 756, 757, 3, 359, 179, 0, 757, 758, 3, 399, 199, 0, 758, 759, 3, 381, 190, 0, 759, 760, 3, 397, 198, 0, 760, 136, 1, 0, 0, 0, 761, 762, 3, 371, 185, 0, 762, 763, 3, 393, 196, 0, 763, 764, 3, 359, 179, 0, 764, 765, 3, 389, 194, 0, 765, 766, 3, 373, 186, 0, 766, 138, 1, 0, 0, 0, 767, 768, 3, 359, 179, 0, 768, 769, 3, 381, 190, 0, 769, 770, 3, 381, 190, 0, 770, 140, 1, 0, 0, 0, 771, 772, 3, 387, 193, 0, 772, 773, 3, 389, 194, 0, 773, 774, 3, 397, 198, 0, 774, 775, 3, 375, 187, 0, 775, 776, 3, 387, 193, 0, 776, 777, 3, 385, 192, 0, 777, 778, 3, 359, 179, 0, 778, 779, 3, 381, 190, 0, 779, 142, 1, 0, 0, 0, 780, 781, 3, 395, 197, 0, 781, 782, 3, 367, 183, 0, 782, 783, 3, 393, 196, 0, 783, 784, 3, 401, 200, 0, 784, 785, 3, 375, 187, 0, 785, 786, 3, 363, 181, 0, 786, 787, 3, 367, 183, 0, 787, 144, 1, 0, 0, 0, 788, 789, 3, 361, 180, 0, 789, 790, 3, 375, 187, 0, 790, 791, 3, 385, 192, 0, 791, 792, 3, 365, 182, 0, 792, 146, 1, 0, 0, 0, 793, 794, 3, 399, 199, 0, 794, 795, 3, 385, 192, 0, 795, 796, 3, 365, 182, 0, 796, 797, 3, 367, 183, 0, 797, 798, 3, 369, 184, 0, 798, 148, 1, 0, 0, 0, 799, 800, 3, 383, 191, 0, 800, 801, 3, 375, 187, 0, 801, 802, 3, 385, 192, 0, 802, 803, 3, 399, 199, 0, 803, 804, 3, 395, 197, 0, 804, 150, 1, 0, 0, 0, 805, 806, 3, 399, 199, 0, 806, 807, 3, 385, 192, 0, 807, 808, 3, 375, 187, 0, 808, 809, 3, 387, 193, 0, 809, 810, 3, 385, 192, 0, 810, 152, 1, 0, 0, 0, 811, 812, 3, 369, 184, 0, 812, 813, 3, 375, 187, 0, 813, 814, 3, 381, 190, 0, 814, 815, 3, 397, 198, 0, 815, 816, 3, 367, 183, 0, 816, 817, 3, 393, 196, 0, 817, 154, 1, 0, 0, 0, 818, 819, 3, 385, 192, 0, 819, 820, 3, 387, 193, 0, 820, 821, 3, 397, 198, 0, 821, 156, 1, 0, 0, 0, 822, 823, 3, 375, 187, 0, 823, 824, 3, 385, 192, 0, 824, 158, 1, 0, 0, 0, 825, 826, 3, 395, 197, 0, 826, 827, 3, 397, 198, 0, 827, 828, 3, 393, 196, 0, 828, 160, 1, 0, 0, 0, 829, 830, 3, 381, 190, 0, 830, 831, 3, 359, 179, 0, 831, 832, 3, 385, 192, 0, 832, 833, 3, 371, 185, 0, 833, 162, 1, 0, 0, 0, 834, 835, 3, 381, 190, 0, 835, 836, 3, 359, 179, 0, 836, 837, 3, 385, 192, 0, 837, 838, 3, 371, 185, 0, 838, 839, 3, 383, 191, 0, 839, 840, 3, 359, 179, 0, 840, 841, 3, 397, 198, 0, 841, 842, 3, 363, 181, 0, 842, 843, 3, 373, 186, 0, 843, 844, 3, 367, 183, 0, 844, 845, 3, 395, 197, 0, 845, 164, 1, 0, 0, 0, 846, 847, 3, 365, 182, 0, 847, 848, 3, 359, 179, 0, 848, 849, 3, 397, 198, 0, 849, 850, 3, 359, 179, 0, 850, 851, 3, 397, 198, 0, 851, 852, 3, 407, 203, 0, 852, 853, 3, 389, 194, 0, 853, 854, 3, 367, 183, 0, 854, 166, 1, 0, 0, 0, 855, 856, 3, 361, 180, 0, 856, 857, 3, 387, 193, 0, 857, 858, 3, 399, 199, 0, 858, 859, 3, 385, 192, 0, 859, 860, 3, 365, 182, 0, 860, 168, 1, 0, 0, 0, 861, 862, 3, 375, 187, 0, 862, 863, 3, 393, 196, 0, 863, 864, 3, 375, 187, 0, 864, 170, 1, 0, 0, 0, 865, 866, 3, 399, 199, 0, 866, 867, 3, 393, 196, 0, 867, 868, 3, 375, 187, 0, 868, 172, 1, 0, 0, 0, 869, 870, 3, 361, 180, 0, 870, 871, 3, 385, 192, 0, 871, 872, 3, 387, 193, 0, 872, 873, 3, 365, 182, 0, 873, 874, 3, 367, 183, 0, 874, 174, 1, 0, 0, 0, 875, 876, 3, 393, 196, 0, 876, 877, 3, 359, 179, 0, 877, 878, 3, 385, 192, 0, 878, 879, 3, 365, 182, 0, 879, 176, 1, 0, 0, 0, 880, 881, 3, 359, 179, 0, 881, 882, 3, 361, 180, 0, 882, 883, 3, 395, 197, 0, 883, 178, 1, 0, 0, 0, 884, 885, 3, 363, 181, 0, 885, 886, 3, 367, 183, 0, 886, 887, 3, 375, 187, 0, 887, 888, 3, 381, 190, 0, 888, 180, 1, 0, 0, 0, 889, 890, 3, 369, 184, 0, 890, 891, 3, 381, 190, 0, 891, 892, 3, 387, 193, 0, 892, 893, 3, 387, 193, 0, 893, 894, 3, 393, 196, 0, 894, 182, 1, 0, 0, 0, 895, 896, 3, 393, 196, 0, 896, 897, 3, 387, 193, 0, 897, 898, 3, 399, 199, 0, 898, 899, 3, 385, 192, 0, 899, 900, 3, 365, 182, 0, 900, 184, 1, 0, 0, 0, 901, 902, 3, 363, 181, 0, 902, 903, 3, 387, 193, 0, 903, 904, 3, 385, 192, 0, 904, 905, 3, 363, 181, 0, 905, 906, 3, 359, 179, 0, 906, 907, 3, 397, 198, 0, 907, 186, 1, 0, 0, 0, 908, 909, 3, 395, 197, 0, 909, 910, 3, 397, 198, 0, 910, 911, 3, 393, 196, 0, 911, 912, 3, 381, 190, 0, 912, 913, 3, 367, 183, 0, 913, 914, 3, 385, 192, 0, 914, 188, 1, 0, 0, 0, 915, 916, 3, 399, 199, 0, 916, 917, 3, 363, 181, 0, 917, 918, 3, 359, 179, 0, 918, 919, 3, 395, 197, 0, 919, 920, 3, 367, 183, 0, 920, 190, 1, 0, 0, 0, 921, 922, 3, 381, 190, 0, 922, 923, 3, 363, 181, 0, 923, 924, 3, 359, 179, 0, 924, 925, 3, 395, 197, 0, 925, 926, 3, 367, 183, 0, 926, 192, 1, 0, 0, 0, 927, 928, 3, 367, 183, 0, 928, 929, 3, 385, 192, 0, 929, 930, 3, 363, 181, 0, 930, 931, 3, 387, 193, 0, 931, 932, 3, 365, 182, 0, 932, 933, 3, 367, 183, 0, 933, 934, 5, 95, 0, 0, 934, 935, 3, 369, 184, 0, 935, 936, 3, 387, 193, 0, 936, 937, 3, 393, 196, 0, 937, 938, 5, 95, 0, 0, 938, 939, 3, 399, 199, 0, 939, 940, 3, 393, 196, 0, 940, 941, 3, 375, 187, 0, 941, 194, 1, 0, 0, 0, 942, 943, 3, 369, 184, 0, 943, 944, 3, 387, 193, 0, 944, 945, 3, 393, 196, 0, 945, 196, 1, 0, 0, 0, 946, 947, 3, 363, 181, 0, 947, 948, 3, 387, 193, 0, 948, 949, 3, 385, 192, 0, 949, 950, 3, 397, 198, 0, 950, 951, 3, 359, 179, 0, 951, 952, 3, 375, 187, 0, 952, 953, 3, 385, 192, 0, 953, 954, 3, 395, 197, 0, 954, 198, 1, 0, 0, 0, 955, 956, 3, 395, 197, 0, 956, 957, 3, 397, 198, 0, 957, 958, 3, 393, 196, 0, 958, 959, 3, 395, 197, 0, 959, 960, 3, 397, 198, 0, 960, 961, 3, 359, 179, 0, 961, 962, 3, 393, 196, 0, 962, 963, 3, 397, 198, 0, 963, 964, 3, 395, 197, 0, 964, 200, 1, 0, 0, 0, 965, 966, 3, 395, 197, 0, 966, 967, 3, 397, 198, 0, 967, 968, 3, 393, 196, 0, 968, 969, 3, 367, 183, 0, 969, 970, 3, 385, 192, 0, 970, 971, 3, 365, 182, 0, 971, 972, 3, 395, 197, 0, 972, 202, 1, 0, 0, 0, 973, 974, 3, 395, 197, 0, 974, 975, 3, 397, 198, 0, 975, 976, 3, 393, 196, 0, 976, 977, 3, 361, 180, 0, 977, 978, 3, 367, 183, 0, 978, 979, 3, 369, 184, 0, 979, 980, 3, 387, 193, 0, 980, 981, 3, 393, 196, 0, 981, 982, 3, 367, 183, 0, 982, 204, 1, 0, 0, 0, 983, 984, 3, 395, 197, 0, 984, 985, 3, 397, 198, 0, 985, 986, 3, 393, 196, 0, 986, 987, 3, 359, 179, 0, 987, 988, 3, 369, 184, 0, 988, 989, 3, 397, 198, 0, 989, 990, 3, 367, 183, 0, 990, 991, 3, 393, 196, 0, 991, 206, 1, 0, 0, 0, 992, 993, 3, 407, 203, 0, 993, 994, 3, 367, 183, 0, 994, 995, 3, 359, 179, 0, 995, 996, 3, 393, 196, 0, 996, 208, 1, 0, 0, 0, 997, 998, 3, 383, 191, 0, 998, 999, 3, 387, 193, 0, 999, 1000, 3, 385, 192, 0, 1000, 1001, 3, 397, 198, 0, 1001, 1002, 3, 373, 186, 0, 1002, 210, 1, 0, 0, 0, 1003, 1004, 3, 365, 182, 0, 1004, 1005, 3, 359, 179, 0, 1005, 1006, 3, 407, 203, 0, 1006, 212, 1, 0, 0, 0, 1007, 1008, 3, 373, 186, 0, 1008, 1009, 3, 387, 193, 0, 1009, 1010, 3, 399, 199, 0, 1010, 1011, 3, 393, 196, 0, 1011, 1012, 3, 395, 197, 0, 1012, 214, 1, 0, 0, 0, 1013, 1014, 3, 383, 191, 0, 1014, 1015, 3, 375, 187, 0, 1015, 1016, 3, 385, 192, 0, 1016, 1017, 3, 399, 199, 0, 1017, 1018, 3, 397, 198, 0, 1018, 1019, 3, 367, 183, 0, 1019, 1020, 3, 395, 197, 0, 1020, 216, 1, 0, 0, 0, 1021, 1022, 3, 395, 197, 0, 1022, 1023, 3, 367, 183, 0, 1023, 1024, 3, 363, 181, 0, 1024, 1025, 3, 387, 193, 0, 1025, 1026, 3, 385, 192, 0, 1026, 1027, 3, 365, 182, 0, 1027, 1028, 3, 395, 197, 0, 1028, 218, 1, 0, 0, 0, 1029, 1030, 3, 397, 198, 0, 1030, 1031, 3, 375, 187, 0, 1031, 1032, 3, 383, 191, 0, 1032, 1033, 3, 367, 183, 0, 1033, 1034, 3, 409, 204, 0, 1034, 1035, 3, 387, 193, 0, 1035, 1036, 3, 385, 192, 0, 1036, 1037, 3, 367, 183, 0, 1037, 220, 1, 0, 0, 0, 1038, 1039, 3, 397, 198, 0, 1039, 1040, 3, 409, 204, 0, 1040, 222, 1, 0, 0, 0, 1041, 1042, 3, 385, 192, 0, 1042, 1043, 3, 387, 193, 0, 1043, 1044, 3, 403, 201, 0, 1044, 224, 1, 0, 0, 0, 1045, 1046, 3, 399, 199, 0, 1046, 1047, 3, 399, 199, 0, 1047, 1048, 3, 375, 187, 0, 1048, 1049, 3, 365, 182, 0, 1049, 226, 1, 0, 0, 0, 1050, 1051, 3, 395, 197, 0, 1051, 1052, 3, 397, 198, 0, 1052, 1053, 3, 393, 196, 0, 1053, 1054, 3, 399, 199, 0, 1054, 1055, 3, 399, 199, 0, 1055, 1056, 3, 375, 187, 0, 1056, 1057, 3, 365, 182, 0, 1057, 228, 1, 0, 0, 0, 1058, 1059, 3, 395, 197, 0, 1059, 1060, 3, 373, 186, 0, 1060, 1061, 3, 359, 179, 0, 1061, 1062, 5, 49, 0, 0, 1062, 230, 1, 0, 0, 0, 1063, 1064, 3, 395, 197, 0, 1064, 1065, 3, 373, 186, 0, 1065, 1066, 3, 359, 179, 0, 1066, 1067, 5, 50, 0, 0, 1067, 1068, 5, 53, 0, 0, 1068, 1069, 5, 54, 0, 0, 1069, 232, 1, 0, 0, 0, 1070, 1071, 3, 395, 197, 0, 1071, 1072, 3, 373, 186, 0, 1072, 1073, 3, 359, 179, 0, 1073, 1074, 5, 51, 0, 0, 1074, 1075, 5, 56, 0, 0, 1075, 1076, 5, 52, 0, 0, 1076, 234, 1, 0, 0, 0, 1077, 1078, 3, 395, 197, 0, 1078, 1079, 3, 373, 186, 0, 1079, 1080, 3, 359, 179, 0, 1080, 1081, 5, 53, 0, 0, 1081, 1082, 5, 49, 0, 0, 1082, 1083, 5, 50, 0, 0, 1083, 236, 1, 0, 0, 0, 1084, 1085, 3, 383, 191, 0, 1085, 1086, 3, 365, 182, 0, 1086, 1087, 5, 53, 0, 0, 1087, 238, 1, 0, 0, 0, 1088, 1089, 3, 363, 181, 0, 1089, 1090, 3, 387, 193, 0, 1090, 1091, 3, 359, 179, 0, 1091, 1092, 3, 381, 190, 0, 1092, 1093, 3, 367, 183, 0, 1093, 1094, 3, 395, 197, 0, 1094, 1095, 3, 363, 181, 0, 1095, 1096, 3, 367, 183, 0, 1096, 240, 1, 0, 0, 0, 1097, 1098, 3, 375, 187, 0, 1098, 1099, 3, 369, 184, 0, 1099, 242, 1, 0, 0, 0, 1100, 1101, 3, 395, 197, 0, 1101, 1102, 3, 397, 198, 0, 1102, 1103, 3, 393, 196, 0, 1103, 1104, 3, 381, 190, 0, 1104, 1105, 3, 359, 179, 0, 1105, 1106, 3, 385, 192, 0, 1106, 1107, 3, 371, 185, 0, 1107, 244, 1, 0, 0, 0, 1108, 1109, 3, 395, 197, 0, 1109, 1110, 3, 397, 198, 0, 1110, 1111, 3, 393, 196, 0, 1111, 1112, 3, 365, 182, 0, 1112, 1113, 3, 397, 198, 0, 1113, 246, 1, 0, 0, 0, 1114, 1115, 3, 395, 197, 0, 1115, 1116, 3, 359, 179, 0, 1116, 1117, 3, 383, 191, 0, 1117, 1118, 3, 367, 183, 0, 1118, 1119, 3, 397, 198, 0, 1119, 1120, 3, 367, 183, 0, 1120, 1121, 3, 393, 196, 0, 1121, 1122, 3, 383, 191, 0, 1122, 248, 1, 0, 0, 0, 1123, 1124, 3, 375, 187, 0, 1124, 1125, 3, 395, 197, 0, 1125, 1126, 3, 375, 187, 0, 1126, 1127, 3, 393, 196, 0, 1127, 1128, 3, 375, 187, 0, 1128, 250, 1, 0, 0, 0, 1129, 1130, 3, 375, 187, 0, 1130, 1131, 3, 395, 197, 0, 1131, 1132, 3, 399, 199, 0, 1132, 1133, 3, 393, 196, 0, 1133, 1134, 3, 375, 187, 0, 1134, 252, 1, 0, 0, 0, 1135, 1136, 3, 375, 187, 0, 1136, 1137, 3, 395, 197, 0, 1137, 1138, 3, 361, 180, 0, 1138, 1139, 3, 381, 190, 0, 1139, 1140, 3, 359, 179, 0, 1140, 1141, 3, 385, 192, 0, 1141, 1142, 3, 379, 189, 0, 1142, 254, 1, 0, 0, 0, 1143, 1144, 3, 375, 187, 0, 1144, 1145, 3, 395, 197, 0, 1145, 1146, 3, 381, 190, 0, 1146, 1147, 3, 375, 187, 0, 1147, 1148, 3, 397, 198, 0, 1148, 1149, 3, 367, 183, 0, 1149, 1150, 3, 393, 196, 0, 1150, 1151, 3, 359, 179, 0, 1151, 1152, 3, 381, 190, 0, 1152, 256, 1, 0, 0, 0, 1153, 1154, 3, 375, 187, 0, 1154, 1155, 3, 395, 197, 0, 1155, 1156, 3, 385, 192, 0, 1156, 1157, 3, 399, 199, 0, 1157, 1158, 3, 383, 191, 0, 1158, 1159, 3, 367, 183, 0, 1159, 1160, 3, 393, 196, 0, 1160, 1161, 3, 375, 187, 0, 1161, 1162, 3, 363, 181, 0, 1162, 258, 1, 0, 0, 0, 1163, 1164, 3, 393, 196, 0, 1164, 1165, 3, 367, 183, 0, 1165, 1166, 3, 371, 185, 0, 1166, 1167, 3, 367, 183, 0, 1167, 1168, 3, 405, 202, 0, 1168, 260, 1, 0, 0, 0, 1169, 1170, 3, 395, 197, 0, 1170, 1171, 3, 399, 199, 0, 1171, 1172, 3, 361, 180, 0, 1172, 1173, 3, 395, 197, 0, 1173, 1174, 3, 397, 198, 0, 1174, 1175, 3, 393, 196, 0, 1175, 262, 1, 0, 0, 0, 1176, 1177, 3, 393, 196, 0, 1177, 1178, 3, 367, 183, 0, 1178, 1179, 3, 389, 194, 0, 1179, 1180, 3, 381, 190, 0, 1180, 1181, 3, 359, 179, 0, 1181, 1182, 3, 363, 181, 0, 1182, 1183, 3, 367, 183, 0, 1183, 264, 1, 0, 0, 0, 1184, 1185, 3, 367, 183, 0, 1185, 1186, 3, 405, 202, 0, 1186, 1187, 3, 375, 187, 0, 1187, 1188, 3, 395, 197, 0, 1188, 1189, 3, 397, 198, 0, 1189, 1190, 3, 395, 197, 0, 1190, 266, 1, 0, 0, 0, 1191, 1192, 3, 363, 181, 0, 1192, 1193, 3, 387, 193, 0, 1193, 1194, 3, 399, 199, 0, 1194, 1195, 3, 385, 192, 0, 1195, 1196, 3, 397, 198, 0, 1196, 268, 1, 0, 0, 0, 1197, 1198, 3, 395, 197, 0, 1198, 1199, 3, 399, 199, 0, 1199, 1200, 3, 383, 191, 0, 1200, 270, 1, 0, 0, 0, 1201, 1202, 3, 383, 191, 0, 1202, 1203, 3, 375, 187, 0, 1203, 1204, 3, 385, 192, 0, 1204, 272, 1, 0, 0, 0, 1205, 1206, 3, 383, 191, 0, 1206, 1207, 3, 359, 179, 0, 1207, 1208, 3, 405, 202, 0, 1208, 274, 1, 0, 0, 0, 1209, 1210, 3, 359, 179, 0, 1210, 1211, 3, 401, 200, 0, 1211, 1212, 3, 371, 185, 0, 1212, 276, 1, 0, 0, 0, 1213, 1214, 3, 395, 197, 0, 1214, 1215, 3, 397, 198, 0, 1215, 1216, 3, 365, 182, 0, 1216, 1217, 3, 367, 183, 0, 1217, 1218, 3, 401, 200, 0, 1218, 278, 1, 0, 0, 0, 1219, 1220, 3, 395, 197, 0, 1220, 1221, 3, 359, 179, 0, 1221, 1222, 3, 383, 191, 0, 1222, 1223, 3, 389, 194, 0, 1223, 1224, 3, 381, 190, 0, 1224, 1225, 3, 367, 183, 0, 1225, 280, 1, 0, 0, 0, 1226, 1227, 3, 395, 197, 0, 1227, 1228, 3, 367, 183, 0, 1228, 1229, 3, 389, 194, 0, 1229, 1230, 3, 359, 179, 0, 1230, 1231, 3, 393, 196, 0, 1231, 1232, 3, 359, 179, 0, 1232, 1233, 3, 397, 198, 0, 1233, 1234, 3, 387, 193, 0, 1234, 1235, 3, 393, 196, 0, 1235, 282, 1, 0, 0, 0, 1236, 1240, 5, 60, 0, 0, 1237, 1239, 8, 0, 0, 0, 1238, 1237, 1, 0, 0, 0, 1239, 1242, 1, 0, 0, 0, 1240, 1238, 1, 0, 0, 0, 1240, 1241, 1, 0, 0, 0, 1241, 1243, 1, 0, 0, 0, 1242, 1240, 1, 0, 0, 0, 1243, 1244, 5, 62, 0, 0, 1244, 284, 1, 0, 0, 0, 1245, 1247, 3, 339, 169, 0, 1246, 1245, 1, 0, 0, 0, 1246, 1247, 1, 0, 0, 0, 1247, 1248, 1, 0, 0, 0, 1248, 1249, 5, 58, 0, 0, 1249, 286, 1, 0, 0, 0, 1250, 1251, 3, 285, 142, 0, 1251, 1252, 3, 341, 170, 0, 1252, 288, 1, 0, 0, 0, 1253, 1254, 5, 95, 0, 0, 1254, 1255, 5, 58, 0, 0, 1255, 1258, 1, 0, 0, 0, 1256, 1259, 3, 333, 166, 0, 1257, 1259, 3, 353, 176, 0, 1258, 1256, 1, 0, 0, 0, 1258, 1257, 1, 0, 0, 0, 1259, 1268, 1, 0, 0, 0, 1260, 1263, 3, 337, 168, 0, 1261, 1263, 5, 46, 0, 0, 1262, 1260, 1, 0, 0, 0, 1262, 1261, 1, 0, 0, 0, 1263, 1266, 1, 0, 0, 0, 1264, 1262, 1, 0, 0, 0, 1264, 1265, 1, 0, 0, 0, 1265, 1267, 1, 0, 0, 0, 1266, 1264, 1, 0, 0, 0, 1267, 1269, 3, 337, 168, 0, 1268, 1264, 1, 0, 0, 0, 1268, 1269, 1, 0, 0, 0, 1269, 290, 1, 0, 0, 0, 1270, 1271, 5, 63, 0, 0, 1271, 1272, 3, 335, 167, 0, 1272, 292, 1, 0, 0, 0, 1273, 1274, 5, 36, 0, 0, 1274, 1275, 3, 335, 167, 0, 1275, 294, 1, 0, 0, 0, 1276, 1278, 5, 64, 0, 0, 1277, 1279, 7, 1, 0, 0, 1278, 1277, 1, 0, 0, 0, 1279, 1280, 1, 0, 0, 0, 1280, 1278, 1, 0, 0, 0, 1280, 1281, 1, 0, 0, 0, 1281, 1291, 1, 0, 0, 0, 1282, 1285, 5, 45, 0, 0, 1283, 1286, 7, 1, 0, 0, 1284, 1286, 3, 353, 176, 0, 1285, 1283, 1, 0, 0, 0, 1285, 1284, 1, 0, 0, 0, 1286, 1287, 1, 0, 0, 0, 1287, 1285, 1, 0, 0, 0, 1287, 1288, 1, 0, 0, 0, 1288, 1290, 1, 0, 0, 0, 1289, 1282, 1, 0, 0, 0, 1290, 1293, 1, 0, 0, 0, 1291, 1289, 1, 0, 0, 0, 1291, 1292, 1, 0, 0, 0, 1292, 296, 1, 0, 0, 0, 1293, 1291, 1, 0, 0, 0, 1294, 1295, 3, 295, 147, 0, 1295, 1296, 5, 64, 0, 0, 1296, 298, 1, 0, 0, 0, 1297, 1299, 3, 353, 176, 0, 1298, 1297, 1, 0, 0, 0, 1299, 1300, 1, 0, 0, 0, 1300, 1298, 1, 0, 0, 0, 1300, 1301, 1, 0, 0, 0, 1301, 300, 1, 0, 0, 0, 1302, 1304, 3, 353, 176, 0, 1303, 1302, 1, 0, 0, 0, 1304, 1307, 1, 0, 0, 0, 1305, 1303, 1, 0, 0, 0, 1305, 1306, 1, 0, 0, 0, 1306, 1308, 1, 0, 0, 0, 1307, 1305, 1, 0, 0, 0, 1308, 1310, 5, 46, 0, 0, 1309, 1311, 3, 353, 176, 0, 1310, 1309, 1, 0, 0, 0, 1311, 1312, 1, 0, 0, 0, 1312, 1310, 1, 0, 0, 0, 1312, 1313, 1, 0, 0, 0, 1313, 302, 1, 0, 0, 0, 1314, 1316, 3, 353, 176, 0, 1315, 1314, 1, 0, 0, 0, 1316, 1317, 1, 0, 0, 0, 1317, 1315, 1, 0, 0, 0, 1317, 1318, 1, 0, 0, 0, 1318, 1319, 1, 0, 0, 0, 1319, 1323, 5, 46, 0, 0, 1320, 1322, 3, 353, 176, 0, 1321, 1320, 1, 0, 0, 0, 1322, 1325, 1, 0, 0, 0, 1323, 1321, 1, 0, 0, 0, 1323, 1324, 1, 0, 0, 0, 1324, 1326, 1, 0, 0, 0, 1325, 1323, 1, 0, 0, 0, 1326, 1327, 3, 317, 158, 0, 1327, 1344, 1, 0, 0, 0, 1328, 1330, 5, 46, 0, 0, 1329, 1331, 3, 353, 176, 0, 1330, 1329, 1, 0, 0, 0, 1331, 1332, 1, 0, 0, 0, 1332, 1330, 1, 0, 0, 0, 1332, 1333, 1, 0, 0, 0, 1333, 1334, 1, 0, 0, 0, 1334, 1335, 3, 317, 158, 0, 1335, 1344, 1, 0, 0, 0, 1336, 1338, 3, 353, 176, 0, 1337, 1336, 1, 0, 0, 0, 1338, 1339, 1, 0, 0, 0, 1339, 1337, 1, 0, 0, 0, 1339, 1340, 1, 0, 0, 0, 1340, 1341, 1, 0, 0, 0, 1341, 1342, 3, 317, 158, 0, 1342, 1344, 1, 0, 0, 0, 1343, 1315, 1, 0, 0, 0, 1343, 1328, 1, 0, 0, 0, 1343, 1337, 1, 0, 0, 0, 1344, 304, 1, 0, 0, 0, 1345, 1346, 5, 43, 0, 0, 1346, 1347, 3, 299, 149, 0, 1347, 306, 1, 0, 0, 0, 1348, 1349, 5, 43, 0, 0, 1349, 1350, 3, 301, 150, 0, 1350, 308, 1, 0, 0, 0, 1351, 1352, 5, 43, 0, 0, 1352, 1353, 3, 303, 151, 0, 1353, 310, 1, 0, 0, 0, 1354, 1355, 5, 45, 0, 0, 1355, 1356, 3, 299, 149, 0, 1356, 312, 1, 0, 0, 0, 1357, 1358, 5, 45, 0, 0, 1358, 1359, 3, 301, 150, 0, 1359, 314, 1, 0, 0, 0, 1360, 1361, 5, 45, 0, 0, 1361, 1362, 3, 303, 151, 0, 1362, 316, 1, 0, 0, 0, 1363, 1365, 7, 2, 0, 0, 1364, 1366, 7, 3, 0, 0, 1365, 1364, 1, 0, 0, 0, 1365, 1366, 1, 0, 0, 0, 1366, 1368, 1, 0, 0, 0, 1367, 1369, 3, 353, 176, 0, 1368, 1367, 1, 0, 0, 0, 1369, 1370, 1, 0, 0, 0, 1370, 1368, 1, 0, 0, 0, 1370, 1371, 1, 0, 0, 0, 1371, 318, 1, 0, 0, 0, 1372, 1377, 5, 39, 0, 0, 1373, 1376, 8, 4, 0, 0, 1374, 1376, 3, 327, 163, 0, 1375, 1373, 1, 0, 0, 0, 1375, 1374, 1, 0, 0, 0, 1376, 1379, 1, 0, 0, 0, 1377, 1375, 1, 0, 0, 0, 1377, 1378, 1, 0, 0, 0, 1378, 1380, 1, 0, 0, 0, 1379, 1377, 1, 0, 0, 0, 1380, 1381, 5, 39, 0, 0, 1381, 320, 1, 0, 0, 0, 1382, 1387, 5, 34, 0, 0, 1383, 1386, 8, 5, 0, 0, 1384, 1386, 3, 327, 163, 0, 1385, 1383, 1, 0, 0, 0, 1385, 1384, 1, 0, 0, 0, 1386, 1389, 1, 0, 0, 0, 1387, 1385, 1, 0, 0, 0, 1387, 1388, 1, 0, 0, 0, 1388, 1390, 1, 0, 0, 0, 1389, 1387, 1, 0, 0, 0, 1390, 1391, 5, 34, 0, 0, 1391, 322, 1, 0, 0, 0, 1392, 1393, 5, 39, 0, 0, 1393, 1394, 5, 39, 0, 0, 1394, 1395, 5, 39, 0, 0, 1395, 1407, 1, 0, 0, 0, 1396, 1400, 5, 39, 0, 0, 1397, 1398, 5, 39, 0, 0, 1398, 1400, 5, 39, 0, 0, 1399, 1396, 1, 0, 0, 0, 1399, 1397, 1, 0, 0, 0, 1399, 1400, 1, 0, 0, 0, 1400, 1403, 1, 0, 0, 0, 1401, 1404, 8, 6, 0, 0, 1402, 1404, 3, 327, 163, 0, 1403, 1401, 1, 0, 0, 0, 1403, 1402, 1, 0, 0, 0, 1404, 1406, 1, 0, 0, 0, 1405, 1399, 1, 0, 0, 0, 1406, 1409, 1, 0, 0, 0, 1407, 1405, 1, 0, 0, 0, 1407, 1408, 1, 0, 0, 0, 1408, 1410, 1, 0, 0, 0, 1409, 1407, 1, 0, 0, 0, 1410, 1411, 5, 39, 0, 0, 1411, 1412, 5, 39, 0, 0, 1412, 1413, 5, 39, 0, 0, 1413, 324, 1, 0, 0, 0, 1414, 1415, 5, 34, 0, 0, 1415, 1416, 5, 34, 0, 0, 1416, 1417, 5, 34, 0, 0, 1417, 1429, 1, 0, 0, 0, 1418, 1422, 5, 34, 0, 0, 1419, 1420, 5, 34, 0, 0, 1420, 1422, 5, 34, 0, 0, 1421, 1418, 1, 0, 0, 0, 1421, 1419, 1, 0, 0, 0, 1421, 1422, 1, 0, 0, 0, 1422, 1425, 1, 0, 0, 0, 1423, 1426, 8, 7, 0, 0, 1424, 1426, 3, 327, 163, 0, 1425, 1423, 1, 0, 0, 0, 1425, 1424, 1, 0, 0, 0, 1426, 1428, 1, 0, 0, 0, 1427, 1421, 1, 0, 0, 0, 1428, 1431, 1, 0, 0, 0, 1429, 1427, 1, 0, 0, 0, 1429, 1430, 1, 0, 0, 0, 1430, 1432, 1, 0, 0, 0, 1431, 1429, 1, 0, 0, 0, 1432, 1433, 5, 34, 0, 0, 1433, 1434, 5, 34, 0, 0, 1434, 1435, 5, 34, 0, 0, 1435, 326, 1, 0, 0, 0, 1436, 1437, 5, 92, 0, 0, 1437, 1438, 7, 8, 0, 0, 1438, 328, 1, 0, 0, 0, 1439, 1443, 5, 40, 0, 0, 1440, 1442, 3, 355, 177, 0, 1441, 1440, 1, 0, 0, 0, 1442, 1445, 1, 0, 0, 0, 1443, 1441, 1, 0, 0, 0, 1443, 1444, 1, 0, 0, 0, 1444, 1446, 1, 0, 0, 0, 1445, 1443, 1, 0, 0, 0, 1446, 1447, 5, 41, 0, 0, 1447, 330, 1, 0, 0, 0, 1448, 1452, 5, 91, 0, 0, 1449, 1451, 3, 355, 177, 0, 1450, 1449, 1, 0, 0, 0, 1451, 1454, 1, 0, 0, 0, 1452, 1450, 1, 0, 0, 0, 1452, 1453, 1, 0, 0, 0, 1453, 1455, 1, 0, 0, 0, 1454, 1452, 1, 0, 0, 0, 1455, 1456, 5, 93, 0, 0, 1456, 332, 1, 0, 0, 0, 1457, 1460, 3, 351, 175, 0, 1458, 1460, 5, 95, 0, 0, 1459, 1457, 1, 0, 0, 0, 1459, 1458, 1, 0, 0, 0, 1460, 334, 1, 0, 0, 0, 1461, 1464, 3, 333, 166, 0, 1462, 1464, 3, 353, 176, 0, 1463, 1461, 1, 0, 0, 0, 1463, 1462, 1, 0, 0, 0, 1464, 1470, 1, 0, 0, 0, 1465, 1469, 3, 333, 166, 0, 1466, 1469, 3, 353, 176, 0, 1467, 1469, 7, 9, 0, 0, 1468, 1465, 1, 0, 0, 0, 1468, 1466, 1, 0, 0, 0, 1468, 1467, 1, 0, 0, 0, 1469, 1472, 1, 0, 0, 0, 1470, 1468, 1, 0, 0, 0, 1470, 1471, 1, 0, 0, 0, 1471, 336, 1, 0, 0, 0, 1472, 1470, 1, 0, 0, 0, 1473, 1478, 3, 333, 166, 0, 1474, 1478, 5, 45, 0, 0, 1475, 1478, 3, 353, 176, 0, 1476, 1478, 7, 9, 0, 0, 1477, 1473, 1, 0, 0, 0, 1477, 1474, 1, 0, 0, 0, 1477, 1475, 1, 0, 0, 0, 1477, 1476, 1, 0, 0, 0, 1478, 338, 1, 0, 0, 0, 1479, 1488, 3, 351, 175, 0, 1480, 1483, 3, 337, 168, 0, 1481, 1483, 5, 46, 0, 0, 1482, 1480, 1, 0, 0, 0, 1482, 1481, 1, 0, 0, 0, 1483, 1486, 1, 0, 0, 0, 1484, 1482, 1, 0, 0, 0, 1484, 1485, 1, 0, 0, 0, 1485, 1487, 1, 0, 0, 0, 1486, 1484, 1, 0, 0, 0, 1487, 1489, 3, 337, 168, 0, 1488, 1484, 1, 0, 0, 0, 1488, 1489, 1, 0, 0, 0, 1489, 340, 1, 0, 0, 0, 1490, 1495, 3, 333, 166, 0, 1491, 1495, 5, 58, 0, 0, 1492, 1495, 3, 353, 176, 0, 1493, 1495, 3, 343, 171, 0, 1494, 1490, 1, 0, 0, 0, 1494, 1491, 1, 0, 0, 0, 1494, 1492, 1, 0, 0, 0, 1494, 1493, 1, 0, 0, 0, 1495, 1509, 1, 0, 0, 0, 1496, 1500, 3, 337, 168, 0, 1497, 1500, 7, 10, 0, 0, 1498, 1500, 3, 343, 171, 0, 1499, 1496, 1, 0, 0, 0, 1499, 1497, 1, 0, 0, 0, 1499, 1498, 1, 0, 0, 0, 1500, 1503, 1, 0, 0, 0, 1501, 1499, 1, 0, 0, 0, 1501, 1502, 1, 0, 0, 0, 1502, 1507, 1, 0, 0, 0, 1503, 1501, 1, 0, 0, 0, 1504, 1508, 3, 337, 168, 0, 1505, 1508, 5, 58, 0, 0, 1506, 1508, 3, 343, 171, 0, 1507, 1504, 1, 0, 0, 0, 1507, 1505, 1, 0, 0, 0, 1507, 1506, 1, 0, 0, 0, 1508, 1510, 1, 0, 0, 0, 1509, 1501, 1, 0, 0, 0, 1509, 1510, 1, 0, 0, 0, 1510, 342, 1, 0, 0, 0, 1511, 1514, 3, 345, 172, 0, 1512, 1514, 3, 349, 174, 0, 1513, 1511, 1, 0, 0, 0, 1513, 1512, 1, 0, 0, 0, 1514, 344, 1, 0, 0, 0, 1515, 1516, 5, 37, 0, 0, 1516, 1517, 3, 347, 173, 0, 1517, 1518, 3, 347, 173, 0, 1518, 346, 1, 0, 0, 0, 1519, 1522, 3, 353, 176, 0, 1520, 1522, 7, 11, 0, 0, 1521, 1519, 1, 0, 0, 0, 1521, 1520, 1, 0, 0, 0, 1522, 348, 1, 0, 0, 0, 1523, 1524, 5, 92, 0, 0, 1524, 1525, 7, 12, 0, 0, 1525, 350, 1, 0, 0, 0, 1526, 1527, 7, 13, 0, 0, 1527, 352, 1, 0, 0, 0, 1528, 1529, 2, 48, 57, 0, 1529, 354, 1, 0, 0, 0, 1530, 1532, 7, 14, 0, 0, 1531, 1530, 1, 0, 0, 0, 1532, 1533, 1, 0, 0, 0, 1533, 1531, 1, 0, 0, 0, 1533, 1534, 1, 0, 0, 0, 1534, 1535, 1, 0, 0, 0, 1535, 1536, 6, 177, 0, 0, 1536, 356, 1, 0, 0, 0, 1537, 1541, 5, 35, 0, 0, 1538, 1540, 8, 15, 0, 0, 1539, 1538, 1, 0, 0, 0, 1540, 1543, 1, 0, 0, 0, 1541, 1539, 1, 0, 0, 0, 1541, 1542, 1, 0, 0, 0, 1542, 1544, 1, 0, 0, 0, 1543, 1541, 1, 0, 0, 0, 1544, 1545, 6, 178, 0, 0, 1545, 358, 1, 0, 0, 0, 1546, 1547, 7, 16, 0, 0, 1547, 360, 1, 0, 0, 0, 1548, 1549, 7, 17, 0, 0, 1549, 362, 1, 0, 0, 0, 1550, 1551, 7, 18, 0, 0, 1551, 364, 1, 0, 0, 0, 1552, 1553, 7, 19, 0, 0, 1553, 366, 1, 0, 0, 0, 1554, 1555, 7, 2, 0, 0, 1555, 368, 1, 0, 0, 0, 1556, 1557, 7, 20, 0, 0, 1557, 370, 1, 0, 0, 0, 1558, 1559, 7, 21, 0, 0, 1559, 372, 1, 0, 0, 0, 1560, 1561, 7, 22, 0, 0, 1561, 374, 1, 0, 0, 0, 1562, 1563, 7, 23, 0, 0, 1563, 376, 1, 0, 0, 0, 1564, 1565, 7, 24, 0, 0, 1565, 378, 1, 0, 0, 0, 1566, 1567, 7, 25, 0, 0, 1567, 380, 1, 0, 0, 0, 1568, 1569, 7, 26, 0, 0, 1569, 382, 1, 0, 0, 0, 1570, 1571, 7, 27, 0, 0, 1571, 384, 1, 0, 0, 0, 1572, 1573, 7, 28, 0, 0, 1573, 386, 1, 0, 0, 0, 1574, 1575, 7, 29, 0, 0, 1575, 388, 1, 0, 0, 0, 1576, 1577, 7, 30, 0, 0, 1577, 390, 1, 0, 0, 0, 1578, 1579, 7, 31, 0, 0, 1579, 392, 1, 0, 0, 0, 1580, 1581, 7, 32, 0, 0, 1581, 394, 1, 0, 0, 0, 1582, 1583, 7, 33, 0, 0, 1583, 396, 1, 0, 0, 0, 1584, 1585, 7, 34, 0, 0, 1585, 398, 1, 0, 0, 0, 1586, 1587, 7, 35, 0, 0, 1587, 400, 1, 0, 0, 0, 1588, 1589, 7, 36, 0, 0, 1589, 402, 1, 0, 0, 0, 1590, 1591, 7, 37, 0, 0, 1591, 404, 1, 0, 0, 0, 1592, 1593, 7, 38, 0, 0, 1593, 406, 1, 0, 0, 0, 1594, 1595, 7, 39, 0, 0, 1595, 408, 1, 0, 0, 0, 1596, 1597, 7, 40, 0, 0, 1597, 410, 1, 0, 0, 0, 54, 0, 569, 602, 618, 627, 1240, 1246, 1258, 1262, 1264, 1268, 1280, 1285, 1287, 1291, 1300, 1305, 1312, 1317, 1323, 1332, 1339, 1343, 1365, 1370, 1375, 1377, 1385, 1387, 1399, 1403, 1407, 1421, 1425, 1429, 1443, 1452, 1459, 1463, 1468, 1470, 1477, 1482, 1484, 1488, 1494, 1499, 1501, 1507, 1509, 1513, 1521, 1533, 1541, 1, 6, 0, 0] \ No newline at end of file diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.tokens b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.tokens index 4d2a3fec0c..0d98dd932a 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.tokens +++ b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.tokens @@ -136,43 +136,44 @@ SUM=135 MIN=136 MAX=137 AVG=138 -SAMPLE=139 -SEPARATOR=140 -IRI_REF=141 -PNAME_NS=142 -PNAME_LN=143 -BLANK_NODE_LABEL=144 -VAR1=145 -VAR2=146 -LANGTAG=147 -PREFIX_LANGTAG=148 -INTEGER=149 -DECIMAL=150 -DOUBLE=151 -INTEGER_POSITIVE=152 -DECIMAL_POSITIVE=153 -DOUBLE_POSITIVE=154 -INTEGER_NEGATIVE=155 -DECIMAL_NEGATIVE=156 -DOUBLE_NEGATIVE=157 -EXPONENT=158 -STRING_LITERAL1=159 -STRING_LITERAL2=160 -STRING_LITERAL_LONG1=161 -STRING_LITERAL_LONG2=162 -ECHAR=163 -NIL=164 -ANON=165 -PN_CHARS_U=166 -VARNAME=167 -PN_PREFIX=168 -PN_LOCAL=169 -PLX=170 -PERCENT=171 -HEX=172 -PN_LOCAL_ESC=173 -WS=174 -COMMENTS=175 +STDEV=139 +SAMPLE=140 +SEPARATOR=141 +IRI_REF=142 +PNAME_NS=143 +PNAME_LN=144 +BLANK_NODE_LABEL=145 +VAR1=146 +VAR2=147 +LANGTAG=148 +PREFIX_LANGTAG=149 +INTEGER=150 +DECIMAL=151 +DOUBLE=152 +INTEGER_POSITIVE=153 +DECIMAL_POSITIVE=154 +DOUBLE_POSITIVE=155 +INTEGER_NEGATIVE=156 +DECIMAL_NEGATIVE=157 +DOUBLE_NEGATIVE=158 +EXPONENT=159 +STRING_LITERAL1=160 +STRING_LITERAL2=161 +STRING_LITERAL_LONG1=162 +STRING_LITERAL_LONG2=163 +ECHAR=164 +NIL=165 +ANON=166 +PN_CHARS_U=167 +VARNAME=168 +PN_PREFIX=169 +PN_LOCAL=170 +PLX=171 +PERCENT=172 +HEX=173 +PN_LOCAL_ESC=174 +WS=175 +COMMENTS=176 '*'=1 '('=2 ')'=3 diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp index 49cc4e5046..2f4ba8668c 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp @@ -348,6 +348,7 @@ void sparqlautomaticParserInitialize() { "MIN", "MAX", "AVG", + "STDEV", "SAMPLE", "SEPARATOR", "IRI_REF", @@ -386,7 +387,7 @@ void sparqlautomaticParserInitialize() { "WS", "COMMENTS"}); static const int32_t serializedATNSegment[] = { - 4, 1, 175, 1647, 2, 0, 7, 0, 2, 1, 7, 1, + 4, 1, 176, 1655, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, @@ -667,928 +668,934 @@ void sparqlautomaticParserInitialize() { 1574, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1582, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1590, 8, - 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, - 142, 1597, 8, 142, 1, 142, 1, 142, 3, 142, 1601, 8, - 142, 1, 143, 1, 143, 3, 143, 1605, 8, 143, 1, 144, - 1, 144, 1, 144, 1, 144, 3, 144, 1611, 8, 144, 1, - 145, 1, 145, 1, 145, 3, 145, 1616, 8, 145, 1, 146, - 1, 146, 1, 147, 1, 147, 1, 148, 1, 148, 1, 149, - 1, 149, 1, 150, 1, 150, 1, 151, 3, 151, 1629, 8, - 151, 1, 151, 1, 151, 3, 151, 1633, 8, 151, 1, 152, - 1, 152, 3, 152, 1637, 8, 152, 1, 153, 1, 153, 1, - 154, 1, 154, 1, 155, 1, 155, 1, 156, 1, 156, 1, - 156, 0, 0, 157, 0, 2, 4, 6, 8, 10, 12, 14, - 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, - 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, - 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, - 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, - 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, - 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, - 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, - 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, - 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, - 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, - 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, - 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, - 304, 306, 308, 310, 312, 0, 10, 1, 0, 33, 34, 1, - 0, 47, 48, 2, 0, 1, 1, 13, 14, 1, 0, 145, - 146, 1, 0, 149, 151, 1, 0, 152, 154, 1, 0, 155, - 157, 1, 0, 28, 29, 1, 0, 159, 162, 2, 0, 144, - 144, 165, 165, 1761, 0, 316, 1, 0, 0, 0, 2, 320, - 1, 0, 0, 0, 4, 333, 1, 0, 0, 0, 6, 336, - 1, 0, 0, 0, 8, 339, 1, 0, 0, 0, 10, 343, - 1, 0, 0, 0, 12, 353, 1, 0, 0, 0, 14, 358, - 1, 0, 0, 0, 16, 372, 1, 0, 0, 0, 18, 374, - 1, 0, 0, 0, 20, 378, 1, 0, 0, 0, 22, 382, - 1, 0, 0, 0, 24, 408, 1, 0, 0, 0, 26, 428, - 1, 0, 0, 0, 28, 438, 1, 0, 0, 0, 30, 443, - 1, 0, 0, 0, 32, 445, 1, 0, 0, 0, 34, 448, - 1, 0, 0, 0, 36, 451, 1, 0, 0, 0, 38, 456, - 1, 0, 0, 0, 40, 467, 1, 0, 0, 0, 42, 484, - 1, 0, 0, 0, 44, 486, 1, 0, 0, 0, 46, 492, - 1, 0, 0, 0, 48, 496, 1, 0, 0, 0, 50, 509, - 1, 0, 0, 0, 52, 553, 1, 0, 0, 0, 54, 555, - 1, 0, 0, 0, 56, 558, 1, 0, 0, 0, 58, 561, - 1, 0, 0, 0, 60, 566, 1, 0, 0, 0, 62, 568, - 1, 0, 0, 0, 64, 587, 1, 0, 0, 0, 66, 589, - 1, 0, 0, 0, 68, 598, 1, 0, 0, 0, 70, 604, - 1, 0, 0, 0, 72, 610, 1, 0, 0, 0, 74, 616, - 1, 0, 0, 0, 76, 624, 1, 0, 0, 0, 78, 632, - 1, 0, 0, 0, 80, 640, 1, 0, 0, 0, 82, 644, - 1, 0, 0, 0, 84, 648, 1, 0, 0, 0, 86, 654, - 1, 0, 0, 0, 88, 672, 1, 0, 0, 0, 90, 675, - 1, 0, 0, 0, 92, 678, 1, 0, 0, 0, 94, 687, - 1, 0, 0, 0, 96, 689, 1, 0, 0, 0, 98, 696, - 1, 0, 0, 0, 100, 698, 1, 0, 0, 0, 102, 702, - 1, 0, 0, 0, 104, 707, 1, 0, 0, 0, 106, 721, - 1, 0, 0, 0, 108, 729, 1, 0, 0, 0, 110, 736, - 1, 0, 0, 0, 112, 744, 1, 0, 0, 0, 114, 752, - 1, 0, 0, 0, 116, 759, 1, 0, 0, 0, 118, 774, - 1, 0, 0, 0, 120, 776, 1, 0, 0, 0, 122, 779, - 1, 0, 0, 0, 124, 783, 1, 0, 0, 0, 126, 790, - 1, 0, 0, 0, 128, 797, 1, 0, 0, 0, 130, 802, - 1, 0, 0, 0, 132, 804, 1, 0, 0, 0, 134, 823, - 1, 0, 0, 0, 136, 843, 1, 0, 0, 0, 138, 850, - 1, 0, 0, 0, 140, 852, 1, 0, 0, 0, 142, 855, - 1, 0, 0, 0, 144, 863, 1, 0, 0, 0, 146, 869, - 1, 0, 0, 0, 148, 871, 1, 0, 0, 0, 150, 889, - 1, 0, 0, 0, 152, 903, 1, 0, 0, 0, 154, 905, - 1, 0, 0, 0, 156, 911, 1, 0, 0, 0, 158, 924, - 1, 0, 0, 0, 160, 927, 1, 0, 0, 0, 162, 929, - 1, 0, 0, 0, 164, 944, 1, 0, 0, 0, 166, 946, - 1, 0, 0, 0, 168, 954, 1, 0, 0, 0, 170, 962, - 1, 0, 0, 0, 172, 965, 1, 0, 0, 0, 174, 967, - 1, 0, 0, 0, 176, 977, 1, 0, 0, 0, 178, 979, - 1, 0, 0, 0, 180, 981, 1, 0, 0, 0, 182, 984, - 1, 0, 0, 0, 184, 989, 1, 0, 0, 0, 186, 991, - 1, 0, 0, 0, 188, 999, 1, 0, 0, 0, 190, 1001, - 1, 0, 0, 0, 192, 1003, 1, 0, 0, 0, 194, 1011, - 1, 0, 0, 0, 196, 1019, 1, 0, 0, 0, 198, 1026, - 1, 0, 0, 0, 200, 1028, 1, 0, 0, 0, 202, 1038, - 1, 0, 0, 0, 204, 1053, 1, 0, 0, 0, 206, 1062, - 1, 0, 0, 0, 208, 1064, 1, 0, 0, 0, 210, 1068, - 1, 0, 0, 0, 212, 1070, 1, 0, 0, 0, 214, 1076, - 1, 0, 0, 0, 216, 1078, 1, 0, 0, 0, 218, 1082, - 1, 0, 0, 0, 220, 1090, 1, 0, 0, 0, 222, 1100, - 1, 0, 0, 0, 224, 1104, 1, 0, 0, 0, 226, 1108, - 1, 0, 0, 0, 228, 1112, 1, 0, 0, 0, 230, 1114, - 1, 0, 0, 0, 232, 1122, 1, 0, 0, 0, 234, 1124, - 1, 0, 0, 0, 236, 1126, 1, 0, 0, 0, 238, 1134, - 1, 0, 0, 0, 240, 1142, 1, 0, 0, 0, 242, 1144, - 1, 0, 0, 0, 244, 1164, 1, 0, 0, 0, 246, 1166, - 1, 0, 0, 0, 248, 1178, 1, 0, 0, 0, 250, 1180, - 1, 0, 0, 0, 252, 1182, 1, 0, 0, 0, 254, 1186, - 1, 0, 0, 0, 256, 1194, 1, 0, 0, 0, 258, 1203, - 1, 0, 0, 0, 260, 1205, 1, 0, 0, 0, 262, 1208, - 1, 0, 0, 0, 264, 1218, 1, 0, 0, 0, 266, 1227, - 1, 0, 0, 0, 268, 1229, 1, 0, 0, 0, 270, 1487, - 1, 0, 0, 0, 272, 1489, 1, 0, 0, 0, 274, 1500, - 1, 0, 0, 0, 276, 1505, 1, 0, 0, 0, 278, 1516, - 1, 0, 0, 0, 280, 1529, 1, 0, 0, 0, 282, 1532, - 1, 0, 0, 0, 284, 1600, 1, 0, 0, 0, 286, 1602, - 1, 0, 0, 0, 288, 1606, 1, 0, 0, 0, 290, 1615, - 1, 0, 0, 0, 292, 1617, 1, 0, 0, 0, 294, 1619, - 1, 0, 0, 0, 296, 1621, 1, 0, 0, 0, 298, 1623, - 1, 0, 0, 0, 300, 1625, 1, 0, 0, 0, 302, 1628, - 1, 0, 0, 0, 304, 1636, 1, 0, 0, 0, 306, 1638, - 1, 0, 0, 0, 308, 1640, 1, 0, 0, 0, 310, 1642, - 1, 0, 0, 0, 312, 1644, 1, 0, 0, 0, 314, 317, - 3, 2, 1, 0, 315, 317, 3, 62, 31, 0, 316, 314, - 1, 0, 0, 0, 316, 315, 1, 0, 0, 0, 317, 318, - 1, 0, 0, 0, 318, 319, 5, 0, 0, 1, 319, 1, - 1, 0, 0, 0, 320, 325, 3, 4, 2, 0, 321, 326, - 3, 10, 5, 0, 322, 326, 3, 22, 11, 0, 323, 326, - 3, 24, 12, 0, 324, 326, 3, 26, 13, 0, 325, 321, - 1, 0, 0, 0, 325, 322, 1, 0, 0, 0, 325, 323, - 1, 0, 0, 0, 325, 324, 1, 0, 0, 0, 326, 327, - 1, 0, 0, 0, 327, 328, 3, 60, 30, 0, 328, 3, - 1, 0, 0, 0, 329, 332, 3, 6, 3, 0, 330, 332, - 3, 8, 4, 0, 331, 329, 1, 0, 0, 0, 331, 330, - 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, - 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 5, - 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 337, - 5, 30, 0, 0, 337, 338, 3, 308, 154, 0, 338, 7, - 1, 0, 0, 0, 339, 340, 5, 31, 0, 0, 340, 341, - 5, 142, 0, 0, 341, 342, 3, 308, 154, 0, 342, 9, - 1, 0, 0, 0, 343, 347, 3, 14, 7, 0, 344, 346, - 3, 28, 14, 0, 345, 344, 1, 0, 0, 0, 346, 349, - 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347, 348, - 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 347, - 1, 0, 0, 0, 350, 351, 3, 36, 18, 0, 351, 352, - 3, 38, 19, 0, 352, 11, 1, 0, 0, 0, 353, 354, - 3, 14, 7, 0, 354, 355, 3, 36, 18, 0, 355, 356, - 3, 38, 19, 0, 356, 357, 3, 60, 30, 0, 357, 13, - 1, 0, 0, 0, 358, 360, 5, 32, 0, 0, 359, 361, - 7, 0, 0, 0, 360, 359, 1, 0, 0, 0, 360, 361, - 1, 0, 0, 0, 361, 368, 1, 0, 0, 0, 362, 364, - 3, 16, 8, 0, 363, 362, 1, 0, 0, 0, 364, 365, - 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, - 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 369, - 5, 1, 0, 0, 368, 363, 1, 0, 0, 0, 368, 367, - 1, 0, 0, 0, 369, 15, 1, 0, 0, 0, 370, 373, - 3, 230, 115, 0, 371, 373, 3, 18, 9, 0, 372, 370, - 1, 0, 0, 0, 372, 371, 1, 0, 0, 0, 373, 17, - 1, 0, 0, 0, 374, 375, 5, 2, 0, 0, 375, 376, - 3, 20, 10, 0, 376, 377, 5, 3, 0, 0, 377, 19, - 1, 0, 0, 0, 378, 379, 3, 234, 117, 0, 379, 380, - 5, 35, 0, 0, 380, 381, 3, 230, 115, 0, 381, 21, - 1, 0, 0, 0, 382, 406, 5, 36, 0, 0, 383, 387, - 3, 154, 77, 0, 384, 386, 3, 28, 14, 0, 385, 384, - 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, - 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 390, - 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, - 3, 36, 18, 0, 391, 392, 3, 38, 19, 0, 392, 407, - 1, 0, 0, 0, 393, 395, 3, 28, 14, 0, 394, 393, - 1, 0, 0, 0, 395, 398, 1, 0, 0, 0, 396, 394, - 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 399, - 1, 0, 0, 0, 398, 396, 1, 0, 0, 0, 399, 400, - 5, 37, 0, 0, 400, 402, 5, 4, 0, 0, 401, 403, - 3, 108, 54, 0, 402, 401, 1, 0, 0, 0, 402, 403, - 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 405, - 5, 5, 0, 0, 405, 407, 3, 38, 19, 0, 406, 383, - 1, 0, 0, 0, 406, 396, 1, 0, 0, 0, 407, 23, - 1, 0, 0, 0, 408, 415, 5, 38, 0, 0, 409, 411, - 3, 228, 114, 0, 410, 409, 1, 0, 0, 0, 411, 412, - 1, 0, 0, 0, 412, 410, 1, 0, 0, 0, 412, 413, - 1, 0, 0, 0, 413, 416, 1, 0, 0, 0, 414, 416, - 5, 1, 0, 0, 415, 410, 1, 0, 0, 0, 415, 414, - 1, 0, 0, 0, 416, 420, 1, 0, 0, 0, 417, 419, - 3, 28, 14, 0, 418, 417, 1, 0, 0, 0, 419, 422, - 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 421, - 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, - 1, 0, 0, 0, 423, 425, 3, 36, 18, 0, 424, 423, - 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, - 1, 0, 0, 0, 426, 427, 3, 38, 19, 0, 427, 25, - 1, 0, 0, 0, 428, 432, 5, 39, 0, 0, 429, 431, - 3, 28, 14, 0, 430, 429, 1, 0, 0, 0, 431, 434, - 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, - 1, 0, 0, 0, 433, 435, 1, 0, 0, 0, 434, 432, - 1, 0, 0, 0, 435, 436, 3, 36, 18, 0, 436, 437, - 3, 38, 19, 0, 437, 27, 1, 0, 0, 0, 438, 441, - 5, 40, 0, 0, 439, 442, 3, 30, 15, 0, 440, 442, - 3, 32, 16, 0, 441, 439, 1, 0, 0, 0, 441, 440, - 1, 0, 0, 0, 442, 29, 1, 0, 0, 0, 443, 444, - 3, 34, 17, 0, 444, 31, 1, 0, 0, 0, 445, 446, - 5, 41, 0, 0, 446, 447, 3, 34, 17, 0, 447, 33, - 1, 0, 0, 0, 448, 449, 3, 302, 151, 0, 449, 35, - 1, 0, 0, 0, 450, 452, 5, 37, 0, 0, 451, 450, - 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 453, - 1, 0, 0, 0, 453, 454, 3, 110, 55, 0, 454, 37, - 1, 0, 0, 0, 455, 457, 3, 40, 20, 0, 456, 455, - 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 459, - 1, 0, 0, 0, 458, 460, 3, 44, 22, 0, 459, 458, - 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 462, - 1, 0, 0, 0, 461, 463, 3, 48, 24, 0, 462, 461, - 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, - 1, 0, 0, 0, 464, 466, 3, 52, 26, 0, 465, 464, - 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 39, - 1, 0, 0, 0, 467, 469, 5, 42, 0, 0, 468, 470, - 3, 42, 21, 0, 469, 468, 1, 0, 0, 0, 470, 471, - 1, 0, 0, 0, 471, 469, 1, 0, 0, 0, 471, 472, - 1, 0, 0, 0, 472, 41, 1, 0, 0, 0, 473, 485, - 3, 270, 135, 0, 474, 485, 3, 148, 74, 0, 475, 476, - 5, 2, 0, 0, 476, 479, 3, 234, 117, 0, 477, 478, - 5, 35, 0, 0, 478, 480, 3, 230, 115, 0, 479, 477, - 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, - 1, 0, 0, 0, 481, 482, 5, 3, 0, 0, 482, 485, - 1, 0, 0, 0, 483, 485, 3, 230, 115, 0, 484, 473, - 1, 0, 0, 0, 484, 474, 1, 0, 0, 0, 484, 475, - 1, 0, 0, 0, 484, 483, 1, 0, 0, 0, 485, 43, - 1, 0, 0, 0, 486, 488, 5, 44, 0, 0, 487, 489, - 3, 46, 23, 0, 488, 487, 1, 0, 0, 0, 489, 490, - 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 490, 491, - 1, 0, 0, 0, 491, 45, 1, 0, 0, 0, 492, 493, - 3, 146, 73, 0, 493, 47, 1, 0, 0, 0, 494, 497, - 5, 45, 0, 0, 495, 497, 5, 46, 0, 0, 496, 494, - 1, 0, 0, 0, 496, 495, 1, 0, 0, 0, 497, 499, - 1, 0, 0, 0, 498, 500, 3, 50, 25, 0, 499, 498, - 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 499, - 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 49, - 1, 0, 0, 0, 503, 504, 7, 1, 0, 0, 504, 510, - 3, 268, 134, 0, 505, 508, 3, 146, 73, 0, 506, 508, - 3, 230, 115, 0, 507, 505, 1, 0, 0, 0, 507, 506, - 1, 0, 0, 0, 508, 510, 1, 0, 0, 0, 509, 503, - 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 510, 51, - 1, 0, 0, 0, 511, 513, 3, 54, 27, 0, 512, 514, - 3, 56, 28, 0, 513, 512, 1, 0, 0, 0, 513, 514, - 1, 0, 0, 0, 514, 516, 1, 0, 0, 0, 515, 517, - 3, 58, 29, 0, 516, 515, 1, 0, 0, 0, 516, 517, - 1, 0, 0, 0, 517, 554, 1, 0, 0, 0, 518, 520, - 3, 54, 27, 0, 519, 521, 3, 58, 29, 0, 520, 519, - 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 523, - 1, 0, 0, 0, 522, 524, 3, 56, 28, 0, 523, 522, - 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 554, - 1, 0, 0, 0, 525, 527, 3, 56, 28, 0, 526, 528, - 3, 54, 27, 0, 527, 526, 1, 0, 0, 0, 527, 528, - 1, 0, 0, 0, 528, 530, 1, 0, 0, 0, 529, 531, - 3, 58, 29, 0, 530, 529, 1, 0, 0, 0, 530, 531, - 1, 0, 0, 0, 531, 554, 1, 0, 0, 0, 532, 534, - 3, 56, 28, 0, 533, 535, 3, 58, 29, 0, 534, 533, - 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 537, - 1, 0, 0, 0, 536, 538, 3, 54, 27, 0, 537, 536, - 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 554, - 1, 0, 0, 0, 539, 541, 3, 58, 29, 0, 540, 542, - 3, 56, 28, 0, 541, 540, 1, 0, 0, 0, 541, 542, - 1, 0, 0, 0, 542, 544, 1, 0, 0, 0, 543, 545, - 3, 54, 27, 0, 544, 543, 1, 0, 0, 0, 544, 545, - 1, 0, 0, 0, 545, 554, 1, 0, 0, 0, 546, 548, - 3, 58, 29, 0, 547, 549, 3, 54, 27, 0, 548, 547, - 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 551, - 1, 0, 0, 0, 550, 552, 3, 56, 28, 0, 551, 550, - 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 554, - 1, 0, 0, 0, 553, 511, 1, 0, 0, 0, 553, 518, - 1, 0, 0, 0, 553, 525, 1, 0, 0, 0, 553, 532, - 1, 0, 0, 0, 553, 539, 1, 0, 0, 0, 553, 546, - 1, 0, 0, 0, 554, 53, 1, 0, 0, 0, 555, 556, - 5, 49, 0, 0, 556, 557, 3, 208, 104, 0, 557, 55, - 1, 0, 0, 0, 558, 559, 5, 50, 0, 0, 559, 560, - 3, 208, 104, 0, 560, 57, 1, 0, 0, 0, 561, 562, - 5, 51, 0, 0, 562, 563, 3, 208, 104, 0, 563, 59, - 1, 0, 0, 0, 564, 565, 5, 52, 0, 0, 565, 567, - 3, 130, 65, 0, 566, 564, 1, 0, 0, 0, 566, 567, - 1, 0, 0, 0, 567, 61, 1, 0, 0, 0, 568, 574, - 3, 4, 2, 0, 569, 572, 3, 64, 32, 0, 570, 571, - 5, 6, 0, 0, 571, 573, 3, 62, 31, 0, 572, 570, - 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 575, - 1, 0, 0, 0, 574, 569, 1, 0, 0, 0, 574, 575, - 1, 0, 0, 0, 575, 63, 1, 0, 0, 0, 576, 588, - 3, 66, 33, 0, 577, 588, 3, 68, 34, 0, 578, 588, - 3, 70, 35, 0, 579, 588, 3, 74, 37, 0, 580, 588, - 3, 76, 38, 0, 581, 588, 3, 78, 39, 0, 582, 588, - 3, 72, 36, 0, 583, 588, 3, 80, 40, 0, 584, 588, - 3, 82, 41, 0, 585, 588, 3, 84, 42, 0, 586, 588, - 3, 86, 43, 0, 587, 576, 1, 0, 0, 0, 587, 577, - 1, 0, 0, 0, 587, 578, 1, 0, 0, 0, 587, 579, - 1, 0, 0, 0, 587, 580, 1, 0, 0, 0, 587, 581, - 1, 0, 0, 0, 587, 582, 1, 0, 0, 0, 587, 583, - 1, 0, 0, 0, 587, 584, 1, 0, 0, 0, 587, 585, - 1, 0, 0, 0, 587, 586, 1, 0, 0, 0, 588, 65, - 1, 0, 0, 0, 589, 591, 5, 53, 0, 0, 590, 592, - 5, 54, 0, 0, 591, 590, 1, 0, 0, 0, 591, 592, - 1, 0, 0, 0, 592, 593, 1, 0, 0, 0, 593, 596, - 3, 302, 151, 0, 594, 595, 5, 55, 0, 0, 595, 597, - 3, 96, 48, 0, 596, 594, 1, 0, 0, 0, 596, 597, - 1, 0, 0, 0, 597, 67, 1, 0, 0, 0, 598, 600, - 5, 56, 0, 0, 599, 601, 5, 54, 0, 0, 600, 599, - 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, - 1, 0, 0, 0, 602, 603, 3, 98, 49, 0, 603, 69, - 1, 0, 0, 0, 604, 606, 5, 57, 0, 0, 605, 607, - 5, 54, 0, 0, 606, 605, 1, 0, 0, 0, 606, 607, - 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, - 3, 98, 49, 0, 609, 71, 1, 0, 0, 0, 610, 612, - 5, 58, 0, 0, 611, 613, 5, 54, 0, 0, 612, 611, - 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 614, - 1, 0, 0, 0, 614, 615, 3, 96, 48, 0, 615, 73, - 1, 0, 0, 0, 616, 618, 5, 59, 0, 0, 617, 619, - 5, 54, 0, 0, 618, 617, 1, 0, 0, 0, 618, 619, - 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 621, - 3, 94, 47, 0, 621, 622, 5, 60, 0, 0, 622, 623, - 3, 94, 47, 0, 623, 75, 1, 0, 0, 0, 624, 626, - 5, 62, 0, 0, 625, 627, 5, 54, 0, 0, 626, 625, - 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 628, - 1, 0, 0, 0, 628, 629, 3, 94, 47, 0, 629, 630, - 5, 60, 0, 0, 630, 631, 3, 94, 47, 0, 631, 77, - 1, 0, 0, 0, 632, 634, 5, 63, 0, 0, 633, 635, - 5, 54, 0, 0, 634, 633, 1, 0, 0, 0, 634, 635, - 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 637, - 3, 94, 47, 0, 637, 638, 5, 60, 0, 0, 638, 639, - 3, 94, 47, 0, 639, 79, 1, 0, 0, 0, 640, 641, - 5, 64, 0, 0, 641, 642, 5, 61, 0, 0, 642, 643, - 3, 102, 51, 0, 643, 81, 1, 0, 0, 0, 644, 645, - 5, 65, 0, 0, 645, 646, 5, 61, 0, 0, 646, 647, - 3, 102, 51, 0, 647, 83, 1, 0, 0, 0, 648, 649, - 5, 65, 0, 0, 649, 650, 5, 37, 0, 0, 650, 651, - 3, 100, 50, 0, 651, 85, 1, 0, 0, 0, 652, 653, - 5, 66, 0, 0, 653, 655, 3, 302, 151, 0, 654, 652, - 1, 0, 0, 0, 654, 655, 1, 0, 0, 0, 655, 661, - 1, 0, 0, 0, 656, 658, 3, 88, 44, 0, 657, 659, - 3, 90, 45, 0, 658, 657, 1, 0, 0, 0, 658, 659, - 1, 0, 0, 0, 659, 662, 1, 0, 0, 0, 660, 662, - 3, 90, 45, 0, 661, 656, 1, 0, 0, 0, 661, 660, - 1, 0, 0, 0, 662, 666, 1, 0, 0, 0, 663, 665, - 3, 92, 46, 0, 664, 663, 1, 0, 0, 0, 665, 668, - 1, 0, 0, 0, 666, 664, 1, 0, 0, 0, 666, 667, - 1, 0, 0, 0, 667, 669, 1, 0, 0, 0, 668, 666, - 1, 0, 0, 0, 669, 670, 5, 37, 0, 0, 670, 671, - 3, 110, 55, 0, 671, 87, 1, 0, 0, 0, 672, 673, - 5, 65, 0, 0, 673, 674, 3, 100, 50, 0, 674, 89, - 1, 0, 0, 0, 675, 676, 5, 64, 0, 0, 676, 677, - 3, 100, 50, 0, 677, 91, 1, 0, 0, 0, 678, 682, - 5, 67, 0, 0, 679, 683, 5, 85, 0, 0, 680, 681, - 5, 41, 0, 0, 681, 683, 3, 302, 151, 0, 682, 679, - 1, 0, 0, 0, 682, 680, 1, 0, 0, 0, 683, 93, - 1, 0, 0, 0, 684, 688, 5, 68, 0, 0, 685, 686, - 5, 69, 0, 0, 686, 688, 3, 302, 151, 0, 687, 684, - 1, 0, 0, 0, 687, 685, 1, 0, 0, 0, 688, 95, - 1, 0, 0, 0, 689, 690, 5, 69, 0, 0, 690, 691, - 3, 302, 151, 0, 691, 97, 1, 0, 0, 0, 692, 697, - 3, 96, 48, 0, 693, 697, 5, 68, 0, 0, 694, 697, - 5, 41, 0, 0, 695, 697, 5, 70, 0, 0, 696, 692, - 1, 0, 0, 0, 696, 693, 1, 0, 0, 0, 696, 694, - 1, 0, 0, 0, 696, 695, 1, 0, 0, 0, 697, 99, - 1, 0, 0, 0, 698, 699, 5, 4, 0, 0, 699, 700, - 3, 104, 52, 0, 700, 701, 5, 5, 0, 0, 701, 101, - 1, 0, 0, 0, 702, 703, 5, 4, 0, 0, 703, 704, - 3, 104, 52, 0, 704, 705, 5, 5, 0, 0, 705, 103, - 1, 0, 0, 0, 706, 708, 3, 108, 54, 0, 707, 706, - 1, 0, 0, 0, 707, 708, 1, 0, 0, 0, 708, 718, - 1, 0, 0, 0, 709, 711, 3, 106, 53, 0, 710, 712, - 5, 7, 0, 0, 711, 710, 1, 0, 0, 0, 711, 712, - 1, 0, 0, 0, 712, 714, 1, 0, 0, 0, 713, 715, - 3, 108, 54, 0, 714, 713, 1, 0, 0, 0, 714, 715, - 1, 0, 0, 0, 715, 717, 1, 0, 0, 0, 716, 709, - 1, 0, 0, 0, 717, 720, 1, 0, 0, 0, 718, 716, - 1, 0, 0, 0, 718, 719, 1, 0, 0, 0, 719, 105, - 1, 0, 0, 0, 720, 718, 1, 0, 0, 0, 721, 722, - 5, 69, 0, 0, 722, 723, 3, 228, 114, 0, 723, 725, - 5, 4, 0, 0, 724, 726, 3, 108, 54, 0, 725, 724, - 1, 0, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, - 1, 0, 0, 0, 727, 728, 5, 5, 0, 0, 728, 107, - 1, 0, 0, 0, 729, 734, 3, 158, 79, 0, 730, 732, - 5, 7, 0, 0, 731, 733, 3, 108, 54, 0, 732, 731, - 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 735, - 1, 0, 0, 0, 734, 730, 1, 0, 0, 0, 734, 735, - 1, 0, 0, 0, 735, 109, 1, 0, 0, 0, 736, 739, - 5, 4, 0, 0, 737, 740, 3, 12, 6, 0, 738, 740, - 3, 112, 56, 0, 739, 737, 1, 0, 0, 0, 739, 738, - 1, 0, 0, 0, 740, 741, 1, 0, 0, 0, 741, 742, - 5, 5, 0, 0, 742, 111, 1, 0, 0, 0, 743, 745, - 3, 116, 58, 0, 744, 743, 1, 0, 0, 0, 744, 745, - 1, 0, 0, 0, 745, 749, 1, 0, 0, 0, 746, 748, - 3, 114, 57, 0, 747, 746, 1, 0, 0, 0, 748, 751, - 1, 0, 0, 0, 749, 747, 1, 0, 0, 0, 749, 750, - 1, 0, 0, 0, 750, 113, 1, 0, 0, 0, 751, 749, - 1, 0, 0, 0, 752, 754, 3, 118, 59, 0, 753, 755, - 5, 7, 0, 0, 754, 753, 1, 0, 0, 0, 754, 755, - 1, 0, 0, 0, 755, 757, 1, 0, 0, 0, 756, 758, - 3, 116, 58, 0, 757, 756, 1, 0, 0, 0, 757, 758, - 1, 0, 0, 0, 758, 115, 1, 0, 0, 0, 759, 764, - 3, 170, 85, 0, 760, 762, 5, 7, 0, 0, 761, 763, - 3, 116, 58, 0, 762, 761, 1, 0, 0, 0, 762, 763, - 1, 0, 0, 0, 763, 765, 1, 0, 0, 0, 764, 760, - 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 117, - 1, 0, 0, 0, 766, 775, 3, 142, 71, 0, 767, 775, - 3, 120, 60, 0, 768, 775, 3, 140, 70, 0, 769, 775, - 3, 122, 61, 0, 770, 775, 3, 124, 62, 0, 771, 775, - 3, 144, 72, 0, 772, 775, 3, 126, 63, 0, 773, 775, - 3, 128, 64, 0, 774, 766, 1, 0, 0, 0, 774, 767, - 1, 0, 0, 0, 774, 768, 1, 0, 0, 0, 774, 769, - 1, 0, 0, 0, 774, 770, 1, 0, 0, 0, 774, 771, - 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774, 773, - 1, 0, 0, 0, 775, 119, 1, 0, 0, 0, 776, 777, - 5, 71, 0, 0, 777, 778, 3, 110, 55, 0, 778, 121, - 1, 0, 0, 0, 779, 780, 5, 69, 0, 0, 780, 781, - 3, 228, 114, 0, 781, 782, 3, 110, 55, 0, 782, 123, - 1, 0, 0, 0, 783, 785, 5, 72, 0, 0, 784, 786, - 5, 54, 0, 0, 785, 784, 1, 0, 0, 0, 785, 786, - 1, 0, 0, 0, 786, 787, 1, 0, 0, 0, 787, 788, - 3, 228, 114, 0, 788, 789, 3, 110, 55, 0, 789, 125, - 1, 0, 0, 0, 790, 791, 5, 73, 0, 0, 791, 792, - 5, 2, 0, 0, 792, 793, 3, 234, 117, 0, 793, 794, - 5, 35, 0, 0, 794, 795, 3, 230, 115, 0, 795, 796, - 5, 3, 0, 0, 796, 127, 1, 0, 0, 0, 797, 798, - 5, 52, 0, 0, 798, 799, 3, 130, 65, 0, 799, 129, - 1, 0, 0, 0, 800, 803, 3, 132, 66, 0, 801, 803, - 3, 134, 67, 0, 802, 800, 1, 0, 0, 0, 802, 801, - 1, 0, 0, 0, 803, 131, 1, 0, 0, 0, 804, 805, - 3, 230, 115, 0, 805, 809, 5, 4, 0, 0, 806, 808, - 3, 138, 69, 0, 807, 806, 1, 0, 0, 0, 808, 811, - 1, 0, 0, 0, 809, 807, 1, 0, 0, 0, 809, 810, - 1, 0, 0, 0, 810, 812, 1, 0, 0, 0, 811, 809, - 1, 0, 0, 0, 812, 813, 5, 5, 0, 0, 813, 133, - 1, 0, 0, 0, 814, 824, 5, 164, 0, 0, 815, 819, - 5, 2, 0, 0, 816, 818, 3, 230, 115, 0, 817, 816, - 1, 0, 0, 0, 818, 821, 1, 0, 0, 0, 819, 817, - 1, 0, 0, 0, 819, 820, 1, 0, 0, 0, 820, 822, - 1, 0, 0, 0, 821, 819, 1, 0, 0, 0, 822, 824, - 5, 3, 0, 0, 823, 814, 1, 0, 0, 0, 823, 815, - 1, 0, 0, 0, 824, 825, 1, 0, 0, 0, 825, 829, - 5, 4, 0, 0, 826, 828, 3, 136, 68, 0, 827, 826, - 1, 0, 0, 0, 828, 831, 1, 0, 0, 0, 829, 827, - 1, 0, 0, 0, 829, 830, 1, 0, 0, 0, 830, 832, - 1, 0, 0, 0, 831, 829, 1, 0, 0, 0, 832, 833, - 5, 5, 0, 0, 833, 135, 1, 0, 0, 0, 834, 838, - 5, 2, 0, 0, 835, 837, 3, 138, 69, 0, 836, 835, - 1, 0, 0, 0, 837, 840, 1, 0, 0, 0, 838, 836, - 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, - 1, 0, 0, 0, 840, 838, 1, 0, 0, 0, 841, 844, - 5, 3, 0, 0, 842, 844, 5, 164, 0, 0, 843, 834, - 1, 0, 0, 0, 843, 842, 1, 0, 0, 0, 844, 137, - 1, 0, 0, 0, 845, 851, 3, 302, 151, 0, 846, 851, - 3, 288, 144, 0, 847, 851, 3, 290, 145, 0, 848, 851, - 3, 298, 149, 0, 849, 851, 5, 74, 0, 0, 850, 845, - 1, 0, 0, 0, 850, 846, 1, 0, 0, 0, 850, 847, - 1, 0, 0, 0, 850, 848, 1, 0, 0, 0, 850, 849, - 1, 0, 0, 0, 851, 139, 1, 0, 0, 0, 852, 853, - 5, 75, 0, 0, 853, 854, 3, 110, 55, 0, 854, 141, - 1, 0, 0, 0, 855, 860, 3, 110, 55, 0, 856, 857, - 5, 76, 0, 0, 857, 859, 3, 110, 55, 0, 858, 856, - 1, 0, 0, 0, 859, 862, 1, 0, 0, 0, 860, 858, - 1, 0, 0, 0, 860, 861, 1, 0, 0, 0, 861, 143, - 1, 0, 0, 0, 862, 860, 1, 0, 0, 0, 863, 864, - 5, 77, 0, 0, 864, 865, 3, 146, 73, 0, 865, 145, - 1, 0, 0, 0, 866, 870, 3, 268, 134, 0, 867, 870, - 3, 270, 135, 0, 868, 870, 3, 148, 74, 0, 869, 866, - 1, 0, 0, 0, 869, 867, 1, 0, 0, 0, 869, 868, - 1, 0, 0, 0, 870, 147, 1, 0, 0, 0, 871, 872, - 3, 302, 151, 0, 872, 873, 3, 150, 75, 0, 873, 149, - 1, 0, 0, 0, 874, 890, 5, 164, 0, 0, 875, 877, - 5, 2, 0, 0, 876, 878, 5, 33, 0, 0, 877, 876, - 1, 0, 0, 0, 877, 878, 1, 0, 0, 0, 878, 879, - 1, 0, 0, 0, 879, 884, 3, 234, 117, 0, 880, 881, - 5, 8, 0, 0, 881, 883, 3, 234, 117, 0, 882, 880, - 1, 0, 0, 0, 883, 886, 1, 0, 0, 0, 884, 882, - 1, 0, 0, 0, 884, 885, 1, 0, 0, 0, 885, 887, - 1, 0, 0, 0, 886, 884, 1, 0, 0, 0, 887, 888, - 5, 3, 0, 0, 888, 890, 1, 0, 0, 0, 889, 874, - 1, 0, 0, 0, 889, 875, 1, 0, 0, 0, 890, 151, - 1, 0, 0, 0, 891, 904, 5, 164, 0, 0, 892, 893, - 5, 2, 0, 0, 893, 898, 3, 234, 117, 0, 894, 895, - 5, 8, 0, 0, 895, 897, 3, 234, 117, 0, 896, 894, - 1, 0, 0, 0, 897, 900, 1, 0, 0, 0, 898, 896, - 1, 0, 0, 0, 898, 899, 1, 0, 0, 0, 899, 901, - 1, 0, 0, 0, 900, 898, 1, 0, 0, 0, 901, 902, - 5, 3, 0, 0, 902, 904, 1, 0, 0, 0, 903, 891, - 1, 0, 0, 0, 903, 892, 1, 0, 0, 0, 904, 153, - 1, 0, 0, 0, 905, 907, 5, 4, 0, 0, 906, 908, - 3, 156, 78, 0, 907, 906, 1, 0, 0, 0, 907, 908, - 1, 0, 0, 0, 908, 909, 1, 0, 0, 0, 909, 910, - 5, 5, 0, 0, 910, 155, 1, 0, 0, 0, 911, 916, - 3, 158, 79, 0, 912, 914, 5, 7, 0, 0, 913, 915, - 3, 156, 78, 0, 914, 913, 1, 0, 0, 0, 914, 915, - 1, 0, 0, 0, 915, 917, 1, 0, 0, 0, 916, 912, - 1, 0, 0, 0, 916, 917, 1, 0, 0, 0, 917, 157, - 1, 0, 0, 0, 918, 919, 3, 226, 113, 0, 919, 920, - 3, 162, 81, 0, 920, 925, 1, 0, 0, 0, 921, 922, - 3, 210, 105, 0, 922, 923, 3, 160, 80, 0, 923, 925, - 1, 0, 0, 0, 924, 918, 1, 0, 0, 0, 924, 921, - 1, 0, 0, 0, 925, 159, 1, 0, 0, 0, 926, 928, - 3, 162, 81, 0, 927, 926, 1, 0, 0, 0, 927, 928, - 1, 0, 0, 0, 928, 161, 1, 0, 0, 0, 929, 930, - 3, 164, 82, 0, 930, 939, 3, 166, 83, 0, 931, 935, - 5, 6, 0, 0, 932, 933, 3, 164, 82, 0, 933, 934, - 3, 166, 83, 0, 934, 936, 1, 0, 0, 0, 935, 932, - 1, 0, 0, 0, 935, 936, 1, 0, 0, 0, 936, 938, - 1, 0, 0, 0, 937, 931, 1, 0, 0, 0, 938, 941, - 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 940, - 1, 0, 0, 0, 940, 163, 1, 0, 0, 0, 941, 939, - 1, 0, 0, 0, 942, 945, 3, 228, 114, 0, 943, 945, - 5, 9, 0, 0, 944, 942, 1, 0, 0, 0, 944, 943, - 1, 0, 0, 0, 945, 165, 1, 0, 0, 0, 946, 951, - 3, 168, 84, 0, 947, 948, 5, 8, 0, 0, 948, 950, - 3, 168, 84, 0, 949, 947, 1, 0, 0, 0, 950, 953, - 1, 0, 0, 0, 951, 949, 1, 0, 0, 0, 951, 952, - 1, 0, 0, 0, 952, 167, 1, 0, 0, 0, 953, 951, - 1, 0, 0, 0, 954, 955, 3, 222, 111, 0, 955, 169, - 1, 0, 0, 0, 956, 957, 3, 226, 113, 0, 957, 958, - 3, 174, 87, 0, 958, 963, 1, 0, 0, 0, 959, 960, - 3, 214, 107, 0, 960, 961, 3, 172, 86, 0, 961, 963, - 1, 0, 0, 0, 962, 956, 1, 0, 0, 0, 962, 959, - 1, 0, 0, 0, 963, 171, 1, 0, 0, 0, 964, 966, - 3, 174, 87, 0, 965, 964, 1, 0, 0, 0, 965, 966, - 1, 0, 0, 0, 966, 173, 1, 0, 0, 0, 967, 974, - 3, 182, 91, 0, 968, 970, 5, 6, 0, 0, 969, 971, - 3, 180, 90, 0, 970, 969, 1, 0, 0, 0, 970, 971, - 1, 0, 0, 0, 971, 973, 1, 0, 0, 0, 972, 968, - 1, 0, 0, 0, 973, 976, 1, 0, 0, 0, 974, 972, - 1, 0, 0, 0, 974, 975, 1, 0, 0, 0, 975, 175, - 1, 0, 0, 0, 976, 974, 1, 0, 0, 0, 977, 978, - 3, 190, 95, 0, 978, 177, 1, 0, 0, 0, 979, 980, - 3, 230, 115, 0, 980, 179, 1, 0, 0, 0, 981, 982, - 3, 184, 92, 0, 982, 983, 3, 166, 83, 0, 983, 181, - 1, 0, 0, 0, 984, 985, 3, 184, 92, 0, 985, 986, - 3, 186, 93, 0, 986, 183, 1, 0, 0, 0, 987, 990, - 3, 176, 88, 0, 988, 990, 3, 178, 89, 0, 989, 987, - 1, 0, 0, 0, 989, 988, 1, 0, 0, 0, 990, 185, - 1, 0, 0, 0, 991, 996, 3, 188, 94, 0, 992, 993, - 5, 8, 0, 0, 993, 995, 3, 188, 94, 0, 994, 992, - 1, 0, 0, 0, 995, 998, 1, 0, 0, 0, 996, 994, - 1, 0, 0, 0, 996, 997, 1, 0, 0, 0, 997, 187, - 1, 0, 0, 0, 998, 996, 1, 0, 0, 0, 999, 1000, - 3, 224, 112, 0, 1000, 189, 1, 0, 0, 0, 1001, 1002, - 3, 192, 96, 0, 1002, 191, 1, 0, 0, 0, 1003, 1008, - 3, 194, 97, 0, 1004, 1005, 5, 10, 0, 0, 1005, 1007, - 3, 194, 97, 0, 1006, 1004, 1, 0, 0, 0, 1007, 1010, - 1, 0, 0, 0, 1008, 1006, 1, 0, 0, 0, 1008, 1009, - 1, 0, 0, 0, 1009, 193, 1, 0, 0, 0, 1010, 1008, - 1, 0, 0, 0, 1011, 1016, 3, 198, 99, 0, 1012, 1013, - 5, 11, 0, 0, 1013, 1015, 3, 198, 99, 0, 1014, 1012, - 1, 0, 0, 0, 1015, 1018, 1, 0, 0, 0, 1016, 1014, - 1, 0, 0, 0, 1016, 1017, 1, 0, 0, 0, 1017, 195, - 1, 0, 0, 0, 1018, 1016, 1, 0, 0, 0, 1019, 1021, - 3, 202, 101, 0, 1020, 1022, 3, 200, 100, 0, 1021, 1020, - 1, 0, 0, 0, 1021, 1022, 1, 0, 0, 0, 1022, 197, - 1, 0, 0, 0, 1023, 1027, 3, 196, 98, 0, 1024, 1025, - 5, 12, 0, 0, 1025, 1027, 3, 196, 98, 0, 1026, 1023, - 1, 0, 0, 0, 1026, 1024, 1, 0, 0, 0, 1027, 199, - 1, 0, 0, 0, 1028, 1029, 7, 2, 0, 0, 1029, 201, - 1, 0, 0, 0, 1030, 1039, 3, 302, 151, 0, 1031, 1039, - 5, 9, 0, 0, 1032, 1033, 5, 15, 0, 0, 1033, 1039, - 3, 204, 102, 0, 1034, 1035, 5, 2, 0, 0, 1035, 1036, - 3, 190, 95, 0, 1036, 1037, 5, 3, 0, 0, 1037, 1039, - 1, 0, 0, 0, 1038, 1030, 1, 0, 0, 0, 1038, 1031, - 1, 0, 0, 0, 1038, 1032, 1, 0, 0, 0, 1038, 1034, - 1, 0, 0, 0, 1039, 203, 1, 0, 0, 0, 1040, 1054, - 3, 206, 103, 0, 1041, 1050, 5, 2, 0, 0, 1042, 1047, - 3, 206, 103, 0, 1043, 1044, 5, 10, 0, 0, 1044, 1046, - 3, 206, 103, 0, 1045, 1043, 1, 0, 0, 0, 1046, 1049, - 1, 0, 0, 0, 1047, 1045, 1, 0, 0, 0, 1047, 1048, - 1, 0, 0, 0, 1048, 1051, 1, 0, 0, 0, 1049, 1047, - 1, 0, 0, 0, 1050, 1042, 1, 0, 0, 0, 1050, 1051, - 1, 0, 0, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1054, - 5, 3, 0, 0, 1053, 1040, 1, 0, 0, 0, 1053, 1041, - 1, 0, 0, 0, 1054, 205, 1, 0, 0, 0, 1055, 1063, - 3, 302, 151, 0, 1056, 1063, 5, 9, 0, 0, 1057, 1060, - 5, 12, 0, 0, 1058, 1061, 3, 302, 151, 0, 1059, 1061, - 5, 9, 0, 0, 1060, 1058, 1, 0, 0, 0, 1060, 1059, - 1, 0, 0, 0, 1061, 1063, 1, 0, 0, 0, 1062, 1055, - 1, 0, 0, 0, 1062, 1056, 1, 0, 0, 0, 1062, 1057, - 1, 0, 0, 0, 1063, 207, 1, 0, 0, 0, 1064, 1065, - 5, 149, 0, 0, 1065, 209, 1, 0, 0, 0, 1066, 1069, - 3, 218, 109, 0, 1067, 1069, 3, 212, 106, 0, 1068, 1066, - 1, 0, 0, 0, 1068, 1067, 1, 0, 0, 0, 1069, 211, - 1, 0, 0, 0, 1070, 1071, 5, 16, 0, 0, 1071, 1072, - 3, 162, 81, 0, 1072, 1073, 5, 17, 0, 0, 1073, 213, - 1, 0, 0, 0, 1074, 1077, 3, 220, 110, 0, 1075, 1077, - 3, 216, 108, 0, 1076, 1074, 1, 0, 0, 0, 1076, 1075, - 1, 0, 0, 0, 1077, 215, 1, 0, 0, 0, 1078, 1079, - 5, 16, 0, 0, 1079, 1080, 3, 174, 87, 0, 1080, 1081, - 5, 17, 0, 0, 1081, 217, 1, 0, 0, 0, 1082, 1084, - 5, 2, 0, 0, 1083, 1085, 3, 222, 111, 0, 1084, 1083, - 1, 0, 0, 0, 1085, 1086, 1, 0, 0, 0, 1086, 1084, - 1, 0, 0, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1088, - 1, 0, 0, 0, 1088, 1089, 5, 3, 0, 0, 1089, 219, - 1, 0, 0, 0, 1090, 1092, 5, 2, 0, 0, 1091, 1093, - 3, 224, 112, 0, 1092, 1091, 1, 0, 0, 0, 1093, 1094, - 1, 0, 0, 0, 1094, 1092, 1, 0, 0, 0, 1094, 1095, - 1, 0, 0, 0, 1095, 1096, 1, 0, 0, 0, 1096, 1097, - 5, 3, 0, 0, 1097, 221, 1, 0, 0, 0, 1098, 1101, - 3, 226, 113, 0, 1099, 1101, 3, 210, 105, 0, 1100, 1098, - 1, 0, 0, 0, 1100, 1099, 1, 0, 0, 0, 1101, 223, - 1, 0, 0, 0, 1102, 1105, 3, 226, 113, 0, 1103, 1105, - 3, 214, 107, 0, 1104, 1102, 1, 0, 0, 0, 1104, 1103, - 1, 0, 0, 0, 1105, 225, 1, 0, 0, 0, 1106, 1109, - 3, 230, 115, 0, 1107, 1109, 3, 232, 116, 0, 1108, 1106, - 1, 0, 0, 0, 1108, 1107, 1, 0, 0, 0, 1109, 227, - 1, 0, 0, 0, 1110, 1113, 3, 230, 115, 0, 1111, 1113, - 3, 302, 151, 0, 1112, 1110, 1, 0, 0, 0, 1112, 1111, - 1, 0, 0, 0, 1113, 229, 1, 0, 0, 0, 1114, 1115, - 7, 3, 0, 0, 1115, 231, 1, 0, 0, 0, 1116, 1123, - 3, 302, 151, 0, 1117, 1123, 3, 288, 144, 0, 1118, 1123, - 3, 290, 145, 0, 1119, 1123, 3, 298, 149, 0, 1120, 1123, - 3, 306, 153, 0, 1121, 1123, 5, 164, 0, 0, 1122, 1116, - 1, 0, 0, 0, 1122, 1117, 1, 0, 0, 0, 1122, 1118, - 1, 0, 0, 0, 1122, 1119, 1, 0, 0, 0, 1122, 1120, - 1, 0, 0, 0, 1122, 1121, 1, 0, 0, 0, 1123, 233, - 1, 0, 0, 0, 1124, 1125, 3, 236, 118, 0, 1125, 235, - 1, 0, 0, 0, 1126, 1131, 3, 238, 119, 0, 1127, 1128, - 5, 18, 0, 0, 1128, 1130, 3, 238, 119, 0, 1129, 1127, - 1, 0, 0, 0, 1130, 1133, 1, 0, 0, 0, 1131, 1129, - 1, 0, 0, 0, 1131, 1132, 1, 0, 0, 0, 1132, 237, - 1, 0, 0, 0, 1133, 1131, 1, 0, 0, 0, 1134, 1139, - 3, 240, 120, 0, 1135, 1136, 5, 19, 0, 0, 1136, 1138, - 3, 240, 120, 0, 1137, 1135, 1, 0, 0, 0, 1138, 1141, - 1, 0, 0, 0, 1139, 1137, 1, 0, 0, 0, 1139, 1140, - 1, 0, 0, 0, 1140, 239, 1, 0, 0, 0, 1141, 1139, - 1, 0, 0, 0, 1142, 1143, 3, 242, 121, 0, 1143, 241, - 1, 0, 0, 0, 1144, 1162, 3, 244, 122, 0, 1145, 1146, - 5, 20, 0, 0, 1146, 1163, 3, 244, 122, 0, 1147, 1148, - 5, 21, 0, 0, 1148, 1163, 3, 244, 122, 0, 1149, 1150, - 5, 22, 0, 0, 1150, 1163, 3, 244, 122, 0, 1151, 1152, - 5, 23, 0, 0, 1152, 1163, 3, 244, 122, 0, 1153, 1154, - 5, 24, 0, 0, 1154, 1163, 3, 244, 122, 0, 1155, 1156, - 5, 25, 0, 0, 1156, 1163, 3, 244, 122, 0, 1157, 1158, - 5, 79, 0, 0, 1158, 1163, 3, 152, 76, 0, 1159, 1160, - 5, 78, 0, 0, 1160, 1161, 5, 79, 0, 0, 1161, 1163, - 3, 152, 76, 0, 1162, 1145, 1, 0, 0, 0, 1162, 1147, - 1, 0, 0, 0, 1162, 1149, 1, 0, 0, 0, 1162, 1151, - 1, 0, 0, 0, 1162, 1153, 1, 0, 0, 0, 1162, 1155, - 1, 0, 0, 0, 1162, 1157, 1, 0, 0, 0, 1162, 1159, - 1, 0, 0, 0, 1162, 1163, 1, 0, 0, 0, 1163, 243, - 1, 0, 0, 0, 1164, 1165, 3, 246, 123, 0, 1165, 245, - 1, 0, 0, 0, 1166, 1170, 3, 256, 128, 0, 1167, 1169, - 3, 248, 124, 0, 1168, 1167, 1, 0, 0, 0, 1169, 1172, - 1, 0, 0, 0, 1170, 1168, 1, 0, 0, 0, 1170, 1171, - 1, 0, 0, 0, 1171, 247, 1, 0, 0, 0, 1172, 1170, - 1, 0, 0, 0, 1173, 1174, 5, 13, 0, 0, 1174, 1179, - 3, 250, 125, 0, 1175, 1176, 5, 26, 0, 0, 1176, 1179, - 3, 252, 126, 0, 1177, 1179, 3, 254, 127, 0, 1178, 1173, - 1, 0, 0, 0, 1178, 1175, 1, 0, 0, 0, 1178, 1177, - 1, 0, 0, 0, 1179, 249, 1, 0, 0, 0, 1180, 1181, - 3, 256, 128, 0, 1181, 251, 1, 0, 0, 0, 1182, 1183, - 3, 256, 128, 0, 1183, 253, 1, 0, 0, 0, 1184, 1187, - 3, 294, 147, 0, 1185, 1187, 3, 296, 148, 0, 1186, 1184, - 1, 0, 0, 0, 1186, 1185, 1, 0, 0, 0, 1187, 1191, - 1, 0, 0, 0, 1188, 1190, 3, 258, 129, 0, 1189, 1188, - 1, 0, 0, 0, 1190, 1193, 1, 0, 0, 0, 1191, 1189, - 1, 0, 0, 0, 1191, 1192, 1, 0, 0, 0, 1192, 255, - 1, 0, 0, 0, 1193, 1191, 1, 0, 0, 0, 1194, 1198, - 3, 264, 132, 0, 1195, 1197, 3, 258, 129, 0, 1196, 1195, - 1, 0, 0, 0, 1197, 1200, 1, 0, 0, 0, 1198, 1196, - 1, 0, 0, 0, 1198, 1199, 1, 0, 0, 0, 1199, 257, - 1, 0, 0, 0, 1200, 1198, 1, 0, 0, 0, 1201, 1204, - 3, 260, 130, 0, 1202, 1204, 3, 262, 131, 0, 1203, 1201, - 1, 0, 0, 0, 1203, 1202, 1, 0, 0, 0, 1204, 259, - 1, 0, 0, 0, 1205, 1206, 5, 1, 0, 0, 1206, 1207, - 3, 264, 132, 0, 1207, 261, 1, 0, 0, 0, 1208, 1209, - 5, 11, 0, 0, 1209, 1210, 3, 264, 132, 0, 1210, 263, - 1, 0, 0, 0, 1211, 1212, 5, 15, 0, 0, 1212, 1219, - 3, 266, 133, 0, 1213, 1214, 5, 13, 0, 0, 1214, 1219, - 3, 266, 133, 0, 1215, 1216, 5, 26, 0, 0, 1216, 1219, - 3, 266, 133, 0, 1217, 1219, 3, 266, 133, 0, 1218, 1211, - 1, 0, 0, 0, 1218, 1213, 1, 0, 0, 0, 1218, 1215, - 1, 0, 0, 0, 1218, 1217, 1, 0, 0, 0, 1219, 265, - 1, 0, 0, 0, 1220, 1228, 3, 268, 134, 0, 1221, 1228, - 3, 270, 135, 0, 1222, 1228, 3, 286, 143, 0, 1223, 1228, - 3, 288, 144, 0, 1224, 1228, 3, 290, 145, 0, 1225, 1228, - 3, 298, 149, 0, 1226, 1228, 3, 230, 115, 0, 1227, 1220, - 1, 0, 0, 0, 1227, 1221, 1, 0, 0, 0, 1227, 1222, - 1, 0, 0, 0, 1227, 1223, 1, 0, 0, 0, 1227, 1224, - 1, 0, 0, 0, 1227, 1225, 1, 0, 0, 0, 1227, 1226, - 1, 0, 0, 0, 1228, 267, 1, 0, 0, 0, 1229, 1230, - 5, 2, 0, 0, 1230, 1231, 3, 234, 117, 0, 1231, 1232, - 5, 3, 0, 0, 1232, 269, 1, 0, 0, 0, 1233, 1488, - 3, 284, 142, 0, 1234, 1235, 5, 80, 0, 0, 1235, 1236, - 5, 2, 0, 0, 1236, 1237, 3, 234, 117, 0, 1237, 1238, - 5, 3, 0, 0, 1238, 1488, 1, 0, 0, 0, 1239, 1488, - 3, 274, 137, 0, 1240, 1241, 5, 82, 0, 0, 1241, 1242, - 5, 2, 0, 0, 1242, 1243, 3, 234, 117, 0, 1243, 1244, - 5, 8, 0, 0, 1244, 1245, 3, 234, 117, 0, 1245, 1246, - 5, 3, 0, 0, 1246, 1488, 1, 0, 0, 0, 1247, 1248, - 5, 83, 0, 0, 1248, 1249, 5, 2, 0, 0, 1249, 1250, - 3, 234, 117, 0, 1250, 1251, 5, 3, 0, 0, 1251, 1488, - 1, 0, 0, 0, 1252, 1253, 5, 84, 0, 0, 1253, 1254, - 5, 2, 0, 0, 1254, 1255, 3, 230, 115, 0, 1255, 1256, - 5, 3, 0, 0, 1256, 1488, 1, 0, 0, 0, 1257, 1258, - 5, 85, 0, 0, 1258, 1259, 5, 2, 0, 0, 1259, 1260, - 3, 234, 117, 0, 1260, 1261, 5, 3, 0, 0, 1261, 1488, - 1, 0, 0, 0, 1262, 1263, 5, 86, 0, 0, 1263, 1264, - 5, 2, 0, 0, 1264, 1265, 3, 234, 117, 0, 1265, 1266, - 5, 3, 0, 0, 1266, 1488, 1, 0, 0, 0, 1267, 1273, - 5, 87, 0, 0, 1268, 1269, 5, 2, 0, 0, 1269, 1270, - 3, 234, 117, 0, 1270, 1271, 5, 3, 0, 0, 1271, 1274, - 1, 0, 0, 0, 1272, 1274, 5, 164, 0, 0, 1273, 1268, - 1, 0, 0, 0, 1273, 1272, 1, 0, 0, 0, 1274, 1488, - 1, 0, 0, 0, 1275, 1276, 5, 88, 0, 0, 1276, 1488, - 5, 164, 0, 0, 1277, 1278, 5, 89, 0, 0, 1278, 1279, - 5, 2, 0, 0, 1279, 1280, 3, 234, 117, 0, 1280, 1281, - 5, 3, 0, 0, 1281, 1488, 1, 0, 0, 0, 1282, 1283, - 5, 90, 0, 0, 1283, 1284, 5, 2, 0, 0, 1284, 1285, - 3, 234, 117, 0, 1285, 1286, 5, 3, 0, 0, 1286, 1488, - 1, 0, 0, 0, 1287, 1288, 5, 91, 0, 0, 1288, 1289, - 5, 2, 0, 0, 1289, 1290, 3, 234, 117, 0, 1290, 1291, - 5, 3, 0, 0, 1291, 1488, 1, 0, 0, 0, 1292, 1293, - 5, 92, 0, 0, 1293, 1294, 5, 2, 0, 0, 1294, 1295, - 3, 234, 117, 0, 1295, 1296, 5, 3, 0, 0, 1296, 1488, - 1, 0, 0, 0, 1297, 1298, 5, 93, 0, 0, 1298, 1488, - 3, 152, 76, 0, 1299, 1488, 3, 276, 138, 0, 1300, 1301, - 5, 94, 0, 0, 1301, 1302, 5, 2, 0, 0, 1302, 1303, - 3, 234, 117, 0, 1303, 1304, 5, 3, 0, 0, 1304, 1488, - 1, 0, 0, 0, 1305, 1488, 3, 278, 139, 0, 1306, 1307, - 5, 95, 0, 0, 1307, 1308, 5, 2, 0, 0, 1308, 1309, - 3, 234, 117, 0, 1309, 1310, 5, 3, 0, 0, 1310, 1488, - 1, 0, 0, 0, 1311, 1312, 5, 96, 0, 0, 1312, 1313, - 5, 2, 0, 0, 1313, 1314, 3, 234, 117, 0, 1314, 1315, - 5, 3, 0, 0, 1315, 1488, 1, 0, 0, 0, 1316, 1317, - 5, 97, 0, 0, 1317, 1318, 5, 2, 0, 0, 1318, 1319, - 3, 234, 117, 0, 1319, 1320, 5, 3, 0, 0, 1320, 1488, - 1, 0, 0, 0, 1321, 1322, 5, 99, 0, 0, 1322, 1323, - 5, 2, 0, 0, 1323, 1324, 3, 234, 117, 0, 1324, 1325, - 5, 8, 0, 0, 1325, 1326, 3, 234, 117, 0, 1326, 1327, - 5, 3, 0, 0, 1327, 1488, 1, 0, 0, 0, 1328, 1329, - 5, 100, 0, 0, 1329, 1330, 5, 2, 0, 0, 1330, 1331, - 3, 234, 117, 0, 1331, 1332, 5, 8, 0, 0, 1332, 1333, - 3, 234, 117, 0, 1333, 1334, 5, 3, 0, 0, 1334, 1488, - 1, 0, 0, 0, 1335, 1336, 5, 101, 0, 0, 1336, 1337, - 5, 2, 0, 0, 1337, 1338, 3, 234, 117, 0, 1338, 1339, - 5, 8, 0, 0, 1339, 1340, 3, 234, 117, 0, 1340, 1341, - 5, 3, 0, 0, 1341, 1488, 1, 0, 0, 0, 1342, 1343, - 5, 102, 0, 0, 1343, 1344, 5, 2, 0, 0, 1344, 1345, - 3, 234, 117, 0, 1345, 1346, 5, 8, 0, 0, 1346, 1347, - 3, 234, 117, 0, 1347, 1348, 5, 3, 0, 0, 1348, 1488, - 1, 0, 0, 0, 1349, 1350, 5, 103, 0, 0, 1350, 1351, - 5, 2, 0, 0, 1351, 1352, 3, 234, 117, 0, 1352, 1353, - 5, 8, 0, 0, 1353, 1354, 3, 234, 117, 0, 1354, 1355, - 5, 3, 0, 0, 1355, 1488, 1, 0, 0, 0, 1356, 1357, - 5, 104, 0, 0, 1357, 1358, 5, 2, 0, 0, 1358, 1359, - 3, 234, 117, 0, 1359, 1360, 5, 3, 0, 0, 1360, 1488, - 1, 0, 0, 0, 1361, 1362, 5, 105, 0, 0, 1362, 1363, - 5, 2, 0, 0, 1363, 1364, 3, 234, 117, 0, 1364, 1365, - 5, 3, 0, 0, 1365, 1488, 1, 0, 0, 0, 1366, 1367, - 5, 106, 0, 0, 1367, 1368, 5, 2, 0, 0, 1368, 1369, - 3, 234, 117, 0, 1369, 1370, 5, 3, 0, 0, 1370, 1488, - 1, 0, 0, 0, 1371, 1372, 5, 107, 0, 0, 1372, 1373, - 5, 2, 0, 0, 1373, 1374, 3, 234, 117, 0, 1374, 1375, - 5, 3, 0, 0, 1375, 1488, 1, 0, 0, 0, 1376, 1377, - 5, 108, 0, 0, 1377, 1378, 5, 2, 0, 0, 1378, 1379, - 3, 234, 117, 0, 1379, 1380, 5, 3, 0, 0, 1380, 1488, - 1, 0, 0, 0, 1381, 1382, 5, 109, 0, 0, 1382, 1383, - 5, 2, 0, 0, 1383, 1384, 3, 234, 117, 0, 1384, 1385, - 5, 3, 0, 0, 1385, 1488, 1, 0, 0, 0, 1386, 1387, - 5, 110, 0, 0, 1387, 1388, 5, 2, 0, 0, 1388, 1389, - 3, 234, 117, 0, 1389, 1390, 5, 3, 0, 0, 1390, 1488, - 1, 0, 0, 0, 1391, 1392, 5, 111, 0, 0, 1392, 1393, - 5, 2, 0, 0, 1393, 1394, 3, 234, 117, 0, 1394, 1395, - 5, 3, 0, 0, 1395, 1488, 1, 0, 0, 0, 1396, 1397, - 5, 112, 0, 0, 1397, 1488, 5, 164, 0, 0, 1398, 1399, - 5, 113, 0, 0, 1399, 1488, 5, 164, 0, 0, 1400, 1401, - 5, 114, 0, 0, 1401, 1488, 5, 164, 0, 0, 1402, 1403, - 5, 119, 0, 0, 1403, 1404, 5, 2, 0, 0, 1404, 1405, - 3, 234, 117, 0, 1405, 1406, 5, 3, 0, 0, 1406, 1488, - 1, 0, 0, 0, 1407, 1408, 5, 115, 0, 0, 1408, 1409, - 5, 2, 0, 0, 1409, 1410, 3, 234, 117, 0, 1410, 1411, - 5, 3, 0, 0, 1411, 1488, 1, 0, 0, 0, 1412, 1413, - 5, 116, 0, 0, 1413, 1414, 5, 2, 0, 0, 1414, 1415, - 3, 234, 117, 0, 1415, 1416, 5, 3, 0, 0, 1416, 1488, - 1, 0, 0, 0, 1417, 1418, 5, 117, 0, 0, 1418, 1419, - 5, 2, 0, 0, 1419, 1420, 3, 234, 117, 0, 1420, 1421, - 5, 3, 0, 0, 1421, 1488, 1, 0, 0, 0, 1422, 1423, - 5, 118, 0, 0, 1423, 1424, 5, 2, 0, 0, 1424, 1425, - 3, 234, 117, 0, 1425, 1426, 5, 3, 0, 0, 1426, 1488, - 1, 0, 0, 0, 1427, 1428, 5, 120, 0, 0, 1428, 1488, - 3, 152, 76, 0, 1429, 1430, 5, 121, 0, 0, 1430, 1431, - 5, 2, 0, 0, 1431, 1432, 3, 234, 117, 0, 1432, 1433, - 5, 8, 0, 0, 1433, 1434, 3, 234, 117, 0, 1434, 1435, - 5, 8, 0, 0, 1435, 1436, 3, 234, 117, 0, 1436, 1437, - 5, 3, 0, 0, 1437, 1488, 1, 0, 0, 0, 1438, 1439, - 5, 122, 0, 0, 1439, 1440, 5, 2, 0, 0, 1440, 1441, - 3, 234, 117, 0, 1441, 1442, 5, 8, 0, 0, 1442, 1443, - 3, 234, 117, 0, 1443, 1444, 5, 3, 0, 0, 1444, 1488, - 1, 0, 0, 0, 1445, 1446, 5, 123, 0, 0, 1446, 1447, - 5, 2, 0, 0, 1447, 1448, 3, 234, 117, 0, 1448, 1449, - 5, 8, 0, 0, 1449, 1450, 3, 234, 117, 0, 1450, 1451, - 5, 3, 0, 0, 1451, 1488, 1, 0, 0, 0, 1452, 1453, - 5, 124, 0, 0, 1453, 1454, 5, 2, 0, 0, 1454, 1455, - 3, 234, 117, 0, 1455, 1456, 5, 8, 0, 0, 1456, 1457, - 3, 234, 117, 0, 1457, 1458, 5, 3, 0, 0, 1458, 1488, - 1, 0, 0, 0, 1459, 1460, 5, 125, 0, 0, 1460, 1461, - 5, 2, 0, 0, 1461, 1462, 3, 234, 117, 0, 1462, 1463, - 5, 3, 0, 0, 1463, 1488, 1, 0, 0, 0, 1464, 1465, - 5, 126, 0, 0, 1465, 1466, 5, 2, 0, 0, 1466, 1467, - 3, 234, 117, 0, 1467, 1468, 5, 3, 0, 0, 1468, 1488, - 1, 0, 0, 0, 1469, 1470, 5, 127, 0, 0, 1470, 1471, - 5, 2, 0, 0, 1471, 1472, 3, 234, 117, 0, 1472, 1473, - 5, 3, 0, 0, 1473, 1488, 1, 0, 0, 0, 1474, 1475, - 5, 128, 0, 0, 1475, 1476, 5, 2, 0, 0, 1476, 1477, - 3, 234, 117, 0, 1477, 1478, 5, 3, 0, 0, 1478, 1488, - 1, 0, 0, 0, 1479, 1480, 5, 129, 0, 0, 1480, 1481, - 5, 2, 0, 0, 1481, 1482, 3, 234, 117, 0, 1482, 1483, - 5, 3, 0, 0, 1483, 1488, 1, 0, 0, 0, 1484, 1488, - 3, 272, 136, 0, 1485, 1488, 3, 280, 140, 0, 1486, 1488, - 3, 282, 141, 0, 1487, 1233, 1, 0, 0, 0, 1487, 1234, - 1, 0, 0, 0, 1487, 1239, 1, 0, 0, 0, 1487, 1240, - 1, 0, 0, 0, 1487, 1247, 1, 0, 0, 0, 1487, 1252, - 1, 0, 0, 0, 1487, 1257, 1, 0, 0, 0, 1487, 1262, - 1, 0, 0, 0, 1487, 1267, 1, 0, 0, 0, 1487, 1275, - 1, 0, 0, 0, 1487, 1277, 1, 0, 0, 0, 1487, 1282, - 1, 0, 0, 0, 1487, 1287, 1, 0, 0, 0, 1487, 1292, - 1, 0, 0, 0, 1487, 1297, 1, 0, 0, 0, 1487, 1299, - 1, 0, 0, 0, 1487, 1300, 1, 0, 0, 0, 1487, 1305, - 1, 0, 0, 0, 1487, 1306, 1, 0, 0, 0, 1487, 1311, - 1, 0, 0, 0, 1487, 1316, 1, 0, 0, 0, 1487, 1321, - 1, 0, 0, 0, 1487, 1328, 1, 0, 0, 0, 1487, 1335, - 1, 0, 0, 0, 1487, 1342, 1, 0, 0, 0, 1487, 1349, - 1, 0, 0, 0, 1487, 1356, 1, 0, 0, 0, 1487, 1361, - 1, 0, 0, 0, 1487, 1366, 1, 0, 0, 0, 1487, 1371, - 1, 0, 0, 0, 1487, 1376, 1, 0, 0, 0, 1487, 1381, - 1, 0, 0, 0, 1487, 1386, 1, 0, 0, 0, 1487, 1391, - 1, 0, 0, 0, 1487, 1396, 1, 0, 0, 0, 1487, 1398, - 1, 0, 0, 0, 1487, 1400, 1, 0, 0, 0, 1487, 1402, - 1, 0, 0, 0, 1487, 1407, 1, 0, 0, 0, 1487, 1412, - 1, 0, 0, 0, 1487, 1417, 1, 0, 0, 0, 1487, 1422, - 1, 0, 0, 0, 1487, 1427, 1, 0, 0, 0, 1487, 1429, - 1, 0, 0, 0, 1487, 1438, 1, 0, 0, 0, 1487, 1445, - 1, 0, 0, 0, 1487, 1452, 1, 0, 0, 0, 1487, 1459, - 1, 0, 0, 0, 1487, 1464, 1, 0, 0, 0, 1487, 1469, - 1, 0, 0, 0, 1487, 1474, 1, 0, 0, 0, 1487, 1479, - 1, 0, 0, 0, 1487, 1484, 1, 0, 0, 0, 1487, 1485, - 1, 0, 0, 0, 1487, 1486, 1, 0, 0, 0, 1488, 271, - 1, 0, 0, 0, 1489, 1490, 5, 130, 0, 0, 1490, 1491, - 5, 2, 0, 0, 1491, 1492, 3, 234, 117, 0, 1492, 1493, - 5, 8, 0, 0, 1493, 1496, 3, 234, 117, 0, 1494, 1495, - 5, 8, 0, 0, 1495, 1497, 3, 234, 117, 0, 1496, 1494, - 1, 0, 0, 0, 1496, 1497, 1, 0, 0, 0, 1497, 1498, - 1, 0, 0, 0, 1498, 1499, 5, 3, 0, 0, 1499, 273, - 1, 0, 0, 0, 1500, 1501, 5, 81, 0, 0, 1501, 1502, - 5, 2, 0, 0, 1502, 1503, 3, 234, 117, 0, 1503, 1504, - 5, 3, 0, 0, 1504, 275, 1, 0, 0, 0, 1505, 1506, - 5, 131, 0, 0, 1506, 1507, 5, 2, 0, 0, 1507, 1508, - 3, 234, 117, 0, 1508, 1509, 5, 8, 0, 0, 1509, 1512, - 3, 234, 117, 0, 1510, 1511, 5, 8, 0, 0, 1511, 1513, - 3, 234, 117, 0, 1512, 1510, 1, 0, 0, 0, 1512, 1513, - 1, 0, 0, 0, 1513, 1514, 1, 0, 0, 0, 1514, 1515, - 5, 3, 0, 0, 1515, 277, 1, 0, 0, 0, 1516, 1517, - 5, 132, 0, 0, 1517, 1518, 5, 2, 0, 0, 1518, 1519, - 3, 234, 117, 0, 1519, 1520, 5, 8, 0, 0, 1520, 1521, - 3, 234, 117, 0, 1521, 1522, 5, 8, 0, 0, 1522, 1525, - 3, 234, 117, 0, 1523, 1524, 5, 8, 0, 0, 1524, 1526, - 3, 234, 117, 0, 1525, 1523, 1, 0, 0, 0, 1525, 1526, - 1, 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1528, - 5, 3, 0, 0, 1528, 279, 1, 0, 0, 0, 1529, 1530, - 5, 133, 0, 0, 1530, 1531, 3, 110, 55, 0, 1531, 281, - 1, 0, 0, 0, 1532, 1533, 5, 78, 0, 0, 1533, 1534, - 5, 133, 0, 0, 1534, 1535, 3, 110, 55, 0, 1535, 283, - 1, 0, 0, 0, 1536, 1537, 5, 134, 0, 0, 1537, 1539, - 5, 2, 0, 0, 1538, 1540, 5, 33, 0, 0, 1539, 1538, - 1, 0, 0, 0, 1539, 1540, 1, 0, 0, 0, 1540, 1543, - 1, 0, 0, 0, 1541, 1544, 5, 1, 0, 0, 1542, 1544, - 3, 234, 117, 0, 1543, 1541, 1, 0, 0, 0, 1543, 1542, - 1, 0, 0, 0, 1544, 1545, 1, 0, 0, 0, 1545, 1601, - 5, 3, 0, 0, 1546, 1547, 5, 135, 0, 0, 1547, 1549, - 5, 2, 0, 0, 1548, 1550, 5, 33, 0, 0, 1549, 1548, - 1, 0, 0, 0, 1549, 1550, 1, 0, 0, 0, 1550, 1551, - 1, 0, 0, 0, 1551, 1552, 3, 234, 117, 0, 1552, 1553, - 5, 3, 0, 0, 1553, 1601, 1, 0, 0, 0, 1554, 1555, - 5, 136, 0, 0, 1555, 1557, 5, 2, 0, 0, 1556, 1558, - 5, 33, 0, 0, 1557, 1556, 1, 0, 0, 0, 1557, 1558, - 1, 0, 0, 0, 1558, 1559, 1, 0, 0, 0, 1559, 1560, - 3, 234, 117, 0, 1560, 1561, 5, 3, 0, 0, 1561, 1601, - 1, 0, 0, 0, 1562, 1563, 5, 137, 0, 0, 1563, 1565, - 5, 2, 0, 0, 1564, 1566, 5, 33, 0, 0, 1565, 1564, - 1, 0, 0, 0, 1565, 1566, 1, 0, 0, 0, 1566, 1567, - 1, 0, 0, 0, 1567, 1568, 3, 234, 117, 0, 1568, 1569, - 5, 3, 0, 0, 1569, 1601, 1, 0, 0, 0, 1570, 1571, - 5, 138, 0, 0, 1571, 1573, 5, 2, 0, 0, 1572, 1574, - 5, 33, 0, 0, 1573, 1572, 1, 0, 0, 0, 1573, 1574, - 1, 0, 0, 0, 1574, 1575, 1, 0, 0, 0, 1575, 1576, - 3, 234, 117, 0, 1576, 1577, 5, 3, 0, 0, 1577, 1601, - 1, 0, 0, 0, 1578, 1579, 5, 139, 0, 0, 1579, 1581, - 5, 2, 0, 0, 1580, 1582, 5, 33, 0, 0, 1581, 1580, - 1, 0, 0, 0, 1581, 1582, 1, 0, 0, 0, 1582, 1583, - 1, 0, 0, 0, 1583, 1584, 3, 234, 117, 0, 1584, 1585, - 5, 3, 0, 0, 1585, 1601, 1, 0, 0, 0, 1586, 1587, - 5, 43, 0, 0, 1587, 1589, 5, 2, 0, 0, 1588, 1590, - 5, 33, 0, 0, 1589, 1588, 1, 0, 0, 0, 1589, 1590, - 1, 0, 0, 0, 1590, 1591, 1, 0, 0, 0, 1591, 1596, - 3, 234, 117, 0, 1592, 1593, 5, 6, 0, 0, 1593, 1594, - 5, 140, 0, 0, 1594, 1595, 5, 20, 0, 0, 1595, 1597, - 3, 300, 150, 0, 1596, 1592, 1, 0, 0, 0, 1596, 1597, - 1, 0, 0, 0, 1597, 1598, 1, 0, 0, 0, 1598, 1599, - 5, 3, 0, 0, 1599, 1601, 1, 0, 0, 0, 1600, 1536, - 1, 0, 0, 0, 1600, 1546, 1, 0, 0, 0, 1600, 1554, - 1, 0, 0, 0, 1600, 1562, 1, 0, 0, 0, 1600, 1570, - 1, 0, 0, 0, 1600, 1578, 1, 0, 0, 0, 1600, 1586, - 1, 0, 0, 0, 1601, 285, 1, 0, 0, 0, 1602, 1604, - 3, 302, 151, 0, 1603, 1605, 3, 150, 75, 0, 1604, 1603, - 1, 0, 0, 0, 1604, 1605, 1, 0, 0, 0, 1605, 287, - 1, 0, 0, 0, 1606, 1610, 3, 300, 150, 0, 1607, 1611, - 5, 147, 0, 0, 1608, 1609, 5, 27, 0, 0, 1609, 1611, - 3, 302, 151, 0, 1610, 1607, 1, 0, 0, 0, 1610, 1608, - 1, 0, 0, 0, 1610, 1611, 1, 0, 0, 0, 1611, 289, - 1, 0, 0, 0, 1612, 1616, 3, 292, 146, 0, 1613, 1616, - 3, 294, 147, 0, 1614, 1616, 3, 296, 148, 0, 1615, 1612, - 1, 0, 0, 0, 1615, 1613, 1, 0, 0, 0, 1615, 1614, - 1, 0, 0, 0, 1616, 291, 1, 0, 0, 0, 1617, 1618, - 7, 4, 0, 0, 1618, 293, 1, 0, 0, 0, 1619, 1620, - 7, 5, 0, 0, 1620, 295, 1, 0, 0, 0, 1621, 1622, - 7, 6, 0, 0, 1622, 297, 1, 0, 0, 0, 1623, 1624, - 7, 7, 0, 0, 1624, 299, 1, 0, 0, 0, 1625, 1626, - 7, 8, 0, 0, 1626, 301, 1, 0, 0, 0, 1627, 1629, - 5, 148, 0, 0, 1628, 1627, 1, 0, 0, 0, 1628, 1629, - 1, 0, 0, 0, 1629, 1632, 1, 0, 0, 0, 1630, 1633, - 3, 308, 154, 0, 1631, 1633, 3, 304, 152, 0, 1632, 1630, - 1, 0, 0, 0, 1632, 1631, 1, 0, 0, 0, 1633, 303, - 1, 0, 0, 0, 1634, 1637, 3, 310, 155, 0, 1635, 1637, - 3, 312, 156, 0, 1636, 1634, 1, 0, 0, 0, 1636, 1635, - 1, 0, 0, 0, 1637, 305, 1, 0, 0, 0, 1638, 1639, - 7, 9, 0, 0, 1639, 307, 1, 0, 0, 0, 1640, 1641, - 5, 141, 0, 0, 1641, 309, 1, 0, 0, 0, 1642, 1643, - 5, 143, 0, 0, 1643, 311, 1, 0, 0, 0, 1644, 1645, - 5, 142, 0, 0, 1645, 313, 1, 0, 0, 0, 161, 316, - 325, 331, 333, 347, 360, 365, 368, 372, 387, 396, 402, 406, - 412, 415, 420, 424, 432, 441, 451, 456, 459, 462, 465, 471, - 479, 484, 490, 496, 501, 507, 509, 513, 516, 520, 523, 527, - 530, 534, 537, 541, 544, 548, 551, 553, 566, 572, 574, 587, - 591, 596, 600, 606, 612, 618, 626, 634, 654, 658, 661, 666, - 682, 687, 696, 707, 711, 714, 718, 725, 732, 734, 739, 744, - 749, 754, 757, 762, 764, 774, 785, 802, 809, 819, 823, 829, - 838, 843, 850, 860, 869, 877, 884, 889, 898, 903, 907, 914, - 916, 924, 927, 935, 939, 944, 951, 962, 965, 970, 974, 989, - 996, 1008, 1016, 1021, 1026, 1038, 1047, 1050, 1053, 1060, 1062, 1068, - 1076, 1086, 1094, 1100, 1104, 1108, 1112, 1122, 1131, 1139, 1162, 1170, - 1178, 1186, 1191, 1198, 1203, 1218, 1227, 1273, 1487, 1496, 1512, 1525, - 1539, 1543, 1549, 1557, 1565, 1573, 1581, 1589, 1596, 1600, 1604, 1610, - 1615, 1628, 1632, 1636}; + 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, + 142, 3, 142, 1598, 8, 142, 1, 142, 1, 142, 1, 142, + 1, 142, 1, 142, 3, 142, 1605, 8, 142, 1, 142, 1, + 142, 3, 142, 1609, 8, 142, 1, 143, 1, 143, 3, 143, + 1613, 8, 143, 1, 144, 1, 144, 1, 144, 1, 144, 3, + 144, 1619, 8, 144, 1, 145, 1, 145, 1, 145, 3, 145, + 1624, 8, 145, 1, 146, 1, 146, 1, 147, 1, 147, 1, + 148, 1, 148, 1, 149, 1, 149, 1, 150, 1, 150, 1, + 151, 3, 151, 1637, 8, 151, 1, 151, 1, 151, 3, 151, + 1641, 8, 151, 1, 152, 1, 152, 3, 152, 1645, 8, 152, + 1, 153, 1, 153, 1, 154, 1, 154, 1, 155, 1, 155, + 1, 156, 1, 156, 1, 156, 0, 0, 157, 0, 2, 4, + 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, + 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, + 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, + 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, + 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, + 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, + 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, + 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, + 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, + 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, + 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, + 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, + 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 0, 10, + 1, 0, 33, 34, 1, 0, 47, 48, 2, 0, 1, 1, + 13, 14, 1, 0, 146, 147, 1, 0, 150, 152, 1, 0, + 153, 155, 1, 0, 156, 158, 1, 0, 28, 29, 1, 0, + 160, 163, 2, 0, 145, 145, 166, 166, 1771, 0, 316, 1, + 0, 0, 0, 2, 320, 1, 0, 0, 0, 4, 333, 1, + 0, 0, 0, 6, 336, 1, 0, 0, 0, 8, 339, 1, + 0, 0, 0, 10, 343, 1, 0, 0, 0, 12, 353, 1, + 0, 0, 0, 14, 358, 1, 0, 0, 0, 16, 372, 1, + 0, 0, 0, 18, 374, 1, 0, 0, 0, 20, 378, 1, + 0, 0, 0, 22, 382, 1, 0, 0, 0, 24, 408, 1, + 0, 0, 0, 26, 428, 1, 0, 0, 0, 28, 438, 1, + 0, 0, 0, 30, 443, 1, 0, 0, 0, 32, 445, 1, + 0, 0, 0, 34, 448, 1, 0, 0, 0, 36, 451, 1, + 0, 0, 0, 38, 456, 1, 0, 0, 0, 40, 467, 1, + 0, 0, 0, 42, 484, 1, 0, 0, 0, 44, 486, 1, + 0, 0, 0, 46, 492, 1, 0, 0, 0, 48, 496, 1, + 0, 0, 0, 50, 509, 1, 0, 0, 0, 52, 553, 1, + 0, 0, 0, 54, 555, 1, 0, 0, 0, 56, 558, 1, + 0, 0, 0, 58, 561, 1, 0, 0, 0, 60, 566, 1, + 0, 0, 0, 62, 568, 1, 0, 0, 0, 64, 587, 1, + 0, 0, 0, 66, 589, 1, 0, 0, 0, 68, 598, 1, + 0, 0, 0, 70, 604, 1, 0, 0, 0, 72, 610, 1, + 0, 0, 0, 74, 616, 1, 0, 0, 0, 76, 624, 1, + 0, 0, 0, 78, 632, 1, 0, 0, 0, 80, 640, 1, + 0, 0, 0, 82, 644, 1, 0, 0, 0, 84, 648, 1, + 0, 0, 0, 86, 654, 1, 0, 0, 0, 88, 672, 1, + 0, 0, 0, 90, 675, 1, 0, 0, 0, 92, 678, 1, + 0, 0, 0, 94, 687, 1, 0, 0, 0, 96, 689, 1, + 0, 0, 0, 98, 696, 1, 0, 0, 0, 100, 698, 1, + 0, 0, 0, 102, 702, 1, 0, 0, 0, 104, 707, 1, + 0, 0, 0, 106, 721, 1, 0, 0, 0, 108, 729, 1, + 0, 0, 0, 110, 736, 1, 0, 0, 0, 112, 744, 1, + 0, 0, 0, 114, 752, 1, 0, 0, 0, 116, 759, 1, + 0, 0, 0, 118, 774, 1, 0, 0, 0, 120, 776, 1, + 0, 0, 0, 122, 779, 1, 0, 0, 0, 124, 783, 1, + 0, 0, 0, 126, 790, 1, 0, 0, 0, 128, 797, 1, + 0, 0, 0, 130, 802, 1, 0, 0, 0, 132, 804, 1, + 0, 0, 0, 134, 823, 1, 0, 0, 0, 136, 843, 1, + 0, 0, 0, 138, 850, 1, 0, 0, 0, 140, 852, 1, + 0, 0, 0, 142, 855, 1, 0, 0, 0, 144, 863, 1, + 0, 0, 0, 146, 869, 1, 0, 0, 0, 148, 871, 1, + 0, 0, 0, 150, 889, 1, 0, 0, 0, 152, 903, 1, + 0, 0, 0, 154, 905, 1, 0, 0, 0, 156, 911, 1, + 0, 0, 0, 158, 924, 1, 0, 0, 0, 160, 927, 1, + 0, 0, 0, 162, 929, 1, 0, 0, 0, 164, 944, 1, + 0, 0, 0, 166, 946, 1, 0, 0, 0, 168, 954, 1, + 0, 0, 0, 170, 962, 1, 0, 0, 0, 172, 965, 1, + 0, 0, 0, 174, 967, 1, 0, 0, 0, 176, 977, 1, + 0, 0, 0, 178, 979, 1, 0, 0, 0, 180, 981, 1, + 0, 0, 0, 182, 984, 1, 0, 0, 0, 184, 989, 1, + 0, 0, 0, 186, 991, 1, 0, 0, 0, 188, 999, 1, + 0, 0, 0, 190, 1001, 1, 0, 0, 0, 192, 1003, 1, + 0, 0, 0, 194, 1011, 1, 0, 0, 0, 196, 1019, 1, + 0, 0, 0, 198, 1026, 1, 0, 0, 0, 200, 1028, 1, + 0, 0, 0, 202, 1038, 1, 0, 0, 0, 204, 1053, 1, + 0, 0, 0, 206, 1062, 1, 0, 0, 0, 208, 1064, 1, + 0, 0, 0, 210, 1068, 1, 0, 0, 0, 212, 1070, 1, + 0, 0, 0, 214, 1076, 1, 0, 0, 0, 216, 1078, 1, + 0, 0, 0, 218, 1082, 1, 0, 0, 0, 220, 1090, 1, + 0, 0, 0, 222, 1100, 1, 0, 0, 0, 224, 1104, 1, + 0, 0, 0, 226, 1108, 1, 0, 0, 0, 228, 1112, 1, + 0, 0, 0, 230, 1114, 1, 0, 0, 0, 232, 1122, 1, + 0, 0, 0, 234, 1124, 1, 0, 0, 0, 236, 1126, 1, + 0, 0, 0, 238, 1134, 1, 0, 0, 0, 240, 1142, 1, + 0, 0, 0, 242, 1144, 1, 0, 0, 0, 244, 1164, 1, + 0, 0, 0, 246, 1166, 1, 0, 0, 0, 248, 1178, 1, + 0, 0, 0, 250, 1180, 1, 0, 0, 0, 252, 1182, 1, + 0, 0, 0, 254, 1186, 1, 0, 0, 0, 256, 1194, 1, + 0, 0, 0, 258, 1203, 1, 0, 0, 0, 260, 1205, 1, + 0, 0, 0, 262, 1208, 1, 0, 0, 0, 264, 1218, 1, + 0, 0, 0, 266, 1227, 1, 0, 0, 0, 268, 1229, 1, + 0, 0, 0, 270, 1487, 1, 0, 0, 0, 272, 1489, 1, + 0, 0, 0, 274, 1500, 1, 0, 0, 0, 276, 1505, 1, + 0, 0, 0, 278, 1516, 1, 0, 0, 0, 280, 1529, 1, + 0, 0, 0, 282, 1532, 1, 0, 0, 0, 284, 1608, 1, + 0, 0, 0, 286, 1610, 1, 0, 0, 0, 288, 1614, 1, + 0, 0, 0, 290, 1623, 1, 0, 0, 0, 292, 1625, 1, + 0, 0, 0, 294, 1627, 1, 0, 0, 0, 296, 1629, 1, + 0, 0, 0, 298, 1631, 1, 0, 0, 0, 300, 1633, 1, + 0, 0, 0, 302, 1636, 1, 0, 0, 0, 304, 1644, 1, + 0, 0, 0, 306, 1646, 1, 0, 0, 0, 308, 1648, 1, + 0, 0, 0, 310, 1650, 1, 0, 0, 0, 312, 1652, 1, + 0, 0, 0, 314, 317, 3, 2, 1, 0, 315, 317, 3, + 62, 31, 0, 316, 314, 1, 0, 0, 0, 316, 315, 1, + 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319, 5, + 0, 0, 1, 319, 1, 1, 0, 0, 0, 320, 325, 3, + 4, 2, 0, 321, 326, 3, 10, 5, 0, 322, 326, 3, + 22, 11, 0, 323, 326, 3, 24, 12, 0, 324, 326, 3, + 26, 13, 0, 325, 321, 1, 0, 0, 0, 325, 322, 1, + 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 324, 1, + 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 3, + 60, 30, 0, 328, 3, 1, 0, 0, 0, 329, 332, 3, + 6, 3, 0, 330, 332, 3, 8, 4, 0, 331, 329, 1, + 0, 0, 0, 331, 330, 1, 0, 0, 0, 332, 335, 1, + 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, + 0, 0, 0, 334, 5, 1, 0, 0, 0, 335, 333, 1, + 0, 0, 0, 336, 337, 5, 30, 0, 0, 337, 338, 3, + 308, 154, 0, 338, 7, 1, 0, 0, 0, 339, 340, 5, + 31, 0, 0, 340, 341, 5, 143, 0, 0, 341, 342, 3, + 308, 154, 0, 342, 9, 1, 0, 0, 0, 343, 347, 3, + 14, 7, 0, 344, 346, 3, 28, 14, 0, 345, 344, 1, + 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, + 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 350, 1, + 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 351, 3, + 36, 18, 0, 351, 352, 3, 38, 19, 0, 352, 11, 1, + 0, 0, 0, 353, 354, 3, 14, 7, 0, 354, 355, 3, + 36, 18, 0, 355, 356, 3, 38, 19, 0, 356, 357, 3, + 60, 30, 0, 357, 13, 1, 0, 0, 0, 358, 360, 5, + 32, 0, 0, 359, 361, 7, 0, 0, 0, 360, 359, 1, + 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 368, 1, + 0, 0, 0, 362, 364, 3, 16, 8, 0, 363, 362, 1, + 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, + 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 369, 1, + 0, 0, 0, 367, 369, 5, 1, 0, 0, 368, 363, 1, + 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 15, 1, + 0, 0, 0, 370, 373, 3, 230, 115, 0, 371, 373, 3, + 18, 9, 0, 372, 370, 1, 0, 0, 0, 372, 371, 1, + 0, 0, 0, 373, 17, 1, 0, 0, 0, 374, 375, 5, + 2, 0, 0, 375, 376, 3, 20, 10, 0, 376, 377, 5, + 3, 0, 0, 377, 19, 1, 0, 0, 0, 378, 379, 3, + 234, 117, 0, 379, 380, 5, 35, 0, 0, 380, 381, 3, + 230, 115, 0, 381, 21, 1, 0, 0, 0, 382, 406, 5, + 36, 0, 0, 383, 387, 3, 154, 77, 0, 384, 386, 3, + 28, 14, 0, 385, 384, 1, 0, 0, 0, 386, 389, 1, + 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, + 0, 0, 0, 388, 390, 1, 0, 0, 0, 389, 387, 1, + 0, 0, 0, 390, 391, 3, 36, 18, 0, 391, 392, 3, + 38, 19, 0, 392, 407, 1, 0, 0, 0, 393, 395, 3, + 28, 14, 0, 394, 393, 1, 0, 0, 0, 395, 398, 1, + 0, 0, 0, 396, 394, 1, 0, 0, 0, 396, 397, 1, + 0, 0, 0, 397, 399, 1, 0, 0, 0, 398, 396, 1, + 0, 0, 0, 399, 400, 5, 37, 0, 0, 400, 402, 5, + 4, 0, 0, 401, 403, 3, 108, 54, 0, 402, 401, 1, + 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 404, 1, + 0, 0, 0, 404, 405, 5, 5, 0, 0, 405, 407, 3, + 38, 19, 0, 406, 383, 1, 0, 0, 0, 406, 396, 1, + 0, 0, 0, 407, 23, 1, 0, 0, 0, 408, 415, 5, + 38, 0, 0, 409, 411, 3, 228, 114, 0, 410, 409, 1, + 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 410, 1, + 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 416, 1, + 0, 0, 0, 414, 416, 5, 1, 0, 0, 415, 410, 1, + 0, 0, 0, 415, 414, 1, 0, 0, 0, 416, 420, 1, + 0, 0, 0, 417, 419, 3, 28, 14, 0, 418, 417, 1, + 0, 0, 0, 419, 422, 1, 0, 0, 0, 420, 418, 1, + 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 424, 1, + 0, 0, 0, 422, 420, 1, 0, 0, 0, 423, 425, 3, + 36, 18, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, + 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 427, 3, + 38, 19, 0, 427, 25, 1, 0, 0, 0, 428, 432, 5, + 39, 0, 0, 429, 431, 3, 28, 14, 0, 430, 429, 1, + 0, 0, 0, 431, 434, 1, 0, 0, 0, 432, 430, 1, + 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 435, 1, + 0, 0, 0, 434, 432, 1, 0, 0, 0, 435, 436, 3, + 36, 18, 0, 436, 437, 3, 38, 19, 0, 437, 27, 1, + 0, 0, 0, 438, 441, 5, 40, 0, 0, 439, 442, 3, + 30, 15, 0, 440, 442, 3, 32, 16, 0, 441, 439, 1, + 0, 0, 0, 441, 440, 1, 0, 0, 0, 442, 29, 1, + 0, 0, 0, 443, 444, 3, 34, 17, 0, 444, 31, 1, + 0, 0, 0, 445, 446, 5, 41, 0, 0, 446, 447, 3, + 34, 17, 0, 447, 33, 1, 0, 0, 0, 448, 449, 3, + 302, 151, 0, 449, 35, 1, 0, 0, 0, 450, 452, 5, + 37, 0, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, + 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 454, 3, + 110, 55, 0, 454, 37, 1, 0, 0, 0, 455, 457, 3, + 40, 20, 0, 456, 455, 1, 0, 0, 0, 456, 457, 1, + 0, 0, 0, 457, 459, 1, 0, 0, 0, 458, 460, 3, + 44, 22, 0, 459, 458, 1, 0, 0, 0, 459, 460, 1, + 0, 0, 0, 460, 462, 1, 0, 0, 0, 461, 463, 3, + 48, 24, 0, 462, 461, 1, 0, 0, 0, 462, 463, 1, + 0, 0, 0, 463, 465, 1, 0, 0, 0, 464, 466, 3, + 52, 26, 0, 465, 464, 1, 0, 0, 0, 465, 466, 1, + 0, 0, 0, 466, 39, 1, 0, 0, 0, 467, 469, 5, + 42, 0, 0, 468, 470, 3, 42, 21, 0, 469, 468, 1, + 0, 0, 0, 470, 471, 1, 0, 0, 0, 471, 469, 1, + 0, 0, 0, 471, 472, 1, 0, 0, 0, 472, 41, 1, + 0, 0, 0, 473, 485, 3, 270, 135, 0, 474, 485, 3, + 148, 74, 0, 475, 476, 5, 2, 0, 0, 476, 479, 3, + 234, 117, 0, 477, 478, 5, 35, 0, 0, 478, 480, 3, + 230, 115, 0, 479, 477, 1, 0, 0, 0, 479, 480, 1, + 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, + 3, 0, 0, 482, 485, 1, 0, 0, 0, 483, 485, 3, + 230, 115, 0, 484, 473, 1, 0, 0, 0, 484, 474, 1, + 0, 0, 0, 484, 475, 1, 0, 0, 0, 484, 483, 1, + 0, 0, 0, 485, 43, 1, 0, 0, 0, 486, 488, 5, + 44, 0, 0, 487, 489, 3, 46, 23, 0, 488, 487, 1, + 0, 0, 0, 489, 490, 1, 0, 0, 0, 490, 488, 1, + 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 45, 1, + 0, 0, 0, 492, 493, 3, 146, 73, 0, 493, 47, 1, + 0, 0, 0, 494, 497, 5, 45, 0, 0, 495, 497, 5, + 46, 0, 0, 496, 494, 1, 0, 0, 0, 496, 495, 1, + 0, 0, 0, 497, 499, 1, 0, 0, 0, 498, 500, 3, + 50, 25, 0, 499, 498, 1, 0, 0, 0, 500, 501, 1, + 0, 0, 0, 501, 499, 1, 0, 0, 0, 501, 502, 1, + 0, 0, 0, 502, 49, 1, 0, 0, 0, 503, 504, 7, + 1, 0, 0, 504, 510, 3, 268, 134, 0, 505, 508, 3, + 146, 73, 0, 506, 508, 3, 230, 115, 0, 507, 505, 1, + 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 510, 1, + 0, 0, 0, 509, 503, 1, 0, 0, 0, 509, 507, 1, + 0, 0, 0, 510, 51, 1, 0, 0, 0, 511, 513, 3, + 54, 27, 0, 512, 514, 3, 56, 28, 0, 513, 512, 1, + 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 516, 1, + 0, 0, 0, 515, 517, 3, 58, 29, 0, 516, 515, 1, + 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 554, 1, + 0, 0, 0, 518, 520, 3, 54, 27, 0, 519, 521, 3, + 58, 29, 0, 520, 519, 1, 0, 0, 0, 520, 521, 1, + 0, 0, 0, 521, 523, 1, 0, 0, 0, 522, 524, 3, + 56, 28, 0, 523, 522, 1, 0, 0, 0, 523, 524, 1, + 0, 0, 0, 524, 554, 1, 0, 0, 0, 525, 527, 3, + 56, 28, 0, 526, 528, 3, 54, 27, 0, 527, 526, 1, + 0, 0, 0, 527, 528, 1, 0, 0, 0, 528, 530, 1, + 0, 0, 0, 529, 531, 3, 58, 29, 0, 530, 529, 1, + 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 554, 1, + 0, 0, 0, 532, 534, 3, 56, 28, 0, 533, 535, 3, + 58, 29, 0, 534, 533, 1, 0, 0, 0, 534, 535, 1, + 0, 0, 0, 535, 537, 1, 0, 0, 0, 536, 538, 3, + 54, 27, 0, 537, 536, 1, 0, 0, 0, 537, 538, 1, + 0, 0, 0, 538, 554, 1, 0, 0, 0, 539, 541, 3, + 58, 29, 0, 540, 542, 3, 56, 28, 0, 541, 540, 1, + 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 544, 1, + 0, 0, 0, 543, 545, 3, 54, 27, 0, 544, 543, 1, + 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 554, 1, + 0, 0, 0, 546, 548, 3, 58, 29, 0, 547, 549, 3, + 54, 27, 0, 548, 547, 1, 0, 0, 0, 548, 549, 1, + 0, 0, 0, 549, 551, 1, 0, 0, 0, 550, 552, 3, + 56, 28, 0, 551, 550, 1, 0, 0, 0, 551, 552, 1, + 0, 0, 0, 552, 554, 1, 0, 0, 0, 553, 511, 1, + 0, 0, 0, 553, 518, 1, 0, 0, 0, 553, 525, 1, + 0, 0, 0, 553, 532, 1, 0, 0, 0, 553, 539, 1, + 0, 0, 0, 553, 546, 1, 0, 0, 0, 554, 53, 1, + 0, 0, 0, 555, 556, 5, 49, 0, 0, 556, 557, 3, + 208, 104, 0, 557, 55, 1, 0, 0, 0, 558, 559, 5, + 50, 0, 0, 559, 560, 3, 208, 104, 0, 560, 57, 1, + 0, 0, 0, 561, 562, 5, 51, 0, 0, 562, 563, 3, + 208, 104, 0, 563, 59, 1, 0, 0, 0, 564, 565, 5, + 52, 0, 0, 565, 567, 3, 130, 65, 0, 566, 564, 1, + 0, 0, 0, 566, 567, 1, 0, 0, 0, 567, 61, 1, + 0, 0, 0, 568, 574, 3, 4, 2, 0, 569, 572, 3, + 64, 32, 0, 570, 571, 5, 6, 0, 0, 571, 573, 3, + 62, 31, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, + 0, 0, 0, 573, 575, 1, 0, 0, 0, 574, 569, 1, + 0, 0, 0, 574, 575, 1, 0, 0, 0, 575, 63, 1, + 0, 0, 0, 576, 588, 3, 66, 33, 0, 577, 588, 3, + 68, 34, 0, 578, 588, 3, 70, 35, 0, 579, 588, 3, + 74, 37, 0, 580, 588, 3, 76, 38, 0, 581, 588, 3, + 78, 39, 0, 582, 588, 3, 72, 36, 0, 583, 588, 3, + 80, 40, 0, 584, 588, 3, 82, 41, 0, 585, 588, 3, + 84, 42, 0, 586, 588, 3, 86, 43, 0, 587, 576, 1, + 0, 0, 0, 587, 577, 1, 0, 0, 0, 587, 578, 1, + 0, 0, 0, 587, 579, 1, 0, 0, 0, 587, 580, 1, + 0, 0, 0, 587, 581, 1, 0, 0, 0, 587, 582, 1, + 0, 0, 0, 587, 583, 1, 0, 0, 0, 587, 584, 1, + 0, 0, 0, 587, 585, 1, 0, 0, 0, 587, 586, 1, + 0, 0, 0, 588, 65, 1, 0, 0, 0, 589, 591, 5, + 53, 0, 0, 590, 592, 5, 54, 0, 0, 591, 590, 1, + 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 593, 1, + 0, 0, 0, 593, 596, 3, 302, 151, 0, 594, 595, 5, + 55, 0, 0, 595, 597, 3, 96, 48, 0, 596, 594, 1, + 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 67, 1, + 0, 0, 0, 598, 600, 5, 56, 0, 0, 599, 601, 5, + 54, 0, 0, 600, 599, 1, 0, 0, 0, 600, 601, 1, + 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603, 3, + 98, 49, 0, 603, 69, 1, 0, 0, 0, 604, 606, 5, + 57, 0, 0, 605, 607, 5, 54, 0, 0, 606, 605, 1, + 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 608, 1, + 0, 0, 0, 608, 609, 3, 98, 49, 0, 609, 71, 1, + 0, 0, 0, 610, 612, 5, 58, 0, 0, 611, 613, 5, + 54, 0, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, + 0, 0, 0, 613, 614, 1, 0, 0, 0, 614, 615, 3, + 96, 48, 0, 615, 73, 1, 0, 0, 0, 616, 618, 5, + 59, 0, 0, 617, 619, 5, 54, 0, 0, 618, 617, 1, + 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 1, + 0, 0, 0, 620, 621, 3, 94, 47, 0, 621, 622, 5, + 60, 0, 0, 622, 623, 3, 94, 47, 0, 623, 75, 1, + 0, 0, 0, 624, 626, 5, 62, 0, 0, 625, 627, 5, + 54, 0, 0, 626, 625, 1, 0, 0, 0, 626, 627, 1, + 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 3, + 94, 47, 0, 629, 630, 5, 60, 0, 0, 630, 631, 3, + 94, 47, 0, 631, 77, 1, 0, 0, 0, 632, 634, 5, + 63, 0, 0, 633, 635, 5, 54, 0, 0, 634, 633, 1, + 0, 0, 0, 634, 635, 1, 0, 0, 0, 635, 636, 1, + 0, 0, 0, 636, 637, 3, 94, 47, 0, 637, 638, 5, + 60, 0, 0, 638, 639, 3, 94, 47, 0, 639, 79, 1, + 0, 0, 0, 640, 641, 5, 64, 0, 0, 641, 642, 5, + 61, 0, 0, 642, 643, 3, 102, 51, 0, 643, 81, 1, + 0, 0, 0, 644, 645, 5, 65, 0, 0, 645, 646, 5, + 61, 0, 0, 646, 647, 3, 102, 51, 0, 647, 83, 1, + 0, 0, 0, 648, 649, 5, 65, 0, 0, 649, 650, 5, + 37, 0, 0, 650, 651, 3, 100, 50, 0, 651, 85, 1, + 0, 0, 0, 652, 653, 5, 66, 0, 0, 653, 655, 3, + 302, 151, 0, 654, 652, 1, 0, 0, 0, 654, 655, 1, + 0, 0, 0, 655, 661, 1, 0, 0, 0, 656, 658, 3, + 88, 44, 0, 657, 659, 3, 90, 45, 0, 658, 657, 1, + 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 662, 1, + 0, 0, 0, 660, 662, 3, 90, 45, 0, 661, 656, 1, + 0, 0, 0, 661, 660, 1, 0, 0, 0, 662, 666, 1, + 0, 0, 0, 663, 665, 3, 92, 46, 0, 664, 663, 1, + 0, 0, 0, 665, 668, 1, 0, 0, 0, 666, 664, 1, + 0, 0, 0, 666, 667, 1, 0, 0, 0, 667, 669, 1, + 0, 0, 0, 668, 666, 1, 0, 0, 0, 669, 670, 5, + 37, 0, 0, 670, 671, 3, 110, 55, 0, 671, 87, 1, + 0, 0, 0, 672, 673, 5, 65, 0, 0, 673, 674, 3, + 100, 50, 0, 674, 89, 1, 0, 0, 0, 675, 676, 5, + 64, 0, 0, 676, 677, 3, 100, 50, 0, 677, 91, 1, + 0, 0, 0, 678, 682, 5, 67, 0, 0, 679, 683, 5, + 85, 0, 0, 680, 681, 5, 41, 0, 0, 681, 683, 3, + 302, 151, 0, 682, 679, 1, 0, 0, 0, 682, 680, 1, + 0, 0, 0, 683, 93, 1, 0, 0, 0, 684, 688, 5, + 68, 0, 0, 685, 686, 5, 69, 0, 0, 686, 688, 3, + 302, 151, 0, 687, 684, 1, 0, 0, 0, 687, 685, 1, + 0, 0, 0, 688, 95, 1, 0, 0, 0, 689, 690, 5, + 69, 0, 0, 690, 691, 3, 302, 151, 0, 691, 97, 1, + 0, 0, 0, 692, 697, 3, 96, 48, 0, 693, 697, 5, + 68, 0, 0, 694, 697, 5, 41, 0, 0, 695, 697, 5, + 70, 0, 0, 696, 692, 1, 0, 0, 0, 696, 693, 1, + 0, 0, 0, 696, 694, 1, 0, 0, 0, 696, 695, 1, + 0, 0, 0, 697, 99, 1, 0, 0, 0, 698, 699, 5, + 4, 0, 0, 699, 700, 3, 104, 52, 0, 700, 701, 5, + 5, 0, 0, 701, 101, 1, 0, 0, 0, 702, 703, 5, + 4, 0, 0, 703, 704, 3, 104, 52, 0, 704, 705, 5, + 5, 0, 0, 705, 103, 1, 0, 0, 0, 706, 708, 3, + 108, 54, 0, 707, 706, 1, 0, 0, 0, 707, 708, 1, + 0, 0, 0, 708, 718, 1, 0, 0, 0, 709, 711, 3, + 106, 53, 0, 710, 712, 5, 7, 0, 0, 711, 710, 1, + 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 714, 1, + 0, 0, 0, 713, 715, 3, 108, 54, 0, 714, 713, 1, + 0, 0, 0, 714, 715, 1, 0, 0, 0, 715, 717, 1, + 0, 0, 0, 716, 709, 1, 0, 0, 0, 717, 720, 1, + 0, 0, 0, 718, 716, 1, 0, 0, 0, 718, 719, 1, + 0, 0, 0, 719, 105, 1, 0, 0, 0, 720, 718, 1, + 0, 0, 0, 721, 722, 5, 69, 0, 0, 722, 723, 3, + 228, 114, 0, 723, 725, 5, 4, 0, 0, 724, 726, 3, + 108, 54, 0, 725, 724, 1, 0, 0, 0, 725, 726, 1, + 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 728, 5, + 5, 0, 0, 728, 107, 1, 0, 0, 0, 729, 734, 3, + 158, 79, 0, 730, 732, 5, 7, 0, 0, 731, 733, 3, + 108, 54, 0, 732, 731, 1, 0, 0, 0, 732, 733, 1, + 0, 0, 0, 733, 735, 1, 0, 0, 0, 734, 730, 1, + 0, 0, 0, 734, 735, 1, 0, 0, 0, 735, 109, 1, + 0, 0, 0, 736, 739, 5, 4, 0, 0, 737, 740, 3, + 12, 6, 0, 738, 740, 3, 112, 56, 0, 739, 737, 1, + 0, 0, 0, 739, 738, 1, 0, 0, 0, 740, 741, 1, + 0, 0, 0, 741, 742, 5, 5, 0, 0, 742, 111, 1, + 0, 0, 0, 743, 745, 3, 116, 58, 0, 744, 743, 1, + 0, 0, 0, 744, 745, 1, 0, 0, 0, 745, 749, 1, + 0, 0, 0, 746, 748, 3, 114, 57, 0, 747, 746, 1, + 0, 0, 0, 748, 751, 1, 0, 0, 0, 749, 747, 1, + 0, 0, 0, 749, 750, 1, 0, 0, 0, 750, 113, 1, + 0, 0, 0, 751, 749, 1, 0, 0, 0, 752, 754, 3, + 118, 59, 0, 753, 755, 5, 7, 0, 0, 754, 753, 1, + 0, 0, 0, 754, 755, 1, 0, 0, 0, 755, 757, 1, + 0, 0, 0, 756, 758, 3, 116, 58, 0, 757, 756, 1, + 0, 0, 0, 757, 758, 1, 0, 0, 0, 758, 115, 1, + 0, 0, 0, 759, 764, 3, 170, 85, 0, 760, 762, 5, + 7, 0, 0, 761, 763, 3, 116, 58, 0, 762, 761, 1, + 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 765, 1, + 0, 0, 0, 764, 760, 1, 0, 0, 0, 764, 765, 1, + 0, 0, 0, 765, 117, 1, 0, 0, 0, 766, 775, 3, + 142, 71, 0, 767, 775, 3, 120, 60, 0, 768, 775, 3, + 140, 70, 0, 769, 775, 3, 122, 61, 0, 770, 775, 3, + 124, 62, 0, 771, 775, 3, 144, 72, 0, 772, 775, 3, + 126, 63, 0, 773, 775, 3, 128, 64, 0, 774, 766, 1, + 0, 0, 0, 774, 767, 1, 0, 0, 0, 774, 768, 1, + 0, 0, 0, 774, 769, 1, 0, 0, 0, 774, 770, 1, + 0, 0, 0, 774, 771, 1, 0, 0, 0, 774, 772, 1, + 0, 0, 0, 774, 773, 1, 0, 0, 0, 775, 119, 1, + 0, 0, 0, 776, 777, 5, 71, 0, 0, 777, 778, 3, + 110, 55, 0, 778, 121, 1, 0, 0, 0, 779, 780, 5, + 69, 0, 0, 780, 781, 3, 228, 114, 0, 781, 782, 3, + 110, 55, 0, 782, 123, 1, 0, 0, 0, 783, 785, 5, + 72, 0, 0, 784, 786, 5, 54, 0, 0, 785, 784, 1, + 0, 0, 0, 785, 786, 1, 0, 0, 0, 786, 787, 1, + 0, 0, 0, 787, 788, 3, 228, 114, 0, 788, 789, 3, + 110, 55, 0, 789, 125, 1, 0, 0, 0, 790, 791, 5, + 73, 0, 0, 791, 792, 5, 2, 0, 0, 792, 793, 3, + 234, 117, 0, 793, 794, 5, 35, 0, 0, 794, 795, 3, + 230, 115, 0, 795, 796, 5, 3, 0, 0, 796, 127, 1, + 0, 0, 0, 797, 798, 5, 52, 0, 0, 798, 799, 3, + 130, 65, 0, 799, 129, 1, 0, 0, 0, 800, 803, 3, + 132, 66, 0, 801, 803, 3, 134, 67, 0, 802, 800, 1, + 0, 0, 0, 802, 801, 1, 0, 0, 0, 803, 131, 1, + 0, 0, 0, 804, 805, 3, 230, 115, 0, 805, 809, 5, + 4, 0, 0, 806, 808, 3, 138, 69, 0, 807, 806, 1, + 0, 0, 0, 808, 811, 1, 0, 0, 0, 809, 807, 1, + 0, 0, 0, 809, 810, 1, 0, 0, 0, 810, 812, 1, + 0, 0, 0, 811, 809, 1, 0, 0, 0, 812, 813, 5, + 5, 0, 0, 813, 133, 1, 0, 0, 0, 814, 824, 5, + 165, 0, 0, 815, 819, 5, 2, 0, 0, 816, 818, 3, + 230, 115, 0, 817, 816, 1, 0, 0, 0, 818, 821, 1, + 0, 0, 0, 819, 817, 1, 0, 0, 0, 819, 820, 1, + 0, 0, 0, 820, 822, 1, 0, 0, 0, 821, 819, 1, + 0, 0, 0, 822, 824, 5, 3, 0, 0, 823, 814, 1, + 0, 0, 0, 823, 815, 1, 0, 0, 0, 824, 825, 1, + 0, 0, 0, 825, 829, 5, 4, 0, 0, 826, 828, 3, + 136, 68, 0, 827, 826, 1, 0, 0, 0, 828, 831, 1, + 0, 0, 0, 829, 827, 1, 0, 0, 0, 829, 830, 1, + 0, 0, 0, 830, 832, 1, 0, 0, 0, 831, 829, 1, + 0, 0, 0, 832, 833, 5, 5, 0, 0, 833, 135, 1, + 0, 0, 0, 834, 838, 5, 2, 0, 0, 835, 837, 3, + 138, 69, 0, 836, 835, 1, 0, 0, 0, 837, 840, 1, + 0, 0, 0, 838, 836, 1, 0, 0, 0, 838, 839, 1, + 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 838, 1, + 0, 0, 0, 841, 844, 5, 3, 0, 0, 842, 844, 5, + 165, 0, 0, 843, 834, 1, 0, 0, 0, 843, 842, 1, + 0, 0, 0, 844, 137, 1, 0, 0, 0, 845, 851, 3, + 302, 151, 0, 846, 851, 3, 288, 144, 0, 847, 851, 3, + 290, 145, 0, 848, 851, 3, 298, 149, 0, 849, 851, 5, + 74, 0, 0, 850, 845, 1, 0, 0, 0, 850, 846, 1, + 0, 0, 0, 850, 847, 1, 0, 0, 0, 850, 848, 1, + 0, 0, 0, 850, 849, 1, 0, 0, 0, 851, 139, 1, + 0, 0, 0, 852, 853, 5, 75, 0, 0, 853, 854, 3, + 110, 55, 0, 854, 141, 1, 0, 0, 0, 855, 860, 3, + 110, 55, 0, 856, 857, 5, 76, 0, 0, 857, 859, 3, + 110, 55, 0, 858, 856, 1, 0, 0, 0, 859, 862, 1, + 0, 0, 0, 860, 858, 1, 0, 0, 0, 860, 861, 1, + 0, 0, 0, 861, 143, 1, 0, 0, 0, 862, 860, 1, + 0, 0, 0, 863, 864, 5, 77, 0, 0, 864, 865, 3, + 146, 73, 0, 865, 145, 1, 0, 0, 0, 866, 870, 3, + 268, 134, 0, 867, 870, 3, 270, 135, 0, 868, 870, 3, + 148, 74, 0, 869, 866, 1, 0, 0, 0, 869, 867, 1, + 0, 0, 0, 869, 868, 1, 0, 0, 0, 870, 147, 1, + 0, 0, 0, 871, 872, 3, 302, 151, 0, 872, 873, 3, + 150, 75, 0, 873, 149, 1, 0, 0, 0, 874, 890, 5, + 165, 0, 0, 875, 877, 5, 2, 0, 0, 876, 878, 5, + 33, 0, 0, 877, 876, 1, 0, 0, 0, 877, 878, 1, + 0, 0, 0, 878, 879, 1, 0, 0, 0, 879, 884, 3, + 234, 117, 0, 880, 881, 5, 8, 0, 0, 881, 883, 3, + 234, 117, 0, 882, 880, 1, 0, 0, 0, 883, 886, 1, + 0, 0, 0, 884, 882, 1, 0, 0, 0, 884, 885, 1, + 0, 0, 0, 885, 887, 1, 0, 0, 0, 886, 884, 1, + 0, 0, 0, 887, 888, 5, 3, 0, 0, 888, 890, 1, + 0, 0, 0, 889, 874, 1, 0, 0, 0, 889, 875, 1, + 0, 0, 0, 890, 151, 1, 0, 0, 0, 891, 904, 5, + 165, 0, 0, 892, 893, 5, 2, 0, 0, 893, 898, 3, + 234, 117, 0, 894, 895, 5, 8, 0, 0, 895, 897, 3, + 234, 117, 0, 896, 894, 1, 0, 0, 0, 897, 900, 1, + 0, 0, 0, 898, 896, 1, 0, 0, 0, 898, 899, 1, + 0, 0, 0, 899, 901, 1, 0, 0, 0, 900, 898, 1, + 0, 0, 0, 901, 902, 5, 3, 0, 0, 902, 904, 1, + 0, 0, 0, 903, 891, 1, 0, 0, 0, 903, 892, 1, + 0, 0, 0, 904, 153, 1, 0, 0, 0, 905, 907, 5, + 4, 0, 0, 906, 908, 3, 156, 78, 0, 907, 906, 1, + 0, 0, 0, 907, 908, 1, 0, 0, 0, 908, 909, 1, + 0, 0, 0, 909, 910, 5, 5, 0, 0, 910, 155, 1, + 0, 0, 0, 911, 916, 3, 158, 79, 0, 912, 914, 5, + 7, 0, 0, 913, 915, 3, 156, 78, 0, 914, 913, 1, + 0, 0, 0, 914, 915, 1, 0, 0, 0, 915, 917, 1, + 0, 0, 0, 916, 912, 1, 0, 0, 0, 916, 917, 1, + 0, 0, 0, 917, 157, 1, 0, 0, 0, 918, 919, 3, + 226, 113, 0, 919, 920, 3, 162, 81, 0, 920, 925, 1, + 0, 0, 0, 921, 922, 3, 210, 105, 0, 922, 923, 3, + 160, 80, 0, 923, 925, 1, 0, 0, 0, 924, 918, 1, + 0, 0, 0, 924, 921, 1, 0, 0, 0, 925, 159, 1, + 0, 0, 0, 926, 928, 3, 162, 81, 0, 927, 926, 1, + 0, 0, 0, 927, 928, 1, 0, 0, 0, 928, 161, 1, + 0, 0, 0, 929, 930, 3, 164, 82, 0, 930, 939, 3, + 166, 83, 0, 931, 935, 5, 6, 0, 0, 932, 933, 3, + 164, 82, 0, 933, 934, 3, 166, 83, 0, 934, 936, 1, + 0, 0, 0, 935, 932, 1, 0, 0, 0, 935, 936, 1, + 0, 0, 0, 936, 938, 1, 0, 0, 0, 937, 931, 1, + 0, 0, 0, 938, 941, 1, 0, 0, 0, 939, 937, 1, + 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 163, 1, + 0, 0, 0, 941, 939, 1, 0, 0, 0, 942, 945, 3, + 228, 114, 0, 943, 945, 5, 9, 0, 0, 944, 942, 1, + 0, 0, 0, 944, 943, 1, 0, 0, 0, 945, 165, 1, + 0, 0, 0, 946, 951, 3, 168, 84, 0, 947, 948, 5, + 8, 0, 0, 948, 950, 3, 168, 84, 0, 949, 947, 1, + 0, 0, 0, 950, 953, 1, 0, 0, 0, 951, 949, 1, + 0, 0, 0, 951, 952, 1, 0, 0, 0, 952, 167, 1, + 0, 0, 0, 953, 951, 1, 0, 0, 0, 954, 955, 3, + 222, 111, 0, 955, 169, 1, 0, 0, 0, 956, 957, 3, + 226, 113, 0, 957, 958, 3, 174, 87, 0, 958, 963, 1, + 0, 0, 0, 959, 960, 3, 214, 107, 0, 960, 961, 3, + 172, 86, 0, 961, 963, 1, 0, 0, 0, 962, 956, 1, + 0, 0, 0, 962, 959, 1, 0, 0, 0, 963, 171, 1, + 0, 0, 0, 964, 966, 3, 174, 87, 0, 965, 964, 1, + 0, 0, 0, 965, 966, 1, 0, 0, 0, 966, 173, 1, + 0, 0, 0, 967, 974, 3, 182, 91, 0, 968, 970, 5, + 6, 0, 0, 969, 971, 3, 180, 90, 0, 970, 969, 1, + 0, 0, 0, 970, 971, 1, 0, 0, 0, 971, 973, 1, + 0, 0, 0, 972, 968, 1, 0, 0, 0, 973, 976, 1, + 0, 0, 0, 974, 972, 1, 0, 0, 0, 974, 975, 1, + 0, 0, 0, 975, 175, 1, 0, 0, 0, 976, 974, 1, + 0, 0, 0, 977, 978, 3, 190, 95, 0, 978, 177, 1, + 0, 0, 0, 979, 980, 3, 230, 115, 0, 980, 179, 1, + 0, 0, 0, 981, 982, 3, 184, 92, 0, 982, 983, 3, + 166, 83, 0, 983, 181, 1, 0, 0, 0, 984, 985, 3, + 184, 92, 0, 985, 986, 3, 186, 93, 0, 986, 183, 1, + 0, 0, 0, 987, 990, 3, 176, 88, 0, 988, 990, 3, + 178, 89, 0, 989, 987, 1, 0, 0, 0, 989, 988, 1, + 0, 0, 0, 990, 185, 1, 0, 0, 0, 991, 996, 3, + 188, 94, 0, 992, 993, 5, 8, 0, 0, 993, 995, 3, + 188, 94, 0, 994, 992, 1, 0, 0, 0, 995, 998, 1, + 0, 0, 0, 996, 994, 1, 0, 0, 0, 996, 997, 1, + 0, 0, 0, 997, 187, 1, 0, 0, 0, 998, 996, 1, + 0, 0, 0, 999, 1000, 3, 224, 112, 0, 1000, 189, 1, + 0, 0, 0, 1001, 1002, 3, 192, 96, 0, 1002, 191, 1, + 0, 0, 0, 1003, 1008, 3, 194, 97, 0, 1004, 1005, 5, + 10, 0, 0, 1005, 1007, 3, 194, 97, 0, 1006, 1004, 1, + 0, 0, 0, 1007, 1010, 1, 0, 0, 0, 1008, 1006, 1, + 0, 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 193, 1, + 0, 0, 0, 1010, 1008, 1, 0, 0, 0, 1011, 1016, 3, + 198, 99, 0, 1012, 1013, 5, 11, 0, 0, 1013, 1015, 3, + 198, 99, 0, 1014, 1012, 1, 0, 0, 0, 1015, 1018, 1, + 0, 0, 0, 1016, 1014, 1, 0, 0, 0, 1016, 1017, 1, + 0, 0, 0, 1017, 195, 1, 0, 0, 0, 1018, 1016, 1, + 0, 0, 0, 1019, 1021, 3, 202, 101, 0, 1020, 1022, 3, + 200, 100, 0, 1021, 1020, 1, 0, 0, 0, 1021, 1022, 1, + 0, 0, 0, 1022, 197, 1, 0, 0, 0, 1023, 1027, 3, + 196, 98, 0, 1024, 1025, 5, 12, 0, 0, 1025, 1027, 3, + 196, 98, 0, 1026, 1023, 1, 0, 0, 0, 1026, 1024, 1, + 0, 0, 0, 1027, 199, 1, 0, 0, 0, 1028, 1029, 7, + 2, 0, 0, 1029, 201, 1, 0, 0, 0, 1030, 1039, 3, + 302, 151, 0, 1031, 1039, 5, 9, 0, 0, 1032, 1033, 5, + 15, 0, 0, 1033, 1039, 3, 204, 102, 0, 1034, 1035, 5, + 2, 0, 0, 1035, 1036, 3, 190, 95, 0, 1036, 1037, 5, + 3, 0, 0, 1037, 1039, 1, 0, 0, 0, 1038, 1030, 1, + 0, 0, 0, 1038, 1031, 1, 0, 0, 0, 1038, 1032, 1, + 0, 0, 0, 1038, 1034, 1, 0, 0, 0, 1039, 203, 1, + 0, 0, 0, 1040, 1054, 3, 206, 103, 0, 1041, 1050, 5, + 2, 0, 0, 1042, 1047, 3, 206, 103, 0, 1043, 1044, 5, + 10, 0, 0, 1044, 1046, 3, 206, 103, 0, 1045, 1043, 1, + 0, 0, 0, 1046, 1049, 1, 0, 0, 0, 1047, 1045, 1, + 0, 0, 0, 1047, 1048, 1, 0, 0, 0, 1048, 1051, 1, + 0, 0, 0, 1049, 1047, 1, 0, 0, 0, 1050, 1042, 1, + 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1052, 1, + 0, 0, 0, 1052, 1054, 5, 3, 0, 0, 1053, 1040, 1, + 0, 0, 0, 1053, 1041, 1, 0, 0, 0, 1054, 205, 1, + 0, 0, 0, 1055, 1063, 3, 302, 151, 0, 1056, 1063, 5, + 9, 0, 0, 1057, 1060, 5, 12, 0, 0, 1058, 1061, 3, + 302, 151, 0, 1059, 1061, 5, 9, 0, 0, 1060, 1058, 1, + 0, 0, 0, 1060, 1059, 1, 0, 0, 0, 1061, 1063, 1, + 0, 0, 0, 1062, 1055, 1, 0, 0, 0, 1062, 1056, 1, + 0, 0, 0, 1062, 1057, 1, 0, 0, 0, 1063, 207, 1, + 0, 0, 0, 1064, 1065, 5, 150, 0, 0, 1065, 209, 1, + 0, 0, 0, 1066, 1069, 3, 218, 109, 0, 1067, 1069, 3, + 212, 106, 0, 1068, 1066, 1, 0, 0, 0, 1068, 1067, 1, + 0, 0, 0, 1069, 211, 1, 0, 0, 0, 1070, 1071, 5, + 16, 0, 0, 1071, 1072, 3, 162, 81, 0, 1072, 1073, 5, + 17, 0, 0, 1073, 213, 1, 0, 0, 0, 1074, 1077, 3, + 220, 110, 0, 1075, 1077, 3, 216, 108, 0, 1076, 1074, 1, + 0, 0, 0, 1076, 1075, 1, 0, 0, 0, 1077, 215, 1, + 0, 0, 0, 1078, 1079, 5, 16, 0, 0, 1079, 1080, 3, + 174, 87, 0, 1080, 1081, 5, 17, 0, 0, 1081, 217, 1, + 0, 0, 0, 1082, 1084, 5, 2, 0, 0, 1083, 1085, 3, + 222, 111, 0, 1084, 1083, 1, 0, 0, 0, 1085, 1086, 1, + 0, 0, 0, 1086, 1084, 1, 0, 0, 0, 1086, 1087, 1, + 0, 0, 0, 1087, 1088, 1, 0, 0, 0, 1088, 1089, 5, + 3, 0, 0, 1089, 219, 1, 0, 0, 0, 1090, 1092, 5, + 2, 0, 0, 1091, 1093, 3, 224, 112, 0, 1092, 1091, 1, + 0, 0, 0, 1093, 1094, 1, 0, 0, 0, 1094, 1092, 1, + 0, 0, 0, 1094, 1095, 1, 0, 0, 0, 1095, 1096, 1, + 0, 0, 0, 1096, 1097, 5, 3, 0, 0, 1097, 221, 1, + 0, 0, 0, 1098, 1101, 3, 226, 113, 0, 1099, 1101, 3, + 210, 105, 0, 1100, 1098, 1, 0, 0, 0, 1100, 1099, 1, + 0, 0, 0, 1101, 223, 1, 0, 0, 0, 1102, 1105, 3, + 226, 113, 0, 1103, 1105, 3, 214, 107, 0, 1104, 1102, 1, + 0, 0, 0, 1104, 1103, 1, 0, 0, 0, 1105, 225, 1, + 0, 0, 0, 1106, 1109, 3, 230, 115, 0, 1107, 1109, 3, + 232, 116, 0, 1108, 1106, 1, 0, 0, 0, 1108, 1107, 1, + 0, 0, 0, 1109, 227, 1, 0, 0, 0, 1110, 1113, 3, + 230, 115, 0, 1111, 1113, 3, 302, 151, 0, 1112, 1110, 1, + 0, 0, 0, 1112, 1111, 1, 0, 0, 0, 1113, 229, 1, + 0, 0, 0, 1114, 1115, 7, 3, 0, 0, 1115, 231, 1, + 0, 0, 0, 1116, 1123, 3, 302, 151, 0, 1117, 1123, 3, + 288, 144, 0, 1118, 1123, 3, 290, 145, 0, 1119, 1123, 3, + 298, 149, 0, 1120, 1123, 3, 306, 153, 0, 1121, 1123, 5, + 165, 0, 0, 1122, 1116, 1, 0, 0, 0, 1122, 1117, 1, + 0, 0, 0, 1122, 1118, 1, 0, 0, 0, 1122, 1119, 1, + 0, 0, 0, 1122, 1120, 1, 0, 0, 0, 1122, 1121, 1, + 0, 0, 0, 1123, 233, 1, 0, 0, 0, 1124, 1125, 3, + 236, 118, 0, 1125, 235, 1, 0, 0, 0, 1126, 1131, 3, + 238, 119, 0, 1127, 1128, 5, 18, 0, 0, 1128, 1130, 3, + 238, 119, 0, 1129, 1127, 1, 0, 0, 0, 1130, 1133, 1, + 0, 0, 0, 1131, 1129, 1, 0, 0, 0, 1131, 1132, 1, + 0, 0, 0, 1132, 237, 1, 0, 0, 0, 1133, 1131, 1, + 0, 0, 0, 1134, 1139, 3, 240, 120, 0, 1135, 1136, 5, + 19, 0, 0, 1136, 1138, 3, 240, 120, 0, 1137, 1135, 1, + 0, 0, 0, 1138, 1141, 1, 0, 0, 0, 1139, 1137, 1, + 0, 0, 0, 1139, 1140, 1, 0, 0, 0, 1140, 239, 1, + 0, 0, 0, 1141, 1139, 1, 0, 0, 0, 1142, 1143, 3, + 242, 121, 0, 1143, 241, 1, 0, 0, 0, 1144, 1162, 3, + 244, 122, 0, 1145, 1146, 5, 20, 0, 0, 1146, 1163, 3, + 244, 122, 0, 1147, 1148, 5, 21, 0, 0, 1148, 1163, 3, + 244, 122, 0, 1149, 1150, 5, 22, 0, 0, 1150, 1163, 3, + 244, 122, 0, 1151, 1152, 5, 23, 0, 0, 1152, 1163, 3, + 244, 122, 0, 1153, 1154, 5, 24, 0, 0, 1154, 1163, 3, + 244, 122, 0, 1155, 1156, 5, 25, 0, 0, 1156, 1163, 3, + 244, 122, 0, 1157, 1158, 5, 79, 0, 0, 1158, 1163, 3, + 152, 76, 0, 1159, 1160, 5, 78, 0, 0, 1160, 1161, 5, + 79, 0, 0, 1161, 1163, 3, 152, 76, 0, 1162, 1145, 1, + 0, 0, 0, 1162, 1147, 1, 0, 0, 0, 1162, 1149, 1, + 0, 0, 0, 1162, 1151, 1, 0, 0, 0, 1162, 1153, 1, + 0, 0, 0, 1162, 1155, 1, 0, 0, 0, 1162, 1157, 1, + 0, 0, 0, 1162, 1159, 1, 0, 0, 0, 1162, 1163, 1, + 0, 0, 0, 1163, 243, 1, 0, 0, 0, 1164, 1165, 3, + 246, 123, 0, 1165, 245, 1, 0, 0, 0, 1166, 1170, 3, + 256, 128, 0, 1167, 1169, 3, 248, 124, 0, 1168, 1167, 1, + 0, 0, 0, 1169, 1172, 1, 0, 0, 0, 1170, 1168, 1, + 0, 0, 0, 1170, 1171, 1, 0, 0, 0, 1171, 247, 1, + 0, 0, 0, 1172, 1170, 1, 0, 0, 0, 1173, 1174, 5, + 13, 0, 0, 1174, 1179, 3, 250, 125, 0, 1175, 1176, 5, + 26, 0, 0, 1176, 1179, 3, 252, 126, 0, 1177, 1179, 3, + 254, 127, 0, 1178, 1173, 1, 0, 0, 0, 1178, 1175, 1, + 0, 0, 0, 1178, 1177, 1, 0, 0, 0, 1179, 249, 1, + 0, 0, 0, 1180, 1181, 3, 256, 128, 0, 1181, 251, 1, + 0, 0, 0, 1182, 1183, 3, 256, 128, 0, 1183, 253, 1, + 0, 0, 0, 1184, 1187, 3, 294, 147, 0, 1185, 1187, 3, + 296, 148, 0, 1186, 1184, 1, 0, 0, 0, 1186, 1185, 1, + 0, 0, 0, 1187, 1191, 1, 0, 0, 0, 1188, 1190, 3, + 258, 129, 0, 1189, 1188, 1, 0, 0, 0, 1190, 1193, 1, + 0, 0, 0, 1191, 1189, 1, 0, 0, 0, 1191, 1192, 1, + 0, 0, 0, 1192, 255, 1, 0, 0, 0, 1193, 1191, 1, + 0, 0, 0, 1194, 1198, 3, 264, 132, 0, 1195, 1197, 3, + 258, 129, 0, 1196, 1195, 1, 0, 0, 0, 1197, 1200, 1, + 0, 0, 0, 1198, 1196, 1, 0, 0, 0, 1198, 1199, 1, + 0, 0, 0, 1199, 257, 1, 0, 0, 0, 1200, 1198, 1, + 0, 0, 0, 1201, 1204, 3, 260, 130, 0, 1202, 1204, 3, + 262, 131, 0, 1203, 1201, 1, 0, 0, 0, 1203, 1202, 1, + 0, 0, 0, 1204, 259, 1, 0, 0, 0, 1205, 1206, 5, + 1, 0, 0, 1206, 1207, 3, 264, 132, 0, 1207, 261, 1, + 0, 0, 0, 1208, 1209, 5, 11, 0, 0, 1209, 1210, 3, + 264, 132, 0, 1210, 263, 1, 0, 0, 0, 1211, 1212, 5, + 15, 0, 0, 1212, 1219, 3, 266, 133, 0, 1213, 1214, 5, + 13, 0, 0, 1214, 1219, 3, 266, 133, 0, 1215, 1216, 5, + 26, 0, 0, 1216, 1219, 3, 266, 133, 0, 1217, 1219, 3, + 266, 133, 0, 1218, 1211, 1, 0, 0, 0, 1218, 1213, 1, + 0, 0, 0, 1218, 1215, 1, 0, 0, 0, 1218, 1217, 1, + 0, 0, 0, 1219, 265, 1, 0, 0, 0, 1220, 1228, 3, + 268, 134, 0, 1221, 1228, 3, 270, 135, 0, 1222, 1228, 3, + 286, 143, 0, 1223, 1228, 3, 288, 144, 0, 1224, 1228, 3, + 290, 145, 0, 1225, 1228, 3, 298, 149, 0, 1226, 1228, 3, + 230, 115, 0, 1227, 1220, 1, 0, 0, 0, 1227, 1221, 1, + 0, 0, 0, 1227, 1222, 1, 0, 0, 0, 1227, 1223, 1, + 0, 0, 0, 1227, 1224, 1, 0, 0, 0, 1227, 1225, 1, + 0, 0, 0, 1227, 1226, 1, 0, 0, 0, 1228, 267, 1, + 0, 0, 0, 1229, 1230, 5, 2, 0, 0, 1230, 1231, 3, + 234, 117, 0, 1231, 1232, 5, 3, 0, 0, 1232, 269, 1, + 0, 0, 0, 1233, 1488, 3, 284, 142, 0, 1234, 1235, 5, + 80, 0, 0, 1235, 1236, 5, 2, 0, 0, 1236, 1237, 3, + 234, 117, 0, 1237, 1238, 5, 3, 0, 0, 1238, 1488, 1, + 0, 0, 0, 1239, 1488, 3, 274, 137, 0, 1240, 1241, 5, + 82, 0, 0, 1241, 1242, 5, 2, 0, 0, 1242, 1243, 3, + 234, 117, 0, 1243, 1244, 5, 8, 0, 0, 1244, 1245, 3, + 234, 117, 0, 1245, 1246, 5, 3, 0, 0, 1246, 1488, 1, + 0, 0, 0, 1247, 1248, 5, 83, 0, 0, 1248, 1249, 5, + 2, 0, 0, 1249, 1250, 3, 234, 117, 0, 1250, 1251, 5, + 3, 0, 0, 1251, 1488, 1, 0, 0, 0, 1252, 1253, 5, + 84, 0, 0, 1253, 1254, 5, 2, 0, 0, 1254, 1255, 3, + 230, 115, 0, 1255, 1256, 5, 3, 0, 0, 1256, 1488, 1, + 0, 0, 0, 1257, 1258, 5, 85, 0, 0, 1258, 1259, 5, + 2, 0, 0, 1259, 1260, 3, 234, 117, 0, 1260, 1261, 5, + 3, 0, 0, 1261, 1488, 1, 0, 0, 0, 1262, 1263, 5, + 86, 0, 0, 1263, 1264, 5, 2, 0, 0, 1264, 1265, 3, + 234, 117, 0, 1265, 1266, 5, 3, 0, 0, 1266, 1488, 1, + 0, 0, 0, 1267, 1273, 5, 87, 0, 0, 1268, 1269, 5, + 2, 0, 0, 1269, 1270, 3, 234, 117, 0, 1270, 1271, 5, + 3, 0, 0, 1271, 1274, 1, 0, 0, 0, 1272, 1274, 5, + 165, 0, 0, 1273, 1268, 1, 0, 0, 0, 1273, 1272, 1, + 0, 0, 0, 1274, 1488, 1, 0, 0, 0, 1275, 1276, 5, + 88, 0, 0, 1276, 1488, 5, 165, 0, 0, 1277, 1278, 5, + 89, 0, 0, 1278, 1279, 5, 2, 0, 0, 1279, 1280, 3, + 234, 117, 0, 1280, 1281, 5, 3, 0, 0, 1281, 1488, 1, + 0, 0, 0, 1282, 1283, 5, 90, 0, 0, 1283, 1284, 5, + 2, 0, 0, 1284, 1285, 3, 234, 117, 0, 1285, 1286, 5, + 3, 0, 0, 1286, 1488, 1, 0, 0, 0, 1287, 1288, 5, + 91, 0, 0, 1288, 1289, 5, 2, 0, 0, 1289, 1290, 3, + 234, 117, 0, 1290, 1291, 5, 3, 0, 0, 1291, 1488, 1, + 0, 0, 0, 1292, 1293, 5, 92, 0, 0, 1293, 1294, 5, + 2, 0, 0, 1294, 1295, 3, 234, 117, 0, 1295, 1296, 5, + 3, 0, 0, 1296, 1488, 1, 0, 0, 0, 1297, 1298, 5, + 93, 0, 0, 1298, 1488, 3, 152, 76, 0, 1299, 1488, 3, + 276, 138, 0, 1300, 1301, 5, 94, 0, 0, 1301, 1302, 5, + 2, 0, 0, 1302, 1303, 3, 234, 117, 0, 1303, 1304, 5, + 3, 0, 0, 1304, 1488, 1, 0, 0, 0, 1305, 1488, 3, + 278, 139, 0, 1306, 1307, 5, 95, 0, 0, 1307, 1308, 5, + 2, 0, 0, 1308, 1309, 3, 234, 117, 0, 1309, 1310, 5, + 3, 0, 0, 1310, 1488, 1, 0, 0, 0, 1311, 1312, 5, + 96, 0, 0, 1312, 1313, 5, 2, 0, 0, 1313, 1314, 3, + 234, 117, 0, 1314, 1315, 5, 3, 0, 0, 1315, 1488, 1, + 0, 0, 0, 1316, 1317, 5, 97, 0, 0, 1317, 1318, 5, + 2, 0, 0, 1318, 1319, 3, 234, 117, 0, 1319, 1320, 5, + 3, 0, 0, 1320, 1488, 1, 0, 0, 0, 1321, 1322, 5, + 99, 0, 0, 1322, 1323, 5, 2, 0, 0, 1323, 1324, 3, + 234, 117, 0, 1324, 1325, 5, 8, 0, 0, 1325, 1326, 3, + 234, 117, 0, 1326, 1327, 5, 3, 0, 0, 1327, 1488, 1, + 0, 0, 0, 1328, 1329, 5, 100, 0, 0, 1329, 1330, 5, + 2, 0, 0, 1330, 1331, 3, 234, 117, 0, 1331, 1332, 5, + 8, 0, 0, 1332, 1333, 3, 234, 117, 0, 1333, 1334, 5, + 3, 0, 0, 1334, 1488, 1, 0, 0, 0, 1335, 1336, 5, + 101, 0, 0, 1336, 1337, 5, 2, 0, 0, 1337, 1338, 3, + 234, 117, 0, 1338, 1339, 5, 8, 0, 0, 1339, 1340, 3, + 234, 117, 0, 1340, 1341, 5, 3, 0, 0, 1341, 1488, 1, + 0, 0, 0, 1342, 1343, 5, 102, 0, 0, 1343, 1344, 5, + 2, 0, 0, 1344, 1345, 3, 234, 117, 0, 1345, 1346, 5, + 8, 0, 0, 1346, 1347, 3, 234, 117, 0, 1347, 1348, 5, + 3, 0, 0, 1348, 1488, 1, 0, 0, 0, 1349, 1350, 5, + 103, 0, 0, 1350, 1351, 5, 2, 0, 0, 1351, 1352, 3, + 234, 117, 0, 1352, 1353, 5, 8, 0, 0, 1353, 1354, 3, + 234, 117, 0, 1354, 1355, 5, 3, 0, 0, 1355, 1488, 1, + 0, 0, 0, 1356, 1357, 5, 104, 0, 0, 1357, 1358, 5, + 2, 0, 0, 1358, 1359, 3, 234, 117, 0, 1359, 1360, 5, + 3, 0, 0, 1360, 1488, 1, 0, 0, 0, 1361, 1362, 5, + 105, 0, 0, 1362, 1363, 5, 2, 0, 0, 1363, 1364, 3, + 234, 117, 0, 1364, 1365, 5, 3, 0, 0, 1365, 1488, 1, + 0, 0, 0, 1366, 1367, 5, 106, 0, 0, 1367, 1368, 5, + 2, 0, 0, 1368, 1369, 3, 234, 117, 0, 1369, 1370, 5, + 3, 0, 0, 1370, 1488, 1, 0, 0, 0, 1371, 1372, 5, + 107, 0, 0, 1372, 1373, 5, 2, 0, 0, 1373, 1374, 3, + 234, 117, 0, 1374, 1375, 5, 3, 0, 0, 1375, 1488, 1, + 0, 0, 0, 1376, 1377, 5, 108, 0, 0, 1377, 1378, 5, + 2, 0, 0, 1378, 1379, 3, 234, 117, 0, 1379, 1380, 5, + 3, 0, 0, 1380, 1488, 1, 0, 0, 0, 1381, 1382, 5, + 109, 0, 0, 1382, 1383, 5, 2, 0, 0, 1383, 1384, 3, + 234, 117, 0, 1384, 1385, 5, 3, 0, 0, 1385, 1488, 1, + 0, 0, 0, 1386, 1387, 5, 110, 0, 0, 1387, 1388, 5, + 2, 0, 0, 1388, 1389, 3, 234, 117, 0, 1389, 1390, 5, + 3, 0, 0, 1390, 1488, 1, 0, 0, 0, 1391, 1392, 5, + 111, 0, 0, 1392, 1393, 5, 2, 0, 0, 1393, 1394, 3, + 234, 117, 0, 1394, 1395, 5, 3, 0, 0, 1395, 1488, 1, + 0, 0, 0, 1396, 1397, 5, 112, 0, 0, 1397, 1488, 5, + 165, 0, 0, 1398, 1399, 5, 113, 0, 0, 1399, 1488, 5, + 165, 0, 0, 1400, 1401, 5, 114, 0, 0, 1401, 1488, 5, + 165, 0, 0, 1402, 1403, 5, 119, 0, 0, 1403, 1404, 5, + 2, 0, 0, 1404, 1405, 3, 234, 117, 0, 1405, 1406, 5, + 3, 0, 0, 1406, 1488, 1, 0, 0, 0, 1407, 1408, 5, + 115, 0, 0, 1408, 1409, 5, 2, 0, 0, 1409, 1410, 3, + 234, 117, 0, 1410, 1411, 5, 3, 0, 0, 1411, 1488, 1, + 0, 0, 0, 1412, 1413, 5, 116, 0, 0, 1413, 1414, 5, + 2, 0, 0, 1414, 1415, 3, 234, 117, 0, 1415, 1416, 5, + 3, 0, 0, 1416, 1488, 1, 0, 0, 0, 1417, 1418, 5, + 117, 0, 0, 1418, 1419, 5, 2, 0, 0, 1419, 1420, 3, + 234, 117, 0, 1420, 1421, 5, 3, 0, 0, 1421, 1488, 1, + 0, 0, 0, 1422, 1423, 5, 118, 0, 0, 1423, 1424, 5, + 2, 0, 0, 1424, 1425, 3, 234, 117, 0, 1425, 1426, 5, + 3, 0, 0, 1426, 1488, 1, 0, 0, 0, 1427, 1428, 5, + 120, 0, 0, 1428, 1488, 3, 152, 76, 0, 1429, 1430, 5, + 121, 0, 0, 1430, 1431, 5, 2, 0, 0, 1431, 1432, 3, + 234, 117, 0, 1432, 1433, 5, 8, 0, 0, 1433, 1434, 3, + 234, 117, 0, 1434, 1435, 5, 8, 0, 0, 1435, 1436, 3, + 234, 117, 0, 1436, 1437, 5, 3, 0, 0, 1437, 1488, 1, + 0, 0, 0, 1438, 1439, 5, 122, 0, 0, 1439, 1440, 5, + 2, 0, 0, 1440, 1441, 3, 234, 117, 0, 1441, 1442, 5, + 8, 0, 0, 1442, 1443, 3, 234, 117, 0, 1443, 1444, 5, + 3, 0, 0, 1444, 1488, 1, 0, 0, 0, 1445, 1446, 5, + 123, 0, 0, 1446, 1447, 5, 2, 0, 0, 1447, 1448, 3, + 234, 117, 0, 1448, 1449, 5, 8, 0, 0, 1449, 1450, 3, + 234, 117, 0, 1450, 1451, 5, 3, 0, 0, 1451, 1488, 1, + 0, 0, 0, 1452, 1453, 5, 124, 0, 0, 1453, 1454, 5, + 2, 0, 0, 1454, 1455, 3, 234, 117, 0, 1455, 1456, 5, + 8, 0, 0, 1456, 1457, 3, 234, 117, 0, 1457, 1458, 5, + 3, 0, 0, 1458, 1488, 1, 0, 0, 0, 1459, 1460, 5, + 125, 0, 0, 1460, 1461, 5, 2, 0, 0, 1461, 1462, 3, + 234, 117, 0, 1462, 1463, 5, 3, 0, 0, 1463, 1488, 1, + 0, 0, 0, 1464, 1465, 5, 126, 0, 0, 1465, 1466, 5, + 2, 0, 0, 1466, 1467, 3, 234, 117, 0, 1467, 1468, 5, + 3, 0, 0, 1468, 1488, 1, 0, 0, 0, 1469, 1470, 5, + 127, 0, 0, 1470, 1471, 5, 2, 0, 0, 1471, 1472, 3, + 234, 117, 0, 1472, 1473, 5, 3, 0, 0, 1473, 1488, 1, + 0, 0, 0, 1474, 1475, 5, 128, 0, 0, 1475, 1476, 5, + 2, 0, 0, 1476, 1477, 3, 234, 117, 0, 1477, 1478, 5, + 3, 0, 0, 1478, 1488, 1, 0, 0, 0, 1479, 1480, 5, + 129, 0, 0, 1480, 1481, 5, 2, 0, 0, 1481, 1482, 3, + 234, 117, 0, 1482, 1483, 5, 3, 0, 0, 1483, 1488, 1, + 0, 0, 0, 1484, 1488, 3, 272, 136, 0, 1485, 1488, 3, + 280, 140, 0, 1486, 1488, 3, 282, 141, 0, 1487, 1233, 1, + 0, 0, 0, 1487, 1234, 1, 0, 0, 0, 1487, 1239, 1, + 0, 0, 0, 1487, 1240, 1, 0, 0, 0, 1487, 1247, 1, + 0, 0, 0, 1487, 1252, 1, 0, 0, 0, 1487, 1257, 1, + 0, 0, 0, 1487, 1262, 1, 0, 0, 0, 1487, 1267, 1, + 0, 0, 0, 1487, 1275, 1, 0, 0, 0, 1487, 1277, 1, + 0, 0, 0, 1487, 1282, 1, 0, 0, 0, 1487, 1287, 1, + 0, 0, 0, 1487, 1292, 1, 0, 0, 0, 1487, 1297, 1, + 0, 0, 0, 1487, 1299, 1, 0, 0, 0, 1487, 1300, 1, + 0, 0, 0, 1487, 1305, 1, 0, 0, 0, 1487, 1306, 1, + 0, 0, 0, 1487, 1311, 1, 0, 0, 0, 1487, 1316, 1, + 0, 0, 0, 1487, 1321, 1, 0, 0, 0, 1487, 1328, 1, + 0, 0, 0, 1487, 1335, 1, 0, 0, 0, 1487, 1342, 1, + 0, 0, 0, 1487, 1349, 1, 0, 0, 0, 1487, 1356, 1, + 0, 0, 0, 1487, 1361, 1, 0, 0, 0, 1487, 1366, 1, + 0, 0, 0, 1487, 1371, 1, 0, 0, 0, 1487, 1376, 1, + 0, 0, 0, 1487, 1381, 1, 0, 0, 0, 1487, 1386, 1, + 0, 0, 0, 1487, 1391, 1, 0, 0, 0, 1487, 1396, 1, + 0, 0, 0, 1487, 1398, 1, 0, 0, 0, 1487, 1400, 1, + 0, 0, 0, 1487, 1402, 1, 0, 0, 0, 1487, 1407, 1, + 0, 0, 0, 1487, 1412, 1, 0, 0, 0, 1487, 1417, 1, + 0, 0, 0, 1487, 1422, 1, 0, 0, 0, 1487, 1427, 1, + 0, 0, 0, 1487, 1429, 1, 0, 0, 0, 1487, 1438, 1, + 0, 0, 0, 1487, 1445, 1, 0, 0, 0, 1487, 1452, 1, + 0, 0, 0, 1487, 1459, 1, 0, 0, 0, 1487, 1464, 1, + 0, 0, 0, 1487, 1469, 1, 0, 0, 0, 1487, 1474, 1, + 0, 0, 0, 1487, 1479, 1, 0, 0, 0, 1487, 1484, 1, + 0, 0, 0, 1487, 1485, 1, 0, 0, 0, 1487, 1486, 1, + 0, 0, 0, 1488, 271, 1, 0, 0, 0, 1489, 1490, 5, + 130, 0, 0, 1490, 1491, 5, 2, 0, 0, 1491, 1492, 3, + 234, 117, 0, 1492, 1493, 5, 8, 0, 0, 1493, 1496, 3, + 234, 117, 0, 1494, 1495, 5, 8, 0, 0, 1495, 1497, 3, + 234, 117, 0, 1496, 1494, 1, 0, 0, 0, 1496, 1497, 1, + 0, 0, 0, 1497, 1498, 1, 0, 0, 0, 1498, 1499, 5, + 3, 0, 0, 1499, 273, 1, 0, 0, 0, 1500, 1501, 5, + 81, 0, 0, 1501, 1502, 5, 2, 0, 0, 1502, 1503, 3, + 234, 117, 0, 1503, 1504, 5, 3, 0, 0, 1504, 275, 1, + 0, 0, 0, 1505, 1506, 5, 131, 0, 0, 1506, 1507, 5, + 2, 0, 0, 1507, 1508, 3, 234, 117, 0, 1508, 1509, 5, + 8, 0, 0, 1509, 1512, 3, 234, 117, 0, 1510, 1511, 5, + 8, 0, 0, 1511, 1513, 3, 234, 117, 0, 1512, 1510, 1, + 0, 0, 0, 1512, 1513, 1, 0, 0, 0, 1513, 1514, 1, + 0, 0, 0, 1514, 1515, 5, 3, 0, 0, 1515, 277, 1, + 0, 0, 0, 1516, 1517, 5, 132, 0, 0, 1517, 1518, 5, + 2, 0, 0, 1518, 1519, 3, 234, 117, 0, 1519, 1520, 5, + 8, 0, 0, 1520, 1521, 3, 234, 117, 0, 1521, 1522, 5, + 8, 0, 0, 1522, 1525, 3, 234, 117, 0, 1523, 1524, 5, + 8, 0, 0, 1524, 1526, 3, 234, 117, 0, 1525, 1523, 1, + 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 1, + 0, 0, 0, 1527, 1528, 5, 3, 0, 0, 1528, 279, 1, + 0, 0, 0, 1529, 1530, 5, 133, 0, 0, 1530, 1531, 3, + 110, 55, 0, 1531, 281, 1, 0, 0, 0, 1532, 1533, 5, + 78, 0, 0, 1533, 1534, 5, 133, 0, 0, 1534, 1535, 3, + 110, 55, 0, 1535, 283, 1, 0, 0, 0, 1536, 1537, 5, + 134, 0, 0, 1537, 1539, 5, 2, 0, 0, 1538, 1540, 5, + 33, 0, 0, 1539, 1538, 1, 0, 0, 0, 1539, 1540, 1, + 0, 0, 0, 1540, 1543, 1, 0, 0, 0, 1541, 1544, 5, + 1, 0, 0, 1542, 1544, 3, 234, 117, 0, 1543, 1541, 1, + 0, 0, 0, 1543, 1542, 1, 0, 0, 0, 1544, 1545, 1, + 0, 0, 0, 1545, 1609, 5, 3, 0, 0, 1546, 1547, 5, + 135, 0, 0, 1547, 1549, 5, 2, 0, 0, 1548, 1550, 5, + 33, 0, 0, 1549, 1548, 1, 0, 0, 0, 1549, 1550, 1, + 0, 0, 0, 1550, 1551, 1, 0, 0, 0, 1551, 1552, 3, + 234, 117, 0, 1552, 1553, 5, 3, 0, 0, 1553, 1609, 1, + 0, 0, 0, 1554, 1555, 5, 136, 0, 0, 1555, 1557, 5, + 2, 0, 0, 1556, 1558, 5, 33, 0, 0, 1557, 1556, 1, + 0, 0, 0, 1557, 1558, 1, 0, 0, 0, 1558, 1559, 1, + 0, 0, 0, 1559, 1560, 3, 234, 117, 0, 1560, 1561, 5, + 3, 0, 0, 1561, 1609, 1, 0, 0, 0, 1562, 1563, 5, + 137, 0, 0, 1563, 1565, 5, 2, 0, 0, 1564, 1566, 5, + 33, 0, 0, 1565, 1564, 1, 0, 0, 0, 1565, 1566, 1, + 0, 0, 0, 1566, 1567, 1, 0, 0, 0, 1567, 1568, 3, + 234, 117, 0, 1568, 1569, 5, 3, 0, 0, 1569, 1609, 1, + 0, 0, 0, 1570, 1571, 5, 138, 0, 0, 1571, 1573, 5, + 2, 0, 0, 1572, 1574, 5, 33, 0, 0, 1573, 1572, 1, + 0, 0, 0, 1573, 1574, 1, 0, 0, 0, 1574, 1575, 1, + 0, 0, 0, 1575, 1576, 3, 234, 117, 0, 1576, 1577, 5, + 3, 0, 0, 1577, 1609, 1, 0, 0, 0, 1578, 1579, 5, + 139, 0, 0, 1579, 1581, 5, 2, 0, 0, 1580, 1582, 5, + 33, 0, 0, 1581, 1580, 1, 0, 0, 0, 1581, 1582, 1, + 0, 0, 0, 1582, 1583, 1, 0, 0, 0, 1583, 1584, 3, + 234, 117, 0, 1584, 1585, 5, 3, 0, 0, 1585, 1609, 1, + 0, 0, 0, 1586, 1587, 5, 140, 0, 0, 1587, 1589, 5, + 2, 0, 0, 1588, 1590, 5, 33, 0, 0, 1589, 1588, 1, + 0, 0, 0, 1589, 1590, 1, 0, 0, 0, 1590, 1591, 1, + 0, 0, 0, 1591, 1592, 3, 234, 117, 0, 1592, 1593, 5, + 3, 0, 0, 1593, 1609, 1, 0, 0, 0, 1594, 1595, 5, + 43, 0, 0, 1595, 1597, 5, 2, 0, 0, 1596, 1598, 5, + 33, 0, 0, 1597, 1596, 1, 0, 0, 0, 1597, 1598, 1, + 0, 0, 0, 1598, 1599, 1, 0, 0, 0, 1599, 1604, 3, + 234, 117, 0, 1600, 1601, 5, 6, 0, 0, 1601, 1602, 5, + 141, 0, 0, 1602, 1603, 5, 20, 0, 0, 1603, 1605, 3, + 300, 150, 0, 1604, 1600, 1, 0, 0, 0, 1604, 1605, 1, + 0, 0, 0, 1605, 1606, 1, 0, 0, 0, 1606, 1607, 5, + 3, 0, 0, 1607, 1609, 1, 0, 0, 0, 1608, 1536, 1, + 0, 0, 0, 1608, 1546, 1, 0, 0, 0, 1608, 1554, 1, + 0, 0, 0, 1608, 1562, 1, 0, 0, 0, 1608, 1570, 1, + 0, 0, 0, 1608, 1578, 1, 0, 0, 0, 1608, 1586, 1, + 0, 0, 0, 1608, 1594, 1, 0, 0, 0, 1609, 285, 1, + 0, 0, 0, 1610, 1612, 3, 302, 151, 0, 1611, 1613, 3, + 150, 75, 0, 1612, 1611, 1, 0, 0, 0, 1612, 1613, 1, + 0, 0, 0, 1613, 287, 1, 0, 0, 0, 1614, 1618, 3, + 300, 150, 0, 1615, 1619, 5, 148, 0, 0, 1616, 1617, 5, + 27, 0, 0, 1617, 1619, 3, 302, 151, 0, 1618, 1615, 1, + 0, 0, 0, 1618, 1616, 1, 0, 0, 0, 1618, 1619, 1, + 0, 0, 0, 1619, 289, 1, 0, 0, 0, 1620, 1624, 3, + 292, 146, 0, 1621, 1624, 3, 294, 147, 0, 1622, 1624, 3, + 296, 148, 0, 1623, 1620, 1, 0, 0, 0, 1623, 1621, 1, + 0, 0, 0, 1623, 1622, 1, 0, 0, 0, 1624, 291, 1, + 0, 0, 0, 1625, 1626, 7, 4, 0, 0, 1626, 293, 1, + 0, 0, 0, 1627, 1628, 7, 5, 0, 0, 1628, 295, 1, + 0, 0, 0, 1629, 1630, 7, 6, 0, 0, 1630, 297, 1, + 0, 0, 0, 1631, 1632, 7, 7, 0, 0, 1632, 299, 1, + 0, 0, 0, 1633, 1634, 7, 8, 0, 0, 1634, 301, 1, + 0, 0, 0, 1635, 1637, 5, 149, 0, 0, 1636, 1635, 1, + 0, 0, 0, 1636, 1637, 1, 0, 0, 0, 1637, 1640, 1, + 0, 0, 0, 1638, 1641, 3, 308, 154, 0, 1639, 1641, 3, + 304, 152, 0, 1640, 1638, 1, 0, 0, 0, 1640, 1639, 1, + 0, 0, 0, 1641, 303, 1, 0, 0, 0, 1642, 1645, 3, + 310, 155, 0, 1643, 1645, 3, 312, 156, 0, 1644, 1642, 1, + 0, 0, 0, 1644, 1643, 1, 0, 0, 0, 1645, 305, 1, + 0, 0, 0, 1646, 1647, 7, 9, 0, 0, 1647, 307, 1, + 0, 0, 0, 1648, 1649, 5, 142, 0, 0, 1649, 309, 1, + 0, 0, 0, 1650, 1651, 5, 144, 0, 0, 1651, 311, 1, + 0, 0, 0, 1652, 1653, 5, 143, 0, 0, 1653, 313, 1, + 0, 0, 0, 162, 316, 325, 331, 333, 347, 360, 365, 368, + 372, 387, 396, 402, 406, 412, 415, 420, 424, 432, 441, 451, + 456, 459, 462, 465, 471, 479, 484, 490, 496, 501, 507, 509, + 513, 516, 520, 523, 527, 530, 534, 537, 541, 544, 548, 551, + 553, 566, 572, 574, 587, 591, 596, 600, 606, 612, 618, 626, + 634, 654, 658, 661, 666, 682, 687, 696, 707, 711, 714, 718, + 725, 732, 734, 739, 744, 749, 754, 757, 762, 764, 774, 785, + 802, 809, 819, 823, 829, 838, 843, 850, 860, 869, 877, 884, + 889, 898, 903, 907, 914, 916, 924, 927, 935, 939, 944, 951, + 962, 965, 970, 974, 989, 996, 1008, 1016, 1021, 1026, 1038, 1047, + 1050, 1053, 1060, 1062, 1068, 1076, 1086, 1094, 1100, 1104, 1108, 1112, + 1122, 1131, 1139, 1162, 1170, 1178, 1186, 1191, 1198, 1203, 1218, 1227, + 1273, 1487, 1496, 1512, 1525, 1539, 1543, 1549, 1557, 1565, 1573, 1581, + 1589, 1597, 1604, 1608, 1612, 1618, 1623, 1636, 1640, 1644}; staticData->serializedATN = antlr4::atn::SerializedATNView( serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); @@ -2770,8 +2777,8 @@ SparqlAutomaticParser::constructQuery() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(401); triplesTemplate(); } @@ -2896,8 +2903,8 @@ SparqlAutomaticParser::describeQuery() { setState(412); _errHandler->sync(this); _la = _input->LA(1); - } while ((((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 183) != 0); + } while ((((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0); break; } @@ -3589,9 +3596,9 @@ SparqlAutomaticParser::groupClause() { || _la == SparqlAutomaticParser::GROUP_CONCAT || (((_la - 78) & ~0x3fULL) == 0) && - ((1ULL << (_la - 78)) & -4611686018428436483) != 0 || + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 91) != 0); + ((1ULL << (_la - 142)) & 183) != 0); } catch (RecognitionException& e) { _errHandler->reportError(this, e); @@ -3735,6 +3742,7 @@ SparqlAutomaticParser::groupCondition() { case SparqlAutomaticParser::MIN: case SparqlAutomaticParser::MAX: case SparqlAutomaticParser::AVG: + case SparqlAutomaticParser::STDEV: case SparqlAutomaticParser::SAMPLE: { enterOuterAlt(_localctx, 1); setState(473); @@ -3870,9 +3878,9 @@ SparqlAutomaticParser::havingClause() { || _la == SparqlAutomaticParser::GROUP_CONCAT || (((_la - 78) & ~0x3fULL) == 0) && - ((1ULL << (_la - 78)) & -4611686018428436483) != 0 || + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 67) != 0); + ((1ULL << (_la - 142)) & 135) != 0); } catch (RecognitionException& e) { _errHandler->reportError(this, e); @@ -4044,8 +4052,8 @@ SparqlAutomaticParser::orderClause() { } while ( ((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 431008558088196) != 0 || (((_la - 78) & ~0x3fULL) == 0) && - ((1ULL << (_la - 78)) & -4611686018428436483) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 91) != 0); + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0); } catch (RecognitionException& e) { _errHandler->reportError(this, e); @@ -4207,6 +4215,7 @@ SparqlAutomaticParser::orderCondition() { case SparqlAutomaticParser::MIN: case SparqlAutomaticParser::MAX: case SparqlAutomaticParser::AVG: + case SparqlAutomaticParser::STDEV: case SparqlAutomaticParser::SAMPLE: case SparqlAutomaticParser::IRI_REF: case SparqlAutomaticParser::PNAME_NS: @@ -4279,6 +4288,7 @@ SparqlAutomaticParser::orderCondition() { case SparqlAutomaticParser::MIN: case SparqlAutomaticParser::MAX: case SparqlAutomaticParser::AVG: + case SparqlAutomaticParser::STDEV: case SparqlAutomaticParser::SAMPLE: case SparqlAutomaticParser::IRI_REF: case SparqlAutomaticParser::PNAME_NS: @@ -6788,8 +6798,8 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(706); triplesTemplate(); } @@ -6812,8 +6822,8 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(713); triplesTemplate(); } @@ -6903,8 +6913,8 @@ SparqlAutomaticParser::quadsNotTriples() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(724); triplesTemplate(); } @@ -6991,8 +7001,8 @@ SparqlAutomaticParser::triplesTemplate() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(731); triplesTemplate(); } @@ -7203,8 +7213,8 @@ SparqlAutomaticParser::groupGraphPatternSub() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(743); triplesBlock(); } @@ -7312,8 +7322,8 @@ SparqlAutomaticParser::graphPatternNotTriplesAndMaybeTriples() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(756); triplesBlock(); } @@ -7399,8 +7409,8 @@ SparqlAutomaticParser::triplesBlock() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(761); triplesBlock(); } @@ -8125,8 +8135,8 @@ SparqlAutomaticParser::inlineDataOneVar() { _la = _input->LA(1); while ((((_la - 28) & ~0x3fULL) == 0) && ((1ULL << (_la - 28)) & 70368744177667) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 4063111) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 4063111) != 0) { setState(806); dataBlockValue(); setState(811); @@ -8345,8 +8355,8 @@ SparqlAutomaticParser::dataBlockSingle() { _la = _input->LA(1); while ((((_la - 28) & ~0x3fULL) == 0) && ((1ULL << (_la - 28)) & 70368744177667) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 4063111) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 4063111) != 0) { setState(835); dataBlockValue(); setState(840); @@ -8876,6 +8886,7 @@ SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::constraint() { case SparqlAutomaticParser::MIN: case SparqlAutomaticParser::MAX: case SparqlAutomaticParser::AVG: + case SparqlAutomaticParser::STDEV: case SparqlAutomaticParser::SAMPLE: { enterOuterAlt(_localctx, 2); setState(867); @@ -9258,8 +9269,8 @@ SparqlAutomaticParser::constructTemplate() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(906); constructTriples(); } @@ -9346,8 +9357,8 @@ SparqlAutomaticParser::constructTriples() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(913); constructTriples(); } @@ -9542,7 +9553,7 @@ SparqlAutomaticParser::propertyList() { _la = _input->LA(1); if (_la == SparqlAutomaticParser::T__8 || - (((_la - 141) & ~0x3fULL) == 0) && ((1ULL << (_la - 141)) & 183) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0) { setState(926); propertyListNotEmpty(); } @@ -9640,8 +9651,8 @@ SparqlAutomaticParser::propertyListNotEmpty() { _la = _input->LA(1); if (_la == SparqlAutomaticParser::T__8 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 183) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0) { setState(932); verb(); setState(933); @@ -10073,7 +10084,7 @@ SparqlAutomaticParser::propertyListPath() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 37380) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && ((1ULL << (_la - 141)) & 183) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0) { setState(964); propertyListPathNotEmpty(); } @@ -10169,8 +10180,8 @@ SparqlAutomaticParser::propertyListPathNotEmpty() { _la = _input->LA(1); if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 37380) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 183) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0) { setState(969); tupleWithoutPath(); } @@ -11341,8 +11352,8 @@ SparqlAutomaticParser::pathNegatedPropertySet() { if (_la == SparqlAutomaticParser::T__8 || _la == SparqlAutomaticParser::T__11 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 135) != 0) { + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 135) != 0) { setState(1042); pathOneInPropertySet(); setState(1047); @@ -11934,8 +11945,8 @@ SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::collection() { _errHandler->sync(this); _la = _input->LA(1); } while (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0); + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0); setState(1088); match(SparqlAutomaticParser::T__2); @@ -12017,8 +12028,8 @@ SparqlAutomaticParser::collectionPath() { _errHandler->sync(this); _la = _input->LA(1); } while (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 141) & ~0x3fULL) == 0) && - ((1ULL << (_la - 141)) & 29228991) != 0); + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0); setState(1096); match(SparqlAutomaticParser::T__2); @@ -13268,8 +13279,8 @@ SparqlAutomaticParser::additiveExpression() { while (_la == SparqlAutomaticParser::T__12 || _la == SparqlAutomaticParser::T__25 || - (((_la - 152) & ~0x3fULL) == 0) && - ((1ULL << (_la - 152)) & 63) != 0) { + (((_la - 153) & ~0x3fULL) == 0) && + ((1ULL << (_la - 153)) & 63) != 0) { setState(1167); multiplicativeExpressionWithSign(); setState(1172); @@ -14127,6 +14138,7 @@ SparqlAutomaticParser::unaryExpression() { case SparqlAutomaticParser::MIN: case SparqlAutomaticParser::MAX: case SparqlAutomaticParser::AVG: + case SparqlAutomaticParser::STDEV: case SparqlAutomaticParser::SAMPLE: case SparqlAutomaticParser::IRI_REF: case SparqlAutomaticParser::PNAME_NS: @@ -14316,6 +14328,7 @@ SparqlAutomaticParser::primaryExpression() { case SparqlAutomaticParser::MIN: case SparqlAutomaticParser::MAX: case SparqlAutomaticParser::AVG: + case SparqlAutomaticParser::STDEV: case SparqlAutomaticParser::SAMPLE: { enterOuterAlt(_localctx, 2); setState(1221); @@ -14762,6 +14775,7 @@ SparqlAutomaticParser::builtInCall() { case SparqlAutomaticParser::MIN: case SparqlAutomaticParser::MAX: case SparqlAutomaticParser::AVG: + case SparqlAutomaticParser::STDEV: case SparqlAutomaticParser::SAMPLE: { enterOuterAlt(_localctx, 1); setState(1233); @@ -16023,6 +16037,10 @@ tree::TerminalNode* SparqlAutomaticParser::AggregateContext::AVG() { return getToken(SparqlAutomaticParser::AVG, 0); } +tree::TerminalNode* SparqlAutomaticParser::AggregateContext::STDEV() { + return getToken(SparqlAutomaticParser::STDEV, 0); +} + tree::TerminalNode* SparqlAutomaticParser::AggregateContext::SAMPLE() { return getToken(SparqlAutomaticParser::SAMPLE, 0); } @@ -16078,7 +16096,7 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { exitRule(); }); try { - setState(1600); + setState(1608); _errHandler->sync(this); switch (_input->LA(1)) { case SparqlAutomaticParser::COUNT: { @@ -16170,6 +16188,7 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { case SparqlAutomaticParser::MIN: case SparqlAutomaticParser::MAX: case SparqlAutomaticParser::AVG: + case SparqlAutomaticParser::STDEV: case SparqlAutomaticParser::SAMPLE: case SparqlAutomaticParser::IRI_REF: case SparqlAutomaticParser::PNAME_NS: @@ -16287,10 +16306,10 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { break; } - case SparqlAutomaticParser::SAMPLE: { + case SparqlAutomaticParser::STDEV: { enterOuterAlt(_localctx, 6); setState(1578); - match(SparqlAutomaticParser::SAMPLE); + match(SparqlAutomaticParser::STDEV); setState(1579); match(SparqlAutomaticParser::T__1); setState(1581); @@ -16308,10 +16327,10 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { break; } - case SparqlAutomaticParser::GROUP_CONCAT: { + case SparqlAutomaticParser::SAMPLE: { enterOuterAlt(_localctx, 7); setState(1586); - match(SparqlAutomaticParser::GROUP_CONCAT); + match(SparqlAutomaticParser::SAMPLE); setState(1587); match(SparqlAutomaticParser::T__1); setState(1589); @@ -16324,21 +16343,42 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { } setState(1591); expression(); - setState(1596); + setState(1592); + match(SparqlAutomaticParser::T__2); + break; + } + + case SparqlAutomaticParser::GROUP_CONCAT: { + enterOuterAlt(_localctx, 8); + setState(1594); + match(SparqlAutomaticParser::GROUP_CONCAT); + setState(1595); + match(SparqlAutomaticParser::T__1); + setState(1597); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::DISTINCT) { + setState(1596); + match(SparqlAutomaticParser::DISTINCT); + } + setState(1599); + expression(); + setState(1604); _errHandler->sync(this); _la = _input->LA(1); if (_la == SparqlAutomaticParser::T__5) { - setState(1592); + setState(1600); match(SparqlAutomaticParser::T__5); - setState(1593); + setState(1601); match(SparqlAutomaticParser::SEPARATOR); - setState(1594); + setState(1602); match(SparqlAutomaticParser::T__19); - setState(1595); + setState(1603); string(); } - setState(1598); + setState(1606); match(SparqlAutomaticParser::T__2); break; } @@ -16413,15 +16453,15 @@ SparqlAutomaticParser::iriOrFunction() { }); try { enterOuterAlt(_localctx, 1); - setState(1602); + setState(1610); iri(); - setState(1604); + setState(1612); _errHandler->sync(this); _la = _input->LA(1); if (_la == SparqlAutomaticParser::T__1 || _la == SparqlAutomaticParser::NIL) { - setState(1603); + setState(1611); argList(); } @@ -16493,21 +16533,21 @@ SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::rdfLiteral() { }); try { enterOuterAlt(_localctx, 1); - setState(1606); + setState(1614); string(); - setState(1610); + setState(1618); _errHandler->sync(this); switch (_input->LA(1)) { case SparqlAutomaticParser::LANGTAG: { - setState(1607); + setState(1615); match(SparqlAutomaticParser::LANGTAG); break; } case SparqlAutomaticParser::T__26: { - setState(1608); + setState(1616); match(SparqlAutomaticParser::T__26); - setState(1609); + setState(1617); iri(); break; } @@ -16650,14 +16690,14 @@ SparqlAutomaticParser::numericLiteral() { exitRule(); }); try { - setState(1615); + setState(1623); _errHandler->sync(this); switch (_input->LA(1)) { case SparqlAutomaticParser::INTEGER: case SparqlAutomaticParser::DECIMAL: case SparqlAutomaticParser::DOUBLE: { enterOuterAlt(_localctx, 1); - setState(1612); + setState(1620); numericLiteralUnsigned(); break; } @@ -16666,7 +16706,7 @@ SparqlAutomaticParser::numericLiteral() { case SparqlAutomaticParser::DECIMAL_POSITIVE: case SparqlAutomaticParser::DOUBLE_POSITIVE: { enterOuterAlt(_localctx, 2); - setState(1613); + setState(1621); numericLiteralPositive(); break; } @@ -16675,7 +16715,7 @@ SparqlAutomaticParser::numericLiteral() { case SparqlAutomaticParser::DECIMAL_NEGATIVE: case SparqlAutomaticParser::DOUBLE_NEGATIVE: { enterOuterAlt(_localctx, 3); - setState(1614); + setState(1622); numericLiteralNegative(); break; } @@ -16759,10 +16799,10 @@ SparqlAutomaticParser::numericLiteralUnsigned() { }); try { enterOuterAlt(_localctx, 1); - setState(1617); + setState(1625); _la = _input->LA(1); - if (!((((_la - 149) & ~0x3fULL) == 0) && - ((1ULL << (_la - 149)) & 7) != 0)) { + if (!((((_la - 150) & ~0x3fULL) == 0) && + ((1ULL << (_la - 150)) & 7) != 0)) { _errHandler->recoverInline(this); } else { _errHandler->reportMatch(this); @@ -16844,10 +16884,10 @@ SparqlAutomaticParser::numericLiteralPositive() { }); try { enterOuterAlt(_localctx, 1); - setState(1619); + setState(1627); _la = _input->LA(1); - if (!((((_la - 152) & ~0x3fULL) == 0) && - ((1ULL << (_la - 152)) & 7) != 0)) { + if (!((((_la - 153) & ~0x3fULL) == 0) && + ((1ULL << (_la - 153)) & 7) != 0)) { _errHandler->recoverInline(this); } else { _errHandler->reportMatch(this); @@ -16929,10 +16969,10 @@ SparqlAutomaticParser::numericLiteralNegative() { }); try { enterOuterAlt(_localctx, 1); - setState(1621); + setState(1629); _la = _input->LA(1); - if (!((((_la - 155) & ~0x3fULL) == 0) && - ((1ULL << (_la - 155)) & 7) != 0)) { + if (!((((_la - 156) & ~0x3fULL) == 0) && + ((1ULL << (_la - 156)) & 7) != 0)) { _errHandler->recoverInline(this); } else { _errHandler->reportMatch(this); @@ -16995,7 +17035,7 @@ SparqlAutomaticParser::booleanLiteral() { }); try { enterOuterAlt(_localctx, 1); - setState(1623); + setState(1631); _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::T__27 @@ -17079,10 +17119,10 @@ SparqlAutomaticParser::StringContext* SparqlAutomaticParser::string() { }); try { enterOuterAlt(_localctx, 1); - setState(1625); + setState(1633); _la = _input->LA(1); - if (!((((_la - 159) & ~0x3fULL) == 0) && - ((1ULL << (_la - 159)) & 15) != 0)) { + if (!((((_la - 160) & ~0x3fULL) == 0) && + ((1ULL << (_la - 160)) & 15) != 0)) { _errHandler->recoverInline(this); } else { _errHandler->reportMatch(this); @@ -17157,26 +17197,26 @@ SparqlAutomaticParser::IriContext* SparqlAutomaticParser::iri() { }); try { enterOuterAlt(_localctx, 1); - setState(1628); + setState(1636); _errHandler->sync(this); _la = _input->LA(1); if (_la == SparqlAutomaticParser::PREFIX_LANGTAG) { - setState(1627); + setState(1635); match(SparqlAutomaticParser::PREFIX_LANGTAG); } - setState(1632); + setState(1640); _errHandler->sync(this); switch (_input->LA(1)) { case SparqlAutomaticParser::IRI_REF: { - setState(1630); + setState(1638); iriref(); break; } case SparqlAutomaticParser::PNAME_NS: case SparqlAutomaticParser::PNAME_LN: { - setState(1631); + setState(1639); prefixedName(); break; } @@ -17249,19 +17289,19 @@ SparqlAutomaticParser::prefixedName() { exitRule(); }); try { - setState(1636); + setState(1644); _errHandler->sync(this); switch (_input->LA(1)) { case SparqlAutomaticParser::PNAME_LN: { enterOuterAlt(_localctx, 1); - setState(1634); + setState(1642); pnameLn(); break; } case SparqlAutomaticParser::PNAME_NS: { enterOuterAlt(_localctx, 2); - setState(1635); + setState(1643); pnameNs(); break; } @@ -17334,7 +17374,7 @@ SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::blankNode() { }); try { enterOuterAlt(_localctx, 1); - setState(1638); + setState(1646); _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::BLANK_NODE_LABEL @@ -17403,7 +17443,7 @@ SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::iriref() { }); try { enterOuterAlt(_localctx, 1); - setState(1640); + setState(1648); match(SparqlAutomaticParser::IRI_REF); } catch (RecognitionException& e) { @@ -17464,7 +17504,7 @@ SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::pnameLn() { }); try { enterOuterAlt(_localctx, 1); - setState(1642); + setState(1650); match(SparqlAutomaticParser::PNAME_LN); } catch (RecognitionException& e) { @@ -17525,7 +17565,7 @@ SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::pnameNs() { }); try { enterOuterAlt(_localctx, 1); - setState(1644); + setState(1652); match(SparqlAutomaticParser::PNAME_NS); } catch (RecognitionException& e) { diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticParser.h b/src/parser/sparqlParser/generated/SparqlAutomaticParser.h index e89aba2319..e846f9bc06 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticParser.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticParser.h @@ -146,43 +146,44 @@ class SparqlAutomaticParser : public antlr4::Parser { MIN = 136, MAX = 137, AVG = 138, - SAMPLE = 139, - SEPARATOR = 140, - IRI_REF = 141, - PNAME_NS = 142, - PNAME_LN = 143, - BLANK_NODE_LABEL = 144, - VAR1 = 145, - VAR2 = 146, - LANGTAG = 147, - PREFIX_LANGTAG = 148, - INTEGER = 149, - DECIMAL = 150, - DOUBLE = 151, - INTEGER_POSITIVE = 152, - DECIMAL_POSITIVE = 153, - DOUBLE_POSITIVE = 154, - INTEGER_NEGATIVE = 155, - DECIMAL_NEGATIVE = 156, - DOUBLE_NEGATIVE = 157, - EXPONENT = 158, - STRING_LITERAL1 = 159, - STRING_LITERAL2 = 160, - STRING_LITERAL_LONG1 = 161, - STRING_LITERAL_LONG2 = 162, - ECHAR = 163, - NIL = 164, - ANON = 165, - PN_CHARS_U = 166, - VARNAME = 167, - PN_PREFIX = 168, - PN_LOCAL = 169, - PLX = 170, - PERCENT = 171, - HEX = 172, - PN_LOCAL_ESC = 173, - WS = 174, - COMMENTS = 175 + STDEV = 139, + SAMPLE = 140, + SEPARATOR = 141, + IRI_REF = 142, + PNAME_NS = 143, + PNAME_LN = 144, + BLANK_NODE_LABEL = 145, + VAR1 = 146, + VAR2 = 147, + LANGTAG = 148, + PREFIX_LANGTAG = 149, + INTEGER = 150, + DECIMAL = 151, + DOUBLE = 152, + INTEGER_POSITIVE = 153, + DECIMAL_POSITIVE = 154, + DOUBLE_POSITIVE = 155, + INTEGER_NEGATIVE = 156, + DECIMAL_NEGATIVE = 157, + DOUBLE_NEGATIVE = 158, + EXPONENT = 159, + STRING_LITERAL1 = 160, + STRING_LITERAL2 = 161, + STRING_LITERAL_LONG1 = 162, + STRING_LITERAL_LONG2 = 163, + ECHAR = 164, + NIL = 165, + ANON = 166, + PN_CHARS_U = 167, + VARNAME = 168, + PN_PREFIX = 169, + PN_LOCAL = 170, + PLX = 171, + PERCENT = 172, + HEX = 173, + PN_LOCAL_ESC = 174, + WS = 175, + COMMENTS = 176 }; enum { @@ -2930,6 +2931,7 @@ class SparqlAutomaticParser : public antlr4::Parser { antlr4::tree::TerminalNode* MIN(); antlr4::tree::TerminalNode* MAX(); antlr4::tree::TerminalNode* AVG(); + antlr4::tree::TerminalNode* STDEV(); antlr4::tree::TerminalNode* SAMPLE(); antlr4::tree::TerminalNode* GROUP_CONCAT(); antlr4::tree::TerminalNode* SEPARATOR(); diff --git a/test/GroupByTest.cpp b/test/GroupByTest.cpp index 0fc1b0dcd6..42796f3fdf 100644 --- a/test/GroupByTest.cpp +++ b/test/GroupByTest.cpp @@ -22,6 +22,7 @@ #include "engine/sparqlExpressions/LiteralExpression.h" #include "engine/sparqlExpressions/NaryExpression.h" #include "engine/sparqlExpressions/SampleExpression.h" +#include "engine/sparqlExpressions/StdevExpression.h" #include "global/RuntimeParameters.h" #include "gtest/gtest.h" #include "index/ConstantsIndexBuilding.h" From f90d91c6df27788e92ed84166d698f006be50e83 Mon Sep 17 00:00:00 2001 From: ullingerc Date: Tue, 15 Oct 2024 14:01:26 +0200 Subject: [PATCH 02/11] Implement reviews --- src/engine/GroupBy.cpp | 3 ++- .../sparqlExpressions/StdevExpression.h | 19 +++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/engine/GroupBy.cpp b/src/engine/GroupBy.cpp index 5344728351..5bca2183c3 100644 --- a/src/engine/GroupBy.cpp +++ b/src/engine/GroupBy.cpp @@ -1014,7 +1014,8 @@ GroupBy::isSupportedAggregate(sparqlExpression::SparqlExpression* expr) { if (auto val = dynamic_cast(expr)) { return H{GROUP_CONCAT, val->getSeparator()}; } - if (dynamic_cast(expr)) return H{STDEV}; + // NOTE: The STDEV function is not suitable for lazy and hash map + // optimizations. if (dynamic_cast(expr)) return H{SAMPLE}; // `expr` is an unsupported aggregate diff --git a/src/engine/sparqlExpressions/StdevExpression.h b/src/engine/sparqlExpressions/StdevExpression.h index b94553171d..1cca62affc 100644 --- a/src/engine/sparqlExpressions/StdevExpression.h +++ b/src/engine/sparqlExpressions/StdevExpression.h @@ -54,18 +54,26 @@ class DeviationExpression : public SparqlExpression { VectorWithMemoryLimit exprResult{context->_allocator}; std::fill_n(std::back_inserter(exprResult), context->size(), IdOrLiteralOrIri{Id::makeUndefined()}); + bool undef = false; - auto devImpl = [&exprResult, context](auto generator) { + auto devImpl = [&undef, &exprResult, context](auto generator) { double sum = 0.0; - std::vector childResults = {}; + // Intermediate storage of the results returned from the child + // expression + VectorWithMemoryLimit childResults{context->_allocator}; // Collect values as doubles for (auto& inp : generator) { - const auto& s = detail::NumericValueGetter{}(std::move(inp), context); - auto v = std::visit(numValToDouble, s); + const auto& n = detail::NumericValueGetter{}(std::move(inp), context); + auto v = std::visit(numValToDouble, n); if (v.has_value()) { childResults.push_back(v.value()); sum += v.value(); + } else { + // There is a non-numeric value in the input. Therefore the entire + // result will be undef. + undef = true; + return; } context->cancellationHandle_->throwIfCancelled(); } @@ -88,6 +96,9 @@ class DeviationExpression : public SparqlExpression { devImpl(std::move(generator)); } + if (undef) { + return IdOrLiteralOrIri{Id::makeUndefined()}; + } return exprResult; }; auto childRes = child_->evaluate(context); From 91d1c15f4a073e10d10c857c3bfc1c8015d086ad Mon Sep 17 00:00:00 2001 From: ullingerc Date: Sun, 20 Oct 2024 15:01:48 +0200 Subject: [PATCH 03/11] fix bug and add tests --- .../sparqlExpressions/StdevExpression.h | 25 ++++---------- test/AggregateExpressionTest.cpp | 33 +++++++++++++++++++ test/SparqlAntlrParserTest.cpp | 11 +++++++ test/SparqlExpressionTest.cpp | 4 +++ test/SparqlParserTest.cpp | 14 ++++++++ 5 files changed, 68 insertions(+), 19 deletions(-) diff --git a/src/engine/sparqlExpressions/StdevExpression.h b/src/engine/sparqlExpressions/StdevExpression.h index 1cca62affc..d9ec95f3a8 100644 --- a/src/engine/sparqlExpressions/StdevExpression.h +++ b/src/engine/sparqlExpressions/StdevExpression.h @@ -2,8 +2,7 @@ // Chair of Algorithms and Data Structures. // Author: Christoph Ullinger -#ifndef QLEVER_STDEVEXPRESSION_H -#define QLEVER_STDEVEXPRESSION_H +#pragma once #include #include @@ -40,11 +39,9 @@ auto inline numValToDouble = class DeviationExpression : public SparqlExpression { private: Ptr child_; - bool distinct_; public: - DeviationExpression(bool distinct, Ptr&& child) - : child_{std::move(child)}, distinct_{distinct} {} + DeviationExpression(Ptr&& child) : child_{std::move(child)} {} // __________________________________________________________________________ ExpressionResult evaluate(EvaluationContext* context) const override { @@ -88,13 +85,7 @@ class DeviationExpression : public SparqlExpression { auto generator = detail::makeGenerator(AD_FWD(el), context->size(), context); - if (distinct_) { - context->cancellationHandle_->throwIfCancelled(); - devImpl(detail::getUniqueElements(context, context->size(), - std::move(generator))); - } else { - devImpl(std::move(generator)); - } + devImpl(std::move(generator)); if (undef) { return IdOrLiteralOrIri{Id::makeUndefined()}; @@ -113,8 +104,7 @@ class DeviationExpression : public SparqlExpression { // __________________________________________________________________________ [[nodiscard]] string getCacheKey( const VariableToColumnMap& varColMap) const override { - return absl::StrCat("[ SQ.DEVIATION ", distinct_ ? " DISTINCT " : "", "]", - child_->getCacheKey(varColMap)); + return absl::StrCat("[ SQ.DEVIATION ]", child_->getCacheKey(varColMap)); } private: @@ -135,8 +125,7 @@ class DeviationAggExpression DeviationAggExpression(bool distinct, SparqlExpression::Ptr&& child, AggregateOperation aggregateOp = AggregateOperation{}) : AggregateExpression( - distinct, - std::make_unique(distinct, std::move(child)), + distinct, std::make_unique(std::move(child)), aggregateOp){}; }; @@ -162,7 +151,7 @@ using StdevExpressionBase = DeviationAggExpression; class StdevExpression : public StdevExpressionBase { using StdevExpressionBase::StdevExpressionBase; - ValueId resultForEmptyGroup() const override { return Id::makeFromInt(0); } + ValueId resultForEmptyGroup() const override { return Id::makeFromDouble(0); } }; } // namespace detail @@ -170,5 +159,3 @@ class StdevExpression : public StdevExpressionBase { using detail::StdevExpression; } // namespace sparqlExpression - -#endif // QLEVER_STDEVEXPRESSION_H diff --git a/test/AggregateExpressionTest.cpp b/test/AggregateExpressionTest.cpp index af53e45edb..3157a6311d 100644 --- a/test/AggregateExpressionTest.cpp +++ b/test/AggregateExpressionTest.cpp @@ -2,6 +2,9 @@ // Chair of Algorithms and Data Structures // Author: Johannes Kalmbach +#include +#include + #include "./SparqlExpressionTestHelpers.h" #include "./util/GTestHelpers.h" #include "./util/IdTableHelpers.h" @@ -11,6 +14,9 @@ #include "engine/sparqlExpressions/AggregateExpression.h" #include "engine/sparqlExpressions/CountStarExpression.h" #include "engine/sparqlExpressions/SampleExpression.h" +#include "engine/sparqlExpressions/SparqlExpressionTypes.h" +#include "engine/sparqlExpressions/StdevExpression.h" +#include "global/ValueId.h" #include "gtest/gtest.h" using namespace sparqlExpression; @@ -94,6 +100,33 @@ TEST(AggregateExpression, avg) { testAvgString({lit("alpha"), lit("äpfel"), lit("Beta"), lit("unfug")}, U); } +// Test `StdevExpression`. +TEST(StdevExpression, avg) { + auto testStdevId = testAggregate; + + auto inputAsVector = std::vector{I(3), D(0), I(0), I(4), I(-2)}; + VectorWithMemoryLimit input(inputAsVector.begin(), + inputAsVector.end(), makeAllocator()); + auto d = std::make_unique(input.clone()); + auto t = TestContext{}; + t.context._endIndex = 5; + StdevExpression m{false, std::move(d)}; + auto resAsVariant = m.evaluate(&t.context); + ASSERT_NEAR(std::get(resAsVariant).getDouble(), 2.44949, 0.0001); + + testStdevId({D(2), D(2), D(2), D(2)}, D(0), true); + + testStdevId({I(3), U}, U); + testStdevId({I(3), NaN}, NaN); + + testStdevId({}, D(0)); + testStdevId({D(500)}, D(0)); + testStdevId({D(500), D(500), D(500)}, D(0)); + + auto testStdevString = testAggregate; + testStdevString({lit("alpha"), lit("äpfel"), lit("Beta"), lit("unfug")}, U); +} + // Test `MinExpression`. TEST(AggregateExpression, min) { auto testMinId = testAggregate; diff --git a/test/SparqlAntlrParserTest.cpp b/test/SparqlAntlrParserTest.cpp index 0ee1705f46..c557d4f591 100644 --- a/test/SparqlAntlrParserTest.cpp +++ b/test/SparqlAntlrParserTest.cpp @@ -25,6 +25,7 @@ #include "engine/sparqlExpressions/RegexExpression.h" #include "engine/sparqlExpressions/RelationalExpressions.h" #include "engine/sparqlExpressions/SampleExpression.h" +#include "engine/sparqlExpressions/StdevExpression.h" #include "engine/sparqlExpressions/UuidExpressions.h" #include "parser/ConstructClause.h" #include "parser/SparqlParserHelpers.h" @@ -1835,6 +1836,16 @@ TEST(SparqlParser, aggregateExpressions) { expectAggregate( "group_concat(DISTINCT ?x; SEPARATOR=\";\")", matchAggregate(true, V{"?x"}, separator(";"))); + + // The STDEV expression + // TODO Test failing because StdevExpression replaces its child + + // expectAggregate("STDEV(?x)", matchAggregate(false, + // V{"?x"})); expectAggregate("stdev(?x)", + // matchAggregate(false, V{"?x"})); A distinct stdev is + // probably not very useful, but should be possible anyway + // expectAggregate("STDEV(DISTINCT ?x)", + // matchAggregate(true, V{"?x"})); } // Update queries are WIP. The individual parts to parse some update queries diff --git a/test/SparqlExpressionTest.cpp b/test/SparqlExpressionTest.cpp index ab5b3add68..a37bf93b8a 100644 --- a/test/SparqlExpressionTest.cpp +++ b/test/SparqlExpressionTest.cpp @@ -17,6 +17,7 @@ #include "engine/sparqlExpressions/NaryExpression.h" #include "engine/sparqlExpressions/SampleExpression.h" #include "engine/sparqlExpressions/SparqlExpression.h" +#include "engine/sparqlExpressions/StdevExpression.h" #include "parser/GeoPoint.h" #include "util/AllocatorTestHelpers.h" #include "util/Conversions.h" @@ -1369,6 +1370,9 @@ TEST(SparqlExpression, isAggregateAndIsDistinct) { EXPECT_THAT(GroupConcatExpression(false, varX(), " "), match(false)); EXPECT_THAT(GroupConcatExpression(true, varX(), " "), match(true)); + EXPECT_THAT(StdevExpression(false, varX()), match(false)); + EXPECT_THAT(StdevExpression(true, varX()), match(true)); + EXPECT_THAT(SampleExpression(false, varX()), match(false)); // For `SAMPLE` the distinctness makes no difference, so we always return `not // distinct`. diff --git a/test/SparqlParserTest.cpp b/test/SparqlParserTest.cpp index dc3967aff3..b8499b0a99 100644 --- a/test/SparqlParserTest.cpp +++ b/test/SparqlParserTest.cpp @@ -951,6 +951,20 @@ TEST(ParserTest, testSolutionModifiers) { ASSERT_FALSE(pq._orderBy[0].isDescending_); } + { + auto pq = SparqlParser::parseQuery( + "SELECT ?r (STDEV(?r) as ?stdev) WHERE {" + "?a ?b ." + "?a ql:has-relation ?r }" + "GROUP BY ?r " + "ORDER BY ?stdev"); + ASSERT_EQ(1u, pq.children().size()); + ASSERT_EQ(1u, pq._orderBy.size()); + EXPECT_THAT(pq, m::GroupByVariables({Var{"?r"}})); + ASSERT_EQ(Var{"?stdev"}, pq._orderBy[0].variable_); + ASSERT_FALSE(pq._orderBy[0].isDescending_); + } + { auto pq = SparqlParser::parseQuery( "SELECT ?r (COUNT(DISTINCT ?r) as ?count) WHERE {" From bc81df753283cd02066ad34698e8ddbd2ca2aa23 Mon Sep 17 00:00:00 2001 From: ullingerc Date: Sun, 20 Oct 2024 15:21:39 +0200 Subject: [PATCH 04/11] remove unused variable capture --- src/engine/sparqlExpressions/StdevExpression.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/sparqlExpressions/StdevExpression.h b/src/engine/sparqlExpressions/StdevExpression.h index d9ec95f3a8..85e10d1e00 100644 --- a/src/engine/sparqlExpressions/StdevExpression.h +++ b/src/engine/sparqlExpressions/StdevExpression.h @@ -46,7 +46,7 @@ class DeviationExpression : public SparqlExpression { // __________________________________________________________________________ ExpressionResult evaluate(EvaluationContext* context) const override { auto impl = - [this, context](SingleExpressionResult auto&& el) -> ExpressionResult { + [context](SingleExpressionResult auto&& el) -> ExpressionResult { // Prepare space for result VectorWithMemoryLimit exprResult{context->_allocator}; std::fill_n(std::back_inserter(exprResult), context->size(), From 285c6ba45183e5227b3a8b11a6e41fd525e51776 Mon Sep 17 00:00:00 2001 From: Johannes Kalmbach Date: Mon, 4 Nov 2024 09:05:53 +0100 Subject: [PATCH 05/11] Fix the undefined reference. Signed-off-by: Johannes Kalmbach --- src/engine/sparqlExpressions/AggregateExpression.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/engine/sparqlExpressions/AggregateExpression.cpp b/src/engine/sparqlExpressions/AggregateExpression.cpp index 31f51eb851..4a53afbc5b 100644 --- a/src/engine/sparqlExpressions/AggregateExpression.cpp +++ b/src/engine/sparqlExpressions/AggregateExpression.cpp @@ -182,6 +182,8 @@ AggregateExpression::getVariableForCount() template class AggregateExpression; // Explicit instantiation for the STDEV expression. +template class AggregateExpression; template class DeviationAggExpression; From c45eb6851f36dbec9a5fcec4a46045c69309e5be Mon Sep 17 00:00:00 2001 From: ullingerc Date: Mon, 4 Nov 2024 13:58:37 +0100 Subject: [PATCH 06/11] rerun antlr after merge --- .../generated/SparqlAutomatic.interp | 2 +- .../generated/SparqlAutomaticBaseListener.cpp | 3 + .../generated/SparqlAutomaticBaseListener.h | 1289 +- .../generated/SparqlAutomaticBaseVisitor.cpp | 3 + .../generated/SparqlAutomaticBaseVisitor.h | 482 +- .../generated/SparqlAutomaticLexer.cpp | 2366 +--- .../generated/SparqlAutomaticLexer.h | 230 +- .../generated/SparqlAutomaticListener.cpp | 3 + .../generated/SparqlAutomaticListener.h | 1189 +- .../generated/SparqlAutomaticParser.cpp | 10614 +++++++--------- .../generated/SparqlAutomaticParser.h | 3512 +++-- .../generated/SparqlAutomaticVisitor.cpp | 3 + .../generated/SparqlAutomaticVisitor.h | 474 +- 13 files changed, 8271 insertions(+), 11899 deletions(-) diff --git a/src/parser/sparqlParser/generated/SparqlAutomatic.interp b/src/parser/sparqlParser/generated/SparqlAutomatic.interp index b65baa7140..d9e3d98064 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomatic.interp +++ b/src/parser/sparqlParser/generated/SparqlAutomatic.interp @@ -517,4 +517,4 @@ pnameNs atn: -[4, 1, 175, 1647, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 1, 0, 1, 0, 3, 0, 317, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 326, 8, 1, 1, 1, 1, 1, 1, 2, 1, 2, 5, 2, 332, 8, 2, 10, 2, 12, 2, 335, 9, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 346, 8, 5, 10, 5, 12, 5, 349, 9, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, 361, 8, 7, 1, 7, 4, 7, 364, 8, 7, 11, 7, 12, 7, 365, 1, 7, 3, 7, 369, 8, 7, 1, 8, 1, 8, 3, 8, 373, 8, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 5, 11, 386, 8, 11, 10, 11, 12, 11, 389, 9, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 395, 8, 11, 10, 11, 12, 11, 398, 9, 11, 1, 11, 1, 11, 1, 11, 3, 11, 403, 8, 11, 1, 11, 1, 11, 3, 11, 407, 8, 11, 1, 12, 1, 12, 4, 12, 411, 8, 12, 11, 12, 12, 12, 412, 1, 12, 3, 12, 416, 8, 12, 1, 12, 5, 12, 419, 8, 12, 10, 12, 12, 12, 422, 9, 12, 1, 12, 3, 12, 425, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 5, 13, 431, 8, 13, 10, 13, 12, 13, 434, 9, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, 14, 442, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 3, 18, 452, 8, 18, 1, 18, 1, 18, 1, 19, 3, 19, 457, 8, 19, 1, 19, 3, 19, 460, 8, 19, 1, 19, 3, 19, 463, 8, 19, 1, 19, 3, 19, 466, 8, 19, 1, 20, 1, 20, 4, 20, 470, 8, 20, 11, 20, 12, 20, 471, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 480, 8, 21, 1, 21, 1, 21, 1, 21, 3, 21, 485, 8, 21, 1, 22, 1, 22, 4, 22, 489, 8, 22, 11, 22, 12, 22, 490, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 497, 8, 24, 1, 24, 4, 24, 500, 8, 24, 11, 24, 12, 24, 501, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 508, 8, 25, 3, 25, 510, 8, 25, 1, 26, 1, 26, 3, 26, 514, 8, 26, 1, 26, 3, 26, 517, 8, 26, 1, 26, 1, 26, 3, 26, 521, 8, 26, 1, 26, 3, 26, 524, 8, 26, 1, 26, 1, 26, 3, 26, 528, 8, 26, 1, 26, 3, 26, 531, 8, 26, 1, 26, 1, 26, 3, 26, 535, 8, 26, 1, 26, 3, 26, 538, 8, 26, 1, 26, 1, 26, 3, 26, 542, 8, 26, 1, 26, 3, 26, 545, 8, 26, 1, 26, 1, 26, 3, 26, 549, 8, 26, 1, 26, 3, 26, 552, 8, 26, 3, 26, 554, 8, 26, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 3, 30, 567, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 573, 8, 31, 3, 31, 575, 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 588, 8, 32, 1, 33, 1, 33, 3, 33, 592, 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 597, 8, 33, 1, 34, 1, 34, 3, 34, 601, 8, 34, 1, 34, 1, 34, 1, 35, 1, 35, 3, 35, 607, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 613, 8, 36, 1, 36, 1, 36, 1, 37, 1, 37, 3, 37, 619, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 3, 38, 627, 8, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 3, 39, 635, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 655, 8, 43, 1, 43, 1, 43, 3, 43, 659, 8, 43, 1, 43, 3, 43, 662, 8, 43, 1, 43, 5, 43, 665, 8, 43, 10, 43, 12, 43, 668, 9, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 683, 8, 46, 1, 47, 1, 47, 1, 47, 3, 47, 688, 8, 47, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 697, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 3, 52, 708, 8, 52, 1, 52, 1, 52, 3, 52, 712, 8, 52, 1, 52, 3, 52, 715, 8, 52, 5, 52, 717, 8, 52, 10, 52, 12, 52, 720, 9, 52, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, 726, 8, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 3, 54, 733, 8, 54, 3, 54, 735, 8, 54, 1, 55, 1, 55, 1, 55, 3, 55, 740, 8, 55, 1, 55, 1, 55, 1, 56, 3, 56, 745, 8, 56, 1, 56, 5, 56, 748, 8, 56, 10, 56, 12, 56, 751, 9, 56, 1, 57, 1, 57, 3, 57, 755, 8, 57, 1, 57, 3, 57, 758, 8, 57, 1, 58, 1, 58, 1, 58, 3, 58, 763, 8, 58, 3, 58, 765, 8, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 3, 59, 775, 8, 59, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 3, 62, 786, 8, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 3, 65, 803, 8, 65, 1, 66, 1, 66, 1, 66, 5, 66, 808, 8, 66, 10, 66, 12, 66, 811, 9, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 5, 67, 818, 8, 67, 10, 67, 12, 67, 821, 9, 67, 1, 67, 3, 67, 824, 8, 67, 1, 67, 1, 67, 5, 67, 828, 8, 67, 10, 67, 12, 67, 831, 9, 67, 1, 67, 1, 67, 1, 68, 1, 68, 5, 68, 837, 8, 68, 10, 68, 12, 68, 840, 9, 68, 1, 68, 1, 68, 3, 68, 844, 8, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 3, 69, 851, 8, 69, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 5, 71, 859, 8, 71, 10, 71, 12, 71, 862, 9, 71, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 3, 73, 870, 8, 73, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 3, 75, 878, 8, 75, 1, 75, 1, 75, 1, 75, 5, 75, 883, 8, 75, 10, 75, 12, 75, 886, 9, 75, 1, 75, 1, 75, 3, 75, 890, 8, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 5, 76, 897, 8, 76, 10, 76, 12, 76, 900, 9, 76, 1, 76, 1, 76, 3, 76, 904, 8, 76, 1, 77, 1, 77, 3, 77, 908, 8, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 3, 78, 915, 8, 78, 3, 78, 917, 8, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 3, 79, 925, 8, 79, 1, 80, 3, 80, 928, 8, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 3, 81, 936, 8, 81, 5, 81, 938, 8, 81, 10, 81, 12, 81, 941, 9, 81, 1, 82, 1, 82, 3, 82, 945, 8, 82, 1, 83, 1, 83, 1, 83, 5, 83, 950, 8, 83, 10, 83, 12, 83, 953, 9, 83, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 3, 85, 963, 8, 85, 1, 86, 3, 86, 966, 8, 86, 1, 87, 1, 87, 1, 87, 3, 87, 971, 8, 87, 5, 87, 973, 8, 87, 10, 87, 12, 87, 976, 9, 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 3, 92, 990, 8, 92, 1, 93, 1, 93, 1, 93, 5, 93, 995, 8, 93, 10, 93, 12, 93, 998, 9, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 5, 96, 1007, 8, 96, 10, 96, 12, 96, 1010, 9, 96, 1, 97, 1, 97, 1, 97, 5, 97, 1015, 8, 97, 10, 97, 12, 97, 1018, 9, 97, 1, 98, 1, 98, 3, 98, 1022, 8, 98, 1, 99, 1, 99, 1, 99, 3, 99, 1027, 8, 99, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 1039, 8, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 5, 102, 1046, 8, 102, 10, 102, 12, 102, 1049, 9, 102, 3, 102, 1051, 8, 102, 1, 102, 3, 102, 1054, 8, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 3, 103, 1061, 8, 103, 3, 103, 1063, 8, 103, 1, 104, 1, 104, 1, 105, 1, 105, 3, 105, 1069, 8, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 3, 107, 1077, 8, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 4, 109, 1085, 8, 109, 11, 109, 12, 109, 1086, 1, 109, 1, 109, 1, 110, 1, 110, 4, 110, 1093, 8, 110, 11, 110, 12, 110, 1094, 1, 110, 1, 110, 1, 111, 1, 111, 3, 111, 1101, 8, 111, 1, 112, 1, 112, 3, 112, 1105, 8, 112, 1, 113, 1, 113, 3, 113, 1109, 8, 113, 1, 114, 1, 114, 3, 114, 1113, 8, 114, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 3, 116, 1123, 8, 116, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 5, 118, 1130, 8, 118, 10, 118, 12, 118, 1133, 9, 118, 1, 119, 1, 119, 1, 119, 5, 119, 1138, 8, 119, 10, 119, 12, 119, 1141, 9, 119, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 3, 121, 1163, 8, 121, 1, 122, 1, 122, 1, 123, 1, 123, 5, 123, 1169, 8, 123, 10, 123, 12, 123, 1172, 9, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 3, 124, 1179, 8, 124, 1, 125, 1, 125, 1, 126, 1, 126, 1, 127, 1, 127, 3, 127, 1187, 8, 127, 1, 127, 5, 127, 1190, 8, 127, 10, 127, 12, 127, 1193, 9, 127, 1, 128, 1, 128, 5, 128, 1197, 8, 128, 10, 128, 12, 128, 1200, 9, 128, 1, 129, 1, 129, 3, 129, 1204, 8, 129, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 3, 132, 1219, 8, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 1228, 8, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1274, 8, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1488, 8, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 3, 136, 1497, 8, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 3, 138, 1513, 8, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 3, 139, 1526, 8, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 3, 142, 1540, 8, 142, 1, 142, 1, 142, 3, 142, 1544, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1550, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1558, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1566, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1574, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1582, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1590, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1597, 8, 142, 1, 142, 1, 142, 3, 142, 1601, 8, 142, 1, 143, 1, 143, 3, 143, 1605, 8, 143, 1, 144, 1, 144, 1, 144, 1, 144, 3, 144, 1611, 8, 144, 1, 145, 1, 145, 1, 145, 3, 145, 1616, 8, 145, 1, 146, 1, 146, 1, 147, 1, 147, 1, 148, 1, 148, 1, 149, 1, 149, 1, 150, 1, 150, 1, 151, 3, 151, 1629, 8, 151, 1, 151, 1, 151, 3, 151, 1633, 8, 151, 1, 152, 1, 152, 3, 152, 1637, 8, 152, 1, 153, 1, 153, 1, 154, 1, 154, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 0, 0, 157, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 0, 10, 1, 0, 33, 34, 1, 0, 47, 48, 2, 0, 1, 1, 13, 14, 1, 0, 145, 146, 1, 0, 149, 151, 1, 0, 152, 154, 1, 0, 155, 157, 1, 0, 28, 29, 1, 0, 159, 162, 2, 0, 144, 144, 165, 165, 1761, 0, 316, 1, 0, 0, 0, 2, 320, 1, 0, 0, 0, 4, 333, 1, 0, 0, 0, 6, 336, 1, 0, 0, 0, 8, 339, 1, 0, 0, 0, 10, 343, 1, 0, 0, 0, 12, 353, 1, 0, 0, 0, 14, 358, 1, 0, 0, 0, 16, 372, 1, 0, 0, 0, 18, 374, 1, 0, 0, 0, 20, 378, 1, 0, 0, 0, 22, 382, 1, 0, 0, 0, 24, 408, 1, 0, 0, 0, 26, 428, 1, 0, 0, 0, 28, 438, 1, 0, 0, 0, 30, 443, 1, 0, 0, 0, 32, 445, 1, 0, 0, 0, 34, 448, 1, 0, 0, 0, 36, 451, 1, 0, 0, 0, 38, 456, 1, 0, 0, 0, 40, 467, 1, 0, 0, 0, 42, 484, 1, 0, 0, 0, 44, 486, 1, 0, 0, 0, 46, 492, 1, 0, 0, 0, 48, 496, 1, 0, 0, 0, 50, 509, 1, 0, 0, 0, 52, 553, 1, 0, 0, 0, 54, 555, 1, 0, 0, 0, 56, 558, 1, 0, 0, 0, 58, 561, 1, 0, 0, 0, 60, 566, 1, 0, 0, 0, 62, 568, 1, 0, 0, 0, 64, 587, 1, 0, 0, 0, 66, 589, 1, 0, 0, 0, 68, 598, 1, 0, 0, 0, 70, 604, 1, 0, 0, 0, 72, 610, 1, 0, 0, 0, 74, 616, 1, 0, 0, 0, 76, 624, 1, 0, 0, 0, 78, 632, 1, 0, 0, 0, 80, 640, 1, 0, 0, 0, 82, 644, 1, 0, 0, 0, 84, 648, 1, 0, 0, 0, 86, 654, 1, 0, 0, 0, 88, 672, 1, 0, 0, 0, 90, 675, 1, 0, 0, 0, 92, 678, 1, 0, 0, 0, 94, 687, 1, 0, 0, 0, 96, 689, 1, 0, 0, 0, 98, 696, 1, 0, 0, 0, 100, 698, 1, 0, 0, 0, 102, 702, 1, 0, 0, 0, 104, 707, 1, 0, 0, 0, 106, 721, 1, 0, 0, 0, 108, 729, 1, 0, 0, 0, 110, 736, 1, 0, 0, 0, 112, 744, 1, 0, 0, 0, 114, 752, 1, 0, 0, 0, 116, 759, 1, 0, 0, 0, 118, 774, 1, 0, 0, 0, 120, 776, 1, 0, 0, 0, 122, 779, 1, 0, 0, 0, 124, 783, 1, 0, 0, 0, 126, 790, 1, 0, 0, 0, 128, 797, 1, 0, 0, 0, 130, 802, 1, 0, 0, 0, 132, 804, 1, 0, 0, 0, 134, 823, 1, 0, 0, 0, 136, 843, 1, 0, 0, 0, 138, 850, 1, 0, 0, 0, 140, 852, 1, 0, 0, 0, 142, 855, 1, 0, 0, 0, 144, 863, 1, 0, 0, 0, 146, 869, 1, 0, 0, 0, 148, 871, 1, 0, 0, 0, 150, 889, 1, 0, 0, 0, 152, 903, 1, 0, 0, 0, 154, 905, 1, 0, 0, 0, 156, 911, 1, 0, 0, 0, 158, 924, 1, 0, 0, 0, 160, 927, 1, 0, 0, 0, 162, 929, 1, 0, 0, 0, 164, 944, 1, 0, 0, 0, 166, 946, 1, 0, 0, 0, 168, 954, 1, 0, 0, 0, 170, 962, 1, 0, 0, 0, 172, 965, 1, 0, 0, 0, 174, 967, 1, 0, 0, 0, 176, 977, 1, 0, 0, 0, 178, 979, 1, 0, 0, 0, 180, 981, 1, 0, 0, 0, 182, 984, 1, 0, 0, 0, 184, 989, 1, 0, 0, 0, 186, 991, 1, 0, 0, 0, 188, 999, 1, 0, 0, 0, 190, 1001, 1, 0, 0, 0, 192, 1003, 1, 0, 0, 0, 194, 1011, 1, 0, 0, 0, 196, 1019, 1, 0, 0, 0, 198, 1026, 1, 0, 0, 0, 200, 1028, 1, 0, 0, 0, 202, 1038, 1, 0, 0, 0, 204, 1053, 1, 0, 0, 0, 206, 1062, 1, 0, 0, 0, 208, 1064, 1, 0, 0, 0, 210, 1068, 1, 0, 0, 0, 212, 1070, 1, 0, 0, 0, 214, 1076, 1, 0, 0, 0, 216, 1078, 1, 0, 0, 0, 218, 1082, 1, 0, 0, 0, 220, 1090, 1, 0, 0, 0, 222, 1100, 1, 0, 0, 0, 224, 1104, 1, 0, 0, 0, 226, 1108, 1, 0, 0, 0, 228, 1112, 1, 0, 0, 0, 230, 1114, 1, 0, 0, 0, 232, 1122, 1, 0, 0, 0, 234, 1124, 1, 0, 0, 0, 236, 1126, 1, 0, 0, 0, 238, 1134, 1, 0, 0, 0, 240, 1142, 1, 0, 0, 0, 242, 1144, 1, 0, 0, 0, 244, 1164, 1, 0, 0, 0, 246, 1166, 1, 0, 0, 0, 248, 1178, 1, 0, 0, 0, 250, 1180, 1, 0, 0, 0, 252, 1182, 1, 0, 0, 0, 254, 1186, 1, 0, 0, 0, 256, 1194, 1, 0, 0, 0, 258, 1203, 1, 0, 0, 0, 260, 1205, 1, 0, 0, 0, 262, 1208, 1, 0, 0, 0, 264, 1218, 1, 0, 0, 0, 266, 1227, 1, 0, 0, 0, 268, 1229, 1, 0, 0, 0, 270, 1487, 1, 0, 0, 0, 272, 1489, 1, 0, 0, 0, 274, 1500, 1, 0, 0, 0, 276, 1505, 1, 0, 0, 0, 278, 1516, 1, 0, 0, 0, 280, 1529, 1, 0, 0, 0, 282, 1532, 1, 0, 0, 0, 284, 1600, 1, 0, 0, 0, 286, 1602, 1, 0, 0, 0, 288, 1606, 1, 0, 0, 0, 290, 1615, 1, 0, 0, 0, 292, 1617, 1, 0, 0, 0, 294, 1619, 1, 0, 0, 0, 296, 1621, 1, 0, 0, 0, 298, 1623, 1, 0, 0, 0, 300, 1625, 1, 0, 0, 0, 302, 1628, 1, 0, 0, 0, 304, 1636, 1, 0, 0, 0, 306, 1638, 1, 0, 0, 0, 308, 1640, 1, 0, 0, 0, 310, 1642, 1, 0, 0, 0, 312, 1644, 1, 0, 0, 0, 314, 317, 3, 2, 1, 0, 315, 317, 3, 62, 31, 0, 316, 314, 1, 0, 0, 0, 316, 315, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319, 5, 0, 0, 1, 319, 1, 1, 0, 0, 0, 320, 325, 3, 4, 2, 0, 321, 326, 3, 10, 5, 0, 322, 326, 3, 22, 11, 0, 323, 326, 3, 24, 12, 0, 324, 326, 3, 26, 13, 0, 325, 321, 1, 0, 0, 0, 325, 322, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 324, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 3, 60, 30, 0, 328, 3, 1, 0, 0, 0, 329, 332, 3, 6, 3, 0, 330, 332, 3, 8, 4, 0, 331, 329, 1, 0, 0, 0, 331, 330, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 5, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 337, 5, 30, 0, 0, 337, 338, 3, 308, 154, 0, 338, 7, 1, 0, 0, 0, 339, 340, 5, 31, 0, 0, 340, 341, 5, 142, 0, 0, 341, 342, 3, 308, 154, 0, 342, 9, 1, 0, 0, 0, 343, 347, 3, 14, 7, 0, 344, 346, 3, 28, 14, 0, 345, 344, 1, 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 351, 3, 36, 18, 0, 351, 352, 3, 38, 19, 0, 352, 11, 1, 0, 0, 0, 353, 354, 3, 14, 7, 0, 354, 355, 3, 36, 18, 0, 355, 356, 3, 38, 19, 0, 356, 357, 3, 60, 30, 0, 357, 13, 1, 0, 0, 0, 358, 360, 5, 32, 0, 0, 359, 361, 7, 0, 0, 0, 360, 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 368, 1, 0, 0, 0, 362, 364, 3, 16, 8, 0, 363, 362, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 369, 5, 1, 0, 0, 368, 363, 1, 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 15, 1, 0, 0, 0, 370, 373, 3, 230, 115, 0, 371, 373, 3, 18, 9, 0, 372, 370, 1, 0, 0, 0, 372, 371, 1, 0, 0, 0, 373, 17, 1, 0, 0, 0, 374, 375, 5, 2, 0, 0, 375, 376, 3, 20, 10, 0, 376, 377, 5, 3, 0, 0, 377, 19, 1, 0, 0, 0, 378, 379, 3, 234, 117, 0, 379, 380, 5, 35, 0, 0, 380, 381, 3, 230, 115, 0, 381, 21, 1, 0, 0, 0, 382, 406, 5, 36, 0, 0, 383, 387, 3, 154, 77, 0, 384, 386, 3, 28, 14, 0, 385, 384, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 390, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, 3, 36, 18, 0, 391, 392, 3, 38, 19, 0, 392, 407, 1, 0, 0, 0, 393, 395, 3, 28, 14, 0, 394, 393, 1, 0, 0, 0, 395, 398, 1, 0, 0, 0, 396, 394, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 399, 1, 0, 0, 0, 398, 396, 1, 0, 0, 0, 399, 400, 5, 37, 0, 0, 400, 402, 5, 4, 0, 0, 401, 403, 3, 108, 54, 0, 402, 401, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 405, 5, 5, 0, 0, 405, 407, 3, 38, 19, 0, 406, 383, 1, 0, 0, 0, 406, 396, 1, 0, 0, 0, 407, 23, 1, 0, 0, 0, 408, 415, 5, 38, 0, 0, 409, 411, 3, 228, 114, 0, 410, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 410, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 416, 1, 0, 0, 0, 414, 416, 5, 1, 0, 0, 415, 410, 1, 0, 0, 0, 415, 414, 1, 0, 0, 0, 416, 420, 1, 0, 0, 0, 417, 419, 3, 28, 14, 0, 418, 417, 1, 0, 0, 0, 419, 422, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 423, 425, 3, 36, 18, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 427, 3, 38, 19, 0, 427, 25, 1, 0, 0, 0, 428, 432, 5, 39, 0, 0, 429, 431, 3, 28, 14, 0, 430, 429, 1, 0, 0, 0, 431, 434, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 435, 1, 0, 0, 0, 434, 432, 1, 0, 0, 0, 435, 436, 3, 36, 18, 0, 436, 437, 3, 38, 19, 0, 437, 27, 1, 0, 0, 0, 438, 441, 5, 40, 0, 0, 439, 442, 3, 30, 15, 0, 440, 442, 3, 32, 16, 0, 441, 439, 1, 0, 0, 0, 441, 440, 1, 0, 0, 0, 442, 29, 1, 0, 0, 0, 443, 444, 3, 34, 17, 0, 444, 31, 1, 0, 0, 0, 445, 446, 5, 41, 0, 0, 446, 447, 3, 34, 17, 0, 447, 33, 1, 0, 0, 0, 448, 449, 3, 302, 151, 0, 449, 35, 1, 0, 0, 0, 450, 452, 5, 37, 0, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 454, 3, 110, 55, 0, 454, 37, 1, 0, 0, 0, 455, 457, 3, 40, 20, 0, 456, 455, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 459, 1, 0, 0, 0, 458, 460, 3, 44, 22, 0, 459, 458, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 462, 1, 0, 0, 0, 461, 463, 3, 48, 24, 0, 462, 461, 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, 1, 0, 0, 0, 464, 466, 3, 52, 26, 0, 465, 464, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 39, 1, 0, 0, 0, 467, 469, 5, 42, 0, 0, 468, 470, 3, 42, 21, 0, 469, 468, 1, 0, 0, 0, 470, 471, 1, 0, 0, 0, 471, 469, 1, 0, 0, 0, 471, 472, 1, 0, 0, 0, 472, 41, 1, 0, 0, 0, 473, 485, 3, 270, 135, 0, 474, 485, 3, 148, 74, 0, 475, 476, 5, 2, 0, 0, 476, 479, 3, 234, 117, 0, 477, 478, 5, 35, 0, 0, 478, 480, 3, 230, 115, 0, 479, 477, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, 3, 0, 0, 482, 485, 1, 0, 0, 0, 483, 485, 3, 230, 115, 0, 484, 473, 1, 0, 0, 0, 484, 474, 1, 0, 0, 0, 484, 475, 1, 0, 0, 0, 484, 483, 1, 0, 0, 0, 485, 43, 1, 0, 0, 0, 486, 488, 5, 44, 0, 0, 487, 489, 3, 46, 23, 0, 488, 487, 1, 0, 0, 0, 489, 490, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 45, 1, 0, 0, 0, 492, 493, 3, 146, 73, 0, 493, 47, 1, 0, 0, 0, 494, 497, 5, 45, 0, 0, 495, 497, 5, 46, 0, 0, 496, 494, 1, 0, 0, 0, 496, 495, 1, 0, 0, 0, 497, 499, 1, 0, 0, 0, 498, 500, 3, 50, 25, 0, 499, 498, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 499, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 49, 1, 0, 0, 0, 503, 504, 7, 1, 0, 0, 504, 510, 3, 268, 134, 0, 505, 508, 3, 146, 73, 0, 506, 508, 3, 230, 115, 0, 507, 505, 1, 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 510, 1, 0, 0, 0, 509, 503, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 510, 51, 1, 0, 0, 0, 511, 513, 3, 54, 27, 0, 512, 514, 3, 56, 28, 0, 513, 512, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 516, 1, 0, 0, 0, 515, 517, 3, 58, 29, 0, 516, 515, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 554, 1, 0, 0, 0, 518, 520, 3, 54, 27, 0, 519, 521, 3, 58, 29, 0, 520, 519, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 523, 1, 0, 0, 0, 522, 524, 3, 56, 28, 0, 523, 522, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 554, 1, 0, 0, 0, 525, 527, 3, 56, 28, 0, 526, 528, 3, 54, 27, 0, 527, 526, 1, 0, 0, 0, 527, 528, 1, 0, 0, 0, 528, 530, 1, 0, 0, 0, 529, 531, 3, 58, 29, 0, 530, 529, 1, 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 554, 1, 0, 0, 0, 532, 534, 3, 56, 28, 0, 533, 535, 3, 58, 29, 0, 534, 533, 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 537, 1, 0, 0, 0, 536, 538, 3, 54, 27, 0, 537, 536, 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 554, 1, 0, 0, 0, 539, 541, 3, 58, 29, 0, 540, 542, 3, 56, 28, 0, 541, 540, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 544, 1, 0, 0, 0, 543, 545, 3, 54, 27, 0, 544, 543, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 554, 1, 0, 0, 0, 546, 548, 3, 58, 29, 0, 547, 549, 3, 54, 27, 0, 548, 547, 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 551, 1, 0, 0, 0, 550, 552, 3, 56, 28, 0, 551, 550, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 554, 1, 0, 0, 0, 553, 511, 1, 0, 0, 0, 553, 518, 1, 0, 0, 0, 553, 525, 1, 0, 0, 0, 553, 532, 1, 0, 0, 0, 553, 539, 1, 0, 0, 0, 553, 546, 1, 0, 0, 0, 554, 53, 1, 0, 0, 0, 555, 556, 5, 49, 0, 0, 556, 557, 3, 208, 104, 0, 557, 55, 1, 0, 0, 0, 558, 559, 5, 50, 0, 0, 559, 560, 3, 208, 104, 0, 560, 57, 1, 0, 0, 0, 561, 562, 5, 51, 0, 0, 562, 563, 3, 208, 104, 0, 563, 59, 1, 0, 0, 0, 564, 565, 5, 52, 0, 0, 565, 567, 3, 130, 65, 0, 566, 564, 1, 0, 0, 0, 566, 567, 1, 0, 0, 0, 567, 61, 1, 0, 0, 0, 568, 574, 3, 4, 2, 0, 569, 572, 3, 64, 32, 0, 570, 571, 5, 6, 0, 0, 571, 573, 3, 62, 31, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 575, 1, 0, 0, 0, 574, 569, 1, 0, 0, 0, 574, 575, 1, 0, 0, 0, 575, 63, 1, 0, 0, 0, 576, 588, 3, 66, 33, 0, 577, 588, 3, 68, 34, 0, 578, 588, 3, 70, 35, 0, 579, 588, 3, 74, 37, 0, 580, 588, 3, 76, 38, 0, 581, 588, 3, 78, 39, 0, 582, 588, 3, 72, 36, 0, 583, 588, 3, 80, 40, 0, 584, 588, 3, 82, 41, 0, 585, 588, 3, 84, 42, 0, 586, 588, 3, 86, 43, 0, 587, 576, 1, 0, 0, 0, 587, 577, 1, 0, 0, 0, 587, 578, 1, 0, 0, 0, 587, 579, 1, 0, 0, 0, 587, 580, 1, 0, 0, 0, 587, 581, 1, 0, 0, 0, 587, 582, 1, 0, 0, 0, 587, 583, 1, 0, 0, 0, 587, 584, 1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 587, 586, 1, 0, 0, 0, 588, 65, 1, 0, 0, 0, 589, 591, 5, 53, 0, 0, 590, 592, 5, 54, 0, 0, 591, 590, 1, 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 593, 1, 0, 0, 0, 593, 596, 3, 302, 151, 0, 594, 595, 5, 55, 0, 0, 595, 597, 3, 96, 48, 0, 596, 594, 1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 67, 1, 0, 0, 0, 598, 600, 5, 56, 0, 0, 599, 601, 5, 54, 0, 0, 600, 599, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603, 3, 98, 49, 0, 603, 69, 1, 0, 0, 0, 604, 606, 5, 57, 0, 0, 605, 607, 5, 54, 0, 0, 606, 605, 1, 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, 3, 98, 49, 0, 609, 71, 1, 0, 0, 0, 610, 612, 5, 58, 0, 0, 611, 613, 5, 54, 0, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 614, 1, 0, 0, 0, 614, 615, 3, 96, 48, 0, 615, 73, 1, 0, 0, 0, 616, 618, 5, 59, 0, 0, 617, 619, 5, 54, 0, 0, 618, 617, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 621, 3, 94, 47, 0, 621, 622, 5, 60, 0, 0, 622, 623, 3, 94, 47, 0, 623, 75, 1, 0, 0, 0, 624, 626, 5, 62, 0, 0, 625, 627, 5, 54, 0, 0, 626, 625, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 3, 94, 47, 0, 629, 630, 5, 60, 0, 0, 630, 631, 3, 94, 47, 0, 631, 77, 1, 0, 0, 0, 632, 634, 5, 63, 0, 0, 633, 635, 5, 54, 0, 0, 634, 633, 1, 0, 0, 0, 634, 635, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 637, 3, 94, 47, 0, 637, 638, 5, 60, 0, 0, 638, 639, 3, 94, 47, 0, 639, 79, 1, 0, 0, 0, 640, 641, 5, 64, 0, 0, 641, 642, 5, 61, 0, 0, 642, 643, 3, 102, 51, 0, 643, 81, 1, 0, 0, 0, 644, 645, 5, 65, 0, 0, 645, 646, 5, 61, 0, 0, 646, 647, 3, 102, 51, 0, 647, 83, 1, 0, 0, 0, 648, 649, 5, 65, 0, 0, 649, 650, 5, 37, 0, 0, 650, 651, 3, 100, 50, 0, 651, 85, 1, 0, 0, 0, 652, 653, 5, 66, 0, 0, 653, 655, 3, 302, 151, 0, 654, 652, 1, 0, 0, 0, 654, 655, 1, 0, 0, 0, 655, 661, 1, 0, 0, 0, 656, 658, 3, 88, 44, 0, 657, 659, 3, 90, 45, 0, 658, 657, 1, 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 662, 1, 0, 0, 0, 660, 662, 3, 90, 45, 0, 661, 656, 1, 0, 0, 0, 661, 660, 1, 0, 0, 0, 662, 666, 1, 0, 0, 0, 663, 665, 3, 92, 46, 0, 664, 663, 1, 0, 0, 0, 665, 668, 1, 0, 0, 0, 666, 664, 1, 0, 0, 0, 666, 667, 1, 0, 0, 0, 667, 669, 1, 0, 0, 0, 668, 666, 1, 0, 0, 0, 669, 670, 5, 37, 0, 0, 670, 671, 3, 110, 55, 0, 671, 87, 1, 0, 0, 0, 672, 673, 5, 65, 0, 0, 673, 674, 3, 100, 50, 0, 674, 89, 1, 0, 0, 0, 675, 676, 5, 64, 0, 0, 676, 677, 3, 100, 50, 0, 677, 91, 1, 0, 0, 0, 678, 682, 5, 67, 0, 0, 679, 683, 5, 85, 0, 0, 680, 681, 5, 41, 0, 0, 681, 683, 3, 302, 151, 0, 682, 679, 1, 0, 0, 0, 682, 680, 1, 0, 0, 0, 683, 93, 1, 0, 0, 0, 684, 688, 5, 68, 0, 0, 685, 686, 5, 69, 0, 0, 686, 688, 3, 302, 151, 0, 687, 684, 1, 0, 0, 0, 687, 685, 1, 0, 0, 0, 688, 95, 1, 0, 0, 0, 689, 690, 5, 69, 0, 0, 690, 691, 3, 302, 151, 0, 691, 97, 1, 0, 0, 0, 692, 697, 3, 96, 48, 0, 693, 697, 5, 68, 0, 0, 694, 697, 5, 41, 0, 0, 695, 697, 5, 70, 0, 0, 696, 692, 1, 0, 0, 0, 696, 693, 1, 0, 0, 0, 696, 694, 1, 0, 0, 0, 696, 695, 1, 0, 0, 0, 697, 99, 1, 0, 0, 0, 698, 699, 5, 4, 0, 0, 699, 700, 3, 104, 52, 0, 700, 701, 5, 5, 0, 0, 701, 101, 1, 0, 0, 0, 702, 703, 5, 4, 0, 0, 703, 704, 3, 104, 52, 0, 704, 705, 5, 5, 0, 0, 705, 103, 1, 0, 0, 0, 706, 708, 3, 108, 54, 0, 707, 706, 1, 0, 0, 0, 707, 708, 1, 0, 0, 0, 708, 718, 1, 0, 0, 0, 709, 711, 3, 106, 53, 0, 710, 712, 5, 7, 0, 0, 711, 710, 1, 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 714, 1, 0, 0, 0, 713, 715, 3, 108, 54, 0, 714, 713, 1, 0, 0, 0, 714, 715, 1, 0, 0, 0, 715, 717, 1, 0, 0, 0, 716, 709, 1, 0, 0, 0, 717, 720, 1, 0, 0, 0, 718, 716, 1, 0, 0, 0, 718, 719, 1, 0, 0, 0, 719, 105, 1, 0, 0, 0, 720, 718, 1, 0, 0, 0, 721, 722, 5, 69, 0, 0, 722, 723, 3, 228, 114, 0, 723, 725, 5, 4, 0, 0, 724, 726, 3, 108, 54, 0, 725, 724, 1, 0, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 728, 5, 5, 0, 0, 728, 107, 1, 0, 0, 0, 729, 734, 3, 158, 79, 0, 730, 732, 5, 7, 0, 0, 731, 733, 3, 108, 54, 0, 732, 731, 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 735, 1, 0, 0, 0, 734, 730, 1, 0, 0, 0, 734, 735, 1, 0, 0, 0, 735, 109, 1, 0, 0, 0, 736, 739, 5, 4, 0, 0, 737, 740, 3, 12, 6, 0, 738, 740, 3, 112, 56, 0, 739, 737, 1, 0, 0, 0, 739, 738, 1, 0, 0, 0, 740, 741, 1, 0, 0, 0, 741, 742, 5, 5, 0, 0, 742, 111, 1, 0, 0, 0, 743, 745, 3, 116, 58, 0, 744, 743, 1, 0, 0, 0, 744, 745, 1, 0, 0, 0, 745, 749, 1, 0, 0, 0, 746, 748, 3, 114, 57, 0, 747, 746, 1, 0, 0, 0, 748, 751, 1, 0, 0, 0, 749, 747, 1, 0, 0, 0, 749, 750, 1, 0, 0, 0, 750, 113, 1, 0, 0, 0, 751, 749, 1, 0, 0, 0, 752, 754, 3, 118, 59, 0, 753, 755, 5, 7, 0, 0, 754, 753, 1, 0, 0, 0, 754, 755, 1, 0, 0, 0, 755, 757, 1, 0, 0, 0, 756, 758, 3, 116, 58, 0, 757, 756, 1, 0, 0, 0, 757, 758, 1, 0, 0, 0, 758, 115, 1, 0, 0, 0, 759, 764, 3, 170, 85, 0, 760, 762, 5, 7, 0, 0, 761, 763, 3, 116, 58, 0, 762, 761, 1, 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 765, 1, 0, 0, 0, 764, 760, 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 117, 1, 0, 0, 0, 766, 775, 3, 142, 71, 0, 767, 775, 3, 120, 60, 0, 768, 775, 3, 140, 70, 0, 769, 775, 3, 122, 61, 0, 770, 775, 3, 124, 62, 0, 771, 775, 3, 144, 72, 0, 772, 775, 3, 126, 63, 0, 773, 775, 3, 128, 64, 0, 774, 766, 1, 0, 0, 0, 774, 767, 1, 0, 0, 0, 774, 768, 1, 0, 0, 0, 774, 769, 1, 0, 0, 0, 774, 770, 1, 0, 0, 0, 774, 771, 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774, 773, 1, 0, 0, 0, 775, 119, 1, 0, 0, 0, 776, 777, 5, 71, 0, 0, 777, 778, 3, 110, 55, 0, 778, 121, 1, 0, 0, 0, 779, 780, 5, 69, 0, 0, 780, 781, 3, 228, 114, 0, 781, 782, 3, 110, 55, 0, 782, 123, 1, 0, 0, 0, 783, 785, 5, 72, 0, 0, 784, 786, 5, 54, 0, 0, 785, 784, 1, 0, 0, 0, 785, 786, 1, 0, 0, 0, 786, 787, 1, 0, 0, 0, 787, 788, 3, 228, 114, 0, 788, 789, 3, 110, 55, 0, 789, 125, 1, 0, 0, 0, 790, 791, 5, 73, 0, 0, 791, 792, 5, 2, 0, 0, 792, 793, 3, 234, 117, 0, 793, 794, 5, 35, 0, 0, 794, 795, 3, 230, 115, 0, 795, 796, 5, 3, 0, 0, 796, 127, 1, 0, 0, 0, 797, 798, 5, 52, 0, 0, 798, 799, 3, 130, 65, 0, 799, 129, 1, 0, 0, 0, 800, 803, 3, 132, 66, 0, 801, 803, 3, 134, 67, 0, 802, 800, 1, 0, 0, 0, 802, 801, 1, 0, 0, 0, 803, 131, 1, 0, 0, 0, 804, 805, 3, 230, 115, 0, 805, 809, 5, 4, 0, 0, 806, 808, 3, 138, 69, 0, 807, 806, 1, 0, 0, 0, 808, 811, 1, 0, 0, 0, 809, 807, 1, 0, 0, 0, 809, 810, 1, 0, 0, 0, 810, 812, 1, 0, 0, 0, 811, 809, 1, 0, 0, 0, 812, 813, 5, 5, 0, 0, 813, 133, 1, 0, 0, 0, 814, 824, 5, 164, 0, 0, 815, 819, 5, 2, 0, 0, 816, 818, 3, 230, 115, 0, 817, 816, 1, 0, 0, 0, 818, 821, 1, 0, 0, 0, 819, 817, 1, 0, 0, 0, 819, 820, 1, 0, 0, 0, 820, 822, 1, 0, 0, 0, 821, 819, 1, 0, 0, 0, 822, 824, 5, 3, 0, 0, 823, 814, 1, 0, 0, 0, 823, 815, 1, 0, 0, 0, 824, 825, 1, 0, 0, 0, 825, 829, 5, 4, 0, 0, 826, 828, 3, 136, 68, 0, 827, 826, 1, 0, 0, 0, 828, 831, 1, 0, 0, 0, 829, 827, 1, 0, 0, 0, 829, 830, 1, 0, 0, 0, 830, 832, 1, 0, 0, 0, 831, 829, 1, 0, 0, 0, 832, 833, 5, 5, 0, 0, 833, 135, 1, 0, 0, 0, 834, 838, 5, 2, 0, 0, 835, 837, 3, 138, 69, 0, 836, 835, 1, 0, 0, 0, 837, 840, 1, 0, 0, 0, 838, 836, 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 838, 1, 0, 0, 0, 841, 844, 5, 3, 0, 0, 842, 844, 5, 164, 0, 0, 843, 834, 1, 0, 0, 0, 843, 842, 1, 0, 0, 0, 844, 137, 1, 0, 0, 0, 845, 851, 3, 302, 151, 0, 846, 851, 3, 288, 144, 0, 847, 851, 3, 290, 145, 0, 848, 851, 3, 298, 149, 0, 849, 851, 5, 74, 0, 0, 850, 845, 1, 0, 0, 0, 850, 846, 1, 0, 0, 0, 850, 847, 1, 0, 0, 0, 850, 848, 1, 0, 0, 0, 850, 849, 1, 0, 0, 0, 851, 139, 1, 0, 0, 0, 852, 853, 5, 75, 0, 0, 853, 854, 3, 110, 55, 0, 854, 141, 1, 0, 0, 0, 855, 860, 3, 110, 55, 0, 856, 857, 5, 76, 0, 0, 857, 859, 3, 110, 55, 0, 858, 856, 1, 0, 0, 0, 859, 862, 1, 0, 0, 0, 860, 858, 1, 0, 0, 0, 860, 861, 1, 0, 0, 0, 861, 143, 1, 0, 0, 0, 862, 860, 1, 0, 0, 0, 863, 864, 5, 77, 0, 0, 864, 865, 3, 146, 73, 0, 865, 145, 1, 0, 0, 0, 866, 870, 3, 268, 134, 0, 867, 870, 3, 270, 135, 0, 868, 870, 3, 148, 74, 0, 869, 866, 1, 0, 0, 0, 869, 867, 1, 0, 0, 0, 869, 868, 1, 0, 0, 0, 870, 147, 1, 0, 0, 0, 871, 872, 3, 302, 151, 0, 872, 873, 3, 150, 75, 0, 873, 149, 1, 0, 0, 0, 874, 890, 5, 164, 0, 0, 875, 877, 5, 2, 0, 0, 876, 878, 5, 33, 0, 0, 877, 876, 1, 0, 0, 0, 877, 878, 1, 0, 0, 0, 878, 879, 1, 0, 0, 0, 879, 884, 3, 234, 117, 0, 880, 881, 5, 8, 0, 0, 881, 883, 3, 234, 117, 0, 882, 880, 1, 0, 0, 0, 883, 886, 1, 0, 0, 0, 884, 882, 1, 0, 0, 0, 884, 885, 1, 0, 0, 0, 885, 887, 1, 0, 0, 0, 886, 884, 1, 0, 0, 0, 887, 888, 5, 3, 0, 0, 888, 890, 1, 0, 0, 0, 889, 874, 1, 0, 0, 0, 889, 875, 1, 0, 0, 0, 890, 151, 1, 0, 0, 0, 891, 904, 5, 164, 0, 0, 892, 893, 5, 2, 0, 0, 893, 898, 3, 234, 117, 0, 894, 895, 5, 8, 0, 0, 895, 897, 3, 234, 117, 0, 896, 894, 1, 0, 0, 0, 897, 900, 1, 0, 0, 0, 898, 896, 1, 0, 0, 0, 898, 899, 1, 0, 0, 0, 899, 901, 1, 0, 0, 0, 900, 898, 1, 0, 0, 0, 901, 902, 5, 3, 0, 0, 902, 904, 1, 0, 0, 0, 903, 891, 1, 0, 0, 0, 903, 892, 1, 0, 0, 0, 904, 153, 1, 0, 0, 0, 905, 907, 5, 4, 0, 0, 906, 908, 3, 156, 78, 0, 907, 906, 1, 0, 0, 0, 907, 908, 1, 0, 0, 0, 908, 909, 1, 0, 0, 0, 909, 910, 5, 5, 0, 0, 910, 155, 1, 0, 0, 0, 911, 916, 3, 158, 79, 0, 912, 914, 5, 7, 0, 0, 913, 915, 3, 156, 78, 0, 914, 913, 1, 0, 0, 0, 914, 915, 1, 0, 0, 0, 915, 917, 1, 0, 0, 0, 916, 912, 1, 0, 0, 0, 916, 917, 1, 0, 0, 0, 917, 157, 1, 0, 0, 0, 918, 919, 3, 226, 113, 0, 919, 920, 3, 162, 81, 0, 920, 925, 1, 0, 0, 0, 921, 922, 3, 210, 105, 0, 922, 923, 3, 160, 80, 0, 923, 925, 1, 0, 0, 0, 924, 918, 1, 0, 0, 0, 924, 921, 1, 0, 0, 0, 925, 159, 1, 0, 0, 0, 926, 928, 3, 162, 81, 0, 927, 926, 1, 0, 0, 0, 927, 928, 1, 0, 0, 0, 928, 161, 1, 0, 0, 0, 929, 930, 3, 164, 82, 0, 930, 939, 3, 166, 83, 0, 931, 935, 5, 6, 0, 0, 932, 933, 3, 164, 82, 0, 933, 934, 3, 166, 83, 0, 934, 936, 1, 0, 0, 0, 935, 932, 1, 0, 0, 0, 935, 936, 1, 0, 0, 0, 936, 938, 1, 0, 0, 0, 937, 931, 1, 0, 0, 0, 938, 941, 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 163, 1, 0, 0, 0, 941, 939, 1, 0, 0, 0, 942, 945, 3, 228, 114, 0, 943, 945, 5, 9, 0, 0, 944, 942, 1, 0, 0, 0, 944, 943, 1, 0, 0, 0, 945, 165, 1, 0, 0, 0, 946, 951, 3, 168, 84, 0, 947, 948, 5, 8, 0, 0, 948, 950, 3, 168, 84, 0, 949, 947, 1, 0, 0, 0, 950, 953, 1, 0, 0, 0, 951, 949, 1, 0, 0, 0, 951, 952, 1, 0, 0, 0, 952, 167, 1, 0, 0, 0, 953, 951, 1, 0, 0, 0, 954, 955, 3, 222, 111, 0, 955, 169, 1, 0, 0, 0, 956, 957, 3, 226, 113, 0, 957, 958, 3, 174, 87, 0, 958, 963, 1, 0, 0, 0, 959, 960, 3, 214, 107, 0, 960, 961, 3, 172, 86, 0, 961, 963, 1, 0, 0, 0, 962, 956, 1, 0, 0, 0, 962, 959, 1, 0, 0, 0, 963, 171, 1, 0, 0, 0, 964, 966, 3, 174, 87, 0, 965, 964, 1, 0, 0, 0, 965, 966, 1, 0, 0, 0, 966, 173, 1, 0, 0, 0, 967, 974, 3, 182, 91, 0, 968, 970, 5, 6, 0, 0, 969, 971, 3, 180, 90, 0, 970, 969, 1, 0, 0, 0, 970, 971, 1, 0, 0, 0, 971, 973, 1, 0, 0, 0, 972, 968, 1, 0, 0, 0, 973, 976, 1, 0, 0, 0, 974, 972, 1, 0, 0, 0, 974, 975, 1, 0, 0, 0, 975, 175, 1, 0, 0, 0, 976, 974, 1, 0, 0, 0, 977, 978, 3, 190, 95, 0, 978, 177, 1, 0, 0, 0, 979, 980, 3, 230, 115, 0, 980, 179, 1, 0, 0, 0, 981, 982, 3, 184, 92, 0, 982, 983, 3, 166, 83, 0, 983, 181, 1, 0, 0, 0, 984, 985, 3, 184, 92, 0, 985, 986, 3, 186, 93, 0, 986, 183, 1, 0, 0, 0, 987, 990, 3, 176, 88, 0, 988, 990, 3, 178, 89, 0, 989, 987, 1, 0, 0, 0, 989, 988, 1, 0, 0, 0, 990, 185, 1, 0, 0, 0, 991, 996, 3, 188, 94, 0, 992, 993, 5, 8, 0, 0, 993, 995, 3, 188, 94, 0, 994, 992, 1, 0, 0, 0, 995, 998, 1, 0, 0, 0, 996, 994, 1, 0, 0, 0, 996, 997, 1, 0, 0, 0, 997, 187, 1, 0, 0, 0, 998, 996, 1, 0, 0, 0, 999, 1000, 3, 224, 112, 0, 1000, 189, 1, 0, 0, 0, 1001, 1002, 3, 192, 96, 0, 1002, 191, 1, 0, 0, 0, 1003, 1008, 3, 194, 97, 0, 1004, 1005, 5, 10, 0, 0, 1005, 1007, 3, 194, 97, 0, 1006, 1004, 1, 0, 0, 0, 1007, 1010, 1, 0, 0, 0, 1008, 1006, 1, 0, 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 193, 1, 0, 0, 0, 1010, 1008, 1, 0, 0, 0, 1011, 1016, 3, 198, 99, 0, 1012, 1013, 5, 11, 0, 0, 1013, 1015, 3, 198, 99, 0, 1014, 1012, 1, 0, 0, 0, 1015, 1018, 1, 0, 0, 0, 1016, 1014, 1, 0, 0, 0, 1016, 1017, 1, 0, 0, 0, 1017, 195, 1, 0, 0, 0, 1018, 1016, 1, 0, 0, 0, 1019, 1021, 3, 202, 101, 0, 1020, 1022, 3, 200, 100, 0, 1021, 1020, 1, 0, 0, 0, 1021, 1022, 1, 0, 0, 0, 1022, 197, 1, 0, 0, 0, 1023, 1027, 3, 196, 98, 0, 1024, 1025, 5, 12, 0, 0, 1025, 1027, 3, 196, 98, 0, 1026, 1023, 1, 0, 0, 0, 1026, 1024, 1, 0, 0, 0, 1027, 199, 1, 0, 0, 0, 1028, 1029, 7, 2, 0, 0, 1029, 201, 1, 0, 0, 0, 1030, 1039, 3, 302, 151, 0, 1031, 1039, 5, 9, 0, 0, 1032, 1033, 5, 15, 0, 0, 1033, 1039, 3, 204, 102, 0, 1034, 1035, 5, 2, 0, 0, 1035, 1036, 3, 190, 95, 0, 1036, 1037, 5, 3, 0, 0, 1037, 1039, 1, 0, 0, 0, 1038, 1030, 1, 0, 0, 0, 1038, 1031, 1, 0, 0, 0, 1038, 1032, 1, 0, 0, 0, 1038, 1034, 1, 0, 0, 0, 1039, 203, 1, 0, 0, 0, 1040, 1054, 3, 206, 103, 0, 1041, 1050, 5, 2, 0, 0, 1042, 1047, 3, 206, 103, 0, 1043, 1044, 5, 10, 0, 0, 1044, 1046, 3, 206, 103, 0, 1045, 1043, 1, 0, 0, 0, 1046, 1049, 1, 0, 0, 0, 1047, 1045, 1, 0, 0, 0, 1047, 1048, 1, 0, 0, 0, 1048, 1051, 1, 0, 0, 0, 1049, 1047, 1, 0, 0, 0, 1050, 1042, 1, 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1054, 5, 3, 0, 0, 1053, 1040, 1, 0, 0, 0, 1053, 1041, 1, 0, 0, 0, 1054, 205, 1, 0, 0, 0, 1055, 1063, 3, 302, 151, 0, 1056, 1063, 5, 9, 0, 0, 1057, 1060, 5, 12, 0, 0, 1058, 1061, 3, 302, 151, 0, 1059, 1061, 5, 9, 0, 0, 1060, 1058, 1, 0, 0, 0, 1060, 1059, 1, 0, 0, 0, 1061, 1063, 1, 0, 0, 0, 1062, 1055, 1, 0, 0, 0, 1062, 1056, 1, 0, 0, 0, 1062, 1057, 1, 0, 0, 0, 1063, 207, 1, 0, 0, 0, 1064, 1065, 5, 149, 0, 0, 1065, 209, 1, 0, 0, 0, 1066, 1069, 3, 218, 109, 0, 1067, 1069, 3, 212, 106, 0, 1068, 1066, 1, 0, 0, 0, 1068, 1067, 1, 0, 0, 0, 1069, 211, 1, 0, 0, 0, 1070, 1071, 5, 16, 0, 0, 1071, 1072, 3, 162, 81, 0, 1072, 1073, 5, 17, 0, 0, 1073, 213, 1, 0, 0, 0, 1074, 1077, 3, 220, 110, 0, 1075, 1077, 3, 216, 108, 0, 1076, 1074, 1, 0, 0, 0, 1076, 1075, 1, 0, 0, 0, 1077, 215, 1, 0, 0, 0, 1078, 1079, 5, 16, 0, 0, 1079, 1080, 3, 174, 87, 0, 1080, 1081, 5, 17, 0, 0, 1081, 217, 1, 0, 0, 0, 1082, 1084, 5, 2, 0, 0, 1083, 1085, 3, 222, 111, 0, 1084, 1083, 1, 0, 0, 0, 1085, 1086, 1, 0, 0, 0, 1086, 1084, 1, 0, 0, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1088, 1, 0, 0, 0, 1088, 1089, 5, 3, 0, 0, 1089, 219, 1, 0, 0, 0, 1090, 1092, 5, 2, 0, 0, 1091, 1093, 3, 224, 112, 0, 1092, 1091, 1, 0, 0, 0, 1093, 1094, 1, 0, 0, 0, 1094, 1092, 1, 0, 0, 0, 1094, 1095, 1, 0, 0, 0, 1095, 1096, 1, 0, 0, 0, 1096, 1097, 5, 3, 0, 0, 1097, 221, 1, 0, 0, 0, 1098, 1101, 3, 226, 113, 0, 1099, 1101, 3, 210, 105, 0, 1100, 1098, 1, 0, 0, 0, 1100, 1099, 1, 0, 0, 0, 1101, 223, 1, 0, 0, 0, 1102, 1105, 3, 226, 113, 0, 1103, 1105, 3, 214, 107, 0, 1104, 1102, 1, 0, 0, 0, 1104, 1103, 1, 0, 0, 0, 1105, 225, 1, 0, 0, 0, 1106, 1109, 3, 230, 115, 0, 1107, 1109, 3, 232, 116, 0, 1108, 1106, 1, 0, 0, 0, 1108, 1107, 1, 0, 0, 0, 1109, 227, 1, 0, 0, 0, 1110, 1113, 3, 230, 115, 0, 1111, 1113, 3, 302, 151, 0, 1112, 1110, 1, 0, 0, 0, 1112, 1111, 1, 0, 0, 0, 1113, 229, 1, 0, 0, 0, 1114, 1115, 7, 3, 0, 0, 1115, 231, 1, 0, 0, 0, 1116, 1123, 3, 302, 151, 0, 1117, 1123, 3, 288, 144, 0, 1118, 1123, 3, 290, 145, 0, 1119, 1123, 3, 298, 149, 0, 1120, 1123, 3, 306, 153, 0, 1121, 1123, 5, 164, 0, 0, 1122, 1116, 1, 0, 0, 0, 1122, 1117, 1, 0, 0, 0, 1122, 1118, 1, 0, 0, 0, 1122, 1119, 1, 0, 0, 0, 1122, 1120, 1, 0, 0, 0, 1122, 1121, 1, 0, 0, 0, 1123, 233, 1, 0, 0, 0, 1124, 1125, 3, 236, 118, 0, 1125, 235, 1, 0, 0, 0, 1126, 1131, 3, 238, 119, 0, 1127, 1128, 5, 18, 0, 0, 1128, 1130, 3, 238, 119, 0, 1129, 1127, 1, 0, 0, 0, 1130, 1133, 1, 0, 0, 0, 1131, 1129, 1, 0, 0, 0, 1131, 1132, 1, 0, 0, 0, 1132, 237, 1, 0, 0, 0, 1133, 1131, 1, 0, 0, 0, 1134, 1139, 3, 240, 120, 0, 1135, 1136, 5, 19, 0, 0, 1136, 1138, 3, 240, 120, 0, 1137, 1135, 1, 0, 0, 0, 1138, 1141, 1, 0, 0, 0, 1139, 1137, 1, 0, 0, 0, 1139, 1140, 1, 0, 0, 0, 1140, 239, 1, 0, 0, 0, 1141, 1139, 1, 0, 0, 0, 1142, 1143, 3, 242, 121, 0, 1143, 241, 1, 0, 0, 0, 1144, 1162, 3, 244, 122, 0, 1145, 1146, 5, 20, 0, 0, 1146, 1163, 3, 244, 122, 0, 1147, 1148, 5, 21, 0, 0, 1148, 1163, 3, 244, 122, 0, 1149, 1150, 5, 22, 0, 0, 1150, 1163, 3, 244, 122, 0, 1151, 1152, 5, 23, 0, 0, 1152, 1163, 3, 244, 122, 0, 1153, 1154, 5, 24, 0, 0, 1154, 1163, 3, 244, 122, 0, 1155, 1156, 5, 25, 0, 0, 1156, 1163, 3, 244, 122, 0, 1157, 1158, 5, 79, 0, 0, 1158, 1163, 3, 152, 76, 0, 1159, 1160, 5, 78, 0, 0, 1160, 1161, 5, 79, 0, 0, 1161, 1163, 3, 152, 76, 0, 1162, 1145, 1, 0, 0, 0, 1162, 1147, 1, 0, 0, 0, 1162, 1149, 1, 0, 0, 0, 1162, 1151, 1, 0, 0, 0, 1162, 1153, 1, 0, 0, 0, 1162, 1155, 1, 0, 0, 0, 1162, 1157, 1, 0, 0, 0, 1162, 1159, 1, 0, 0, 0, 1162, 1163, 1, 0, 0, 0, 1163, 243, 1, 0, 0, 0, 1164, 1165, 3, 246, 123, 0, 1165, 245, 1, 0, 0, 0, 1166, 1170, 3, 256, 128, 0, 1167, 1169, 3, 248, 124, 0, 1168, 1167, 1, 0, 0, 0, 1169, 1172, 1, 0, 0, 0, 1170, 1168, 1, 0, 0, 0, 1170, 1171, 1, 0, 0, 0, 1171, 247, 1, 0, 0, 0, 1172, 1170, 1, 0, 0, 0, 1173, 1174, 5, 13, 0, 0, 1174, 1179, 3, 250, 125, 0, 1175, 1176, 5, 26, 0, 0, 1176, 1179, 3, 252, 126, 0, 1177, 1179, 3, 254, 127, 0, 1178, 1173, 1, 0, 0, 0, 1178, 1175, 1, 0, 0, 0, 1178, 1177, 1, 0, 0, 0, 1179, 249, 1, 0, 0, 0, 1180, 1181, 3, 256, 128, 0, 1181, 251, 1, 0, 0, 0, 1182, 1183, 3, 256, 128, 0, 1183, 253, 1, 0, 0, 0, 1184, 1187, 3, 294, 147, 0, 1185, 1187, 3, 296, 148, 0, 1186, 1184, 1, 0, 0, 0, 1186, 1185, 1, 0, 0, 0, 1187, 1191, 1, 0, 0, 0, 1188, 1190, 3, 258, 129, 0, 1189, 1188, 1, 0, 0, 0, 1190, 1193, 1, 0, 0, 0, 1191, 1189, 1, 0, 0, 0, 1191, 1192, 1, 0, 0, 0, 1192, 255, 1, 0, 0, 0, 1193, 1191, 1, 0, 0, 0, 1194, 1198, 3, 264, 132, 0, 1195, 1197, 3, 258, 129, 0, 1196, 1195, 1, 0, 0, 0, 1197, 1200, 1, 0, 0, 0, 1198, 1196, 1, 0, 0, 0, 1198, 1199, 1, 0, 0, 0, 1199, 257, 1, 0, 0, 0, 1200, 1198, 1, 0, 0, 0, 1201, 1204, 3, 260, 130, 0, 1202, 1204, 3, 262, 131, 0, 1203, 1201, 1, 0, 0, 0, 1203, 1202, 1, 0, 0, 0, 1204, 259, 1, 0, 0, 0, 1205, 1206, 5, 1, 0, 0, 1206, 1207, 3, 264, 132, 0, 1207, 261, 1, 0, 0, 0, 1208, 1209, 5, 11, 0, 0, 1209, 1210, 3, 264, 132, 0, 1210, 263, 1, 0, 0, 0, 1211, 1212, 5, 15, 0, 0, 1212, 1219, 3, 266, 133, 0, 1213, 1214, 5, 13, 0, 0, 1214, 1219, 3, 266, 133, 0, 1215, 1216, 5, 26, 0, 0, 1216, 1219, 3, 266, 133, 0, 1217, 1219, 3, 266, 133, 0, 1218, 1211, 1, 0, 0, 0, 1218, 1213, 1, 0, 0, 0, 1218, 1215, 1, 0, 0, 0, 1218, 1217, 1, 0, 0, 0, 1219, 265, 1, 0, 0, 0, 1220, 1228, 3, 268, 134, 0, 1221, 1228, 3, 270, 135, 0, 1222, 1228, 3, 286, 143, 0, 1223, 1228, 3, 288, 144, 0, 1224, 1228, 3, 290, 145, 0, 1225, 1228, 3, 298, 149, 0, 1226, 1228, 3, 230, 115, 0, 1227, 1220, 1, 0, 0, 0, 1227, 1221, 1, 0, 0, 0, 1227, 1222, 1, 0, 0, 0, 1227, 1223, 1, 0, 0, 0, 1227, 1224, 1, 0, 0, 0, 1227, 1225, 1, 0, 0, 0, 1227, 1226, 1, 0, 0, 0, 1228, 267, 1, 0, 0, 0, 1229, 1230, 5, 2, 0, 0, 1230, 1231, 3, 234, 117, 0, 1231, 1232, 5, 3, 0, 0, 1232, 269, 1, 0, 0, 0, 1233, 1488, 3, 284, 142, 0, 1234, 1235, 5, 80, 0, 0, 1235, 1236, 5, 2, 0, 0, 1236, 1237, 3, 234, 117, 0, 1237, 1238, 5, 3, 0, 0, 1238, 1488, 1, 0, 0, 0, 1239, 1488, 3, 274, 137, 0, 1240, 1241, 5, 82, 0, 0, 1241, 1242, 5, 2, 0, 0, 1242, 1243, 3, 234, 117, 0, 1243, 1244, 5, 8, 0, 0, 1244, 1245, 3, 234, 117, 0, 1245, 1246, 5, 3, 0, 0, 1246, 1488, 1, 0, 0, 0, 1247, 1248, 5, 83, 0, 0, 1248, 1249, 5, 2, 0, 0, 1249, 1250, 3, 234, 117, 0, 1250, 1251, 5, 3, 0, 0, 1251, 1488, 1, 0, 0, 0, 1252, 1253, 5, 84, 0, 0, 1253, 1254, 5, 2, 0, 0, 1254, 1255, 3, 230, 115, 0, 1255, 1256, 5, 3, 0, 0, 1256, 1488, 1, 0, 0, 0, 1257, 1258, 5, 85, 0, 0, 1258, 1259, 5, 2, 0, 0, 1259, 1260, 3, 234, 117, 0, 1260, 1261, 5, 3, 0, 0, 1261, 1488, 1, 0, 0, 0, 1262, 1263, 5, 86, 0, 0, 1263, 1264, 5, 2, 0, 0, 1264, 1265, 3, 234, 117, 0, 1265, 1266, 5, 3, 0, 0, 1266, 1488, 1, 0, 0, 0, 1267, 1273, 5, 87, 0, 0, 1268, 1269, 5, 2, 0, 0, 1269, 1270, 3, 234, 117, 0, 1270, 1271, 5, 3, 0, 0, 1271, 1274, 1, 0, 0, 0, 1272, 1274, 5, 164, 0, 0, 1273, 1268, 1, 0, 0, 0, 1273, 1272, 1, 0, 0, 0, 1274, 1488, 1, 0, 0, 0, 1275, 1276, 5, 88, 0, 0, 1276, 1488, 5, 164, 0, 0, 1277, 1278, 5, 89, 0, 0, 1278, 1279, 5, 2, 0, 0, 1279, 1280, 3, 234, 117, 0, 1280, 1281, 5, 3, 0, 0, 1281, 1488, 1, 0, 0, 0, 1282, 1283, 5, 90, 0, 0, 1283, 1284, 5, 2, 0, 0, 1284, 1285, 3, 234, 117, 0, 1285, 1286, 5, 3, 0, 0, 1286, 1488, 1, 0, 0, 0, 1287, 1288, 5, 91, 0, 0, 1288, 1289, 5, 2, 0, 0, 1289, 1290, 3, 234, 117, 0, 1290, 1291, 5, 3, 0, 0, 1291, 1488, 1, 0, 0, 0, 1292, 1293, 5, 92, 0, 0, 1293, 1294, 5, 2, 0, 0, 1294, 1295, 3, 234, 117, 0, 1295, 1296, 5, 3, 0, 0, 1296, 1488, 1, 0, 0, 0, 1297, 1298, 5, 93, 0, 0, 1298, 1488, 3, 152, 76, 0, 1299, 1488, 3, 276, 138, 0, 1300, 1301, 5, 94, 0, 0, 1301, 1302, 5, 2, 0, 0, 1302, 1303, 3, 234, 117, 0, 1303, 1304, 5, 3, 0, 0, 1304, 1488, 1, 0, 0, 0, 1305, 1488, 3, 278, 139, 0, 1306, 1307, 5, 95, 0, 0, 1307, 1308, 5, 2, 0, 0, 1308, 1309, 3, 234, 117, 0, 1309, 1310, 5, 3, 0, 0, 1310, 1488, 1, 0, 0, 0, 1311, 1312, 5, 96, 0, 0, 1312, 1313, 5, 2, 0, 0, 1313, 1314, 3, 234, 117, 0, 1314, 1315, 5, 3, 0, 0, 1315, 1488, 1, 0, 0, 0, 1316, 1317, 5, 97, 0, 0, 1317, 1318, 5, 2, 0, 0, 1318, 1319, 3, 234, 117, 0, 1319, 1320, 5, 3, 0, 0, 1320, 1488, 1, 0, 0, 0, 1321, 1322, 5, 99, 0, 0, 1322, 1323, 5, 2, 0, 0, 1323, 1324, 3, 234, 117, 0, 1324, 1325, 5, 8, 0, 0, 1325, 1326, 3, 234, 117, 0, 1326, 1327, 5, 3, 0, 0, 1327, 1488, 1, 0, 0, 0, 1328, 1329, 5, 100, 0, 0, 1329, 1330, 5, 2, 0, 0, 1330, 1331, 3, 234, 117, 0, 1331, 1332, 5, 8, 0, 0, 1332, 1333, 3, 234, 117, 0, 1333, 1334, 5, 3, 0, 0, 1334, 1488, 1, 0, 0, 0, 1335, 1336, 5, 101, 0, 0, 1336, 1337, 5, 2, 0, 0, 1337, 1338, 3, 234, 117, 0, 1338, 1339, 5, 8, 0, 0, 1339, 1340, 3, 234, 117, 0, 1340, 1341, 5, 3, 0, 0, 1341, 1488, 1, 0, 0, 0, 1342, 1343, 5, 102, 0, 0, 1343, 1344, 5, 2, 0, 0, 1344, 1345, 3, 234, 117, 0, 1345, 1346, 5, 8, 0, 0, 1346, 1347, 3, 234, 117, 0, 1347, 1348, 5, 3, 0, 0, 1348, 1488, 1, 0, 0, 0, 1349, 1350, 5, 103, 0, 0, 1350, 1351, 5, 2, 0, 0, 1351, 1352, 3, 234, 117, 0, 1352, 1353, 5, 8, 0, 0, 1353, 1354, 3, 234, 117, 0, 1354, 1355, 5, 3, 0, 0, 1355, 1488, 1, 0, 0, 0, 1356, 1357, 5, 104, 0, 0, 1357, 1358, 5, 2, 0, 0, 1358, 1359, 3, 234, 117, 0, 1359, 1360, 5, 3, 0, 0, 1360, 1488, 1, 0, 0, 0, 1361, 1362, 5, 105, 0, 0, 1362, 1363, 5, 2, 0, 0, 1363, 1364, 3, 234, 117, 0, 1364, 1365, 5, 3, 0, 0, 1365, 1488, 1, 0, 0, 0, 1366, 1367, 5, 106, 0, 0, 1367, 1368, 5, 2, 0, 0, 1368, 1369, 3, 234, 117, 0, 1369, 1370, 5, 3, 0, 0, 1370, 1488, 1, 0, 0, 0, 1371, 1372, 5, 107, 0, 0, 1372, 1373, 5, 2, 0, 0, 1373, 1374, 3, 234, 117, 0, 1374, 1375, 5, 3, 0, 0, 1375, 1488, 1, 0, 0, 0, 1376, 1377, 5, 108, 0, 0, 1377, 1378, 5, 2, 0, 0, 1378, 1379, 3, 234, 117, 0, 1379, 1380, 5, 3, 0, 0, 1380, 1488, 1, 0, 0, 0, 1381, 1382, 5, 109, 0, 0, 1382, 1383, 5, 2, 0, 0, 1383, 1384, 3, 234, 117, 0, 1384, 1385, 5, 3, 0, 0, 1385, 1488, 1, 0, 0, 0, 1386, 1387, 5, 110, 0, 0, 1387, 1388, 5, 2, 0, 0, 1388, 1389, 3, 234, 117, 0, 1389, 1390, 5, 3, 0, 0, 1390, 1488, 1, 0, 0, 0, 1391, 1392, 5, 111, 0, 0, 1392, 1393, 5, 2, 0, 0, 1393, 1394, 3, 234, 117, 0, 1394, 1395, 5, 3, 0, 0, 1395, 1488, 1, 0, 0, 0, 1396, 1397, 5, 112, 0, 0, 1397, 1488, 5, 164, 0, 0, 1398, 1399, 5, 113, 0, 0, 1399, 1488, 5, 164, 0, 0, 1400, 1401, 5, 114, 0, 0, 1401, 1488, 5, 164, 0, 0, 1402, 1403, 5, 119, 0, 0, 1403, 1404, 5, 2, 0, 0, 1404, 1405, 3, 234, 117, 0, 1405, 1406, 5, 3, 0, 0, 1406, 1488, 1, 0, 0, 0, 1407, 1408, 5, 115, 0, 0, 1408, 1409, 5, 2, 0, 0, 1409, 1410, 3, 234, 117, 0, 1410, 1411, 5, 3, 0, 0, 1411, 1488, 1, 0, 0, 0, 1412, 1413, 5, 116, 0, 0, 1413, 1414, 5, 2, 0, 0, 1414, 1415, 3, 234, 117, 0, 1415, 1416, 5, 3, 0, 0, 1416, 1488, 1, 0, 0, 0, 1417, 1418, 5, 117, 0, 0, 1418, 1419, 5, 2, 0, 0, 1419, 1420, 3, 234, 117, 0, 1420, 1421, 5, 3, 0, 0, 1421, 1488, 1, 0, 0, 0, 1422, 1423, 5, 118, 0, 0, 1423, 1424, 5, 2, 0, 0, 1424, 1425, 3, 234, 117, 0, 1425, 1426, 5, 3, 0, 0, 1426, 1488, 1, 0, 0, 0, 1427, 1428, 5, 120, 0, 0, 1428, 1488, 3, 152, 76, 0, 1429, 1430, 5, 121, 0, 0, 1430, 1431, 5, 2, 0, 0, 1431, 1432, 3, 234, 117, 0, 1432, 1433, 5, 8, 0, 0, 1433, 1434, 3, 234, 117, 0, 1434, 1435, 5, 8, 0, 0, 1435, 1436, 3, 234, 117, 0, 1436, 1437, 5, 3, 0, 0, 1437, 1488, 1, 0, 0, 0, 1438, 1439, 5, 122, 0, 0, 1439, 1440, 5, 2, 0, 0, 1440, 1441, 3, 234, 117, 0, 1441, 1442, 5, 8, 0, 0, 1442, 1443, 3, 234, 117, 0, 1443, 1444, 5, 3, 0, 0, 1444, 1488, 1, 0, 0, 0, 1445, 1446, 5, 123, 0, 0, 1446, 1447, 5, 2, 0, 0, 1447, 1448, 3, 234, 117, 0, 1448, 1449, 5, 8, 0, 0, 1449, 1450, 3, 234, 117, 0, 1450, 1451, 5, 3, 0, 0, 1451, 1488, 1, 0, 0, 0, 1452, 1453, 5, 124, 0, 0, 1453, 1454, 5, 2, 0, 0, 1454, 1455, 3, 234, 117, 0, 1455, 1456, 5, 8, 0, 0, 1456, 1457, 3, 234, 117, 0, 1457, 1458, 5, 3, 0, 0, 1458, 1488, 1, 0, 0, 0, 1459, 1460, 5, 125, 0, 0, 1460, 1461, 5, 2, 0, 0, 1461, 1462, 3, 234, 117, 0, 1462, 1463, 5, 3, 0, 0, 1463, 1488, 1, 0, 0, 0, 1464, 1465, 5, 126, 0, 0, 1465, 1466, 5, 2, 0, 0, 1466, 1467, 3, 234, 117, 0, 1467, 1468, 5, 3, 0, 0, 1468, 1488, 1, 0, 0, 0, 1469, 1470, 5, 127, 0, 0, 1470, 1471, 5, 2, 0, 0, 1471, 1472, 3, 234, 117, 0, 1472, 1473, 5, 3, 0, 0, 1473, 1488, 1, 0, 0, 0, 1474, 1475, 5, 128, 0, 0, 1475, 1476, 5, 2, 0, 0, 1476, 1477, 3, 234, 117, 0, 1477, 1478, 5, 3, 0, 0, 1478, 1488, 1, 0, 0, 0, 1479, 1480, 5, 129, 0, 0, 1480, 1481, 5, 2, 0, 0, 1481, 1482, 3, 234, 117, 0, 1482, 1483, 5, 3, 0, 0, 1483, 1488, 1, 0, 0, 0, 1484, 1488, 3, 272, 136, 0, 1485, 1488, 3, 280, 140, 0, 1486, 1488, 3, 282, 141, 0, 1487, 1233, 1, 0, 0, 0, 1487, 1234, 1, 0, 0, 0, 1487, 1239, 1, 0, 0, 0, 1487, 1240, 1, 0, 0, 0, 1487, 1247, 1, 0, 0, 0, 1487, 1252, 1, 0, 0, 0, 1487, 1257, 1, 0, 0, 0, 1487, 1262, 1, 0, 0, 0, 1487, 1267, 1, 0, 0, 0, 1487, 1275, 1, 0, 0, 0, 1487, 1277, 1, 0, 0, 0, 1487, 1282, 1, 0, 0, 0, 1487, 1287, 1, 0, 0, 0, 1487, 1292, 1, 0, 0, 0, 1487, 1297, 1, 0, 0, 0, 1487, 1299, 1, 0, 0, 0, 1487, 1300, 1, 0, 0, 0, 1487, 1305, 1, 0, 0, 0, 1487, 1306, 1, 0, 0, 0, 1487, 1311, 1, 0, 0, 0, 1487, 1316, 1, 0, 0, 0, 1487, 1321, 1, 0, 0, 0, 1487, 1328, 1, 0, 0, 0, 1487, 1335, 1, 0, 0, 0, 1487, 1342, 1, 0, 0, 0, 1487, 1349, 1, 0, 0, 0, 1487, 1356, 1, 0, 0, 0, 1487, 1361, 1, 0, 0, 0, 1487, 1366, 1, 0, 0, 0, 1487, 1371, 1, 0, 0, 0, 1487, 1376, 1, 0, 0, 0, 1487, 1381, 1, 0, 0, 0, 1487, 1386, 1, 0, 0, 0, 1487, 1391, 1, 0, 0, 0, 1487, 1396, 1, 0, 0, 0, 1487, 1398, 1, 0, 0, 0, 1487, 1400, 1, 0, 0, 0, 1487, 1402, 1, 0, 0, 0, 1487, 1407, 1, 0, 0, 0, 1487, 1412, 1, 0, 0, 0, 1487, 1417, 1, 0, 0, 0, 1487, 1422, 1, 0, 0, 0, 1487, 1427, 1, 0, 0, 0, 1487, 1429, 1, 0, 0, 0, 1487, 1438, 1, 0, 0, 0, 1487, 1445, 1, 0, 0, 0, 1487, 1452, 1, 0, 0, 0, 1487, 1459, 1, 0, 0, 0, 1487, 1464, 1, 0, 0, 0, 1487, 1469, 1, 0, 0, 0, 1487, 1474, 1, 0, 0, 0, 1487, 1479, 1, 0, 0, 0, 1487, 1484, 1, 0, 0, 0, 1487, 1485, 1, 0, 0, 0, 1487, 1486, 1, 0, 0, 0, 1488, 271, 1, 0, 0, 0, 1489, 1490, 5, 130, 0, 0, 1490, 1491, 5, 2, 0, 0, 1491, 1492, 3, 234, 117, 0, 1492, 1493, 5, 8, 0, 0, 1493, 1496, 3, 234, 117, 0, 1494, 1495, 5, 8, 0, 0, 1495, 1497, 3, 234, 117, 0, 1496, 1494, 1, 0, 0, 0, 1496, 1497, 1, 0, 0, 0, 1497, 1498, 1, 0, 0, 0, 1498, 1499, 5, 3, 0, 0, 1499, 273, 1, 0, 0, 0, 1500, 1501, 5, 81, 0, 0, 1501, 1502, 5, 2, 0, 0, 1502, 1503, 3, 234, 117, 0, 1503, 1504, 5, 3, 0, 0, 1504, 275, 1, 0, 0, 0, 1505, 1506, 5, 131, 0, 0, 1506, 1507, 5, 2, 0, 0, 1507, 1508, 3, 234, 117, 0, 1508, 1509, 5, 8, 0, 0, 1509, 1512, 3, 234, 117, 0, 1510, 1511, 5, 8, 0, 0, 1511, 1513, 3, 234, 117, 0, 1512, 1510, 1, 0, 0, 0, 1512, 1513, 1, 0, 0, 0, 1513, 1514, 1, 0, 0, 0, 1514, 1515, 5, 3, 0, 0, 1515, 277, 1, 0, 0, 0, 1516, 1517, 5, 132, 0, 0, 1517, 1518, 5, 2, 0, 0, 1518, 1519, 3, 234, 117, 0, 1519, 1520, 5, 8, 0, 0, 1520, 1521, 3, 234, 117, 0, 1521, 1522, 5, 8, 0, 0, 1522, 1525, 3, 234, 117, 0, 1523, 1524, 5, 8, 0, 0, 1524, 1526, 3, 234, 117, 0, 1525, 1523, 1, 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1528, 5, 3, 0, 0, 1528, 279, 1, 0, 0, 0, 1529, 1530, 5, 133, 0, 0, 1530, 1531, 3, 110, 55, 0, 1531, 281, 1, 0, 0, 0, 1532, 1533, 5, 78, 0, 0, 1533, 1534, 5, 133, 0, 0, 1534, 1535, 3, 110, 55, 0, 1535, 283, 1, 0, 0, 0, 1536, 1537, 5, 134, 0, 0, 1537, 1539, 5, 2, 0, 0, 1538, 1540, 5, 33, 0, 0, 1539, 1538, 1, 0, 0, 0, 1539, 1540, 1, 0, 0, 0, 1540, 1543, 1, 0, 0, 0, 1541, 1544, 5, 1, 0, 0, 1542, 1544, 3, 234, 117, 0, 1543, 1541, 1, 0, 0, 0, 1543, 1542, 1, 0, 0, 0, 1544, 1545, 1, 0, 0, 0, 1545, 1601, 5, 3, 0, 0, 1546, 1547, 5, 135, 0, 0, 1547, 1549, 5, 2, 0, 0, 1548, 1550, 5, 33, 0, 0, 1549, 1548, 1, 0, 0, 0, 1549, 1550, 1, 0, 0, 0, 1550, 1551, 1, 0, 0, 0, 1551, 1552, 3, 234, 117, 0, 1552, 1553, 5, 3, 0, 0, 1553, 1601, 1, 0, 0, 0, 1554, 1555, 5, 136, 0, 0, 1555, 1557, 5, 2, 0, 0, 1556, 1558, 5, 33, 0, 0, 1557, 1556, 1, 0, 0, 0, 1557, 1558, 1, 0, 0, 0, 1558, 1559, 1, 0, 0, 0, 1559, 1560, 3, 234, 117, 0, 1560, 1561, 5, 3, 0, 0, 1561, 1601, 1, 0, 0, 0, 1562, 1563, 5, 137, 0, 0, 1563, 1565, 5, 2, 0, 0, 1564, 1566, 5, 33, 0, 0, 1565, 1564, 1, 0, 0, 0, 1565, 1566, 1, 0, 0, 0, 1566, 1567, 1, 0, 0, 0, 1567, 1568, 3, 234, 117, 0, 1568, 1569, 5, 3, 0, 0, 1569, 1601, 1, 0, 0, 0, 1570, 1571, 5, 138, 0, 0, 1571, 1573, 5, 2, 0, 0, 1572, 1574, 5, 33, 0, 0, 1573, 1572, 1, 0, 0, 0, 1573, 1574, 1, 0, 0, 0, 1574, 1575, 1, 0, 0, 0, 1575, 1576, 3, 234, 117, 0, 1576, 1577, 5, 3, 0, 0, 1577, 1601, 1, 0, 0, 0, 1578, 1579, 5, 139, 0, 0, 1579, 1581, 5, 2, 0, 0, 1580, 1582, 5, 33, 0, 0, 1581, 1580, 1, 0, 0, 0, 1581, 1582, 1, 0, 0, 0, 1582, 1583, 1, 0, 0, 0, 1583, 1584, 3, 234, 117, 0, 1584, 1585, 5, 3, 0, 0, 1585, 1601, 1, 0, 0, 0, 1586, 1587, 5, 43, 0, 0, 1587, 1589, 5, 2, 0, 0, 1588, 1590, 5, 33, 0, 0, 1589, 1588, 1, 0, 0, 0, 1589, 1590, 1, 0, 0, 0, 1590, 1591, 1, 0, 0, 0, 1591, 1596, 3, 234, 117, 0, 1592, 1593, 5, 6, 0, 0, 1593, 1594, 5, 140, 0, 0, 1594, 1595, 5, 20, 0, 0, 1595, 1597, 3, 300, 150, 0, 1596, 1592, 1, 0, 0, 0, 1596, 1597, 1, 0, 0, 0, 1597, 1598, 1, 0, 0, 0, 1598, 1599, 5, 3, 0, 0, 1599, 1601, 1, 0, 0, 0, 1600, 1536, 1, 0, 0, 0, 1600, 1546, 1, 0, 0, 0, 1600, 1554, 1, 0, 0, 0, 1600, 1562, 1, 0, 0, 0, 1600, 1570, 1, 0, 0, 0, 1600, 1578, 1, 0, 0, 0, 1600, 1586, 1, 0, 0, 0, 1601, 285, 1, 0, 0, 0, 1602, 1604, 3, 302, 151, 0, 1603, 1605, 3, 150, 75, 0, 1604, 1603, 1, 0, 0, 0, 1604, 1605, 1, 0, 0, 0, 1605, 287, 1, 0, 0, 0, 1606, 1610, 3, 300, 150, 0, 1607, 1611, 5, 147, 0, 0, 1608, 1609, 5, 27, 0, 0, 1609, 1611, 3, 302, 151, 0, 1610, 1607, 1, 0, 0, 0, 1610, 1608, 1, 0, 0, 0, 1610, 1611, 1, 0, 0, 0, 1611, 289, 1, 0, 0, 0, 1612, 1616, 3, 292, 146, 0, 1613, 1616, 3, 294, 147, 0, 1614, 1616, 3, 296, 148, 0, 1615, 1612, 1, 0, 0, 0, 1615, 1613, 1, 0, 0, 0, 1615, 1614, 1, 0, 0, 0, 1616, 291, 1, 0, 0, 0, 1617, 1618, 7, 4, 0, 0, 1618, 293, 1, 0, 0, 0, 1619, 1620, 7, 5, 0, 0, 1620, 295, 1, 0, 0, 0, 1621, 1622, 7, 6, 0, 0, 1622, 297, 1, 0, 0, 0, 1623, 1624, 7, 7, 0, 0, 1624, 299, 1, 0, 0, 0, 1625, 1626, 7, 8, 0, 0, 1626, 301, 1, 0, 0, 0, 1627, 1629, 5, 148, 0, 0, 1628, 1627, 1, 0, 0, 0, 1628, 1629, 1, 0, 0, 0, 1629, 1632, 1, 0, 0, 0, 1630, 1633, 3, 308, 154, 0, 1631, 1633, 3, 304, 152, 0, 1632, 1630, 1, 0, 0, 0, 1632, 1631, 1, 0, 0, 0, 1633, 303, 1, 0, 0, 0, 1634, 1637, 3, 310, 155, 0, 1635, 1637, 3, 312, 156, 0, 1636, 1634, 1, 0, 0, 0, 1636, 1635, 1, 0, 0, 0, 1637, 305, 1, 0, 0, 0, 1638, 1639, 7, 9, 0, 0, 1639, 307, 1, 0, 0, 0, 1640, 1641, 5, 141, 0, 0, 1641, 309, 1, 0, 0, 0, 1642, 1643, 5, 143, 0, 0, 1643, 311, 1, 0, 0, 0, 1644, 1645, 5, 142, 0, 0, 1645, 313, 1, 0, 0, 0, 161, 316, 325, 331, 333, 347, 360, 365, 368, 372, 387, 396, 402, 406, 412, 415, 420, 424, 432, 441, 451, 456, 459, 462, 465, 471, 479, 484, 490, 496, 501, 507, 509, 513, 516, 520, 523, 527, 530, 534, 537, 541, 544, 548, 551, 553, 566, 572, 574, 587, 591, 596, 600, 606, 612, 618, 626, 634, 654, 658, 661, 666, 682, 687, 696, 707, 711, 714, 718, 725, 732, 734, 739, 744, 749, 754, 757, 762, 764, 774, 785, 802, 809, 819, 823, 829, 838, 843, 850, 860, 869, 877, 884, 889, 898, 903, 907, 914, 916, 924, 927, 935, 939, 944, 951, 962, 965, 970, 974, 989, 996, 1008, 1016, 1021, 1026, 1038, 1047, 1050, 1053, 1060, 1062, 1068, 1076, 1086, 1094, 1100, 1104, 1108, 1112, 1122, 1131, 1139, 1162, 1170, 1178, 1186, 1191, 1198, 1203, 1218, 1227, 1273, 1487, 1496, 1512, 1525, 1539, 1543, 1549, 1557, 1565, 1573, 1581, 1589, 1596, 1600, 1604, 1610, 1615, 1628, 1632, 1636] \ No newline at end of file +[4, 1, 176, 1655, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 1, 0, 1, 0, 3, 0, 317, 8, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 326, 8, 1, 1, 1, 1, 1, 1, 2, 1, 2, 5, 2, 332, 8, 2, 10, 2, 12, 2, 335, 9, 2, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 5, 5, 346, 8, 5, 10, 5, 12, 5, 349, 9, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, 361, 8, 7, 1, 7, 4, 7, 364, 8, 7, 11, 7, 12, 7, 365, 1, 7, 3, 7, 369, 8, 7, 1, 8, 1, 8, 3, 8, 373, 8, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 5, 11, 386, 8, 11, 10, 11, 12, 11, 389, 9, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 395, 8, 11, 10, 11, 12, 11, 398, 9, 11, 1, 11, 1, 11, 1, 11, 3, 11, 403, 8, 11, 1, 11, 1, 11, 3, 11, 407, 8, 11, 1, 12, 1, 12, 4, 12, 411, 8, 12, 11, 12, 12, 12, 412, 1, 12, 3, 12, 416, 8, 12, 1, 12, 5, 12, 419, 8, 12, 10, 12, 12, 12, 422, 9, 12, 1, 12, 3, 12, 425, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 5, 13, 431, 8, 13, 10, 13, 12, 13, 434, 9, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, 14, 442, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 18, 3, 18, 452, 8, 18, 1, 18, 1, 18, 1, 19, 3, 19, 457, 8, 19, 1, 19, 3, 19, 460, 8, 19, 1, 19, 3, 19, 463, 8, 19, 1, 19, 3, 19, 466, 8, 19, 1, 20, 1, 20, 4, 20, 470, 8, 20, 11, 20, 12, 20, 471, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, 21, 480, 8, 21, 1, 21, 1, 21, 1, 21, 3, 21, 485, 8, 21, 1, 22, 1, 22, 4, 22, 489, 8, 22, 11, 22, 12, 22, 490, 1, 23, 1, 23, 1, 24, 1, 24, 3, 24, 497, 8, 24, 1, 24, 4, 24, 500, 8, 24, 11, 24, 12, 24, 501, 1, 25, 1, 25, 1, 25, 1, 25, 3, 25, 508, 8, 25, 3, 25, 510, 8, 25, 1, 26, 1, 26, 3, 26, 514, 8, 26, 1, 26, 3, 26, 517, 8, 26, 1, 26, 1, 26, 3, 26, 521, 8, 26, 1, 26, 3, 26, 524, 8, 26, 1, 26, 1, 26, 3, 26, 528, 8, 26, 1, 26, 3, 26, 531, 8, 26, 1, 26, 1, 26, 3, 26, 535, 8, 26, 1, 26, 3, 26, 538, 8, 26, 1, 26, 1, 26, 3, 26, 542, 8, 26, 1, 26, 3, 26, 545, 8, 26, 1, 26, 1, 26, 3, 26, 549, 8, 26, 1, 26, 3, 26, 552, 8, 26, 3, 26, 554, 8, 26, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 3, 30, 567, 8, 30, 1, 31, 1, 31, 1, 31, 1, 31, 3, 31, 573, 8, 31, 3, 31, 575, 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 588, 8, 32, 1, 33, 1, 33, 3, 33, 592, 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 597, 8, 33, 1, 34, 1, 34, 3, 34, 601, 8, 34, 1, 34, 1, 34, 1, 35, 1, 35, 3, 35, 607, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 613, 8, 36, 1, 36, 1, 36, 1, 37, 1, 37, 3, 37, 619, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 3, 38, 627, 8, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 3, 39, 635, 8, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 655, 8, 43, 1, 43, 1, 43, 3, 43, 659, 8, 43, 1, 43, 3, 43, 662, 8, 43, 1, 43, 5, 43, 665, 8, 43, 10, 43, 12, 43, 668, 9, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 3, 46, 683, 8, 46, 1, 47, 1, 47, 1, 47, 3, 47, 688, 8, 47, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 697, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 3, 52, 708, 8, 52, 1, 52, 1, 52, 3, 52, 712, 8, 52, 1, 52, 3, 52, 715, 8, 52, 5, 52, 717, 8, 52, 10, 52, 12, 52, 720, 9, 52, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, 726, 8, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 3, 54, 733, 8, 54, 3, 54, 735, 8, 54, 1, 55, 1, 55, 1, 55, 3, 55, 740, 8, 55, 1, 55, 1, 55, 1, 56, 3, 56, 745, 8, 56, 1, 56, 5, 56, 748, 8, 56, 10, 56, 12, 56, 751, 9, 56, 1, 57, 1, 57, 3, 57, 755, 8, 57, 1, 57, 3, 57, 758, 8, 57, 1, 58, 1, 58, 1, 58, 3, 58, 763, 8, 58, 3, 58, 765, 8, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 3, 59, 775, 8, 59, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 3, 62, 786, 8, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 3, 65, 803, 8, 65, 1, 66, 1, 66, 1, 66, 5, 66, 808, 8, 66, 10, 66, 12, 66, 811, 9, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 5, 67, 818, 8, 67, 10, 67, 12, 67, 821, 9, 67, 1, 67, 3, 67, 824, 8, 67, 1, 67, 1, 67, 5, 67, 828, 8, 67, 10, 67, 12, 67, 831, 9, 67, 1, 67, 1, 67, 1, 68, 1, 68, 5, 68, 837, 8, 68, 10, 68, 12, 68, 840, 9, 68, 1, 68, 1, 68, 3, 68, 844, 8, 68, 1, 69, 1, 69, 1, 69, 1, 69, 1, 69, 3, 69, 851, 8, 69, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 5, 71, 859, 8, 71, 10, 71, 12, 71, 862, 9, 71, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 3, 73, 870, 8, 73, 1, 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 3, 75, 878, 8, 75, 1, 75, 1, 75, 1, 75, 5, 75, 883, 8, 75, 10, 75, 12, 75, 886, 9, 75, 1, 75, 1, 75, 3, 75, 890, 8, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 5, 76, 897, 8, 76, 10, 76, 12, 76, 900, 9, 76, 1, 76, 1, 76, 3, 76, 904, 8, 76, 1, 77, 1, 77, 3, 77, 908, 8, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 3, 78, 915, 8, 78, 3, 78, 917, 8, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 3, 79, 925, 8, 79, 1, 80, 3, 80, 928, 8, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 3, 81, 936, 8, 81, 5, 81, 938, 8, 81, 10, 81, 12, 81, 941, 9, 81, 1, 82, 1, 82, 3, 82, 945, 8, 82, 1, 83, 1, 83, 1, 83, 5, 83, 950, 8, 83, 10, 83, 12, 83, 953, 9, 83, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, 3, 85, 963, 8, 85, 1, 86, 3, 86, 966, 8, 86, 1, 87, 1, 87, 1, 87, 3, 87, 971, 8, 87, 5, 87, 973, 8, 87, 10, 87, 12, 87, 976, 9, 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 3, 92, 990, 8, 92, 1, 93, 1, 93, 1, 93, 5, 93, 995, 8, 93, 10, 93, 12, 93, 998, 9, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 5, 96, 1007, 8, 96, 10, 96, 12, 96, 1010, 9, 96, 1, 97, 1, 97, 1, 97, 5, 97, 1015, 8, 97, 10, 97, 12, 97, 1018, 9, 97, 1, 98, 1, 98, 3, 98, 1022, 8, 98, 1, 99, 1, 99, 1, 99, 3, 99, 1027, 8, 99, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 1039, 8, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 5, 102, 1046, 8, 102, 10, 102, 12, 102, 1049, 9, 102, 3, 102, 1051, 8, 102, 1, 102, 3, 102, 1054, 8, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 3, 103, 1061, 8, 103, 3, 103, 1063, 8, 103, 1, 104, 1, 104, 1, 105, 1, 105, 3, 105, 1069, 8, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 3, 107, 1077, 8, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 4, 109, 1085, 8, 109, 11, 109, 12, 109, 1086, 1, 109, 1, 109, 1, 110, 1, 110, 4, 110, 1093, 8, 110, 11, 110, 12, 110, 1094, 1, 110, 1, 110, 1, 111, 1, 111, 3, 111, 1101, 8, 111, 1, 112, 1, 112, 3, 112, 1105, 8, 112, 1, 113, 1, 113, 3, 113, 1109, 8, 113, 1, 114, 1, 114, 3, 114, 1113, 8, 114, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 3, 116, 1123, 8, 116, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 5, 118, 1130, 8, 118, 10, 118, 12, 118, 1133, 9, 118, 1, 119, 1, 119, 1, 119, 5, 119, 1138, 8, 119, 10, 119, 12, 119, 1141, 9, 119, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 3, 121, 1163, 8, 121, 1, 122, 1, 122, 1, 123, 1, 123, 5, 123, 1169, 8, 123, 10, 123, 12, 123, 1172, 9, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 3, 124, 1179, 8, 124, 1, 125, 1, 125, 1, 126, 1, 126, 1, 127, 1, 127, 3, 127, 1187, 8, 127, 1, 127, 5, 127, 1190, 8, 127, 10, 127, 12, 127, 1193, 9, 127, 1, 128, 1, 128, 5, 128, 1197, 8, 128, 10, 128, 12, 128, 1200, 9, 128, 1, 129, 1, 129, 3, 129, 1204, 8, 129, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 3, 132, 1219, 8, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 1228, 8, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1274, 8, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1488, 8, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 3, 136, 1497, 8, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 3, 138, 1513, 8, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 3, 139, 1526, 8, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 3, 142, 1540, 8, 142, 1, 142, 1, 142, 3, 142, 1544, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1550, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1558, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1566, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1574, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1582, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1590, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1598, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1605, 8, 142, 1, 142, 1, 142, 3, 142, 1609, 8, 142, 1, 143, 1, 143, 3, 143, 1613, 8, 143, 1, 144, 1, 144, 1, 144, 1, 144, 3, 144, 1619, 8, 144, 1, 145, 1, 145, 1, 145, 3, 145, 1624, 8, 145, 1, 146, 1, 146, 1, 147, 1, 147, 1, 148, 1, 148, 1, 149, 1, 149, 1, 150, 1, 150, 1, 151, 3, 151, 1637, 8, 151, 1, 151, 1, 151, 3, 151, 1641, 8, 151, 1, 152, 1, 152, 3, 152, 1645, 8, 152, 1, 153, 1, 153, 1, 154, 1, 154, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 0, 0, 157, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 0, 10, 1, 0, 33, 34, 1, 0, 47, 48, 2, 0, 1, 1, 13, 14, 1, 0, 146, 147, 1, 0, 150, 152, 1, 0, 153, 155, 1, 0, 156, 158, 1, 0, 28, 29, 1, 0, 160, 163, 2, 0, 145, 145, 166, 166, 1771, 0, 316, 1, 0, 0, 0, 2, 320, 1, 0, 0, 0, 4, 333, 1, 0, 0, 0, 6, 336, 1, 0, 0, 0, 8, 339, 1, 0, 0, 0, 10, 343, 1, 0, 0, 0, 12, 353, 1, 0, 0, 0, 14, 358, 1, 0, 0, 0, 16, 372, 1, 0, 0, 0, 18, 374, 1, 0, 0, 0, 20, 378, 1, 0, 0, 0, 22, 382, 1, 0, 0, 0, 24, 408, 1, 0, 0, 0, 26, 428, 1, 0, 0, 0, 28, 438, 1, 0, 0, 0, 30, 443, 1, 0, 0, 0, 32, 445, 1, 0, 0, 0, 34, 448, 1, 0, 0, 0, 36, 451, 1, 0, 0, 0, 38, 456, 1, 0, 0, 0, 40, 467, 1, 0, 0, 0, 42, 484, 1, 0, 0, 0, 44, 486, 1, 0, 0, 0, 46, 492, 1, 0, 0, 0, 48, 496, 1, 0, 0, 0, 50, 509, 1, 0, 0, 0, 52, 553, 1, 0, 0, 0, 54, 555, 1, 0, 0, 0, 56, 558, 1, 0, 0, 0, 58, 561, 1, 0, 0, 0, 60, 566, 1, 0, 0, 0, 62, 568, 1, 0, 0, 0, 64, 587, 1, 0, 0, 0, 66, 589, 1, 0, 0, 0, 68, 598, 1, 0, 0, 0, 70, 604, 1, 0, 0, 0, 72, 610, 1, 0, 0, 0, 74, 616, 1, 0, 0, 0, 76, 624, 1, 0, 0, 0, 78, 632, 1, 0, 0, 0, 80, 640, 1, 0, 0, 0, 82, 644, 1, 0, 0, 0, 84, 648, 1, 0, 0, 0, 86, 654, 1, 0, 0, 0, 88, 672, 1, 0, 0, 0, 90, 675, 1, 0, 0, 0, 92, 678, 1, 0, 0, 0, 94, 687, 1, 0, 0, 0, 96, 689, 1, 0, 0, 0, 98, 696, 1, 0, 0, 0, 100, 698, 1, 0, 0, 0, 102, 702, 1, 0, 0, 0, 104, 707, 1, 0, 0, 0, 106, 721, 1, 0, 0, 0, 108, 729, 1, 0, 0, 0, 110, 736, 1, 0, 0, 0, 112, 744, 1, 0, 0, 0, 114, 752, 1, 0, 0, 0, 116, 759, 1, 0, 0, 0, 118, 774, 1, 0, 0, 0, 120, 776, 1, 0, 0, 0, 122, 779, 1, 0, 0, 0, 124, 783, 1, 0, 0, 0, 126, 790, 1, 0, 0, 0, 128, 797, 1, 0, 0, 0, 130, 802, 1, 0, 0, 0, 132, 804, 1, 0, 0, 0, 134, 823, 1, 0, 0, 0, 136, 843, 1, 0, 0, 0, 138, 850, 1, 0, 0, 0, 140, 852, 1, 0, 0, 0, 142, 855, 1, 0, 0, 0, 144, 863, 1, 0, 0, 0, 146, 869, 1, 0, 0, 0, 148, 871, 1, 0, 0, 0, 150, 889, 1, 0, 0, 0, 152, 903, 1, 0, 0, 0, 154, 905, 1, 0, 0, 0, 156, 911, 1, 0, 0, 0, 158, 924, 1, 0, 0, 0, 160, 927, 1, 0, 0, 0, 162, 929, 1, 0, 0, 0, 164, 944, 1, 0, 0, 0, 166, 946, 1, 0, 0, 0, 168, 954, 1, 0, 0, 0, 170, 962, 1, 0, 0, 0, 172, 965, 1, 0, 0, 0, 174, 967, 1, 0, 0, 0, 176, 977, 1, 0, 0, 0, 178, 979, 1, 0, 0, 0, 180, 981, 1, 0, 0, 0, 182, 984, 1, 0, 0, 0, 184, 989, 1, 0, 0, 0, 186, 991, 1, 0, 0, 0, 188, 999, 1, 0, 0, 0, 190, 1001, 1, 0, 0, 0, 192, 1003, 1, 0, 0, 0, 194, 1011, 1, 0, 0, 0, 196, 1019, 1, 0, 0, 0, 198, 1026, 1, 0, 0, 0, 200, 1028, 1, 0, 0, 0, 202, 1038, 1, 0, 0, 0, 204, 1053, 1, 0, 0, 0, 206, 1062, 1, 0, 0, 0, 208, 1064, 1, 0, 0, 0, 210, 1068, 1, 0, 0, 0, 212, 1070, 1, 0, 0, 0, 214, 1076, 1, 0, 0, 0, 216, 1078, 1, 0, 0, 0, 218, 1082, 1, 0, 0, 0, 220, 1090, 1, 0, 0, 0, 222, 1100, 1, 0, 0, 0, 224, 1104, 1, 0, 0, 0, 226, 1108, 1, 0, 0, 0, 228, 1112, 1, 0, 0, 0, 230, 1114, 1, 0, 0, 0, 232, 1122, 1, 0, 0, 0, 234, 1124, 1, 0, 0, 0, 236, 1126, 1, 0, 0, 0, 238, 1134, 1, 0, 0, 0, 240, 1142, 1, 0, 0, 0, 242, 1144, 1, 0, 0, 0, 244, 1164, 1, 0, 0, 0, 246, 1166, 1, 0, 0, 0, 248, 1178, 1, 0, 0, 0, 250, 1180, 1, 0, 0, 0, 252, 1182, 1, 0, 0, 0, 254, 1186, 1, 0, 0, 0, 256, 1194, 1, 0, 0, 0, 258, 1203, 1, 0, 0, 0, 260, 1205, 1, 0, 0, 0, 262, 1208, 1, 0, 0, 0, 264, 1218, 1, 0, 0, 0, 266, 1227, 1, 0, 0, 0, 268, 1229, 1, 0, 0, 0, 270, 1487, 1, 0, 0, 0, 272, 1489, 1, 0, 0, 0, 274, 1500, 1, 0, 0, 0, 276, 1505, 1, 0, 0, 0, 278, 1516, 1, 0, 0, 0, 280, 1529, 1, 0, 0, 0, 282, 1532, 1, 0, 0, 0, 284, 1608, 1, 0, 0, 0, 286, 1610, 1, 0, 0, 0, 288, 1614, 1, 0, 0, 0, 290, 1623, 1, 0, 0, 0, 292, 1625, 1, 0, 0, 0, 294, 1627, 1, 0, 0, 0, 296, 1629, 1, 0, 0, 0, 298, 1631, 1, 0, 0, 0, 300, 1633, 1, 0, 0, 0, 302, 1636, 1, 0, 0, 0, 304, 1644, 1, 0, 0, 0, 306, 1646, 1, 0, 0, 0, 308, 1648, 1, 0, 0, 0, 310, 1650, 1, 0, 0, 0, 312, 1652, 1, 0, 0, 0, 314, 317, 3, 2, 1, 0, 315, 317, 3, 62, 31, 0, 316, 314, 1, 0, 0, 0, 316, 315, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319, 5, 0, 0, 1, 319, 1, 1, 0, 0, 0, 320, 325, 3, 4, 2, 0, 321, 326, 3, 10, 5, 0, 322, 326, 3, 22, 11, 0, 323, 326, 3, 24, 12, 0, 324, 326, 3, 26, 13, 0, 325, 321, 1, 0, 0, 0, 325, 322, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 324, 1, 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 3, 60, 30, 0, 328, 3, 1, 0, 0, 0, 329, 332, 3, 6, 3, 0, 330, 332, 3, 8, 4, 0, 331, 329, 1, 0, 0, 0, 331, 330, 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 5, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 337, 5, 30, 0, 0, 337, 338, 3, 308, 154, 0, 338, 7, 1, 0, 0, 0, 339, 340, 5, 31, 0, 0, 340, 341, 5, 143, 0, 0, 341, 342, 3, 308, 154, 0, 342, 9, 1, 0, 0, 0, 343, 347, 3, 14, 7, 0, 344, 346, 3, 28, 14, 0, 345, 344, 1, 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 351, 3, 36, 18, 0, 351, 352, 3, 38, 19, 0, 352, 11, 1, 0, 0, 0, 353, 354, 3, 14, 7, 0, 354, 355, 3, 36, 18, 0, 355, 356, 3, 38, 19, 0, 356, 357, 3, 60, 30, 0, 357, 13, 1, 0, 0, 0, 358, 360, 5, 32, 0, 0, 359, 361, 7, 0, 0, 0, 360, 359, 1, 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 368, 1, 0, 0, 0, 362, 364, 3, 16, 8, 0, 363, 362, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 369, 5, 1, 0, 0, 368, 363, 1, 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 15, 1, 0, 0, 0, 370, 373, 3, 230, 115, 0, 371, 373, 3, 18, 9, 0, 372, 370, 1, 0, 0, 0, 372, 371, 1, 0, 0, 0, 373, 17, 1, 0, 0, 0, 374, 375, 5, 2, 0, 0, 375, 376, 3, 20, 10, 0, 376, 377, 5, 3, 0, 0, 377, 19, 1, 0, 0, 0, 378, 379, 3, 234, 117, 0, 379, 380, 5, 35, 0, 0, 380, 381, 3, 230, 115, 0, 381, 21, 1, 0, 0, 0, 382, 406, 5, 36, 0, 0, 383, 387, 3, 154, 77, 0, 384, 386, 3, 28, 14, 0, 385, 384, 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 390, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, 3, 36, 18, 0, 391, 392, 3, 38, 19, 0, 392, 407, 1, 0, 0, 0, 393, 395, 3, 28, 14, 0, 394, 393, 1, 0, 0, 0, 395, 398, 1, 0, 0, 0, 396, 394, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 399, 1, 0, 0, 0, 398, 396, 1, 0, 0, 0, 399, 400, 5, 37, 0, 0, 400, 402, 5, 4, 0, 0, 401, 403, 3, 108, 54, 0, 402, 401, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 405, 5, 5, 0, 0, 405, 407, 3, 38, 19, 0, 406, 383, 1, 0, 0, 0, 406, 396, 1, 0, 0, 0, 407, 23, 1, 0, 0, 0, 408, 415, 5, 38, 0, 0, 409, 411, 3, 228, 114, 0, 410, 409, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 410, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 416, 1, 0, 0, 0, 414, 416, 5, 1, 0, 0, 415, 410, 1, 0, 0, 0, 415, 414, 1, 0, 0, 0, 416, 420, 1, 0, 0, 0, 417, 419, 3, 28, 14, 0, 418, 417, 1, 0, 0, 0, 419, 422, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 423, 425, 3, 36, 18, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 427, 3, 38, 19, 0, 427, 25, 1, 0, 0, 0, 428, 432, 5, 39, 0, 0, 429, 431, 3, 28, 14, 0, 430, 429, 1, 0, 0, 0, 431, 434, 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 435, 1, 0, 0, 0, 434, 432, 1, 0, 0, 0, 435, 436, 3, 36, 18, 0, 436, 437, 3, 38, 19, 0, 437, 27, 1, 0, 0, 0, 438, 441, 5, 40, 0, 0, 439, 442, 3, 30, 15, 0, 440, 442, 3, 32, 16, 0, 441, 439, 1, 0, 0, 0, 441, 440, 1, 0, 0, 0, 442, 29, 1, 0, 0, 0, 443, 444, 3, 34, 17, 0, 444, 31, 1, 0, 0, 0, 445, 446, 5, 41, 0, 0, 446, 447, 3, 34, 17, 0, 447, 33, 1, 0, 0, 0, 448, 449, 3, 302, 151, 0, 449, 35, 1, 0, 0, 0, 450, 452, 5, 37, 0, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 454, 3, 110, 55, 0, 454, 37, 1, 0, 0, 0, 455, 457, 3, 40, 20, 0, 456, 455, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 459, 1, 0, 0, 0, 458, 460, 3, 44, 22, 0, 459, 458, 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 462, 1, 0, 0, 0, 461, 463, 3, 48, 24, 0, 462, 461, 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, 1, 0, 0, 0, 464, 466, 3, 52, 26, 0, 465, 464, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 39, 1, 0, 0, 0, 467, 469, 5, 42, 0, 0, 468, 470, 3, 42, 21, 0, 469, 468, 1, 0, 0, 0, 470, 471, 1, 0, 0, 0, 471, 469, 1, 0, 0, 0, 471, 472, 1, 0, 0, 0, 472, 41, 1, 0, 0, 0, 473, 485, 3, 270, 135, 0, 474, 485, 3, 148, 74, 0, 475, 476, 5, 2, 0, 0, 476, 479, 3, 234, 117, 0, 477, 478, 5, 35, 0, 0, 478, 480, 3, 230, 115, 0, 479, 477, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, 3, 0, 0, 482, 485, 1, 0, 0, 0, 483, 485, 3, 230, 115, 0, 484, 473, 1, 0, 0, 0, 484, 474, 1, 0, 0, 0, 484, 475, 1, 0, 0, 0, 484, 483, 1, 0, 0, 0, 485, 43, 1, 0, 0, 0, 486, 488, 5, 44, 0, 0, 487, 489, 3, 46, 23, 0, 488, 487, 1, 0, 0, 0, 489, 490, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 45, 1, 0, 0, 0, 492, 493, 3, 146, 73, 0, 493, 47, 1, 0, 0, 0, 494, 497, 5, 45, 0, 0, 495, 497, 5, 46, 0, 0, 496, 494, 1, 0, 0, 0, 496, 495, 1, 0, 0, 0, 497, 499, 1, 0, 0, 0, 498, 500, 3, 50, 25, 0, 499, 498, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 499, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 49, 1, 0, 0, 0, 503, 504, 7, 1, 0, 0, 504, 510, 3, 268, 134, 0, 505, 508, 3, 146, 73, 0, 506, 508, 3, 230, 115, 0, 507, 505, 1, 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 510, 1, 0, 0, 0, 509, 503, 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 510, 51, 1, 0, 0, 0, 511, 513, 3, 54, 27, 0, 512, 514, 3, 56, 28, 0, 513, 512, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 516, 1, 0, 0, 0, 515, 517, 3, 58, 29, 0, 516, 515, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 554, 1, 0, 0, 0, 518, 520, 3, 54, 27, 0, 519, 521, 3, 58, 29, 0, 520, 519, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 523, 1, 0, 0, 0, 522, 524, 3, 56, 28, 0, 523, 522, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 554, 1, 0, 0, 0, 525, 527, 3, 56, 28, 0, 526, 528, 3, 54, 27, 0, 527, 526, 1, 0, 0, 0, 527, 528, 1, 0, 0, 0, 528, 530, 1, 0, 0, 0, 529, 531, 3, 58, 29, 0, 530, 529, 1, 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 554, 1, 0, 0, 0, 532, 534, 3, 56, 28, 0, 533, 535, 3, 58, 29, 0, 534, 533, 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 537, 1, 0, 0, 0, 536, 538, 3, 54, 27, 0, 537, 536, 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 554, 1, 0, 0, 0, 539, 541, 3, 58, 29, 0, 540, 542, 3, 56, 28, 0, 541, 540, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 544, 1, 0, 0, 0, 543, 545, 3, 54, 27, 0, 544, 543, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 554, 1, 0, 0, 0, 546, 548, 3, 58, 29, 0, 547, 549, 3, 54, 27, 0, 548, 547, 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 551, 1, 0, 0, 0, 550, 552, 3, 56, 28, 0, 551, 550, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 554, 1, 0, 0, 0, 553, 511, 1, 0, 0, 0, 553, 518, 1, 0, 0, 0, 553, 525, 1, 0, 0, 0, 553, 532, 1, 0, 0, 0, 553, 539, 1, 0, 0, 0, 553, 546, 1, 0, 0, 0, 554, 53, 1, 0, 0, 0, 555, 556, 5, 49, 0, 0, 556, 557, 3, 208, 104, 0, 557, 55, 1, 0, 0, 0, 558, 559, 5, 50, 0, 0, 559, 560, 3, 208, 104, 0, 560, 57, 1, 0, 0, 0, 561, 562, 5, 51, 0, 0, 562, 563, 3, 208, 104, 0, 563, 59, 1, 0, 0, 0, 564, 565, 5, 52, 0, 0, 565, 567, 3, 130, 65, 0, 566, 564, 1, 0, 0, 0, 566, 567, 1, 0, 0, 0, 567, 61, 1, 0, 0, 0, 568, 574, 3, 4, 2, 0, 569, 572, 3, 64, 32, 0, 570, 571, 5, 6, 0, 0, 571, 573, 3, 62, 31, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 575, 1, 0, 0, 0, 574, 569, 1, 0, 0, 0, 574, 575, 1, 0, 0, 0, 575, 63, 1, 0, 0, 0, 576, 588, 3, 66, 33, 0, 577, 588, 3, 68, 34, 0, 578, 588, 3, 70, 35, 0, 579, 588, 3, 74, 37, 0, 580, 588, 3, 76, 38, 0, 581, 588, 3, 78, 39, 0, 582, 588, 3, 72, 36, 0, 583, 588, 3, 80, 40, 0, 584, 588, 3, 82, 41, 0, 585, 588, 3, 84, 42, 0, 586, 588, 3, 86, 43, 0, 587, 576, 1, 0, 0, 0, 587, 577, 1, 0, 0, 0, 587, 578, 1, 0, 0, 0, 587, 579, 1, 0, 0, 0, 587, 580, 1, 0, 0, 0, 587, 581, 1, 0, 0, 0, 587, 582, 1, 0, 0, 0, 587, 583, 1, 0, 0, 0, 587, 584, 1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 587, 586, 1, 0, 0, 0, 588, 65, 1, 0, 0, 0, 589, 591, 5, 53, 0, 0, 590, 592, 5, 54, 0, 0, 591, 590, 1, 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 593, 1, 0, 0, 0, 593, 596, 3, 302, 151, 0, 594, 595, 5, 55, 0, 0, 595, 597, 3, 96, 48, 0, 596, 594, 1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 67, 1, 0, 0, 0, 598, 600, 5, 56, 0, 0, 599, 601, 5, 54, 0, 0, 600, 599, 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603, 3, 98, 49, 0, 603, 69, 1, 0, 0, 0, 604, 606, 5, 57, 0, 0, 605, 607, 5, 54, 0, 0, 606, 605, 1, 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, 3, 98, 49, 0, 609, 71, 1, 0, 0, 0, 610, 612, 5, 58, 0, 0, 611, 613, 5, 54, 0, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 614, 1, 0, 0, 0, 614, 615, 3, 96, 48, 0, 615, 73, 1, 0, 0, 0, 616, 618, 5, 59, 0, 0, 617, 619, 5, 54, 0, 0, 618, 617, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 621, 3, 94, 47, 0, 621, 622, 5, 60, 0, 0, 622, 623, 3, 94, 47, 0, 623, 75, 1, 0, 0, 0, 624, 626, 5, 62, 0, 0, 625, 627, 5, 54, 0, 0, 626, 625, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 3, 94, 47, 0, 629, 630, 5, 60, 0, 0, 630, 631, 3, 94, 47, 0, 631, 77, 1, 0, 0, 0, 632, 634, 5, 63, 0, 0, 633, 635, 5, 54, 0, 0, 634, 633, 1, 0, 0, 0, 634, 635, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 637, 3, 94, 47, 0, 637, 638, 5, 60, 0, 0, 638, 639, 3, 94, 47, 0, 639, 79, 1, 0, 0, 0, 640, 641, 5, 64, 0, 0, 641, 642, 5, 61, 0, 0, 642, 643, 3, 102, 51, 0, 643, 81, 1, 0, 0, 0, 644, 645, 5, 65, 0, 0, 645, 646, 5, 61, 0, 0, 646, 647, 3, 102, 51, 0, 647, 83, 1, 0, 0, 0, 648, 649, 5, 65, 0, 0, 649, 650, 5, 37, 0, 0, 650, 651, 3, 100, 50, 0, 651, 85, 1, 0, 0, 0, 652, 653, 5, 66, 0, 0, 653, 655, 3, 302, 151, 0, 654, 652, 1, 0, 0, 0, 654, 655, 1, 0, 0, 0, 655, 661, 1, 0, 0, 0, 656, 658, 3, 88, 44, 0, 657, 659, 3, 90, 45, 0, 658, 657, 1, 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 662, 1, 0, 0, 0, 660, 662, 3, 90, 45, 0, 661, 656, 1, 0, 0, 0, 661, 660, 1, 0, 0, 0, 662, 666, 1, 0, 0, 0, 663, 665, 3, 92, 46, 0, 664, 663, 1, 0, 0, 0, 665, 668, 1, 0, 0, 0, 666, 664, 1, 0, 0, 0, 666, 667, 1, 0, 0, 0, 667, 669, 1, 0, 0, 0, 668, 666, 1, 0, 0, 0, 669, 670, 5, 37, 0, 0, 670, 671, 3, 110, 55, 0, 671, 87, 1, 0, 0, 0, 672, 673, 5, 65, 0, 0, 673, 674, 3, 100, 50, 0, 674, 89, 1, 0, 0, 0, 675, 676, 5, 64, 0, 0, 676, 677, 3, 100, 50, 0, 677, 91, 1, 0, 0, 0, 678, 682, 5, 67, 0, 0, 679, 683, 3, 302, 151, 0, 680, 681, 5, 41, 0, 0, 681, 683, 3, 302, 151, 0, 682, 679, 1, 0, 0, 0, 682, 680, 1, 0, 0, 0, 683, 93, 1, 0, 0, 0, 684, 688, 5, 68, 0, 0, 685, 686, 5, 69, 0, 0, 686, 688, 3, 302, 151, 0, 687, 684, 1, 0, 0, 0, 687, 685, 1, 0, 0, 0, 688, 95, 1, 0, 0, 0, 689, 690, 5, 69, 0, 0, 690, 691, 3, 302, 151, 0, 691, 97, 1, 0, 0, 0, 692, 697, 3, 96, 48, 0, 693, 697, 5, 68, 0, 0, 694, 697, 5, 41, 0, 0, 695, 697, 5, 70, 0, 0, 696, 692, 1, 0, 0, 0, 696, 693, 1, 0, 0, 0, 696, 694, 1, 0, 0, 0, 696, 695, 1, 0, 0, 0, 697, 99, 1, 0, 0, 0, 698, 699, 5, 4, 0, 0, 699, 700, 3, 104, 52, 0, 700, 701, 5, 5, 0, 0, 701, 101, 1, 0, 0, 0, 702, 703, 5, 4, 0, 0, 703, 704, 3, 104, 52, 0, 704, 705, 5, 5, 0, 0, 705, 103, 1, 0, 0, 0, 706, 708, 3, 108, 54, 0, 707, 706, 1, 0, 0, 0, 707, 708, 1, 0, 0, 0, 708, 718, 1, 0, 0, 0, 709, 711, 3, 106, 53, 0, 710, 712, 5, 7, 0, 0, 711, 710, 1, 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 714, 1, 0, 0, 0, 713, 715, 3, 108, 54, 0, 714, 713, 1, 0, 0, 0, 714, 715, 1, 0, 0, 0, 715, 717, 1, 0, 0, 0, 716, 709, 1, 0, 0, 0, 717, 720, 1, 0, 0, 0, 718, 716, 1, 0, 0, 0, 718, 719, 1, 0, 0, 0, 719, 105, 1, 0, 0, 0, 720, 718, 1, 0, 0, 0, 721, 722, 5, 69, 0, 0, 722, 723, 3, 228, 114, 0, 723, 725, 5, 4, 0, 0, 724, 726, 3, 108, 54, 0, 725, 724, 1, 0, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 728, 5, 5, 0, 0, 728, 107, 1, 0, 0, 0, 729, 734, 3, 158, 79, 0, 730, 732, 5, 7, 0, 0, 731, 733, 3, 108, 54, 0, 732, 731, 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 735, 1, 0, 0, 0, 734, 730, 1, 0, 0, 0, 734, 735, 1, 0, 0, 0, 735, 109, 1, 0, 0, 0, 736, 739, 5, 4, 0, 0, 737, 740, 3, 12, 6, 0, 738, 740, 3, 112, 56, 0, 739, 737, 1, 0, 0, 0, 739, 738, 1, 0, 0, 0, 740, 741, 1, 0, 0, 0, 741, 742, 5, 5, 0, 0, 742, 111, 1, 0, 0, 0, 743, 745, 3, 116, 58, 0, 744, 743, 1, 0, 0, 0, 744, 745, 1, 0, 0, 0, 745, 749, 1, 0, 0, 0, 746, 748, 3, 114, 57, 0, 747, 746, 1, 0, 0, 0, 748, 751, 1, 0, 0, 0, 749, 747, 1, 0, 0, 0, 749, 750, 1, 0, 0, 0, 750, 113, 1, 0, 0, 0, 751, 749, 1, 0, 0, 0, 752, 754, 3, 118, 59, 0, 753, 755, 5, 7, 0, 0, 754, 753, 1, 0, 0, 0, 754, 755, 1, 0, 0, 0, 755, 757, 1, 0, 0, 0, 756, 758, 3, 116, 58, 0, 757, 756, 1, 0, 0, 0, 757, 758, 1, 0, 0, 0, 758, 115, 1, 0, 0, 0, 759, 764, 3, 170, 85, 0, 760, 762, 5, 7, 0, 0, 761, 763, 3, 116, 58, 0, 762, 761, 1, 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 765, 1, 0, 0, 0, 764, 760, 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 117, 1, 0, 0, 0, 766, 775, 3, 142, 71, 0, 767, 775, 3, 120, 60, 0, 768, 775, 3, 140, 70, 0, 769, 775, 3, 122, 61, 0, 770, 775, 3, 124, 62, 0, 771, 775, 3, 144, 72, 0, 772, 775, 3, 126, 63, 0, 773, 775, 3, 128, 64, 0, 774, 766, 1, 0, 0, 0, 774, 767, 1, 0, 0, 0, 774, 768, 1, 0, 0, 0, 774, 769, 1, 0, 0, 0, 774, 770, 1, 0, 0, 0, 774, 771, 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774, 773, 1, 0, 0, 0, 775, 119, 1, 0, 0, 0, 776, 777, 5, 71, 0, 0, 777, 778, 3, 110, 55, 0, 778, 121, 1, 0, 0, 0, 779, 780, 5, 69, 0, 0, 780, 781, 3, 228, 114, 0, 781, 782, 3, 110, 55, 0, 782, 123, 1, 0, 0, 0, 783, 785, 5, 72, 0, 0, 784, 786, 5, 54, 0, 0, 785, 784, 1, 0, 0, 0, 785, 786, 1, 0, 0, 0, 786, 787, 1, 0, 0, 0, 787, 788, 3, 228, 114, 0, 788, 789, 3, 110, 55, 0, 789, 125, 1, 0, 0, 0, 790, 791, 5, 73, 0, 0, 791, 792, 5, 2, 0, 0, 792, 793, 3, 234, 117, 0, 793, 794, 5, 35, 0, 0, 794, 795, 3, 230, 115, 0, 795, 796, 5, 3, 0, 0, 796, 127, 1, 0, 0, 0, 797, 798, 5, 52, 0, 0, 798, 799, 3, 130, 65, 0, 799, 129, 1, 0, 0, 0, 800, 803, 3, 132, 66, 0, 801, 803, 3, 134, 67, 0, 802, 800, 1, 0, 0, 0, 802, 801, 1, 0, 0, 0, 803, 131, 1, 0, 0, 0, 804, 805, 3, 230, 115, 0, 805, 809, 5, 4, 0, 0, 806, 808, 3, 138, 69, 0, 807, 806, 1, 0, 0, 0, 808, 811, 1, 0, 0, 0, 809, 807, 1, 0, 0, 0, 809, 810, 1, 0, 0, 0, 810, 812, 1, 0, 0, 0, 811, 809, 1, 0, 0, 0, 812, 813, 5, 5, 0, 0, 813, 133, 1, 0, 0, 0, 814, 824, 5, 165, 0, 0, 815, 819, 5, 2, 0, 0, 816, 818, 3, 230, 115, 0, 817, 816, 1, 0, 0, 0, 818, 821, 1, 0, 0, 0, 819, 817, 1, 0, 0, 0, 819, 820, 1, 0, 0, 0, 820, 822, 1, 0, 0, 0, 821, 819, 1, 0, 0, 0, 822, 824, 5, 3, 0, 0, 823, 814, 1, 0, 0, 0, 823, 815, 1, 0, 0, 0, 824, 825, 1, 0, 0, 0, 825, 829, 5, 4, 0, 0, 826, 828, 3, 136, 68, 0, 827, 826, 1, 0, 0, 0, 828, 831, 1, 0, 0, 0, 829, 827, 1, 0, 0, 0, 829, 830, 1, 0, 0, 0, 830, 832, 1, 0, 0, 0, 831, 829, 1, 0, 0, 0, 832, 833, 5, 5, 0, 0, 833, 135, 1, 0, 0, 0, 834, 838, 5, 2, 0, 0, 835, 837, 3, 138, 69, 0, 836, 835, 1, 0, 0, 0, 837, 840, 1, 0, 0, 0, 838, 836, 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 838, 1, 0, 0, 0, 841, 844, 5, 3, 0, 0, 842, 844, 5, 165, 0, 0, 843, 834, 1, 0, 0, 0, 843, 842, 1, 0, 0, 0, 844, 137, 1, 0, 0, 0, 845, 851, 3, 302, 151, 0, 846, 851, 3, 288, 144, 0, 847, 851, 3, 290, 145, 0, 848, 851, 3, 298, 149, 0, 849, 851, 5, 74, 0, 0, 850, 845, 1, 0, 0, 0, 850, 846, 1, 0, 0, 0, 850, 847, 1, 0, 0, 0, 850, 848, 1, 0, 0, 0, 850, 849, 1, 0, 0, 0, 851, 139, 1, 0, 0, 0, 852, 853, 5, 75, 0, 0, 853, 854, 3, 110, 55, 0, 854, 141, 1, 0, 0, 0, 855, 860, 3, 110, 55, 0, 856, 857, 5, 76, 0, 0, 857, 859, 3, 110, 55, 0, 858, 856, 1, 0, 0, 0, 859, 862, 1, 0, 0, 0, 860, 858, 1, 0, 0, 0, 860, 861, 1, 0, 0, 0, 861, 143, 1, 0, 0, 0, 862, 860, 1, 0, 0, 0, 863, 864, 5, 77, 0, 0, 864, 865, 3, 146, 73, 0, 865, 145, 1, 0, 0, 0, 866, 870, 3, 268, 134, 0, 867, 870, 3, 270, 135, 0, 868, 870, 3, 148, 74, 0, 869, 866, 1, 0, 0, 0, 869, 867, 1, 0, 0, 0, 869, 868, 1, 0, 0, 0, 870, 147, 1, 0, 0, 0, 871, 872, 3, 302, 151, 0, 872, 873, 3, 150, 75, 0, 873, 149, 1, 0, 0, 0, 874, 890, 5, 165, 0, 0, 875, 877, 5, 2, 0, 0, 876, 878, 5, 33, 0, 0, 877, 876, 1, 0, 0, 0, 877, 878, 1, 0, 0, 0, 878, 879, 1, 0, 0, 0, 879, 884, 3, 234, 117, 0, 880, 881, 5, 8, 0, 0, 881, 883, 3, 234, 117, 0, 882, 880, 1, 0, 0, 0, 883, 886, 1, 0, 0, 0, 884, 882, 1, 0, 0, 0, 884, 885, 1, 0, 0, 0, 885, 887, 1, 0, 0, 0, 886, 884, 1, 0, 0, 0, 887, 888, 5, 3, 0, 0, 888, 890, 1, 0, 0, 0, 889, 874, 1, 0, 0, 0, 889, 875, 1, 0, 0, 0, 890, 151, 1, 0, 0, 0, 891, 904, 5, 165, 0, 0, 892, 893, 5, 2, 0, 0, 893, 898, 3, 234, 117, 0, 894, 895, 5, 8, 0, 0, 895, 897, 3, 234, 117, 0, 896, 894, 1, 0, 0, 0, 897, 900, 1, 0, 0, 0, 898, 896, 1, 0, 0, 0, 898, 899, 1, 0, 0, 0, 899, 901, 1, 0, 0, 0, 900, 898, 1, 0, 0, 0, 901, 902, 5, 3, 0, 0, 902, 904, 1, 0, 0, 0, 903, 891, 1, 0, 0, 0, 903, 892, 1, 0, 0, 0, 904, 153, 1, 0, 0, 0, 905, 907, 5, 4, 0, 0, 906, 908, 3, 156, 78, 0, 907, 906, 1, 0, 0, 0, 907, 908, 1, 0, 0, 0, 908, 909, 1, 0, 0, 0, 909, 910, 5, 5, 0, 0, 910, 155, 1, 0, 0, 0, 911, 916, 3, 158, 79, 0, 912, 914, 5, 7, 0, 0, 913, 915, 3, 156, 78, 0, 914, 913, 1, 0, 0, 0, 914, 915, 1, 0, 0, 0, 915, 917, 1, 0, 0, 0, 916, 912, 1, 0, 0, 0, 916, 917, 1, 0, 0, 0, 917, 157, 1, 0, 0, 0, 918, 919, 3, 226, 113, 0, 919, 920, 3, 162, 81, 0, 920, 925, 1, 0, 0, 0, 921, 922, 3, 210, 105, 0, 922, 923, 3, 160, 80, 0, 923, 925, 1, 0, 0, 0, 924, 918, 1, 0, 0, 0, 924, 921, 1, 0, 0, 0, 925, 159, 1, 0, 0, 0, 926, 928, 3, 162, 81, 0, 927, 926, 1, 0, 0, 0, 927, 928, 1, 0, 0, 0, 928, 161, 1, 0, 0, 0, 929, 930, 3, 164, 82, 0, 930, 939, 3, 166, 83, 0, 931, 935, 5, 6, 0, 0, 932, 933, 3, 164, 82, 0, 933, 934, 3, 166, 83, 0, 934, 936, 1, 0, 0, 0, 935, 932, 1, 0, 0, 0, 935, 936, 1, 0, 0, 0, 936, 938, 1, 0, 0, 0, 937, 931, 1, 0, 0, 0, 938, 941, 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 163, 1, 0, 0, 0, 941, 939, 1, 0, 0, 0, 942, 945, 3, 228, 114, 0, 943, 945, 5, 9, 0, 0, 944, 942, 1, 0, 0, 0, 944, 943, 1, 0, 0, 0, 945, 165, 1, 0, 0, 0, 946, 951, 3, 168, 84, 0, 947, 948, 5, 8, 0, 0, 948, 950, 3, 168, 84, 0, 949, 947, 1, 0, 0, 0, 950, 953, 1, 0, 0, 0, 951, 949, 1, 0, 0, 0, 951, 952, 1, 0, 0, 0, 952, 167, 1, 0, 0, 0, 953, 951, 1, 0, 0, 0, 954, 955, 3, 222, 111, 0, 955, 169, 1, 0, 0, 0, 956, 957, 3, 226, 113, 0, 957, 958, 3, 174, 87, 0, 958, 963, 1, 0, 0, 0, 959, 960, 3, 214, 107, 0, 960, 961, 3, 172, 86, 0, 961, 963, 1, 0, 0, 0, 962, 956, 1, 0, 0, 0, 962, 959, 1, 0, 0, 0, 963, 171, 1, 0, 0, 0, 964, 966, 3, 174, 87, 0, 965, 964, 1, 0, 0, 0, 965, 966, 1, 0, 0, 0, 966, 173, 1, 0, 0, 0, 967, 974, 3, 182, 91, 0, 968, 970, 5, 6, 0, 0, 969, 971, 3, 180, 90, 0, 970, 969, 1, 0, 0, 0, 970, 971, 1, 0, 0, 0, 971, 973, 1, 0, 0, 0, 972, 968, 1, 0, 0, 0, 973, 976, 1, 0, 0, 0, 974, 972, 1, 0, 0, 0, 974, 975, 1, 0, 0, 0, 975, 175, 1, 0, 0, 0, 976, 974, 1, 0, 0, 0, 977, 978, 3, 190, 95, 0, 978, 177, 1, 0, 0, 0, 979, 980, 3, 230, 115, 0, 980, 179, 1, 0, 0, 0, 981, 982, 3, 184, 92, 0, 982, 983, 3, 166, 83, 0, 983, 181, 1, 0, 0, 0, 984, 985, 3, 184, 92, 0, 985, 986, 3, 186, 93, 0, 986, 183, 1, 0, 0, 0, 987, 990, 3, 176, 88, 0, 988, 990, 3, 178, 89, 0, 989, 987, 1, 0, 0, 0, 989, 988, 1, 0, 0, 0, 990, 185, 1, 0, 0, 0, 991, 996, 3, 188, 94, 0, 992, 993, 5, 8, 0, 0, 993, 995, 3, 188, 94, 0, 994, 992, 1, 0, 0, 0, 995, 998, 1, 0, 0, 0, 996, 994, 1, 0, 0, 0, 996, 997, 1, 0, 0, 0, 997, 187, 1, 0, 0, 0, 998, 996, 1, 0, 0, 0, 999, 1000, 3, 224, 112, 0, 1000, 189, 1, 0, 0, 0, 1001, 1002, 3, 192, 96, 0, 1002, 191, 1, 0, 0, 0, 1003, 1008, 3, 194, 97, 0, 1004, 1005, 5, 10, 0, 0, 1005, 1007, 3, 194, 97, 0, 1006, 1004, 1, 0, 0, 0, 1007, 1010, 1, 0, 0, 0, 1008, 1006, 1, 0, 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 193, 1, 0, 0, 0, 1010, 1008, 1, 0, 0, 0, 1011, 1016, 3, 198, 99, 0, 1012, 1013, 5, 11, 0, 0, 1013, 1015, 3, 198, 99, 0, 1014, 1012, 1, 0, 0, 0, 1015, 1018, 1, 0, 0, 0, 1016, 1014, 1, 0, 0, 0, 1016, 1017, 1, 0, 0, 0, 1017, 195, 1, 0, 0, 0, 1018, 1016, 1, 0, 0, 0, 1019, 1021, 3, 202, 101, 0, 1020, 1022, 3, 200, 100, 0, 1021, 1020, 1, 0, 0, 0, 1021, 1022, 1, 0, 0, 0, 1022, 197, 1, 0, 0, 0, 1023, 1027, 3, 196, 98, 0, 1024, 1025, 5, 12, 0, 0, 1025, 1027, 3, 196, 98, 0, 1026, 1023, 1, 0, 0, 0, 1026, 1024, 1, 0, 0, 0, 1027, 199, 1, 0, 0, 0, 1028, 1029, 7, 2, 0, 0, 1029, 201, 1, 0, 0, 0, 1030, 1039, 3, 302, 151, 0, 1031, 1039, 5, 9, 0, 0, 1032, 1033, 5, 15, 0, 0, 1033, 1039, 3, 204, 102, 0, 1034, 1035, 5, 2, 0, 0, 1035, 1036, 3, 190, 95, 0, 1036, 1037, 5, 3, 0, 0, 1037, 1039, 1, 0, 0, 0, 1038, 1030, 1, 0, 0, 0, 1038, 1031, 1, 0, 0, 0, 1038, 1032, 1, 0, 0, 0, 1038, 1034, 1, 0, 0, 0, 1039, 203, 1, 0, 0, 0, 1040, 1054, 3, 206, 103, 0, 1041, 1050, 5, 2, 0, 0, 1042, 1047, 3, 206, 103, 0, 1043, 1044, 5, 10, 0, 0, 1044, 1046, 3, 206, 103, 0, 1045, 1043, 1, 0, 0, 0, 1046, 1049, 1, 0, 0, 0, 1047, 1045, 1, 0, 0, 0, 1047, 1048, 1, 0, 0, 0, 1048, 1051, 1, 0, 0, 0, 1049, 1047, 1, 0, 0, 0, 1050, 1042, 1, 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1054, 5, 3, 0, 0, 1053, 1040, 1, 0, 0, 0, 1053, 1041, 1, 0, 0, 0, 1054, 205, 1, 0, 0, 0, 1055, 1063, 3, 302, 151, 0, 1056, 1063, 5, 9, 0, 0, 1057, 1060, 5, 12, 0, 0, 1058, 1061, 3, 302, 151, 0, 1059, 1061, 5, 9, 0, 0, 1060, 1058, 1, 0, 0, 0, 1060, 1059, 1, 0, 0, 0, 1061, 1063, 1, 0, 0, 0, 1062, 1055, 1, 0, 0, 0, 1062, 1056, 1, 0, 0, 0, 1062, 1057, 1, 0, 0, 0, 1063, 207, 1, 0, 0, 0, 1064, 1065, 5, 150, 0, 0, 1065, 209, 1, 0, 0, 0, 1066, 1069, 3, 218, 109, 0, 1067, 1069, 3, 212, 106, 0, 1068, 1066, 1, 0, 0, 0, 1068, 1067, 1, 0, 0, 0, 1069, 211, 1, 0, 0, 0, 1070, 1071, 5, 16, 0, 0, 1071, 1072, 3, 162, 81, 0, 1072, 1073, 5, 17, 0, 0, 1073, 213, 1, 0, 0, 0, 1074, 1077, 3, 220, 110, 0, 1075, 1077, 3, 216, 108, 0, 1076, 1074, 1, 0, 0, 0, 1076, 1075, 1, 0, 0, 0, 1077, 215, 1, 0, 0, 0, 1078, 1079, 5, 16, 0, 0, 1079, 1080, 3, 174, 87, 0, 1080, 1081, 5, 17, 0, 0, 1081, 217, 1, 0, 0, 0, 1082, 1084, 5, 2, 0, 0, 1083, 1085, 3, 222, 111, 0, 1084, 1083, 1, 0, 0, 0, 1085, 1086, 1, 0, 0, 0, 1086, 1084, 1, 0, 0, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1088, 1, 0, 0, 0, 1088, 1089, 5, 3, 0, 0, 1089, 219, 1, 0, 0, 0, 1090, 1092, 5, 2, 0, 0, 1091, 1093, 3, 224, 112, 0, 1092, 1091, 1, 0, 0, 0, 1093, 1094, 1, 0, 0, 0, 1094, 1092, 1, 0, 0, 0, 1094, 1095, 1, 0, 0, 0, 1095, 1096, 1, 0, 0, 0, 1096, 1097, 5, 3, 0, 0, 1097, 221, 1, 0, 0, 0, 1098, 1101, 3, 226, 113, 0, 1099, 1101, 3, 210, 105, 0, 1100, 1098, 1, 0, 0, 0, 1100, 1099, 1, 0, 0, 0, 1101, 223, 1, 0, 0, 0, 1102, 1105, 3, 226, 113, 0, 1103, 1105, 3, 214, 107, 0, 1104, 1102, 1, 0, 0, 0, 1104, 1103, 1, 0, 0, 0, 1105, 225, 1, 0, 0, 0, 1106, 1109, 3, 230, 115, 0, 1107, 1109, 3, 232, 116, 0, 1108, 1106, 1, 0, 0, 0, 1108, 1107, 1, 0, 0, 0, 1109, 227, 1, 0, 0, 0, 1110, 1113, 3, 230, 115, 0, 1111, 1113, 3, 302, 151, 0, 1112, 1110, 1, 0, 0, 0, 1112, 1111, 1, 0, 0, 0, 1113, 229, 1, 0, 0, 0, 1114, 1115, 7, 3, 0, 0, 1115, 231, 1, 0, 0, 0, 1116, 1123, 3, 302, 151, 0, 1117, 1123, 3, 288, 144, 0, 1118, 1123, 3, 290, 145, 0, 1119, 1123, 3, 298, 149, 0, 1120, 1123, 3, 306, 153, 0, 1121, 1123, 5, 165, 0, 0, 1122, 1116, 1, 0, 0, 0, 1122, 1117, 1, 0, 0, 0, 1122, 1118, 1, 0, 0, 0, 1122, 1119, 1, 0, 0, 0, 1122, 1120, 1, 0, 0, 0, 1122, 1121, 1, 0, 0, 0, 1123, 233, 1, 0, 0, 0, 1124, 1125, 3, 236, 118, 0, 1125, 235, 1, 0, 0, 0, 1126, 1131, 3, 238, 119, 0, 1127, 1128, 5, 18, 0, 0, 1128, 1130, 3, 238, 119, 0, 1129, 1127, 1, 0, 0, 0, 1130, 1133, 1, 0, 0, 0, 1131, 1129, 1, 0, 0, 0, 1131, 1132, 1, 0, 0, 0, 1132, 237, 1, 0, 0, 0, 1133, 1131, 1, 0, 0, 0, 1134, 1139, 3, 240, 120, 0, 1135, 1136, 5, 19, 0, 0, 1136, 1138, 3, 240, 120, 0, 1137, 1135, 1, 0, 0, 0, 1138, 1141, 1, 0, 0, 0, 1139, 1137, 1, 0, 0, 0, 1139, 1140, 1, 0, 0, 0, 1140, 239, 1, 0, 0, 0, 1141, 1139, 1, 0, 0, 0, 1142, 1143, 3, 242, 121, 0, 1143, 241, 1, 0, 0, 0, 1144, 1162, 3, 244, 122, 0, 1145, 1146, 5, 20, 0, 0, 1146, 1163, 3, 244, 122, 0, 1147, 1148, 5, 21, 0, 0, 1148, 1163, 3, 244, 122, 0, 1149, 1150, 5, 22, 0, 0, 1150, 1163, 3, 244, 122, 0, 1151, 1152, 5, 23, 0, 0, 1152, 1163, 3, 244, 122, 0, 1153, 1154, 5, 24, 0, 0, 1154, 1163, 3, 244, 122, 0, 1155, 1156, 5, 25, 0, 0, 1156, 1163, 3, 244, 122, 0, 1157, 1158, 5, 79, 0, 0, 1158, 1163, 3, 152, 76, 0, 1159, 1160, 5, 78, 0, 0, 1160, 1161, 5, 79, 0, 0, 1161, 1163, 3, 152, 76, 0, 1162, 1145, 1, 0, 0, 0, 1162, 1147, 1, 0, 0, 0, 1162, 1149, 1, 0, 0, 0, 1162, 1151, 1, 0, 0, 0, 1162, 1153, 1, 0, 0, 0, 1162, 1155, 1, 0, 0, 0, 1162, 1157, 1, 0, 0, 0, 1162, 1159, 1, 0, 0, 0, 1162, 1163, 1, 0, 0, 0, 1163, 243, 1, 0, 0, 0, 1164, 1165, 3, 246, 123, 0, 1165, 245, 1, 0, 0, 0, 1166, 1170, 3, 256, 128, 0, 1167, 1169, 3, 248, 124, 0, 1168, 1167, 1, 0, 0, 0, 1169, 1172, 1, 0, 0, 0, 1170, 1168, 1, 0, 0, 0, 1170, 1171, 1, 0, 0, 0, 1171, 247, 1, 0, 0, 0, 1172, 1170, 1, 0, 0, 0, 1173, 1174, 5, 13, 0, 0, 1174, 1179, 3, 250, 125, 0, 1175, 1176, 5, 26, 0, 0, 1176, 1179, 3, 252, 126, 0, 1177, 1179, 3, 254, 127, 0, 1178, 1173, 1, 0, 0, 0, 1178, 1175, 1, 0, 0, 0, 1178, 1177, 1, 0, 0, 0, 1179, 249, 1, 0, 0, 0, 1180, 1181, 3, 256, 128, 0, 1181, 251, 1, 0, 0, 0, 1182, 1183, 3, 256, 128, 0, 1183, 253, 1, 0, 0, 0, 1184, 1187, 3, 294, 147, 0, 1185, 1187, 3, 296, 148, 0, 1186, 1184, 1, 0, 0, 0, 1186, 1185, 1, 0, 0, 0, 1187, 1191, 1, 0, 0, 0, 1188, 1190, 3, 258, 129, 0, 1189, 1188, 1, 0, 0, 0, 1190, 1193, 1, 0, 0, 0, 1191, 1189, 1, 0, 0, 0, 1191, 1192, 1, 0, 0, 0, 1192, 255, 1, 0, 0, 0, 1193, 1191, 1, 0, 0, 0, 1194, 1198, 3, 264, 132, 0, 1195, 1197, 3, 258, 129, 0, 1196, 1195, 1, 0, 0, 0, 1197, 1200, 1, 0, 0, 0, 1198, 1196, 1, 0, 0, 0, 1198, 1199, 1, 0, 0, 0, 1199, 257, 1, 0, 0, 0, 1200, 1198, 1, 0, 0, 0, 1201, 1204, 3, 260, 130, 0, 1202, 1204, 3, 262, 131, 0, 1203, 1201, 1, 0, 0, 0, 1203, 1202, 1, 0, 0, 0, 1204, 259, 1, 0, 0, 0, 1205, 1206, 5, 1, 0, 0, 1206, 1207, 3, 264, 132, 0, 1207, 261, 1, 0, 0, 0, 1208, 1209, 5, 11, 0, 0, 1209, 1210, 3, 264, 132, 0, 1210, 263, 1, 0, 0, 0, 1211, 1212, 5, 15, 0, 0, 1212, 1219, 3, 266, 133, 0, 1213, 1214, 5, 13, 0, 0, 1214, 1219, 3, 266, 133, 0, 1215, 1216, 5, 26, 0, 0, 1216, 1219, 3, 266, 133, 0, 1217, 1219, 3, 266, 133, 0, 1218, 1211, 1, 0, 0, 0, 1218, 1213, 1, 0, 0, 0, 1218, 1215, 1, 0, 0, 0, 1218, 1217, 1, 0, 0, 0, 1219, 265, 1, 0, 0, 0, 1220, 1228, 3, 268, 134, 0, 1221, 1228, 3, 270, 135, 0, 1222, 1228, 3, 286, 143, 0, 1223, 1228, 3, 288, 144, 0, 1224, 1228, 3, 290, 145, 0, 1225, 1228, 3, 298, 149, 0, 1226, 1228, 3, 230, 115, 0, 1227, 1220, 1, 0, 0, 0, 1227, 1221, 1, 0, 0, 0, 1227, 1222, 1, 0, 0, 0, 1227, 1223, 1, 0, 0, 0, 1227, 1224, 1, 0, 0, 0, 1227, 1225, 1, 0, 0, 0, 1227, 1226, 1, 0, 0, 0, 1228, 267, 1, 0, 0, 0, 1229, 1230, 5, 2, 0, 0, 1230, 1231, 3, 234, 117, 0, 1231, 1232, 5, 3, 0, 0, 1232, 269, 1, 0, 0, 0, 1233, 1488, 3, 284, 142, 0, 1234, 1235, 5, 80, 0, 0, 1235, 1236, 5, 2, 0, 0, 1236, 1237, 3, 234, 117, 0, 1237, 1238, 5, 3, 0, 0, 1238, 1488, 1, 0, 0, 0, 1239, 1488, 3, 274, 137, 0, 1240, 1241, 5, 82, 0, 0, 1241, 1242, 5, 2, 0, 0, 1242, 1243, 3, 234, 117, 0, 1243, 1244, 5, 8, 0, 0, 1244, 1245, 3, 234, 117, 0, 1245, 1246, 5, 3, 0, 0, 1246, 1488, 1, 0, 0, 0, 1247, 1248, 5, 83, 0, 0, 1248, 1249, 5, 2, 0, 0, 1249, 1250, 3, 234, 117, 0, 1250, 1251, 5, 3, 0, 0, 1251, 1488, 1, 0, 0, 0, 1252, 1253, 5, 84, 0, 0, 1253, 1254, 5, 2, 0, 0, 1254, 1255, 3, 230, 115, 0, 1255, 1256, 5, 3, 0, 0, 1256, 1488, 1, 0, 0, 0, 1257, 1258, 5, 85, 0, 0, 1258, 1259, 5, 2, 0, 0, 1259, 1260, 3, 234, 117, 0, 1260, 1261, 5, 3, 0, 0, 1261, 1488, 1, 0, 0, 0, 1262, 1263, 5, 86, 0, 0, 1263, 1264, 5, 2, 0, 0, 1264, 1265, 3, 234, 117, 0, 1265, 1266, 5, 3, 0, 0, 1266, 1488, 1, 0, 0, 0, 1267, 1273, 5, 87, 0, 0, 1268, 1269, 5, 2, 0, 0, 1269, 1270, 3, 234, 117, 0, 1270, 1271, 5, 3, 0, 0, 1271, 1274, 1, 0, 0, 0, 1272, 1274, 5, 165, 0, 0, 1273, 1268, 1, 0, 0, 0, 1273, 1272, 1, 0, 0, 0, 1274, 1488, 1, 0, 0, 0, 1275, 1276, 5, 88, 0, 0, 1276, 1488, 5, 165, 0, 0, 1277, 1278, 5, 89, 0, 0, 1278, 1279, 5, 2, 0, 0, 1279, 1280, 3, 234, 117, 0, 1280, 1281, 5, 3, 0, 0, 1281, 1488, 1, 0, 0, 0, 1282, 1283, 5, 90, 0, 0, 1283, 1284, 5, 2, 0, 0, 1284, 1285, 3, 234, 117, 0, 1285, 1286, 5, 3, 0, 0, 1286, 1488, 1, 0, 0, 0, 1287, 1288, 5, 91, 0, 0, 1288, 1289, 5, 2, 0, 0, 1289, 1290, 3, 234, 117, 0, 1290, 1291, 5, 3, 0, 0, 1291, 1488, 1, 0, 0, 0, 1292, 1293, 5, 92, 0, 0, 1293, 1294, 5, 2, 0, 0, 1294, 1295, 3, 234, 117, 0, 1295, 1296, 5, 3, 0, 0, 1296, 1488, 1, 0, 0, 0, 1297, 1298, 5, 93, 0, 0, 1298, 1488, 3, 152, 76, 0, 1299, 1488, 3, 276, 138, 0, 1300, 1301, 5, 94, 0, 0, 1301, 1302, 5, 2, 0, 0, 1302, 1303, 3, 234, 117, 0, 1303, 1304, 5, 3, 0, 0, 1304, 1488, 1, 0, 0, 0, 1305, 1488, 3, 278, 139, 0, 1306, 1307, 5, 95, 0, 0, 1307, 1308, 5, 2, 0, 0, 1308, 1309, 3, 234, 117, 0, 1309, 1310, 5, 3, 0, 0, 1310, 1488, 1, 0, 0, 0, 1311, 1312, 5, 96, 0, 0, 1312, 1313, 5, 2, 0, 0, 1313, 1314, 3, 234, 117, 0, 1314, 1315, 5, 3, 0, 0, 1315, 1488, 1, 0, 0, 0, 1316, 1317, 5, 97, 0, 0, 1317, 1318, 5, 2, 0, 0, 1318, 1319, 3, 234, 117, 0, 1319, 1320, 5, 3, 0, 0, 1320, 1488, 1, 0, 0, 0, 1321, 1322, 5, 99, 0, 0, 1322, 1323, 5, 2, 0, 0, 1323, 1324, 3, 234, 117, 0, 1324, 1325, 5, 8, 0, 0, 1325, 1326, 3, 234, 117, 0, 1326, 1327, 5, 3, 0, 0, 1327, 1488, 1, 0, 0, 0, 1328, 1329, 5, 100, 0, 0, 1329, 1330, 5, 2, 0, 0, 1330, 1331, 3, 234, 117, 0, 1331, 1332, 5, 8, 0, 0, 1332, 1333, 3, 234, 117, 0, 1333, 1334, 5, 3, 0, 0, 1334, 1488, 1, 0, 0, 0, 1335, 1336, 5, 101, 0, 0, 1336, 1337, 5, 2, 0, 0, 1337, 1338, 3, 234, 117, 0, 1338, 1339, 5, 8, 0, 0, 1339, 1340, 3, 234, 117, 0, 1340, 1341, 5, 3, 0, 0, 1341, 1488, 1, 0, 0, 0, 1342, 1343, 5, 102, 0, 0, 1343, 1344, 5, 2, 0, 0, 1344, 1345, 3, 234, 117, 0, 1345, 1346, 5, 8, 0, 0, 1346, 1347, 3, 234, 117, 0, 1347, 1348, 5, 3, 0, 0, 1348, 1488, 1, 0, 0, 0, 1349, 1350, 5, 103, 0, 0, 1350, 1351, 5, 2, 0, 0, 1351, 1352, 3, 234, 117, 0, 1352, 1353, 5, 8, 0, 0, 1353, 1354, 3, 234, 117, 0, 1354, 1355, 5, 3, 0, 0, 1355, 1488, 1, 0, 0, 0, 1356, 1357, 5, 104, 0, 0, 1357, 1358, 5, 2, 0, 0, 1358, 1359, 3, 234, 117, 0, 1359, 1360, 5, 3, 0, 0, 1360, 1488, 1, 0, 0, 0, 1361, 1362, 5, 105, 0, 0, 1362, 1363, 5, 2, 0, 0, 1363, 1364, 3, 234, 117, 0, 1364, 1365, 5, 3, 0, 0, 1365, 1488, 1, 0, 0, 0, 1366, 1367, 5, 106, 0, 0, 1367, 1368, 5, 2, 0, 0, 1368, 1369, 3, 234, 117, 0, 1369, 1370, 5, 3, 0, 0, 1370, 1488, 1, 0, 0, 0, 1371, 1372, 5, 107, 0, 0, 1372, 1373, 5, 2, 0, 0, 1373, 1374, 3, 234, 117, 0, 1374, 1375, 5, 3, 0, 0, 1375, 1488, 1, 0, 0, 0, 1376, 1377, 5, 108, 0, 0, 1377, 1378, 5, 2, 0, 0, 1378, 1379, 3, 234, 117, 0, 1379, 1380, 5, 3, 0, 0, 1380, 1488, 1, 0, 0, 0, 1381, 1382, 5, 109, 0, 0, 1382, 1383, 5, 2, 0, 0, 1383, 1384, 3, 234, 117, 0, 1384, 1385, 5, 3, 0, 0, 1385, 1488, 1, 0, 0, 0, 1386, 1387, 5, 110, 0, 0, 1387, 1388, 5, 2, 0, 0, 1388, 1389, 3, 234, 117, 0, 1389, 1390, 5, 3, 0, 0, 1390, 1488, 1, 0, 0, 0, 1391, 1392, 5, 111, 0, 0, 1392, 1393, 5, 2, 0, 0, 1393, 1394, 3, 234, 117, 0, 1394, 1395, 5, 3, 0, 0, 1395, 1488, 1, 0, 0, 0, 1396, 1397, 5, 112, 0, 0, 1397, 1488, 5, 165, 0, 0, 1398, 1399, 5, 113, 0, 0, 1399, 1488, 5, 165, 0, 0, 1400, 1401, 5, 114, 0, 0, 1401, 1488, 5, 165, 0, 0, 1402, 1403, 5, 119, 0, 0, 1403, 1404, 5, 2, 0, 0, 1404, 1405, 3, 234, 117, 0, 1405, 1406, 5, 3, 0, 0, 1406, 1488, 1, 0, 0, 0, 1407, 1408, 5, 115, 0, 0, 1408, 1409, 5, 2, 0, 0, 1409, 1410, 3, 234, 117, 0, 1410, 1411, 5, 3, 0, 0, 1411, 1488, 1, 0, 0, 0, 1412, 1413, 5, 116, 0, 0, 1413, 1414, 5, 2, 0, 0, 1414, 1415, 3, 234, 117, 0, 1415, 1416, 5, 3, 0, 0, 1416, 1488, 1, 0, 0, 0, 1417, 1418, 5, 117, 0, 0, 1418, 1419, 5, 2, 0, 0, 1419, 1420, 3, 234, 117, 0, 1420, 1421, 5, 3, 0, 0, 1421, 1488, 1, 0, 0, 0, 1422, 1423, 5, 118, 0, 0, 1423, 1424, 5, 2, 0, 0, 1424, 1425, 3, 234, 117, 0, 1425, 1426, 5, 3, 0, 0, 1426, 1488, 1, 0, 0, 0, 1427, 1428, 5, 120, 0, 0, 1428, 1488, 3, 152, 76, 0, 1429, 1430, 5, 121, 0, 0, 1430, 1431, 5, 2, 0, 0, 1431, 1432, 3, 234, 117, 0, 1432, 1433, 5, 8, 0, 0, 1433, 1434, 3, 234, 117, 0, 1434, 1435, 5, 8, 0, 0, 1435, 1436, 3, 234, 117, 0, 1436, 1437, 5, 3, 0, 0, 1437, 1488, 1, 0, 0, 0, 1438, 1439, 5, 122, 0, 0, 1439, 1440, 5, 2, 0, 0, 1440, 1441, 3, 234, 117, 0, 1441, 1442, 5, 8, 0, 0, 1442, 1443, 3, 234, 117, 0, 1443, 1444, 5, 3, 0, 0, 1444, 1488, 1, 0, 0, 0, 1445, 1446, 5, 123, 0, 0, 1446, 1447, 5, 2, 0, 0, 1447, 1448, 3, 234, 117, 0, 1448, 1449, 5, 8, 0, 0, 1449, 1450, 3, 234, 117, 0, 1450, 1451, 5, 3, 0, 0, 1451, 1488, 1, 0, 0, 0, 1452, 1453, 5, 124, 0, 0, 1453, 1454, 5, 2, 0, 0, 1454, 1455, 3, 234, 117, 0, 1455, 1456, 5, 8, 0, 0, 1456, 1457, 3, 234, 117, 0, 1457, 1458, 5, 3, 0, 0, 1458, 1488, 1, 0, 0, 0, 1459, 1460, 5, 125, 0, 0, 1460, 1461, 5, 2, 0, 0, 1461, 1462, 3, 234, 117, 0, 1462, 1463, 5, 3, 0, 0, 1463, 1488, 1, 0, 0, 0, 1464, 1465, 5, 126, 0, 0, 1465, 1466, 5, 2, 0, 0, 1466, 1467, 3, 234, 117, 0, 1467, 1468, 5, 3, 0, 0, 1468, 1488, 1, 0, 0, 0, 1469, 1470, 5, 127, 0, 0, 1470, 1471, 5, 2, 0, 0, 1471, 1472, 3, 234, 117, 0, 1472, 1473, 5, 3, 0, 0, 1473, 1488, 1, 0, 0, 0, 1474, 1475, 5, 128, 0, 0, 1475, 1476, 5, 2, 0, 0, 1476, 1477, 3, 234, 117, 0, 1477, 1478, 5, 3, 0, 0, 1478, 1488, 1, 0, 0, 0, 1479, 1480, 5, 129, 0, 0, 1480, 1481, 5, 2, 0, 0, 1481, 1482, 3, 234, 117, 0, 1482, 1483, 5, 3, 0, 0, 1483, 1488, 1, 0, 0, 0, 1484, 1488, 3, 272, 136, 0, 1485, 1488, 3, 280, 140, 0, 1486, 1488, 3, 282, 141, 0, 1487, 1233, 1, 0, 0, 0, 1487, 1234, 1, 0, 0, 0, 1487, 1239, 1, 0, 0, 0, 1487, 1240, 1, 0, 0, 0, 1487, 1247, 1, 0, 0, 0, 1487, 1252, 1, 0, 0, 0, 1487, 1257, 1, 0, 0, 0, 1487, 1262, 1, 0, 0, 0, 1487, 1267, 1, 0, 0, 0, 1487, 1275, 1, 0, 0, 0, 1487, 1277, 1, 0, 0, 0, 1487, 1282, 1, 0, 0, 0, 1487, 1287, 1, 0, 0, 0, 1487, 1292, 1, 0, 0, 0, 1487, 1297, 1, 0, 0, 0, 1487, 1299, 1, 0, 0, 0, 1487, 1300, 1, 0, 0, 0, 1487, 1305, 1, 0, 0, 0, 1487, 1306, 1, 0, 0, 0, 1487, 1311, 1, 0, 0, 0, 1487, 1316, 1, 0, 0, 0, 1487, 1321, 1, 0, 0, 0, 1487, 1328, 1, 0, 0, 0, 1487, 1335, 1, 0, 0, 0, 1487, 1342, 1, 0, 0, 0, 1487, 1349, 1, 0, 0, 0, 1487, 1356, 1, 0, 0, 0, 1487, 1361, 1, 0, 0, 0, 1487, 1366, 1, 0, 0, 0, 1487, 1371, 1, 0, 0, 0, 1487, 1376, 1, 0, 0, 0, 1487, 1381, 1, 0, 0, 0, 1487, 1386, 1, 0, 0, 0, 1487, 1391, 1, 0, 0, 0, 1487, 1396, 1, 0, 0, 0, 1487, 1398, 1, 0, 0, 0, 1487, 1400, 1, 0, 0, 0, 1487, 1402, 1, 0, 0, 0, 1487, 1407, 1, 0, 0, 0, 1487, 1412, 1, 0, 0, 0, 1487, 1417, 1, 0, 0, 0, 1487, 1422, 1, 0, 0, 0, 1487, 1427, 1, 0, 0, 0, 1487, 1429, 1, 0, 0, 0, 1487, 1438, 1, 0, 0, 0, 1487, 1445, 1, 0, 0, 0, 1487, 1452, 1, 0, 0, 0, 1487, 1459, 1, 0, 0, 0, 1487, 1464, 1, 0, 0, 0, 1487, 1469, 1, 0, 0, 0, 1487, 1474, 1, 0, 0, 0, 1487, 1479, 1, 0, 0, 0, 1487, 1484, 1, 0, 0, 0, 1487, 1485, 1, 0, 0, 0, 1487, 1486, 1, 0, 0, 0, 1488, 271, 1, 0, 0, 0, 1489, 1490, 5, 130, 0, 0, 1490, 1491, 5, 2, 0, 0, 1491, 1492, 3, 234, 117, 0, 1492, 1493, 5, 8, 0, 0, 1493, 1496, 3, 234, 117, 0, 1494, 1495, 5, 8, 0, 0, 1495, 1497, 3, 234, 117, 0, 1496, 1494, 1, 0, 0, 0, 1496, 1497, 1, 0, 0, 0, 1497, 1498, 1, 0, 0, 0, 1498, 1499, 5, 3, 0, 0, 1499, 273, 1, 0, 0, 0, 1500, 1501, 5, 81, 0, 0, 1501, 1502, 5, 2, 0, 0, 1502, 1503, 3, 234, 117, 0, 1503, 1504, 5, 3, 0, 0, 1504, 275, 1, 0, 0, 0, 1505, 1506, 5, 131, 0, 0, 1506, 1507, 5, 2, 0, 0, 1507, 1508, 3, 234, 117, 0, 1508, 1509, 5, 8, 0, 0, 1509, 1512, 3, 234, 117, 0, 1510, 1511, 5, 8, 0, 0, 1511, 1513, 3, 234, 117, 0, 1512, 1510, 1, 0, 0, 0, 1512, 1513, 1, 0, 0, 0, 1513, 1514, 1, 0, 0, 0, 1514, 1515, 5, 3, 0, 0, 1515, 277, 1, 0, 0, 0, 1516, 1517, 5, 132, 0, 0, 1517, 1518, 5, 2, 0, 0, 1518, 1519, 3, 234, 117, 0, 1519, 1520, 5, 8, 0, 0, 1520, 1521, 3, 234, 117, 0, 1521, 1522, 5, 8, 0, 0, 1522, 1525, 3, 234, 117, 0, 1523, 1524, 5, 8, 0, 0, 1524, 1526, 3, 234, 117, 0, 1525, 1523, 1, 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1528, 5, 3, 0, 0, 1528, 279, 1, 0, 0, 0, 1529, 1530, 5, 133, 0, 0, 1530, 1531, 3, 110, 55, 0, 1531, 281, 1, 0, 0, 0, 1532, 1533, 5, 78, 0, 0, 1533, 1534, 5, 133, 0, 0, 1534, 1535, 3, 110, 55, 0, 1535, 283, 1, 0, 0, 0, 1536, 1537, 5, 134, 0, 0, 1537, 1539, 5, 2, 0, 0, 1538, 1540, 5, 33, 0, 0, 1539, 1538, 1, 0, 0, 0, 1539, 1540, 1, 0, 0, 0, 1540, 1543, 1, 0, 0, 0, 1541, 1544, 5, 1, 0, 0, 1542, 1544, 3, 234, 117, 0, 1543, 1541, 1, 0, 0, 0, 1543, 1542, 1, 0, 0, 0, 1544, 1545, 1, 0, 0, 0, 1545, 1609, 5, 3, 0, 0, 1546, 1547, 5, 135, 0, 0, 1547, 1549, 5, 2, 0, 0, 1548, 1550, 5, 33, 0, 0, 1549, 1548, 1, 0, 0, 0, 1549, 1550, 1, 0, 0, 0, 1550, 1551, 1, 0, 0, 0, 1551, 1552, 3, 234, 117, 0, 1552, 1553, 5, 3, 0, 0, 1553, 1609, 1, 0, 0, 0, 1554, 1555, 5, 136, 0, 0, 1555, 1557, 5, 2, 0, 0, 1556, 1558, 5, 33, 0, 0, 1557, 1556, 1, 0, 0, 0, 1557, 1558, 1, 0, 0, 0, 1558, 1559, 1, 0, 0, 0, 1559, 1560, 3, 234, 117, 0, 1560, 1561, 5, 3, 0, 0, 1561, 1609, 1, 0, 0, 0, 1562, 1563, 5, 137, 0, 0, 1563, 1565, 5, 2, 0, 0, 1564, 1566, 5, 33, 0, 0, 1565, 1564, 1, 0, 0, 0, 1565, 1566, 1, 0, 0, 0, 1566, 1567, 1, 0, 0, 0, 1567, 1568, 3, 234, 117, 0, 1568, 1569, 5, 3, 0, 0, 1569, 1609, 1, 0, 0, 0, 1570, 1571, 5, 138, 0, 0, 1571, 1573, 5, 2, 0, 0, 1572, 1574, 5, 33, 0, 0, 1573, 1572, 1, 0, 0, 0, 1573, 1574, 1, 0, 0, 0, 1574, 1575, 1, 0, 0, 0, 1575, 1576, 3, 234, 117, 0, 1576, 1577, 5, 3, 0, 0, 1577, 1609, 1, 0, 0, 0, 1578, 1579, 5, 139, 0, 0, 1579, 1581, 5, 2, 0, 0, 1580, 1582, 5, 33, 0, 0, 1581, 1580, 1, 0, 0, 0, 1581, 1582, 1, 0, 0, 0, 1582, 1583, 1, 0, 0, 0, 1583, 1584, 3, 234, 117, 0, 1584, 1585, 5, 3, 0, 0, 1585, 1609, 1, 0, 0, 0, 1586, 1587, 5, 140, 0, 0, 1587, 1589, 5, 2, 0, 0, 1588, 1590, 5, 33, 0, 0, 1589, 1588, 1, 0, 0, 0, 1589, 1590, 1, 0, 0, 0, 1590, 1591, 1, 0, 0, 0, 1591, 1592, 3, 234, 117, 0, 1592, 1593, 5, 3, 0, 0, 1593, 1609, 1, 0, 0, 0, 1594, 1595, 5, 43, 0, 0, 1595, 1597, 5, 2, 0, 0, 1596, 1598, 5, 33, 0, 0, 1597, 1596, 1, 0, 0, 0, 1597, 1598, 1, 0, 0, 0, 1598, 1599, 1, 0, 0, 0, 1599, 1604, 3, 234, 117, 0, 1600, 1601, 5, 6, 0, 0, 1601, 1602, 5, 141, 0, 0, 1602, 1603, 5, 20, 0, 0, 1603, 1605, 3, 300, 150, 0, 1604, 1600, 1, 0, 0, 0, 1604, 1605, 1, 0, 0, 0, 1605, 1606, 1, 0, 0, 0, 1606, 1607, 5, 3, 0, 0, 1607, 1609, 1, 0, 0, 0, 1608, 1536, 1, 0, 0, 0, 1608, 1546, 1, 0, 0, 0, 1608, 1554, 1, 0, 0, 0, 1608, 1562, 1, 0, 0, 0, 1608, 1570, 1, 0, 0, 0, 1608, 1578, 1, 0, 0, 0, 1608, 1586, 1, 0, 0, 0, 1608, 1594, 1, 0, 0, 0, 1609, 285, 1, 0, 0, 0, 1610, 1612, 3, 302, 151, 0, 1611, 1613, 3, 150, 75, 0, 1612, 1611, 1, 0, 0, 0, 1612, 1613, 1, 0, 0, 0, 1613, 287, 1, 0, 0, 0, 1614, 1618, 3, 300, 150, 0, 1615, 1619, 5, 148, 0, 0, 1616, 1617, 5, 27, 0, 0, 1617, 1619, 3, 302, 151, 0, 1618, 1615, 1, 0, 0, 0, 1618, 1616, 1, 0, 0, 0, 1618, 1619, 1, 0, 0, 0, 1619, 289, 1, 0, 0, 0, 1620, 1624, 3, 292, 146, 0, 1621, 1624, 3, 294, 147, 0, 1622, 1624, 3, 296, 148, 0, 1623, 1620, 1, 0, 0, 0, 1623, 1621, 1, 0, 0, 0, 1623, 1622, 1, 0, 0, 0, 1624, 291, 1, 0, 0, 0, 1625, 1626, 7, 4, 0, 0, 1626, 293, 1, 0, 0, 0, 1627, 1628, 7, 5, 0, 0, 1628, 295, 1, 0, 0, 0, 1629, 1630, 7, 6, 0, 0, 1630, 297, 1, 0, 0, 0, 1631, 1632, 7, 7, 0, 0, 1632, 299, 1, 0, 0, 0, 1633, 1634, 7, 8, 0, 0, 1634, 301, 1, 0, 0, 0, 1635, 1637, 5, 149, 0, 0, 1636, 1635, 1, 0, 0, 0, 1636, 1637, 1, 0, 0, 0, 1637, 1640, 1, 0, 0, 0, 1638, 1641, 3, 308, 154, 0, 1639, 1641, 3, 304, 152, 0, 1640, 1638, 1, 0, 0, 0, 1640, 1639, 1, 0, 0, 0, 1641, 303, 1, 0, 0, 0, 1642, 1645, 3, 310, 155, 0, 1643, 1645, 3, 312, 156, 0, 1644, 1642, 1, 0, 0, 0, 1644, 1643, 1, 0, 0, 0, 1645, 305, 1, 0, 0, 0, 1646, 1647, 7, 9, 0, 0, 1647, 307, 1, 0, 0, 0, 1648, 1649, 5, 142, 0, 0, 1649, 309, 1, 0, 0, 0, 1650, 1651, 5, 144, 0, 0, 1651, 311, 1, 0, 0, 0, 1652, 1653, 5, 143, 0, 0, 1653, 313, 1, 0, 0, 0, 162, 316, 325, 331, 333, 347, 360, 365, 368, 372, 387, 396, 402, 406, 412, 415, 420, 424, 432, 441, 451, 456, 459, 462, 465, 471, 479, 484, 490, 496, 501, 507, 509, 513, 516, 520, 523, 527, 530, 534, 537, 541, 544, 548, 551, 553, 566, 572, 574, 587, 591, 596, 600, 606, 612, 618, 626, 634, 654, 658, 661, 666, 682, 687, 696, 707, 711, 714, 718, 725, 732, 734, 739, 744, 749, 754, 757, 762, 764, 774, 785, 802, 809, 819, 823, 829, 838, 843, 850, 860, 869, 877, 884, 889, 898, 903, 907, 914, 916, 924, 927, 935, 939, 944, 951, 962, 965, 970, 974, 989, 996, 1008, 1016, 1021, 1026, 1038, 1047, 1050, 1053, 1060, 1062, 1068, 1076, 1086, 1094, 1100, 1104, 1108, 1112, 1122, 1131, 1139, 1162, 1170, 1178, 1186, 1191, 1198, 1203, 1218, 1227, 1273, 1487, 1496, 1512, 1525, 1539, 1543, 1549, 1557, 1565, 1573, 1581, 1589, 1597, 1604, 1608, 1612, 1618, 1623, 1636, 1640, 1644] \ No newline at end of file diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.cpp index 9200d8553f..9ad9387785 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.cpp @@ -1,4 +1,7 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 + #include "SparqlAutomaticBaseListener.h" + + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.h b/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.h index 87394990a8..4e8500d18a 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.h @@ -3,812 +3,495 @@ #pragma once -#include "SparqlAutomaticListener.h" + #include "antlr4-runtime.h" +#include "SparqlAutomaticListener.h" + /** * This class provides an empty implementation of SparqlAutomaticListener, - * which can be extended to create a listener which only needs to handle a - * subset of the available methods. + * which can be extended to create a listener which only needs to handle a subset + * of the available methods. */ -class SparqlAutomaticBaseListener : public SparqlAutomaticListener { - public: - virtual void enterQueryOrUpdate( - SparqlAutomaticParser::QueryOrUpdateContext* /*ctx*/) override {} - virtual void exitQueryOrUpdate( - SparqlAutomaticParser::QueryOrUpdateContext* /*ctx*/) override {} - - virtual void enterQuery( - SparqlAutomaticParser::QueryContext* /*ctx*/) override {} - virtual void exitQuery( - SparqlAutomaticParser::QueryContext* /*ctx*/) override {} - - virtual void enterPrologue( - SparqlAutomaticParser::PrologueContext* /*ctx*/) override {} - virtual void exitPrologue( - SparqlAutomaticParser::PrologueContext* /*ctx*/) override {} - - virtual void enterBaseDecl( - SparqlAutomaticParser::BaseDeclContext* /*ctx*/) override {} - virtual void exitBaseDecl( - SparqlAutomaticParser::BaseDeclContext* /*ctx*/) override {} - - virtual void enterPrefixDecl( - SparqlAutomaticParser::PrefixDeclContext* /*ctx*/) override {} - virtual void exitPrefixDecl( - SparqlAutomaticParser::PrefixDeclContext* /*ctx*/) override {} - - virtual void enterSelectQuery( - SparqlAutomaticParser::SelectQueryContext* /*ctx*/) override {} - virtual void exitSelectQuery( - SparqlAutomaticParser::SelectQueryContext* /*ctx*/) override {} - - virtual void enterSubSelect( - SparqlAutomaticParser::SubSelectContext* /*ctx*/) override {} - virtual void exitSubSelect( - SparqlAutomaticParser::SubSelectContext* /*ctx*/) override {} - - virtual void enterSelectClause( - SparqlAutomaticParser::SelectClauseContext* /*ctx*/) override {} - virtual void exitSelectClause( - SparqlAutomaticParser::SelectClauseContext* /*ctx*/) override {} - - virtual void enterVarOrAlias( - SparqlAutomaticParser::VarOrAliasContext* /*ctx*/) override {} - virtual void exitVarOrAlias( - SparqlAutomaticParser::VarOrAliasContext* /*ctx*/) override {} - - virtual void enterAlias( - SparqlAutomaticParser::AliasContext* /*ctx*/) override {} - virtual void exitAlias( - SparqlAutomaticParser::AliasContext* /*ctx*/) override {} - - virtual void enterAliasWithoutBrackets( - SparqlAutomaticParser::AliasWithoutBracketsContext* /*ctx*/) override {} - virtual void exitAliasWithoutBrackets( - SparqlAutomaticParser::AliasWithoutBracketsContext* /*ctx*/) override {} - - virtual void enterConstructQuery( - SparqlAutomaticParser::ConstructQueryContext* /*ctx*/) override {} - virtual void exitConstructQuery( - SparqlAutomaticParser::ConstructQueryContext* /*ctx*/) override {} - - virtual void enterDescribeQuery( - SparqlAutomaticParser::DescribeQueryContext* /*ctx*/) override {} - virtual void exitDescribeQuery( - SparqlAutomaticParser::DescribeQueryContext* /*ctx*/) override {} - - virtual void enterAskQuery( - SparqlAutomaticParser::AskQueryContext* /*ctx*/) override {} - virtual void exitAskQuery( - SparqlAutomaticParser::AskQueryContext* /*ctx*/) override {} - - virtual void enterDatasetClause( - SparqlAutomaticParser::DatasetClauseContext* /*ctx*/) override {} - virtual void exitDatasetClause( - SparqlAutomaticParser::DatasetClauseContext* /*ctx*/) override {} - - virtual void enterDefaultGraphClause( - SparqlAutomaticParser::DefaultGraphClauseContext* /*ctx*/) override {} - virtual void exitDefaultGraphClause( - SparqlAutomaticParser::DefaultGraphClauseContext* /*ctx*/) override {} - - virtual void enterNamedGraphClause( - SparqlAutomaticParser::NamedGraphClauseContext* /*ctx*/) override {} - virtual void exitNamedGraphClause( - SparqlAutomaticParser::NamedGraphClauseContext* /*ctx*/) override {} - - virtual void enterSourceSelector( - SparqlAutomaticParser::SourceSelectorContext* /*ctx*/) override {} - virtual void exitSourceSelector( - SparqlAutomaticParser::SourceSelectorContext* /*ctx*/) override {} - - virtual void enterWhereClause( - SparqlAutomaticParser::WhereClauseContext* /*ctx*/) override {} - virtual void exitWhereClause( - SparqlAutomaticParser::WhereClauseContext* /*ctx*/) override {} - - virtual void enterSolutionModifier( - SparqlAutomaticParser::SolutionModifierContext* /*ctx*/) override {} - virtual void exitSolutionModifier( - SparqlAutomaticParser::SolutionModifierContext* /*ctx*/) override {} - - virtual void enterGroupClause( - SparqlAutomaticParser::GroupClauseContext* /*ctx*/) override {} - virtual void exitGroupClause( - SparqlAutomaticParser::GroupClauseContext* /*ctx*/) override {} - - virtual void enterGroupCondition( - SparqlAutomaticParser::GroupConditionContext* /*ctx*/) override {} - virtual void exitGroupCondition( - SparqlAutomaticParser::GroupConditionContext* /*ctx*/) override {} - - virtual void enterHavingClause( - SparqlAutomaticParser::HavingClauseContext* /*ctx*/) override {} - virtual void exitHavingClause( - SparqlAutomaticParser::HavingClauseContext* /*ctx*/) override {} - - virtual void enterHavingCondition( - SparqlAutomaticParser::HavingConditionContext* /*ctx*/) override {} - virtual void exitHavingCondition( - SparqlAutomaticParser::HavingConditionContext* /*ctx*/) override {} - - virtual void enterOrderClause( - SparqlAutomaticParser::OrderClauseContext* /*ctx*/) override {} - virtual void exitOrderClause( - SparqlAutomaticParser::OrderClauseContext* /*ctx*/) override {} - - virtual void enterOrderCondition( - SparqlAutomaticParser::OrderConditionContext* /*ctx*/) override {} - virtual void exitOrderCondition( - SparqlAutomaticParser::OrderConditionContext* /*ctx*/) override {} - - virtual void enterLimitOffsetClauses( - SparqlAutomaticParser::LimitOffsetClausesContext* /*ctx*/) override {} - virtual void exitLimitOffsetClauses( - SparqlAutomaticParser::LimitOffsetClausesContext* /*ctx*/) override {} - - virtual void enterLimitClause( - SparqlAutomaticParser::LimitClauseContext* /*ctx*/) override {} - virtual void exitLimitClause( - SparqlAutomaticParser::LimitClauseContext* /*ctx*/) override {} - - virtual void enterOffsetClause( - SparqlAutomaticParser::OffsetClauseContext* /*ctx*/) override {} - virtual void exitOffsetClause( - SparqlAutomaticParser::OffsetClauseContext* /*ctx*/) override {} - - virtual void enterTextLimitClause( - SparqlAutomaticParser::TextLimitClauseContext* /*ctx*/) override {} - virtual void exitTextLimitClause( - SparqlAutomaticParser::TextLimitClauseContext* /*ctx*/) override {} - - virtual void enterValuesClause( - SparqlAutomaticParser::ValuesClauseContext* /*ctx*/) override {} - virtual void exitValuesClause( - SparqlAutomaticParser::ValuesClauseContext* /*ctx*/) override {} - - virtual void enterUpdate( - SparqlAutomaticParser::UpdateContext* /*ctx*/) override {} - virtual void exitUpdate( - SparqlAutomaticParser::UpdateContext* /*ctx*/) override {} - - virtual void enterUpdate1( - SparqlAutomaticParser::Update1Context* /*ctx*/) override {} - virtual void exitUpdate1( - SparqlAutomaticParser::Update1Context* /*ctx*/) override {} - - virtual void enterLoad(SparqlAutomaticParser::LoadContext* /*ctx*/) override { - } - virtual void exitLoad(SparqlAutomaticParser::LoadContext* /*ctx*/) override {} - - virtual void enterClear( - SparqlAutomaticParser::ClearContext* /*ctx*/) override {} - virtual void exitClear( - SparqlAutomaticParser::ClearContext* /*ctx*/) override {} - - virtual void enterDrop(SparqlAutomaticParser::DropContext* /*ctx*/) override { - } - virtual void exitDrop(SparqlAutomaticParser::DropContext* /*ctx*/) override {} - - virtual void enterCreate( - SparqlAutomaticParser::CreateContext* /*ctx*/) override {} - virtual void exitCreate( - SparqlAutomaticParser::CreateContext* /*ctx*/) override {} - - virtual void enterAdd(SparqlAutomaticParser::AddContext* /*ctx*/) override {} - virtual void exitAdd(SparqlAutomaticParser::AddContext* /*ctx*/) override {} - - virtual void enterMove(SparqlAutomaticParser::MoveContext* /*ctx*/) override { - } - virtual void exitMove(SparqlAutomaticParser::MoveContext* /*ctx*/) override {} - - virtual void enterCopy(SparqlAutomaticParser::CopyContext* /*ctx*/) override { - } - virtual void exitCopy(SparqlAutomaticParser::CopyContext* /*ctx*/) override {} - - virtual void enterInsertData( - SparqlAutomaticParser::InsertDataContext* /*ctx*/) override {} - virtual void exitInsertData( - SparqlAutomaticParser::InsertDataContext* /*ctx*/) override {} - - virtual void enterDeleteData( - SparqlAutomaticParser::DeleteDataContext* /*ctx*/) override {} - virtual void exitDeleteData( - SparqlAutomaticParser::DeleteDataContext* /*ctx*/) override {} - - virtual void enterDeleteWhere( - SparqlAutomaticParser::DeleteWhereContext* /*ctx*/) override {} - virtual void exitDeleteWhere( - SparqlAutomaticParser::DeleteWhereContext* /*ctx*/) override {} - - virtual void enterModify( - SparqlAutomaticParser::ModifyContext* /*ctx*/) override {} - virtual void exitModify( - SparqlAutomaticParser::ModifyContext* /*ctx*/) override {} - - virtual void enterDeleteClause( - SparqlAutomaticParser::DeleteClauseContext* /*ctx*/) override {} - virtual void exitDeleteClause( - SparqlAutomaticParser::DeleteClauseContext* /*ctx*/) override {} - - virtual void enterInsertClause( - SparqlAutomaticParser::InsertClauseContext* /*ctx*/) override {} - virtual void exitInsertClause( - SparqlAutomaticParser::InsertClauseContext* /*ctx*/) override {} - - virtual void enterUsingClause( - SparqlAutomaticParser::UsingClauseContext* /*ctx*/) override {} - virtual void exitUsingClause( - SparqlAutomaticParser::UsingClauseContext* /*ctx*/) override {} - - virtual void enterGraphOrDefault( - SparqlAutomaticParser::GraphOrDefaultContext* /*ctx*/) override {} - virtual void exitGraphOrDefault( - SparqlAutomaticParser::GraphOrDefaultContext* /*ctx*/) override {} - - virtual void enterGraphRef( - SparqlAutomaticParser::GraphRefContext* /*ctx*/) override {} - virtual void exitGraphRef( - SparqlAutomaticParser::GraphRefContext* /*ctx*/) override {} - - virtual void enterGraphRefAll( - SparqlAutomaticParser::GraphRefAllContext* /*ctx*/) override {} - virtual void exitGraphRefAll( - SparqlAutomaticParser::GraphRefAllContext* /*ctx*/) override {} - - virtual void enterQuadPattern( - SparqlAutomaticParser::QuadPatternContext* /*ctx*/) override {} - virtual void exitQuadPattern( - SparqlAutomaticParser::QuadPatternContext* /*ctx*/) override {} - - virtual void enterQuadData( - SparqlAutomaticParser::QuadDataContext* /*ctx*/) override {} - virtual void exitQuadData( - SparqlAutomaticParser::QuadDataContext* /*ctx*/) override {} - - virtual void enterQuads( - SparqlAutomaticParser::QuadsContext* /*ctx*/) override {} - virtual void exitQuads( - SparqlAutomaticParser::QuadsContext* /*ctx*/) override {} - - virtual void enterQuadsNotTriples( - SparqlAutomaticParser::QuadsNotTriplesContext* /*ctx*/) override {} - virtual void exitQuadsNotTriples( - SparqlAutomaticParser::QuadsNotTriplesContext* /*ctx*/) override {} - - virtual void enterTriplesTemplate( - SparqlAutomaticParser::TriplesTemplateContext* /*ctx*/) override {} - virtual void exitTriplesTemplate( - SparqlAutomaticParser::TriplesTemplateContext* /*ctx*/) override {} - - virtual void enterGroupGraphPattern( - SparqlAutomaticParser::GroupGraphPatternContext* /*ctx*/) override {} - virtual void exitGroupGraphPattern( - SparqlAutomaticParser::GroupGraphPatternContext* /*ctx*/) override {} - - virtual void enterGroupGraphPatternSub( - SparqlAutomaticParser::GroupGraphPatternSubContext* /*ctx*/) override {} - virtual void exitGroupGraphPatternSub( - SparqlAutomaticParser::GroupGraphPatternSubContext* /*ctx*/) override {} - - virtual void enterGraphPatternNotTriplesAndMaybeTriples( - SparqlAutomaticParser:: - GraphPatternNotTriplesAndMaybeTriplesContext* /*ctx*/) override {} - virtual void exitGraphPatternNotTriplesAndMaybeTriples( - SparqlAutomaticParser:: - GraphPatternNotTriplesAndMaybeTriplesContext* /*ctx*/) override {} - - virtual void enterTriplesBlock( - SparqlAutomaticParser::TriplesBlockContext* /*ctx*/) override {} - virtual void exitTriplesBlock( - SparqlAutomaticParser::TriplesBlockContext* /*ctx*/) override {} - - virtual void enterGraphPatternNotTriples( - SparqlAutomaticParser::GraphPatternNotTriplesContext* /*ctx*/) override {} - virtual void exitGraphPatternNotTriples( - SparqlAutomaticParser::GraphPatternNotTriplesContext* /*ctx*/) override {} - - virtual void enterOptionalGraphPattern( - SparqlAutomaticParser::OptionalGraphPatternContext* /*ctx*/) override {} - virtual void exitOptionalGraphPattern( - SparqlAutomaticParser::OptionalGraphPatternContext* /*ctx*/) override {} - - virtual void enterGraphGraphPattern( - SparqlAutomaticParser::GraphGraphPatternContext* /*ctx*/) override {} - virtual void exitGraphGraphPattern( - SparqlAutomaticParser::GraphGraphPatternContext* /*ctx*/) override {} - - virtual void enterServiceGraphPattern( - SparqlAutomaticParser::ServiceGraphPatternContext* /*ctx*/) override {} - virtual void exitServiceGraphPattern( - SparqlAutomaticParser::ServiceGraphPatternContext* /*ctx*/) override {} - - virtual void enterBind(SparqlAutomaticParser::BindContext* /*ctx*/) override { - } - virtual void exitBind(SparqlAutomaticParser::BindContext* /*ctx*/) override {} - - virtual void enterInlineData( - SparqlAutomaticParser::InlineDataContext* /*ctx*/) override {} - virtual void exitInlineData( - SparqlAutomaticParser::InlineDataContext* /*ctx*/) override {} - - virtual void enterDataBlock( - SparqlAutomaticParser::DataBlockContext* /*ctx*/) override {} - virtual void exitDataBlock( - SparqlAutomaticParser::DataBlockContext* /*ctx*/) override {} - - virtual void enterInlineDataOneVar( - SparqlAutomaticParser::InlineDataOneVarContext* /*ctx*/) override {} - virtual void exitInlineDataOneVar( - SparqlAutomaticParser::InlineDataOneVarContext* /*ctx*/) override {} - - virtual void enterInlineDataFull( - SparqlAutomaticParser::InlineDataFullContext* /*ctx*/) override {} - virtual void exitInlineDataFull( - SparqlAutomaticParser::InlineDataFullContext* /*ctx*/) override {} - - virtual void enterDataBlockSingle( - SparqlAutomaticParser::DataBlockSingleContext* /*ctx*/) override {} - virtual void exitDataBlockSingle( - SparqlAutomaticParser::DataBlockSingleContext* /*ctx*/) override {} - - virtual void enterDataBlockValue( - SparqlAutomaticParser::DataBlockValueContext* /*ctx*/) override {} - virtual void exitDataBlockValue( - SparqlAutomaticParser::DataBlockValueContext* /*ctx*/) override {} - - virtual void enterMinusGraphPattern( - SparqlAutomaticParser::MinusGraphPatternContext* /*ctx*/) override {} - virtual void exitMinusGraphPattern( - SparqlAutomaticParser::MinusGraphPatternContext* /*ctx*/) override {} - - virtual void enterGroupOrUnionGraphPattern( - SparqlAutomaticParser::GroupOrUnionGraphPatternContext* /*ctx*/) - override {} - virtual void exitGroupOrUnionGraphPattern( - SparqlAutomaticParser::GroupOrUnionGraphPatternContext* /*ctx*/) - override {} - - virtual void enterFilterR( - SparqlAutomaticParser::FilterRContext* /*ctx*/) override {} - virtual void exitFilterR( - SparqlAutomaticParser::FilterRContext* /*ctx*/) override {} - - virtual void enterConstraint( - SparqlAutomaticParser::ConstraintContext* /*ctx*/) override {} - virtual void exitConstraint( - SparqlAutomaticParser::ConstraintContext* /*ctx*/) override {} - - virtual void enterFunctionCall( - SparqlAutomaticParser::FunctionCallContext* /*ctx*/) override {} - virtual void exitFunctionCall( - SparqlAutomaticParser::FunctionCallContext* /*ctx*/) override {} - - virtual void enterArgList( - SparqlAutomaticParser::ArgListContext* /*ctx*/) override {} - virtual void exitArgList( - SparqlAutomaticParser::ArgListContext* /*ctx*/) override {} - - virtual void enterExpressionList( - SparqlAutomaticParser::ExpressionListContext* /*ctx*/) override {} - virtual void exitExpressionList( - SparqlAutomaticParser::ExpressionListContext* /*ctx*/) override {} - - virtual void enterConstructTemplate( - SparqlAutomaticParser::ConstructTemplateContext* /*ctx*/) override {} - virtual void exitConstructTemplate( - SparqlAutomaticParser::ConstructTemplateContext* /*ctx*/) override {} - - virtual void enterConstructTriples( - SparqlAutomaticParser::ConstructTriplesContext* /*ctx*/) override {} - virtual void exitConstructTriples( - SparqlAutomaticParser::ConstructTriplesContext* /*ctx*/) override {} - - virtual void enterTriplesSameSubject( - SparqlAutomaticParser::TriplesSameSubjectContext* /*ctx*/) override {} - virtual void exitTriplesSameSubject( - SparqlAutomaticParser::TriplesSameSubjectContext* /*ctx*/) override {} - - virtual void enterPropertyList( - SparqlAutomaticParser::PropertyListContext* /*ctx*/) override {} - virtual void exitPropertyList( - SparqlAutomaticParser::PropertyListContext* /*ctx*/) override {} - - virtual void enterPropertyListNotEmpty( - SparqlAutomaticParser::PropertyListNotEmptyContext* /*ctx*/) override {} - virtual void exitPropertyListNotEmpty( - SparqlAutomaticParser::PropertyListNotEmptyContext* /*ctx*/) override {} - - virtual void enterVerb(SparqlAutomaticParser::VerbContext* /*ctx*/) override { - } - virtual void exitVerb(SparqlAutomaticParser::VerbContext* /*ctx*/) override {} - - virtual void enterObjectList( - SparqlAutomaticParser::ObjectListContext* /*ctx*/) override {} - virtual void exitObjectList( - SparqlAutomaticParser::ObjectListContext* /*ctx*/) override {} - - virtual void enterObjectR( - SparqlAutomaticParser::ObjectRContext* /*ctx*/) override {} - virtual void exitObjectR( - SparqlAutomaticParser::ObjectRContext* /*ctx*/) override {} - - virtual void enterTriplesSameSubjectPath( - SparqlAutomaticParser::TriplesSameSubjectPathContext* /*ctx*/) override {} - virtual void exitTriplesSameSubjectPath( - SparqlAutomaticParser::TriplesSameSubjectPathContext* /*ctx*/) override {} - - virtual void enterPropertyListPath( - SparqlAutomaticParser::PropertyListPathContext* /*ctx*/) override {} - virtual void exitPropertyListPath( - SparqlAutomaticParser::PropertyListPathContext* /*ctx*/) override {} - - virtual void enterPropertyListPathNotEmpty( - SparqlAutomaticParser::PropertyListPathNotEmptyContext* /*ctx*/) - override {} - virtual void exitPropertyListPathNotEmpty( - SparqlAutomaticParser::PropertyListPathNotEmptyContext* /*ctx*/) - override {} - - virtual void enterVerbPath( - SparqlAutomaticParser::VerbPathContext* /*ctx*/) override {} - virtual void exitVerbPath( - SparqlAutomaticParser::VerbPathContext* /*ctx*/) override {} - - virtual void enterVerbSimple( - SparqlAutomaticParser::VerbSimpleContext* /*ctx*/) override {} - virtual void exitVerbSimple( - SparqlAutomaticParser::VerbSimpleContext* /*ctx*/) override {} - - virtual void enterTupleWithoutPath( - SparqlAutomaticParser::TupleWithoutPathContext* /*ctx*/) override {} - virtual void exitTupleWithoutPath( - SparqlAutomaticParser::TupleWithoutPathContext* /*ctx*/) override {} - - virtual void enterTupleWithPath( - SparqlAutomaticParser::TupleWithPathContext* /*ctx*/) override {} - virtual void exitTupleWithPath( - SparqlAutomaticParser::TupleWithPathContext* /*ctx*/) override {} - - virtual void enterVerbPathOrSimple( - SparqlAutomaticParser::VerbPathOrSimpleContext* /*ctx*/) override {} - virtual void exitVerbPathOrSimple( - SparqlAutomaticParser::VerbPathOrSimpleContext* /*ctx*/) override {} - - virtual void enterObjectListPath( - SparqlAutomaticParser::ObjectListPathContext* /*ctx*/) override {} - virtual void exitObjectListPath( - SparqlAutomaticParser::ObjectListPathContext* /*ctx*/) override {} - - virtual void enterObjectPath( - SparqlAutomaticParser::ObjectPathContext* /*ctx*/) override {} - virtual void exitObjectPath( - SparqlAutomaticParser::ObjectPathContext* /*ctx*/) override {} - - virtual void enterPath(SparqlAutomaticParser::PathContext* /*ctx*/) override { - } - virtual void exitPath(SparqlAutomaticParser::PathContext* /*ctx*/) override {} - - virtual void enterPathAlternative( - SparqlAutomaticParser::PathAlternativeContext* /*ctx*/) override {} - virtual void exitPathAlternative( - SparqlAutomaticParser::PathAlternativeContext* /*ctx*/) override {} - - virtual void enterPathSequence( - SparqlAutomaticParser::PathSequenceContext* /*ctx*/) override {} - virtual void exitPathSequence( - SparqlAutomaticParser::PathSequenceContext* /*ctx*/) override {} - - virtual void enterPathElt( - SparqlAutomaticParser::PathEltContext* /*ctx*/) override {} - virtual void exitPathElt( - SparqlAutomaticParser::PathEltContext* /*ctx*/) override {} - - virtual void enterPathEltOrInverse( - SparqlAutomaticParser::PathEltOrInverseContext* /*ctx*/) override {} - virtual void exitPathEltOrInverse( - SparqlAutomaticParser::PathEltOrInverseContext* /*ctx*/) override {} - - virtual void enterPathMod( - SparqlAutomaticParser::PathModContext* /*ctx*/) override {} - virtual void exitPathMod( - SparqlAutomaticParser::PathModContext* /*ctx*/) override {} - - virtual void enterPathPrimary( - SparqlAutomaticParser::PathPrimaryContext* /*ctx*/) override {} - virtual void exitPathPrimary( - SparqlAutomaticParser::PathPrimaryContext* /*ctx*/) override {} - - virtual void enterPathNegatedPropertySet( - SparqlAutomaticParser::PathNegatedPropertySetContext* /*ctx*/) override {} - virtual void exitPathNegatedPropertySet( - SparqlAutomaticParser::PathNegatedPropertySetContext* /*ctx*/) override {} - - virtual void enterPathOneInPropertySet( - SparqlAutomaticParser::PathOneInPropertySetContext* /*ctx*/) override {} - virtual void exitPathOneInPropertySet( - SparqlAutomaticParser::PathOneInPropertySetContext* /*ctx*/) override {} - - virtual void enterInteger( - SparqlAutomaticParser::IntegerContext* /*ctx*/) override {} - virtual void exitInteger( - SparqlAutomaticParser::IntegerContext* /*ctx*/) override {} - - virtual void enterTriplesNode( - SparqlAutomaticParser::TriplesNodeContext* /*ctx*/) override {} - virtual void exitTriplesNode( - SparqlAutomaticParser::TriplesNodeContext* /*ctx*/) override {} - - virtual void enterBlankNodePropertyList( - SparqlAutomaticParser::BlankNodePropertyListContext* /*ctx*/) override {} - virtual void exitBlankNodePropertyList( - SparqlAutomaticParser::BlankNodePropertyListContext* /*ctx*/) override {} - - virtual void enterTriplesNodePath( - SparqlAutomaticParser::TriplesNodePathContext* /*ctx*/) override {} - virtual void exitTriplesNodePath( - SparqlAutomaticParser::TriplesNodePathContext* /*ctx*/) override {} - - virtual void enterBlankNodePropertyListPath( - SparqlAutomaticParser::BlankNodePropertyListPathContext* /*ctx*/) - override {} - virtual void exitBlankNodePropertyListPath( - SparqlAutomaticParser::BlankNodePropertyListPathContext* /*ctx*/) - override {} - - virtual void enterCollection( - SparqlAutomaticParser::CollectionContext* /*ctx*/) override {} - virtual void exitCollection( - SparqlAutomaticParser::CollectionContext* /*ctx*/) override {} - - virtual void enterCollectionPath( - SparqlAutomaticParser::CollectionPathContext* /*ctx*/) override {} - virtual void exitCollectionPath( - SparqlAutomaticParser::CollectionPathContext* /*ctx*/) override {} - - virtual void enterGraphNode( - SparqlAutomaticParser::GraphNodeContext* /*ctx*/) override {} - virtual void exitGraphNode( - SparqlAutomaticParser::GraphNodeContext* /*ctx*/) override {} - - virtual void enterGraphNodePath( - SparqlAutomaticParser::GraphNodePathContext* /*ctx*/) override {} - virtual void exitGraphNodePath( - SparqlAutomaticParser::GraphNodePathContext* /*ctx*/) override {} - - virtual void enterVarOrTerm( - SparqlAutomaticParser::VarOrTermContext* /*ctx*/) override {} - virtual void exitVarOrTerm( - SparqlAutomaticParser::VarOrTermContext* /*ctx*/) override {} - - virtual void enterVarOrIri( - SparqlAutomaticParser::VarOrIriContext* /*ctx*/) override {} - virtual void exitVarOrIri( - SparqlAutomaticParser::VarOrIriContext* /*ctx*/) override {} - - virtual void enterVar(SparqlAutomaticParser::VarContext* /*ctx*/) override {} - virtual void exitVar(SparqlAutomaticParser::VarContext* /*ctx*/) override {} - - virtual void enterGraphTerm( - SparqlAutomaticParser::GraphTermContext* /*ctx*/) override {} - virtual void exitGraphTerm( - SparqlAutomaticParser::GraphTermContext* /*ctx*/) override {} - - virtual void enterExpression( - SparqlAutomaticParser::ExpressionContext* /*ctx*/) override {} - virtual void exitExpression( - SparqlAutomaticParser::ExpressionContext* /*ctx*/) override {} - - virtual void enterConditionalOrExpression( - SparqlAutomaticParser::ConditionalOrExpressionContext* /*ctx*/) override { - } - virtual void exitConditionalOrExpression( - SparqlAutomaticParser::ConditionalOrExpressionContext* /*ctx*/) override { - } - - virtual void enterConditionalAndExpression( - SparqlAutomaticParser::ConditionalAndExpressionContext* /*ctx*/) - override {} - virtual void exitConditionalAndExpression( - SparqlAutomaticParser::ConditionalAndExpressionContext* /*ctx*/) - override {} - - virtual void enterValueLogical( - SparqlAutomaticParser::ValueLogicalContext* /*ctx*/) override {} - virtual void exitValueLogical( - SparqlAutomaticParser::ValueLogicalContext* /*ctx*/) override {} - - virtual void enterRelationalExpression( - SparqlAutomaticParser::RelationalExpressionContext* /*ctx*/) override {} - virtual void exitRelationalExpression( - SparqlAutomaticParser::RelationalExpressionContext* /*ctx*/) override {} - - virtual void enterNumericExpression( - SparqlAutomaticParser::NumericExpressionContext* /*ctx*/) override {} - virtual void exitNumericExpression( - SparqlAutomaticParser::NumericExpressionContext* /*ctx*/) override {} - - virtual void enterAdditiveExpression( - SparqlAutomaticParser::AdditiveExpressionContext* /*ctx*/) override {} - virtual void exitAdditiveExpression( - SparqlAutomaticParser::AdditiveExpressionContext* /*ctx*/) override {} - - virtual void enterMultiplicativeExpressionWithSign( - SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* /*ctx*/) - override {} - virtual void exitMultiplicativeExpressionWithSign( - SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* /*ctx*/) - override {} - - virtual void enterPlusSubexpression( - SparqlAutomaticParser::PlusSubexpressionContext* /*ctx*/) override {} - virtual void exitPlusSubexpression( - SparqlAutomaticParser::PlusSubexpressionContext* /*ctx*/) override {} - - virtual void enterMinusSubexpression( - SparqlAutomaticParser::MinusSubexpressionContext* /*ctx*/) override {} - virtual void exitMinusSubexpression( - SparqlAutomaticParser::MinusSubexpressionContext* /*ctx*/) override {} - - virtual void enterMultiplicativeExpressionWithLeadingSignButNoSpace( - SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* /*ctx*/) - override {} - virtual void exitMultiplicativeExpressionWithLeadingSignButNoSpace( - SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* /*ctx*/) - override {} - - virtual void enterMultiplicativeExpression( - SparqlAutomaticParser::MultiplicativeExpressionContext* /*ctx*/) - override {} - virtual void exitMultiplicativeExpression( - SparqlAutomaticParser::MultiplicativeExpressionContext* /*ctx*/) - override {} - - virtual void enterMultiplyOrDivideExpression( - SparqlAutomaticParser::MultiplyOrDivideExpressionContext* /*ctx*/) - override {} - virtual void exitMultiplyOrDivideExpression( - SparqlAutomaticParser::MultiplyOrDivideExpressionContext* /*ctx*/) - override {} - - virtual void enterMultiplyExpression( - SparqlAutomaticParser::MultiplyExpressionContext* /*ctx*/) override {} - virtual void exitMultiplyExpression( - SparqlAutomaticParser::MultiplyExpressionContext* /*ctx*/) override {} - - virtual void enterDivideExpression( - SparqlAutomaticParser::DivideExpressionContext* /*ctx*/) override {} - virtual void exitDivideExpression( - SparqlAutomaticParser::DivideExpressionContext* /*ctx*/) override {} - - virtual void enterUnaryExpression( - SparqlAutomaticParser::UnaryExpressionContext* /*ctx*/) override {} - virtual void exitUnaryExpression( - SparqlAutomaticParser::UnaryExpressionContext* /*ctx*/) override {} - - virtual void enterPrimaryExpression( - SparqlAutomaticParser::PrimaryExpressionContext* /*ctx*/) override {} - virtual void exitPrimaryExpression( - SparqlAutomaticParser::PrimaryExpressionContext* /*ctx*/) override {} - - virtual void enterBrackettedExpression( - SparqlAutomaticParser::BrackettedExpressionContext* /*ctx*/) override {} - virtual void exitBrackettedExpression( - SparqlAutomaticParser::BrackettedExpressionContext* /*ctx*/) override {} - - virtual void enterBuiltInCall( - SparqlAutomaticParser::BuiltInCallContext* /*ctx*/) override {} - virtual void exitBuiltInCall( - SparqlAutomaticParser::BuiltInCallContext* /*ctx*/) override {} - - virtual void enterRegexExpression( - SparqlAutomaticParser::RegexExpressionContext* /*ctx*/) override {} - virtual void exitRegexExpression( - SparqlAutomaticParser::RegexExpressionContext* /*ctx*/) override {} - - virtual void enterLangExpression( - SparqlAutomaticParser::LangExpressionContext* /*ctx*/) override {} - virtual void exitLangExpression( - SparqlAutomaticParser::LangExpressionContext* /*ctx*/) override {} - - virtual void enterSubstringExpression( - SparqlAutomaticParser::SubstringExpressionContext* /*ctx*/) override {} - virtual void exitSubstringExpression( - SparqlAutomaticParser::SubstringExpressionContext* /*ctx*/) override {} - - virtual void enterStrReplaceExpression( - SparqlAutomaticParser::StrReplaceExpressionContext* /*ctx*/) override {} - virtual void exitStrReplaceExpression( - SparqlAutomaticParser::StrReplaceExpressionContext* /*ctx*/) override {} - - virtual void enterExistsFunc( - SparqlAutomaticParser::ExistsFuncContext* /*ctx*/) override {} - virtual void exitExistsFunc( - SparqlAutomaticParser::ExistsFuncContext* /*ctx*/) override {} - - virtual void enterNotExistsFunc( - SparqlAutomaticParser::NotExistsFuncContext* /*ctx*/) override {} - virtual void exitNotExistsFunc( - SparqlAutomaticParser::NotExistsFuncContext* /*ctx*/) override {} - - virtual void enterAggregate( - SparqlAutomaticParser::AggregateContext* /*ctx*/) override {} - virtual void exitAggregate( - SparqlAutomaticParser::AggregateContext* /*ctx*/) override {} - - virtual void enterIriOrFunction( - SparqlAutomaticParser::IriOrFunctionContext* /*ctx*/) override {} - virtual void exitIriOrFunction( - SparqlAutomaticParser::IriOrFunctionContext* /*ctx*/) override {} - - virtual void enterRdfLiteral( - SparqlAutomaticParser::RdfLiteralContext* /*ctx*/) override {} - virtual void exitRdfLiteral( - SparqlAutomaticParser::RdfLiteralContext* /*ctx*/) override {} - - virtual void enterNumericLiteral( - SparqlAutomaticParser::NumericLiteralContext* /*ctx*/) override {} - virtual void exitNumericLiteral( - SparqlAutomaticParser::NumericLiteralContext* /*ctx*/) override {} - - virtual void enterNumericLiteralUnsigned( - SparqlAutomaticParser::NumericLiteralUnsignedContext* /*ctx*/) override {} - virtual void exitNumericLiteralUnsigned( - SparqlAutomaticParser::NumericLiteralUnsignedContext* /*ctx*/) override {} - - virtual void enterNumericLiteralPositive( - SparqlAutomaticParser::NumericLiteralPositiveContext* /*ctx*/) override {} - virtual void exitNumericLiteralPositive( - SparqlAutomaticParser::NumericLiteralPositiveContext* /*ctx*/) override {} - - virtual void enterNumericLiteralNegative( - SparqlAutomaticParser::NumericLiteralNegativeContext* /*ctx*/) override {} - virtual void exitNumericLiteralNegative( - SparqlAutomaticParser::NumericLiteralNegativeContext* /*ctx*/) override {} - - virtual void enterBooleanLiteral( - SparqlAutomaticParser::BooleanLiteralContext* /*ctx*/) override {} - virtual void exitBooleanLiteral( - SparqlAutomaticParser::BooleanLiteralContext* /*ctx*/) override {} - - virtual void enterString( - SparqlAutomaticParser::StringContext* /*ctx*/) override {} - virtual void exitString( - SparqlAutomaticParser::StringContext* /*ctx*/) override {} - - virtual void enterIri(SparqlAutomaticParser::IriContext* /*ctx*/) override {} - virtual void exitIri(SparqlAutomaticParser::IriContext* /*ctx*/) override {} - - virtual void enterPrefixedName( - SparqlAutomaticParser::PrefixedNameContext* /*ctx*/) override {} - virtual void exitPrefixedName( - SparqlAutomaticParser::PrefixedNameContext* /*ctx*/) override {} - - virtual void enterBlankNode( - SparqlAutomaticParser::BlankNodeContext* /*ctx*/) override {} - virtual void exitBlankNode( - SparqlAutomaticParser::BlankNodeContext* /*ctx*/) override {} - - virtual void enterIriref( - SparqlAutomaticParser::IrirefContext* /*ctx*/) override {} - virtual void exitIriref( - SparqlAutomaticParser::IrirefContext* /*ctx*/) override {} - - virtual void enterPnameLn( - SparqlAutomaticParser::PnameLnContext* /*ctx*/) override {} - virtual void exitPnameLn( - SparqlAutomaticParser::PnameLnContext* /*ctx*/) override {} - - virtual void enterPnameNs( - SparqlAutomaticParser::PnameNsContext* /*ctx*/) override {} - virtual void exitPnameNs( - SparqlAutomaticParser::PnameNsContext* /*ctx*/) override {} - - virtual void enterEveryRule(antlr4::ParserRuleContext* /*ctx*/) override {} - virtual void exitEveryRule(antlr4::ParserRuleContext* /*ctx*/) override {} - virtual void visitTerminal(antlr4::tree::TerminalNode* /*node*/) override {} - virtual void visitErrorNode(antlr4::tree::ErrorNode* /*node*/) override {} +class SparqlAutomaticBaseListener : public SparqlAutomaticListener { +public: + + virtual void enterQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext * /*ctx*/) override { } + virtual void exitQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext * /*ctx*/) override { } + + virtual void enterQuery(SparqlAutomaticParser::QueryContext * /*ctx*/) override { } + virtual void exitQuery(SparqlAutomaticParser::QueryContext * /*ctx*/) override { } + + virtual void enterPrologue(SparqlAutomaticParser::PrologueContext * /*ctx*/) override { } + virtual void exitPrologue(SparqlAutomaticParser::PrologueContext * /*ctx*/) override { } + + virtual void enterBaseDecl(SparqlAutomaticParser::BaseDeclContext * /*ctx*/) override { } + virtual void exitBaseDecl(SparqlAutomaticParser::BaseDeclContext * /*ctx*/) override { } + + virtual void enterPrefixDecl(SparqlAutomaticParser::PrefixDeclContext * /*ctx*/) override { } + virtual void exitPrefixDecl(SparqlAutomaticParser::PrefixDeclContext * /*ctx*/) override { } + + virtual void enterSelectQuery(SparqlAutomaticParser::SelectQueryContext * /*ctx*/) override { } + virtual void exitSelectQuery(SparqlAutomaticParser::SelectQueryContext * /*ctx*/) override { } + + virtual void enterSubSelect(SparqlAutomaticParser::SubSelectContext * /*ctx*/) override { } + virtual void exitSubSelect(SparqlAutomaticParser::SubSelectContext * /*ctx*/) override { } + + virtual void enterSelectClause(SparqlAutomaticParser::SelectClauseContext * /*ctx*/) override { } + virtual void exitSelectClause(SparqlAutomaticParser::SelectClauseContext * /*ctx*/) override { } + + virtual void enterVarOrAlias(SparqlAutomaticParser::VarOrAliasContext * /*ctx*/) override { } + virtual void exitVarOrAlias(SparqlAutomaticParser::VarOrAliasContext * /*ctx*/) override { } + + virtual void enterAlias(SparqlAutomaticParser::AliasContext * /*ctx*/) override { } + virtual void exitAlias(SparqlAutomaticParser::AliasContext * /*ctx*/) override { } + + virtual void enterAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext * /*ctx*/) override { } + virtual void exitAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext * /*ctx*/) override { } + + virtual void enterConstructQuery(SparqlAutomaticParser::ConstructQueryContext * /*ctx*/) override { } + virtual void exitConstructQuery(SparqlAutomaticParser::ConstructQueryContext * /*ctx*/) override { } + + virtual void enterDescribeQuery(SparqlAutomaticParser::DescribeQueryContext * /*ctx*/) override { } + virtual void exitDescribeQuery(SparqlAutomaticParser::DescribeQueryContext * /*ctx*/) override { } + + virtual void enterAskQuery(SparqlAutomaticParser::AskQueryContext * /*ctx*/) override { } + virtual void exitAskQuery(SparqlAutomaticParser::AskQueryContext * /*ctx*/) override { } + + virtual void enterDatasetClause(SparqlAutomaticParser::DatasetClauseContext * /*ctx*/) override { } + virtual void exitDatasetClause(SparqlAutomaticParser::DatasetClauseContext * /*ctx*/) override { } + + virtual void enterDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext * /*ctx*/) override { } + virtual void exitDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext * /*ctx*/) override { } + + virtual void enterNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext * /*ctx*/) override { } + virtual void exitNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext * /*ctx*/) override { } + + virtual void enterSourceSelector(SparqlAutomaticParser::SourceSelectorContext * /*ctx*/) override { } + virtual void exitSourceSelector(SparqlAutomaticParser::SourceSelectorContext * /*ctx*/) override { } + + virtual void enterWhereClause(SparqlAutomaticParser::WhereClauseContext * /*ctx*/) override { } + virtual void exitWhereClause(SparqlAutomaticParser::WhereClauseContext * /*ctx*/) override { } + + virtual void enterSolutionModifier(SparqlAutomaticParser::SolutionModifierContext * /*ctx*/) override { } + virtual void exitSolutionModifier(SparqlAutomaticParser::SolutionModifierContext * /*ctx*/) override { } + + virtual void enterGroupClause(SparqlAutomaticParser::GroupClauseContext * /*ctx*/) override { } + virtual void exitGroupClause(SparqlAutomaticParser::GroupClauseContext * /*ctx*/) override { } + + virtual void enterGroupCondition(SparqlAutomaticParser::GroupConditionContext * /*ctx*/) override { } + virtual void exitGroupCondition(SparqlAutomaticParser::GroupConditionContext * /*ctx*/) override { } + + virtual void enterHavingClause(SparqlAutomaticParser::HavingClauseContext * /*ctx*/) override { } + virtual void exitHavingClause(SparqlAutomaticParser::HavingClauseContext * /*ctx*/) override { } + + virtual void enterHavingCondition(SparqlAutomaticParser::HavingConditionContext * /*ctx*/) override { } + virtual void exitHavingCondition(SparqlAutomaticParser::HavingConditionContext * /*ctx*/) override { } + + virtual void enterOrderClause(SparqlAutomaticParser::OrderClauseContext * /*ctx*/) override { } + virtual void exitOrderClause(SparqlAutomaticParser::OrderClauseContext * /*ctx*/) override { } + + virtual void enterOrderCondition(SparqlAutomaticParser::OrderConditionContext * /*ctx*/) override { } + virtual void exitOrderCondition(SparqlAutomaticParser::OrderConditionContext * /*ctx*/) override { } + + virtual void enterLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext * /*ctx*/) override { } + virtual void exitLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext * /*ctx*/) override { } + + virtual void enterLimitClause(SparqlAutomaticParser::LimitClauseContext * /*ctx*/) override { } + virtual void exitLimitClause(SparqlAutomaticParser::LimitClauseContext * /*ctx*/) override { } + + virtual void enterOffsetClause(SparqlAutomaticParser::OffsetClauseContext * /*ctx*/) override { } + virtual void exitOffsetClause(SparqlAutomaticParser::OffsetClauseContext * /*ctx*/) override { } + + virtual void enterTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext * /*ctx*/) override { } + virtual void exitTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext * /*ctx*/) override { } + + virtual void enterValuesClause(SparqlAutomaticParser::ValuesClauseContext * /*ctx*/) override { } + virtual void exitValuesClause(SparqlAutomaticParser::ValuesClauseContext * /*ctx*/) override { } + + virtual void enterUpdate(SparqlAutomaticParser::UpdateContext * /*ctx*/) override { } + virtual void exitUpdate(SparqlAutomaticParser::UpdateContext * /*ctx*/) override { } + + virtual void enterUpdate1(SparqlAutomaticParser::Update1Context * /*ctx*/) override { } + virtual void exitUpdate1(SparqlAutomaticParser::Update1Context * /*ctx*/) override { } + + virtual void enterLoad(SparqlAutomaticParser::LoadContext * /*ctx*/) override { } + virtual void exitLoad(SparqlAutomaticParser::LoadContext * /*ctx*/) override { } + + virtual void enterClear(SparqlAutomaticParser::ClearContext * /*ctx*/) override { } + virtual void exitClear(SparqlAutomaticParser::ClearContext * /*ctx*/) override { } + + virtual void enterDrop(SparqlAutomaticParser::DropContext * /*ctx*/) override { } + virtual void exitDrop(SparqlAutomaticParser::DropContext * /*ctx*/) override { } + + virtual void enterCreate(SparqlAutomaticParser::CreateContext * /*ctx*/) override { } + virtual void exitCreate(SparqlAutomaticParser::CreateContext * /*ctx*/) override { } + + virtual void enterAdd(SparqlAutomaticParser::AddContext * /*ctx*/) override { } + virtual void exitAdd(SparqlAutomaticParser::AddContext * /*ctx*/) override { } + + virtual void enterMove(SparqlAutomaticParser::MoveContext * /*ctx*/) override { } + virtual void exitMove(SparqlAutomaticParser::MoveContext * /*ctx*/) override { } + + virtual void enterCopy(SparqlAutomaticParser::CopyContext * /*ctx*/) override { } + virtual void exitCopy(SparqlAutomaticParser::CopyContext * /*ctx*/) override { } + + virtual void enterInsertData(SparqlAutomaticParser::InsertDataContext * /*ctx*/) override { } + virtual void exitInsertData(SparqlAutomaticParser::InsertDataContext * /*ctx*/) override { } + + virtual void enterDeleteData(SparqlAutomaticParser::DeleteDataContext * /*ctx*/) override { } + virtual void exitDeleteData(SparqlAutomaticParser::DeleteDataContext * /*ctx*/) override { } + + virtual void enterDeleteWhere(SparqlAutomaticParser::DeleteWhereContext * /*ctx*/) override { } + virtual void exitDeleteWhere(SparqlAutomaticParser::DeleteWhereContext * /*ctx*/) override { } + + virtual void enterModify(SparqlAutomaticParser::ModifyContext * /*ctx*/) override { } + virtual void exitModify(SparqlAutomaticParser::ModifyContext * /*ctx*/) override { } + + virtual void enterDeleteClause(SparqlAutomaticParser::DeleteClauseContext * /*ctx*/) override { } + virtual void exitDeleteClause(SparqlAutomaticParser::DeleteClauseContext * /*ctx*/) override { } + + virtual void enterInsertClause(SparqlAutomaticParser::InsertClauseContext * /*ctx*/) override { } + virtual void exitInsertClause(SparqlAutomaticParser::InsertClauseContext * /*ctx*/) override { } + + virtual void enterUsingClause(SparqlAutomaticParser::UsingClauseContext * /*ctx*/) override { } + virtual void exitUsingClause(SparqlAutomaticParser::UsingClauseContext * /*ctx*/) override { } + + virtual void enterGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext * /*ctx*/) override { } + virtual void exitGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext * /*ctx*/) override { } + + virtual void enterGraphRef(SparqlAutomaticParser::GraphRefContext * /*ctx*/) override { } + virtual void exitGraphRef(SparqlAutomaticParser::GraphRefContext * /*ctx*/) override { } + + virtual void enterGraphRefAll(SparqlAutomaticParser::GraphRefAllContext * /*ctx*/) override { } + virtual void exitGraphRefAll(SparqlAutomaticParser::GraphRefAllContext * /*ctx*/) override { } + + virtual void enterQuadPattern(SparqlAutomaticParser::QuadPatternContext * /*ctx*/) override { } + virtual void exitQuadPattern(SparqlAutomaticParser::QuadPatternContext * /*ctx*/) override { } + + virtual void enterQuadData(SparqlAutomaticParser::QuadDataContext * /*ctx*/) override { } + virtual void exitQuadData(SparqlAutomaticParser::QuadDataContext * /*ctx*/) override { } + + virtual void enterQuads(SparqlAutomaticParser::QuadsContext * /*ctx*/) override { } + virtual void exitQuads(SparqlAutomaticParser::QuadsContext * /*ctx*/) override { } + + virtual void enterQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext * /*ctx*/) override { } + virtual void exitQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext * /*ctx*/) override { } + + virtual void enterTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext * /*ctx*/) override { } + virtual void exitTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext * /*ctx*/) override { } + + virtual void enterGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext * /*ctx*/) override { } + virtual void exitGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext * /*ctx*/) override { } + + virtual void enterGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext * /*ctx*/) override { } + virtual void exitGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext * /*ctx*/) override { } + + virtual void enterGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext * /*ctx*/) override { } + virtual void exitGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext * /*ctx*/) override { } + + virtual void enterTriplesBlock(SparqlAutomaticParser::TriplesBlockContext * /*ctx*/) override { } + virtual void exitTriplesBlock(SparqlAutomaticParser::TriplesBlockContext * /*ctx*/) override { } + + virtual void enterGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext * /*ctx*/) override { } + virtual void exitGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext * /*ctx*/) override { } + + virtual void enterOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext * /*ctx*/) override { } + virtual void exitOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext * /*ctx*/) override { } + + virtual void enterGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext * /*ctx*/) override { } + virtual void exitGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext * /*ctx*/) override { } + + virtual void enterServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext * /*ctx*/) override { } + virtual void exitServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext * /*ctx*/) override { } + + virtual void enterBind(SparqlAutomaticParser::BindContext * /*ctx*/) override { } + virtual void exitBind(SparqlAutomaticParser::BindContext * /*ctx*/) override { } + + virtual void enterInlineData(SparqlAutomaticParser::InlineDataContext * /*ctx*/) override { } + virtual void exitInlineData(SparqlAutomaticParser::InlineDataContext * /*ctx*/) override { } + + virtual void enterDataBlock(SparqlAutomaticParser::DataBlockContext * /*ctx*/) override { } + virtual void exitDataBlock(SparqlAutomaticParser::DataBlockContext * /*ctx*/) override { } + + virtual void enterInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext * /*ctx*/) override { } + virtual void exitInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext * /*ctx*/) override { } + + virtual void enterInlineDataFull(SparqlAutomaticParser::InlineDataFullContext * /*ctx*/) override { } + virtual void exitInlineDataFull(SparqlAutomaticParser::InlineDataFullContext * /*ctx*/) override { } + + virtual void enterDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext * /*ctx*/) override { } + virtual void exitDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext * /*ctx*/) override { } + + virtual void enterDataBlockValue(SparqlAutomaticParser::DataBlockValueContext * /*ctx*/) override { } + virtual void exitDataBlockValue(SparqlAutomaticParser::DataBlockValueContext * /*ctx*/) override { } + + virtual void enterMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext * /*ctx*/) override { } + virtual void exitMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext * /*ctx*/) override { } + + virtual void enterGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext * /*ctx*/) override { } + virtual void exitGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext * /*ctx*/) override { } + + virtual void enterFilterR(SparqlAutomaticParser::FilterRContext * /*ctx*/) override { } + virtual void exitFilterR(SparqlAutomaticParser::FilterRContext * /*ctx*/) override { } + + virtual void enterConstraint(SparqlAutomaticParser::ConstraintContext * /*ctx*/) override { } + virtual void exitConstraint(SparqlAutomaticParser::ConstraintContext * /*ctx*/) override { } + + virtual void enterFunctionCall(SparqlAutomaticParser::FunctionCallContext * /*ctx*/) override { } + virtual void exitFunctionCall(SparqlAutomaticParser::FunctionCallContext * /*ctx*/) override { } + + virtual void enterArgList(SparqlAutomaticParser::ArgListContext * /*ctx*/) override { } + virtual void exitArgList(SparqlAutomaticParser::ArgListContext * /*ctx*/) override { } + + virtual void enterExpressionList(SparqlAutomaticParser::ExpressionListContext * /*ctx*/) override { } + virtual void exitExpressionList(SparqlAutomaticParser::ExpressionListContext * /*ctx*/) override { } + + virtual void enterConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext * /*ctx*/) override { } + virtual void exitConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext * /*ctx*/) override { } + + virtual void enterConstructTriples(SparqlAutomaticParser::ConstructTriplesContext * /*ctx*/) override { } + virtual void exitConstructTriples(SparqlAutomaticParser::ConstructTriplesContext * /*ctx*/) override { } + + virtual void enterTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext * /*ctx*/) override { } + virtual void exitTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext * /*ctx*/) override { } + + virtual void enterPropertyList(SparqlAutomaticParser::PropertyListContext * /*ctx*/) override { } + virtual void exitPropertyList(SparqlAutomaticParser::PropertyListContext * /*ctx*/) override { } + + virtual void enterPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext * /*ctx*/) override { } + virtual void exitPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext * /*ctx*/) override { } + + virtual void enterVerb(SparqlAutomaticParser::VerbContext * /*ctx*/) override { } + virtual void exitVerb(SparqlAutomaticParser::VerbContext * /*ctx*/) override { } + + virtual void enterObjectList(SparqlAutomaticParser::ObjectListContext * /*ctx*/) override { } + virtual void exitObjectList(SparqlAutomaticParser::ObjectListContext * /*ctx*/) override { } + + virtual void enterObjectR(SparqlAutomaticParser::ObjectRContext * /*ctx*/) override { } + virtual void exitObjectR(SparqlAutomaticParser::ObjectRContext * /*ctx*/) override { } + + virtual void enterTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext * /*ctx*/) override { } + virtual void exitTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext * /*ctx*/) override { } + + virtual void enterPropertyListPath(SparqlAutomaticParser::PropertyListPathContext * /*ctx*/) override { } + virtual void exitPropertyListPath(SparqlAutomaticParser::PropertyListPathContext * /*ctx*/) override { } + + virtual void enterPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext * /*ctx*/) override { } + virtual void exitPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext * /*ctx*/) override { } + + virtual void enterVerbPath(SparqlAutomaticParser::VerbPathContext * /*ctx*/) override { } + virtual void exitVerbPath(SparqlAutomaticParser::VerbPathContext * /*ctx*/) override { } + + virtual void enterVerbSimple(SparqlAutomaticParser::VerbSimpleContext * /*ctx*/) override { } + virtual void exitVerbSimple(SparqlAutomaticParser::VerbSimpleContext * /*ctx*/) override { } + + virtual void enterTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext * /*ctx*/) override { } + virtual void exitTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext * /*ctx*/) override { } + + virtual void enterTupleWithPath(SparqlAutomaticParser::TupleWithPathContext * /*ctx*/) override { } + virtual void exitTupleWithPath(SparqlAutomaticParser::TupleWithPathContext * /*ctx*/) override { } + + virtual void enterVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext * /*ctx*/) override { } + virtual void exitVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext * /*ctx*/) override { } + + virtual void enterObjectListPath(SparqlAutomaticParser::ObjectListPathContext * /*ctx*/) override { } + virtual void exitObjectListPath(SparqlAutomaticParser::ObjectListPathContext * /*ctx*/) override { } + + virtual void enterObjectPath(SparqlAutomaticParser::ObjectPathContext * /*ctx*/) override { } + virtual void exitObjectPath(SparqlAutomaticParser::ObjectPathContext * /*ctx*/) override { } + + virtual void enterPath(SparqlAutomaticParser::PathContext * /*ctx*/) override { } + virtual void exitPath(SparqlAutomaticParser::PathContext * /*ctx*/) override { } + + virtual void enterPathAlternative(SparqlAutomaticParser::PathAlternativeContext * /*ctx*/) override { } + virtual void exitPathAlternative(SparqlAutomaticParser::PathAlternativeContext * /*ctx*/) override { } + + virtual void enterPathSequence(SparqlAutomaticParser::PathSequenceContext * /*ctx*/) override { } + virtual void exitPathSequence(SparqlAutomaticParser::PathSequenceContext * /*ctx*/) override { } + + virtual void enterPathElt(SparqlAutomaticParser::PathEltContext * /*ctx*/) override { } + virtual void exitPathElt(SparqlAutomaticParser::PathEltContext * /*ctx*/) override { } + + virtual void enterPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext * /*ctx*/) override { } + virtual void exitPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext * /*ctx*/) override { } + + virtual void enterPathMod(SparqlAutomaticParser::PathModContext * /*ctx*/) override { } + virtual void exitPathMod(SparqlAutomaticParser::PathModContext * /*ctx*/) override { } + + virtual void enterPathPrimary(SparqlAutomaticParser::PathPrimaryContext * /*ctx*/) override { } + virtual void exitPathPrimary(SparqlAutomaticParser::PathPrimaryContext * /*ctx*/) override { } + + virtual void enterPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext * /*ctx*/) override { } + virtual void exitPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext * /*ctx*/) override { } + + virtual void enterPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext * /*ctx*/) override { } + virtual void exitPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext * /*ctx*/) override { } + + virtual void enterInteger(SparqlAutomaticParser::IntegerContext * /*ctx*/) override { } + virtual void exitInteger(SparqlAutomaticParser::IntegerContext * /*ctx*/) override { } + + virtual void enterTriplesNode(SparqlAutomaticParser::TriplesNodeContext * /*ctx*/) override { } + virtual void exitTriplesNode(SparqlAutomaticParser::TriplesNodeContext * /*ctx*/) override { } + + virtual void enterBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext * /*ctx*/) override { } + virtual void exitBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext * /*ctx*/) override { } + + virtual void enterTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext * /*ctx*/) override { } + virtual void exitTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext * /*ctx*/) override { } + + virtual void enterBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext * /*ctx*/) override { } + virtual void exitBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext * /*ctx*/) override { } + + virtual void enterCollection(SparqlAutomaticParser::CollectionContext * /*ctx*/) override { } + virtual void exitCollection(SparqlAutomaticParser::CollectionContext * /*ctx*/) override { } + + virtual void enterCollectionPath(SparqlAutomaticParser::CollectionPathContext * /*ctx*/) override { } + virtual void exitCollectionPath(SparqlAutomaticParser::CollectionPathContext * /*ctx*/) override { } + + virtual void enterGraphNode(SparqlAutomaticParser::GraphNodeContext * /*ctx*/) override { } + virtual void exitGraphNode(SparqlAutomaticParser::GraphNodeContext * /*ctx*/) override { } + + virtual void enterGraphNodePath(SparqlAutomaticParser::GraphNodePathContext * /*ctx*/) override { } + virtual void exitGraphNodePath(SparqlAutomaticParser::GraphNodePathContext * /*ctx*/) override { } + + virtual void enterVarOrTerm(SparqlAutomaticParser::VarOrTermContext * /*ctx*/) override { } + virtual void exitVarOrTerm(SparqlAutomaticParser::VarOrTermContext * /*ctx*/) override { } + + virtual void enterVarOrIri(SparqlAutomaticParser::VarOrIriContext * /*ctx*/) override { } + virtual void exitVarOrIri(SparqlAutomaticParser::VarOrIriContext * /*ctx*/) override { } + + virtual void enterVar(SparqlAutomaticParser::VarContext * /*ctx*/) override { } + virtual void exitVar(SparqlAutomaticParser::VarContext * /*ctx*/) override { } + + virtual void enterGraphTerm(SparqlAutomaticParser::GraphTermContext * /*ctx*/) override { } + virtual void exitGraphTerm(SparqlAutomaticParser::GraphTermContext * /*ctx*/) override { } + + virtual void enterExpression(SparqlAutomaticParser::ExpressionContext * /*ctx*/) override { } + virtual void exitExpression(SparqlAutomaticParser::ExpressionContext * /*ctx*/) override { } + + virtual void enterConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext * /*ctx*/) override { } + virtual void exitConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext * /*ctx*/) override { } + + virtual void enterConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext * /*ctx*/) override { } + virtual void exitConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext * /*ctx*/) override { } + + virtual void enterValueLogical(SparqlAutomaticParser::ValueLogicalContext * /*ctx*/) override { } + virtual void exitValueLogical(SparqlAutomaticParser::ValueLogicalContext * /*ctx*/) override { } + + virtual void enterRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext * /*ctx*/) override { } + virtual void exitRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext * /*ctx*/) override { } + + virtual void enterNumericExpression(SparqlAutomaticParser::NumericExpressionContext * /*ctx*/) override { } + virtual void exitNumericExpression(SparqlAutomaticParser::NumericExpressionContext * /*ctx*/) override { } + + virtual void enterAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext * /*ctx*/) override { } + virtual void exitAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext * /*ctx*/) override { } + + virtual void enterMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext * /*ctx*/) override { } + virtual void exitMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext * /*ctx*/) override { } + + virtual void enterPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext * /*ctx*/) override { } + virtual void exitPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext * /*ctx*/) override { } + + virtual void enterMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext * /*ctx*/) override { } + virtual void exitMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext * /*ctx*/) override { } + + virtual void enterMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext * /*ctx*/) override { } + virtual void exitMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext * /*ctx*/) override { } + + virtual void enterMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext * /*ctx*/) override { } + virtual void exitMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext * /*ctx*/) override { } + + virtual void enterMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext * /*ctx*/) override { } + virtual void exitMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext * /*ctx*/) override { } + + virtual void enterMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext * /*ctx*/) override { } + virtual void exitMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext * /*ctx*/) override { } + + virtual void enterDivideExpression(SparqlAutomaticParser::DivideExpressionContext * /*ctx*/) override { } + virtual void exitDivideExpression(SparqlAutomaticParser::DivideExpressionContext * /*ctx*/) override { } + + virtual void enterUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext * /*ctx*/) override { } + virtual void exitUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext * /*ctx*/) override { } + + virtual void enterPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext * /*ctx*/) override { } + virtual void exitPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext * /*ctx*/) override { } + + virtual void enterBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext * /*ctx*/) override { } + virtual void exitBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext * /*ctx*/) override { } + + virtual void enterBuiltInCall(SparqlAutomaticParser::BuiltInCallContext * /*ctx*/) override { } + virtual void exitBuiltInCall(SparqlAutomaticParser::BuiltInCallContext * /*ctx*/) override { } + + virtual void enterRegexExpression(SparqlAutomaticParser::RegexExpressionContext * /*ctx*/) override { } + virtual void exitRegexExpression(SparqlAutomaticParser::RegexExpressionContext * /*ctx*/) override { } + + virtual void enterLangExpression(SparqlAutomaticParser::LangExpressionContext * /*ctx*/) override { } + virtual void exitLangExpression(SparqlAutomaticParser::LangExpressionContext * /*ctx*/) override { } + + virtual void enterSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext * /*ctx*/) override { } + virtual void exitSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext * /*ctx*/) override { } + + virtual void enterStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext * /*ctx*/) override { } + virtual void exitStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext * /*ctx*/) override { } + + virtual void enterExistsFunc(SparqlAutomaticParser::ExistsFuncContext * /*ctx*/) override { } + virtual void exitExistsFunc(SparqlAutomaticParser::ExistsFuncContext * /*ctx*/) override { } + + virtual void enterNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext * /*ctx*/) override { } + virtual void exitNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext * /*ctx*/) override { } + + virtual void enterAggregate(SparqlAutomaticParser::AggregateContext * /*ctx*/) override { } + virtual void exitAggregate(SparqlAutomaticParser::AggregateContext * /*ctx*/) override { } + + virtual void enterIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext * /*ctx*/) override { } + virtual void exitIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext * /*ctx*/) override { } + + virtual void enterRdfLiteral(SparqlAutomaticParser::RdfLiteralContext * /*ctx*/) override { } + virtual void exitRdfLiteral(SparqlAutomaticParser::RdfLiteralContext * /*ctx*/) override { } + + virtual void enterNumericLiteral(SparqlAutomaticParser::NumericLiteralContext * /*ctx*/) override { } + virtual void exitNumericLiteral(SparqlAutomaticParser::NumericLiteralContext * /*ctx*/) override { } + + virtual void enterNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext * /*ctx*/) override { } + virtual void exitNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext * /*ctx*/) override { } + + virtual void enterNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext * /*ctx*/) override { } + virtual void exitNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext * /*ctx*/) override { } + + virtual void enterNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext * /*ctx*/) override { } + virtual void exitNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext * /*ctx*/) override { } + + virtual void enterBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext * /*ctx*/) override { } + virtual void exitBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext * /*ctx*/) override { } + + virtual void enterString(SparqlAutomaticParser::StringContext * /*ctx*/) override { } + virtual void exitString(SparqlAutomaticParser::StringContext * /*ctx*/) override { } + + virtual void enterIri(SparqlAutomaticParser::IriContext * /*ctx*/) override { } + virtual void exitIri(SparqlAutomaticParser::IriContext * /*ctx*/) override { } + + virtual void enterPrefixedName(SparqlAutomaticParser::PrefixedNameContext * /*ctx*/) override { } + virtual void exitPrefixedName(SparqlAutomaticParser::PrefixedNameContext * /*ctx*/) override { } + + virtual void enterBlankNode(SparqlAutomaticParser::BlankNodeContext * /*ctx*/) override { } + virtual void exitBlankNode(SparqlAutomaticParser::BlankNodeContext * /*ctx*/) override { } + + virtual void enterIriref(SparqlAutomaticParser::IrirefContext * /*ctx*/) override { } + virtual void exitIriref(SparqlAutomaticParser::IrirefContext * /*ctx*/) override { } + + virtual void enterPnameLn(SparqlAutomaticParser::PnameLnContext * /*ctx*/) override { } + virtual void exitPnameLn(SparqlAutomaticParser::PnameLnContext * /*ctx*/) override { } + + virtual void enterPnameNs(SparqlAutomaticParser::PnameNsContext * /*ctx*/) override { } + virtual void exitPnameNs(SparqlAutomaticParser::PnameNsContext * /*ctx*/) override { } + + + virtual void enterEveryRule(antlr4::ParserRuleContext * /*ctx*/) override { } + virtual void exitEveryRule(antlr4::ParserRuleContext * /*ctx*/) override { } + virtual void visitTerminal(antlr4::tree::TerminalNode * /*node*/) override { } + virtual void visitErrorNode(antlr4::tree::ErrorNode * /*node*/) override { } + }; + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.cpp index dbec6cd1a8..19ec339e75 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.cpp @@ -1,4 +1,7 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 + #include "SparqlAutomaticBaseVisitor.h" + + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.h b/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.h index 3d5eef44d5..a89560b916 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.h @@ -3,792 +3,646 @@ #pragma once -#include "SparqlAutomaticVisitor.h" + #include "antlr4-runtime.h" +#include "SparqlAutomaticVisitor.h" + /** - * This class provides an empty implementation of SparqlAutomaticVisitor, which - * can be extended to create a visitor which only needs to handle a subset of - * the available methods. + * This class provides an empty implementation of SparqlAutomaticVisitor, which can be + * extended to create a visitor which only needs to handle a subset of the available methods. */ -class SparqlAutomaticBaseVisitor : public SparqlAutomaticVisitor { - public: - virtual std::any visitQueryOrUpdate( - SparqlAutomaticParser::QueryOrUpdateContext* ctx) override { +class SparqlAutomaticBaseVisitor : public SparqlAutomaticVisitor { +public: + + virtual std::any visitQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitQuery( - SparqlAutomaticParser::QueryContext* ctx) override { + virtual std::any visitQuery(SparqlAutomaticParser::QueryContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPrologue( - SparqlAutomaticParser::PrologueContext* ctx) override { + virtual std::any visitPrologue(SparqlAutomaticParser::PrologueContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitBaseDecl( - SparqlAutomaticParser::BaseDeclContext* ctx) override { + virtual std::any visitBaseDecl(SparqlAutomaticParser::BaseDeclContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPrefixDecl( - SparqlAutomaticParser::PrefixDeclContext* ctx) override { + virtual std::any visitPrefixDecl(SparqlAutomaticParser::PrefixDeclContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitSelectQuery( - SparqlAutomaticParser::SelectQueryContext* ctx) override { + virtual std::any visitSelectQuery(SparqlAutomaticParser::SelectQueryContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitSubSelect( - SparqlAutomaticParser::SubSelectContext* ctx) override { + virtual std::any visitSubSelect(SparqlAutomaticParser::SubSelectContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitSelectClause( - SparqlAutomaticParser::SelectClauseContext* ctx) override { + virtual std::any visitSelectClause(SparqlAutomaticParser::SelectClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitVarOrAlias( - SparqlAutomaticParser::VarOrAliasContext* ctx) override { + virtual std::any visitVarOrAlias(SparqlAutomaticParser::VarOrAliasContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitAlias( - SparqlAutomaticParser::AliasContext* ctx) override { + virtual std::any visitAlias(SparqlAutomaticParser::AliasContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitAliasWithoutBrackets( - SparqlAutomaticParser::AliasWithoutBracketsContext* ctx) override { + virtual std::any visitAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitConstructQuery( - SparqlAutomaticParser::ConstructQueryContext* ctx) override { + virtual std::any visitConstructQuery(SparqlAutomaticParser::ConstructQueryContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDescribeQuery( - SparqlAutomaticParser::DescribeQueryContext* ctx) override { + virtual std::any visitDescribeQuery(SparqlAutomaticParser::DescribeQueryContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitAskQuery( - SparqlAutomaticParser::AskQueryContext* ctx) override { + virtual std::any visitAskQuery(SparqlAutomaticParser::AskQueryContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDatasetClause( - SparqlAutomaticParser::DatasetClauseContext* ctx) override { + virtual std::any visitDatasetClause(SparqlAutomaticParser::DatasetClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDefaultGraphClause( - SparqlAutomaticParser::DefaultGraphClauseContext* ctx) override { + virtual std::any visitDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitNamedGraphClause( - SparqlAutomaticParser::NamedGraphClauseContext* ctx) override { + virtual std::any visitNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitSourceSelector( - SparqlAutomaticParser::SourceSelectorContext* ctx) override { + virtual std::any visitSourceSelector(SparqlAutomaticParser::SourceSelectorContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitWhereClause( - SparqlAutomaticParser::WhereClauseContext* ctx) override { + virtual std::any visitWhereClause(SparqlAutomaticParser::WhereClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitSolutionModifier( - SparqlAutomaticParser::SolutionModifierContext* ctx) override { + virtual std::any visitSolutionModifier(SparqlAutomaticParser::SolutionModifierContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupClause( - SparqlAutomaticParser::GroupClauseContext* ctx) override { + virtual std::any visitGroupClause(SparqlAutomaticParser::GroupClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupCondition( - SparqlAutomaticParser::GroupConditionContext* ctx) override { + virtual std::any visitGroupCondition(SparqlAutomaticParser::GroupConditionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitHavingClause( - SparqlAutomaticParser::HavingClauseContext* ctx) override { + virtual std::any visitHavingClause(SparqlAutomaticParser::HavingClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitHavingCondition( - SparqlAutomaticParser::HavingConditionContext* ctx) override { + virtual std::any visitHavingCondition(SparqlAutomaticParser::HavingConditionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitOrderClause( - SparqlAutomaticParser::OrderClauseContext* ctx) override { + virtual std::any visitOrderClause(SparqlAutomaticParser::OrderClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitOrderCondition( - SparqlAutomaticParser::OrderConditionContext* ctx) override { + virtual std::any visitOrderCondition(SparqlAutomaticParser::OrderConditionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitLimitOffsetClauses( - SparqlAutomaticParser::LimitOffsetClausesContext* ctx) override { + virtual std::any visitLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitLimitClause( - SparqlAutomaticParser::LimitClauseContext* ctx) override { + virtual std::any visitLimitClause(SparqlAutomaticParser::LimitClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitOffsetClause( - SparqlAutomaticParser::OffsetClauseContext* ctx) override { + virtual std::any visitOffsetClause(SparqlAutomaticParser::OffsetClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTextLimitClause( - SparqlAutomaticParser::TextLimitClauseContext* ctx) override { + virtual std::any visitTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitValuesClause( - SparqlAutomaticParser::ValuesClauseContext* ctx) override { + virtual std::any visitValuesClause(SparqlAutomaticParser::ValuesClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitUpdate( - SparqlAutomaticParser::UpdateContext* ctx) override { + virtual std::any visitUpdate(SparqlAutomaticParser::UpdateContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitUpdate1( - SparqlAutomaticParser::Update1Context* ctx) override { + virtual std::any visitUpdate1(SparqlAutomaticParser::Update1Context *ctx) override { return visitChildren(ctx); } - virtual std::any visitLoad(SparqlAutomaticParser::LoadContext* ctx) override { + virtual std::any visitLoad(SparqlAutomaticParser::LoadContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitClear( - SparqlAutomaticParser::ClearContext* ctx) override { + virtual std::any visitClear(SparqlAutomaticParser::ClearContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDrop(SparqlAutomaticParser::DropContext* ctx) override { + virtual std::any visitDrop(SparqlAutomaticParser::DropContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitCreate( - SparqlAutomaticParser::CreateContext* ctx) override { + virtual std::any visitCreate(SparqlAutomaticParser::CreateContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitAdd(SparqlAutomaticParser::AddContext* ctx) override { + virtual std::any visitAdd(SparqlAutomaticParser::AddContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitMove(SparqlAutomaticParser::MoveContext* ctx) override { + virtual std::any visitMove(SparqlAutomaticParser::MoveContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitCopy(SparqlAutomaticParser::CopyContext* ctx) override { + virtual std::any visitCopy(SparqlAutomaticParser::CopyContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitInsertData( - SparqlAutomaticParser::InsertDataContext* ctx) override { + virtual std::any visitInsertData(SparqlAutomaticParser::InsertDataContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDeleteData( - SparqlAutomaticParser::DeleteDataContext* ctx) override { + virtual std::any visitDeleteData(SparqlAutomaticParser::DeleteDataContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDeleteWhere( - SparqlAutomaticParser::DeleteWhereContext* ctx) override { + virtual std::any visitDeleteWhere(SparqlAutomaticParser::DeleteWhereContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitModify( - SparqlAutomaticParser::ModifyContext* ctx) override { + virtual std::any visitModify(SparqlAutomaticParser::ModifyContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDeleteClause( - SparqlAutomaticParser::DeleteClauseContext* ctx) override { + virtual std::any visitDeleteClause(SparqlAutomaticParser::DeleteClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitInsertClause( - SparqlAutomaticParser::InsertClauseContext* ctx) override { + virtual std::any visitInsertClause(SparqlAutomaticParser::InsertClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitUsingClause( - SparqlAutomaticParser::UsingClauseContext* ctx) override { + virtual std::any visitUsingClause(SparqlAutomaticParser::UsingClauseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphOrDefault( - SparqlAutomaticParser::GraphOrDefaultContext* ctx) override { + virtual std::any visitGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphRef( - SparqlAutomaticParser::GraphRefContext* ctx) override { + virtual std::any visitGraphRef(SparqlAutomaticParser::GraphRefContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphRefAll( - SparqlAutomaticParser::GraphRefAllContext* ctx) override { + virtual std::any visitGraphRefAll(SparqlAutomaticParser::GraphRefAllContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitQuadPattern( - SparqlAutomaticParser::QuadPatternContext* ctx) override { + virtual std::any visitQuadPattern(SparqlAutomaticParser::QuadPatternContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitQuadData( - SparqlAutomaticParser::QuadDataContext* ctx) override { + virtual std::any visitQuadData(SparqlAutomaticParser::QuadDataContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitQuads( - SparqlAutomaticParser::QuadsContext* ctx) override { + virtual std::any visitQuads(SparqlAutomaticParser::QuadsContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitQuadsNotTriples( - SparqlAutomaticParser::QuadsNotTriplesContext* ctx) override { + virtual std::any visitQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesTemplate( - SparqlAutomaticParser::TriplesTemplateContext* ctx) override { + virtual std::any visitTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupGraphPattern( - SparqlAutomaticParser::GroupGraphPatternContext* ctx) override { + virtual std::any visitGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupGraphPatternSub( - SparqlAutomaticParser::GroupGraphPatternSubContext* ctx) override { + virtual std::any visitGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphPatternNotTriplesAndMaybeTriples( - SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* ctx) - override { + virtual std::any visitGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesBlock( - SparqlAutomaticParser::TriplesBlockContext* ctx) override { + virtual std::any visitTriplesBlock(SparqlAutomaticParser::TriplesBlockContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphPatternNotTriples( - SparqlAutomaticParser::GraphPatternNotTriplesContext* ctx) override { + virtual std::any visitGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitOptionalGraphPattern( - SparqlAutomaticParser::OptionalGraphPatternContext* ctx) override { + virtual std::any visitOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphGraphPattern( - SparqlAutomaticParser::GraphGraphPatternContext* ctx) override { + virtual std::any visitGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitServiceGraphPattern( - SparqlAutomaticParser::ServiceGraphPatternContext* ctx) override { + virtual std::any visitServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitBind(SparqlAutomaticParser::BindContext* ctx) override { + virtual std::any visitBind(SparqlAutomaticParser::BindContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitInlineData( - SparqlAutomaticParser::InlineDataContext* ctx) override { + virtual std::any visitInlineData(SparqlAutomaticParser::InlineDataContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDataBlock( - SparqlAutomaticParser::DataBlockContext* ctx) override { + virtual std::any visitDataBlock(SparqlAutomaticParser::DataBlockContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitInlineDataOneVar( - SparqlAutomaticParser::InlineDataOneVarContext* ctx) override { + virtual std::any visitInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitInlineDataFull( - SparqlAutomaticParser::InlineDataFullContext* ctx) override { + virtual std::any visitInlineDataFull(SparqlAutomaticParser::InlineDataFullContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDataBlockSingle( - SparqlAutomaticParser::DataBlockSingleContext* ctx) override { + virtual std::any visitDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDataBlockValue( - SparqlAutomaticParser::DataBlockValueContext* ctx) override { + virtual std::any visitDataBlockValue(SparqlAutomaticParser::DataBlockValueContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitMinusGraphPattern( - SparqlAutomaticParser::MinusGraphPatternContext* ctx) override { + virtual std::any visitMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupOrUnionGraphPattern( - SparqlAutomaticParser::GroupOrUnionGraphPatternContext* ctx) override { + virtual std::any visitGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitFilterR( - SparqlAutomaticParser::FilterRContext* ctx) override { + virtual std::any visitFilterR(SparqlAutomaticParser::FilterRContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitConstraint( - SparqlAutomaticParser::ConstraintContext* ctx) override { + virtual std::any visitConstraint(SparqlAutomaticParser::ConstraintContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitFunctionCall( - SparqlAutomaticParser::FunctionCallContext* ctx) override { + virtual std::any visitFunctionCall(SparqlAutomaticParser::FunctionCallContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitArgList( - SparqlAutomaticParser::ArgListContext* ctx) override { + virtual std::any visitArgList(SparqlAutomaticParser::ArgListContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitExpressionList( - SparqlAutomaticParser::ExpressionListContext* ctx) override { + virtual std::any visitExpressionList(SparqlAutomaticParser::ExpressionListContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitConstructTemplate( - SparqlAutomaticParser::ConstructTemplateContext* ctx) override { + virtual std::any visitConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitConstructTriples( - SparqlAutomaticParser::ConstructTriplesContext* ctx) override { + virtual std::any visitConstructTriples(SparqlAutomaticParser::ConstructTriplesContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesSameSubject( - SparqlAutomaticParser::TriplesSameSubjectContext* ctx) override { + virtual std::any visitTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPropertyList( - SparqlAutomaticParser::PropertyListContext* ctx) override { + virtual std::any visitPropertyList(SparqlAutomaticParser::PropertyListContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPropertyListNotEmpty( - SparqlAutomaticParser::PropertyListNotEmptyContext* ctx) override { + virtual std::any visitPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitVerb(SparqlAutomaticParser::VerbContext* ctx) override { + virtual std::any visitVerb(SparqlAutomaticParser::VerbContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitObjectList( - SparqlAutomaticParser::ObjectListContext* ctx) override { + virtual std::any visitObjectList(SparqlAutomaticParser::ObjectListContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitObjectR( - SparqlAutomaticParser::ObjectRContext* ctx) override { + virtual std::any visitObjectR(SparqlAutomaticParser::ObjectRContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesSameSubjectPath( - SparqlAutomaticParser::TriplesSameSubjectPathContext* ctx) override { + virtual std::any visitTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPropertyListPath( - SparqlAutomaticParser::PropertyListPathContext* ctx) override { + virtual std::any visitPropertyListPath(SparqlAutomaticParser::PropertyListPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPropertyListPathNotEmpty( - SparqlAutomaticParser::PropertyListPathNotEmptyContext* ctx) override { + virtual std::any visitPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitVerbPath( - SparqlAutomaticParser::VerbPathContext* ctx) override { + virtual std::any visitVerbPath(SparqlAutomaticParser::VerbPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitVerbSimple( - SparqlAutomaticParser::VerbSimpleContext* ctx) override { + virtual std::any visitVerbSimple(SparqlAutomaticParser::VerbSimpleContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTupleWithoutPath( - SparqlAutomaticParser::TupleWithoutPathContext* ctx) override { + virtual std::any visitTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTupleWithPath( - SparqlAutomaticParser::TupleWithPathContext* ctx) override { + virtual std::any visitTupleWithPath(SparqlAutomaticParser::TupleWithPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitVerbPathOrSimple( - SparqlAutomaticParser::VerbPathOrSimpleContext* ctx) override { + virtual std::any visitVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitObjectListPath( - SparqlAutomaticParser::ObjectListPathContext* ctx) override { + virtual std::any visitObjectListPath(SparqlAutomaticParser::ObjectListPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitObjectPath( - SparqlAutomaticParser::ObjectPathContext* ctx) override { + virtual std::any visitObjectPath(SparqlAutomaticParser::ObjectPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPath(SparqlAutomaticParser::PathContext* ctx) override { + virtual std::any visitPath(SparqlAutomaticParser::PathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPathAlternative( - SparqlAutomaticParser::PathAlternativeContext* ctx) override { + virtual std::any visitPathAlternative(SparqlAutomaticParser::PathAlternativeContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPathSequence( - SparqlAutomaticParser::PathSequenceContext* ctx) override { + virtual std::any visitPathSequence(SparqlAutomaticParser::PathSequenceContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPathElt( - SparqlAutomaticParser::PathEltContext* ctx) override { + virtual std::any visitPathElt(SparqlAutomaticParser::PathEltContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPathEltOrInverse( - SparqlAutomaticParser::PathEltOrInverseContext* ctx) override { + virtual std::any visitPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPathMod( - SparqlAutomaticParser::PathModContext* ctx) override { + virtual std::any visitPathMod(SparqlAutomaticParser::PathModContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPathPrimary( - SparqlAutomaticParser::PathPrimaryContext* ctx) override { + virtual std::any visitPathPrimary(SparqlAutomaticParser::PathPrimaryContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPathNegatedPropertySet( - SparqlAutomaticParser::PathNegatedPropertySetContext* ctx) override { + virtual std::any visitPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPathOneInPropertySet( - SparqlAutomaticParser::PathOneInPropertySetContext* ctx) override { + virtual std::any visitPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitInteger( - SparqlAutomaticParser::IntegerContext* ctx) override { + virtual std::any visitInteger(SparqlAutomaticParser::IntegerContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesNode( - SparqlAutomaticParser::TriplesNodeContext* ctx) override { + virtual std::any visitTriplesNode(SparqlAutomaticParser::TriplesNodeContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitBlankNodePropertyList( - SparqlAutomaticParser::BlankNodePropertyListContext* ctx) override { + virtual std::any visitBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesNodePath( - SparqlAutomaticParser::TriplesNodePathContext* ctx) override { + virtual std::any visitTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitBlankNodePropertyListPath( - SparqlAutomaticParser::BlankNodePropertyListPathContext* ctx) override { + virtual std::any visitBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitCollection( - SparqlAutomaticParser::CollectionContext* ctx) override { + virtual std::any visitCollection(SparqlAutomaticParser::CollectionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitCollectionPath( - SparqlAutomaticParser::CollectionPathContext* ctx) override { + virtual std::any visitCollectionPath(SparqlAutomaticParser::CollectionPathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphNode( - SparqlAutomaticParser::GraphNodeContext* ctx) override { + virtual std::any visitGraphNode(SparqlAutomaticParser::GraphNodeContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphNodePath( - SparqlAutomaticParser::GraphNodePathContext* ctx) override { + virtual std::any visitGraphNodePath(SparqlAutomaticParser::GraphNodePathContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitVarOrTerm( - SparqlAutomaticParser::VarOrTermContext* ctx) override { + virtual std::any visitVarOrTerm(SparqlAutomaticParser::VarOrTermContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitVarOrIri( - SparqlAutomaticParser::VarOrIriContext* ctx) override { + virtual std::any visitVarOrIri(SparqlAutomaticParser::VarOrIriContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitVar(SparqlAutomaticParser::VarContext* ctx) override { + virtual std::any visitVar(SparqlAutomaticParser::VarContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphTerm( - SparqlAutomaticParser::GraphTermContext* ctx) override { + virtual std::any visitGraphTerm(SparqlAutomaticParser::GraphTermContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitExpression( - SparqlAutomaticParser::ExpressionContext* ctx) override { + virtual std::any visitExpression(SparqlAutomaticParser::ExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitConditionalOrExpression( - SparqlAutomaticParser::ConditionalOrExpressionContext* ctx) override { + virtual std::any visitConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitConditionalAndExpression( - SparqlAutomaticParser::ConditionalAndExpressionContext* ctx) override { + virtual std::any visitConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitValueLogical( - SparqlAutomaticParser::ValueLogicalContext* ctx) override { + virtual std::any visitValueLogical(SparqlAutomaticParser::ValueLogicalContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitRelationalExpression( - SparqlAutomaticParser::RelationalExpressionContext* ctx) override { + virtual std::any visitRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericExpression( - SparqlAutomaticParser::NumericExpressionContext* ctx) override { + virtual std::any visitNumericExpression(SparqlAutomaticParser::NumericExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitAdditiveExpression( - SparqlAutomaticParser::AdditiveExpressionContext* ctx) override { + virtual std::any visitAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplicativeExpressionWithSign( - SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* ctx) - override { + virtual std::any visitMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPlusSubexpression( - SparqlAutomaticParser::PlusSubexpressionContext* ctx) override { + virtual std::any visitPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitMinusSubexpression( - SparqlAutomaticParser::MinusSubexpressionContext* ctx) override { + virtual std::any visitMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplicativeExpressionWithLeadingSignButNoSpace( - SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* ctx) - override { + virtual std::any visitMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplicativeExpression( - SparqlAutomaticParser::MultiplicativeExpressionContext* ctx) override { + virtual std::any visitMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplyOrDivideExpression( - SparqlAutomaticParser::MultiplyOrDivideExpressionContext* ctx) override { + virtual std::any visitMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplyExpression( - SparqlAutomaticParser::MultiplyExpressionContext* ctx) override { + virtual std::any visitMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitDivideExpression( - SparqlAutomaticParser::DivideExpressionContext* ctx) override { + virtual std::any visitDivideExpression(SparqlAutomaticParser::DivideExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitUnaryExpression( - SparqlAutomaticParser::UnaryExpressionContext* ctx) override { + virtual std::any visitUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPrimaryExpression( - SparqlAutomaticParser::PrimaryExpressionContext* ctx) override { + virtual std::any visitPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitBrackettedExpression( - SparqlAutomaticParser::BrackettedExpressionContext* ctx) override { + virtual std::any visitBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitBuiltInCall( - SparqlAutomaticParser::BuiltInCallContext* ctx) override { + virtual std::any visitBuiltInCall(SparqlAutomaticParser::BuiltInCallContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitRegexExpression( - SparqlAutomaticParser::RegexExpressionContext* ctx) override { + virtual std::any visitRegexExpression(SparqlAutomaticParser::RegexExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitLangExpression( - SparqlAutomaticParser::LangExpressionContext* ctx) override { + virtual std::any visitLangExpression(SparqlAutomaticParser::LangExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitSubstringExpression( - SparqlAutomaticParser::SubstringExpressionContext* ctx) override { + virtual std::any visitSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitStrReplaceExpression( - SparqlAutomaticParser::StrReplaceExpressionContext* ctx) override { + virtual std::any visitStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitExistsFunc( - SparqlAutomaticParser::ExistsFuncContext* ctx) override { + virtual std::any visitExistsFunc(SparqlAutomaticParser::ExistsFuncContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitNotExistsFunc( - SparqlAutomaticParser::NotExistsFuncContext* ctx) override { + virtual std::any visitNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitAggregate( - SparqlAutomaticParser::AggregateContext* ctx) override { + virtual std::any visitAggregate(SparqlAutomaticParser::AggregateContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitIriOrFunction( - SparqlAutomaticParser::IriOrFunctionContext* ctx) override { + virtual std::any visitIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitRdfLiteral( - SparqlAutomaticParser::RdfLiteralContext* ctx) override { + virtual std::any visitRdfLiteral(SparqlAutomaticParser::RdfLiteralContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericLiteral( - SparqlAutomaticParser::NumericLiteralContext* ctx) override { + virtual std::any visitNumericLiteral(SparqlAutomaticParser::NumericLiteralContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericLiteralUnsigned( - SparqlAutomaticParser::NumericLiteralUnsignedContext* ctx) override { + virtual std::any visitNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericLiteralPositive( - SparqlAutomaticParser::NumericLiteralPositiveContext* ctx) override { + virtual std::any visitNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericLiteralNegative( - SparqlAutomaticParser::NumericLiteralNegativeContext* ctx) override { + virtual std::any visitNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitBooleanLiteral( - SparqlAutomaticParser::BooleanLiteralContext* ctx) override { + virtual std::any visitBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitString( - SparqlAutomaticParser::StringContext* ctx) override { + virtual std::any visitString(SparqlAutomaticParser::StringContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitIri(SparqlAutomaticParser::IriContext* ctx) override { + virtual std::any visitIri(SparqlAutomaticParser::IriContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPrefixedName( - SparqlAutomaticParser::PrefixedNameContext* ctx) override { + virtual std::any visitPrefixedName(SparqlAutomaticParser::PrefixedNameContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitBlankNode( - SparqlAutomaticParser::BlankNodeContext* ctx) override { + virtual std::any visitBlankNode(SparqlAutomaticParser::BlankNodeContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitIriref( - SparqlAutomaticParser::IrirefContext* ctx) override { + virtual std::any visitIriref(SparqlAutomaticParser::IrirefContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPnameLn( - SparqlAutomaticParser::PnameLnContext* ctx) override { + virtual std::any visitPnameLn(SparqlAutomaticParser::PnameLnContext *ctx) override { return visitChildren(ctx); } - virtual std::any visitPnameNs( - SparqlAutomaticParser::PnameNsContext* ctx) override { + virtual std::any visitPnameNs(SparqlAutomaticParser::PnameNsContext *ctx) override { return visitChildren(ctx); } + + }; + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp index 15306faaff..726b9f14c8 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp @@ -1,34 +1,33 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 + #include "SparqlAutomaticLexer.h" + using namespace antlr4; + + using namespace antlr4; namespace { struct SparqlAutomaticLexerStaticData final { SparqlAutomaticLexerStaticData(std::vector ruleNames, - std::vector channelNames, - std::vector modeNames, - std::vector literalNames, - std::vector symbolicNames) - : ruleNames(std::move(ruleNames)), - channelNames(std::move(channelNames)), - modeNames(std::move(modeNames)), - literalNames(std::move(literalNames)), + std::vector channelNames, + std::vector modeNames, + std::vector literalNames, + std::vector symbolicNames) + : ruleNames(std::move(ruleNames)), channelNames(std::move(channelNames)), + modeNames(std::move(modeNames)), literalNames(std::move(literalNames)), symbolicNames(std::move(symbolicNames)), vocabulary(this->literalNames, this->symbolicNames) {} - SparqlAutomaticLexerStaticData(const SparqlAutomaticLexerStaticData&) = - delete; + SparqlAutomaticLexerStaticData(const SparqlAutomaticLexerStaticData&) = delete; SparqlAutomaticLexerStaticData(SparqlAutomaticLexerStaticData&&) = delete; - SparqlAutomaticLexerStaticData& operator=( - const SparqlAutomaticLexerStaticData&) = delete; - SparqlAutomaticLexerStaticData& operator=(SparqlAutomaticLexerStaticData&&) = - delete; + SparqlAutomaticLexerStaticData& operator=(const SparqlAutomaticLexerStaticData&) = delete; + SparqlAutomaticLexerStaticData& operator=(SparqlAutomaticLexerStaticData&&) = delete; std::vector decisionToDFA; antlr4::atn::PredictionContextCache sharedContextCache; @@ -43,1689 +42,694 @@ struct SparqlAutomaticLexerStaticData final { }; ::antlr4::internal::OnceFlag sparqlautomaticlexerLexerOnceFlag; -SparqlAutomaticLexerStaticData* sparqlautomaticlexerLexerStaticData = nullptr; +SparqlAutomaticLexerStaticData *sparqlautomaticlexerLexerStaticData = nullptr; void sparqlautomaticlexerLexerInitialize() { assert(sparqlautomaticlexerLexerStaticData == nullptr); auto staticData = std::make_unique( - std::vector{"T__0", - "T__1", - "T__2", - "T__3", - "T__4", - "T__5", - "T__6", - "T__7", - "T__8", - "T__9", - "T__10", - "T__11", - "T__12", - "T__13", - "T__14", - "T__15", - "T__16", - "T__17", - "T__18", - "T__19", - "T__20", - "T__21", - "T__22", - "T__23", - "T__24", - "T__25", - "T__26", - "T__27", - "T__28", - "BASE", - "PREFIX", - "SELECT", - "DISTINCT", - "REDUCED", - "AS", - "CONSTRUCT", - "WHERE", - "DESCRIBE", - "ASK", - "FROM", - "NAMED", - "GROUPBY", - "GROUP_CONCAT", - "HAVING", - "ORDERBY", - "INTERNALSORTBY", - "ASC", - "DESC", - "LIMIT", - "OFFSET", - "TEXTLIMIT", - "VALUES", - "LOAD", - "SILENT", - "INTO", - "CLEAR", - "DROP", - "CREATE", - "ADD", - "TO", - "DATA", - "MOVE", - "COPY", - "INSERT", - "DELETE", - "WITH", - "USING", - "DEFAULT", - "GRAPH", - "ALL", - "OPTIONAL", - "SERVICE", - "BIND", - "UNDEF", - "MINUS", - "UNION", - "FILTER", - "NOT", - "IN", - "STR", - "LANG", - "LANGMATCHES", - "DATATYPE", - "BOUND", - "IRI", - "URI", - "BNODE", - "RAND", - "ABS", - "CEIL", - "FLOOR", - "ROUND", - "CONCAT", - "STRLEN", - "UCASE", - "LCASE", - "ENCODE_FOR_URI", - "FOR", - "CONTAINS", - "STRSTARTS", - "STRENDS", - "STRBEFORE", - "STRAFTER", - "YEAR", - "MONTH", - "DAY", - "HOURS", - "MINUTES", - "SECONDS", - "TIMEZONE", - "TZ", - "NOW", - "UUID", - "STRUUID", - "SHA1", - "SHA256", - "SHA384", - "SHA512", - "MD5", - "COALESCE", - "IF", - "STRLANG", - "STRDT", - "SAMETERM", - "ISIRI", - "ISURI", - "ISBLANK", - "ISLITERAL", - "ISNUMERIC", - "REGEX", - "SUBSTR", - "REPLACE", - "EXISTS", - "COUNT", - "SUM", - "MIN", - "MAX", - "AVG", - "STDEV", - "SAMPLE", - "SEPARATOR", - "IRI_REF", - "PNAME_NS", - "PNAME_LN", - "BLANK_NODE_LABEL", - "VAR1", - "VAR2", - "LANGTAG", - "PREFIX_LANGTAG", - "INTEGER", - "DECIMAL", - "DOUBLE", - "INTEGER_POSITIVE", - "DECIMAL_POSITIVE", - "DOUBLE_POSITIVE", - "INTEGER_NEGATIVE", - "DECIMAL_NEGATIVE", - "DOUBLE_NEGATIVE", - "EXPONENT", - "STRING_LITERAL1", - "STRING_LITERAL2", - "STRING_LITERAL_LONG1", - "STRING_LITERAL_LONG2", - "ECHAR", - "NIL", - "ANON", - "PN_CHARS_U", - "VARNAME", - "PN_CHARS", - "PN_PREFIX", - "PN_LOCAL", - "PLX", - "PERCENT", - "HEX", - "PN_LOCAL_ESC", - "PN_CHARS_BASE", - "DIGIT", - "WS", - "COMMENTS", - "A", - "B", - "C", - "D", - "E", - "F", - "G", - "H", - "I", - "J", - "K", - "L", - "M", - "N", - "O", - "P", - "Q", - "R", - "S", - "T", - "U", - "V", - "W", - "X", - "Y", - "Z"}, - std::vector{"DEFAULT_TOKEN_CHANNEL", "HIDDEN"}, - std::vector{"DEFAULT_MODE"}, - std::vector{"", "'*'", "'('", "')'", "'{'", - "'}'", "';'", "'.'", "','", "'a'", - "'|'", "'/'", "'^'", "'+'", "'\\u003F'", - "'!'", "'['", "']'", "'||'", "'&&'", - "'='", "'!='", "'<'", "'>'", "'<='", - "'>='", "'-'", "'^^'", "'true'", "'false'"}, - std::vector{"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "BASE", - "PREFIX", - "SELECT", - "DISTINCT", - "REDUCED", - "AS", - "CONSTRUCT", - "WHERE", - "DESCRIBE", - "ASK", - "FROM", - "NAMED", - "GROUPBY", - "GROUP_CONCAT", - "HAVING", - "ORDERBY", - "INTERNALSORTBY", - "ASC", - "DESC", - "LIMIT", - "OFFSET", - "TEXTLIMIT", - "VALUES", - "LOAD", - "SILENT", - "INTO", - "CLEAR", - "DROP", - "CREATE", - "ADD", - "TO", - "DATA", - "MOVE", - "COPY", - "INSERT", - "DELETE", - "WITH", - "USING", - "DEFAULT", - "GRAPH", - "ALL", - "OPTIONAL", - "SERVICE", - "BIND", - "UNDEF", - "MINUS", - "UNION", - "FILTER", - "NOT", - "IN", - "STR", - "LANG", - "LANGMATCHES", - "DATATYPE", - "BOUND", - "IRI", - "URI", - "BNODE", - "RAND", - "ABS", - "CEIL", - "FLOOR", - "ROUND", - "CONCAT", - "STRLEN", - "UCASE", - "LCASE", - "ENCODE_FOR_URI", - "FOR", - "CONTAINS", - "STRSTARTS", - "STRENDS", - "STRBEFORE", - "STRAFTER", - "YEAR", - "MONTH", - "DAY", - "HOURS", - "MINUTES", - "SECONDS", - "TIMEZONE", - "TZ", - "NOW", - "UUID", - "STRUUID", - "SHA1", - "SHA256", - "SHA384", - "SHA512", - "MD5", - "COALESCE", - "IF", - "STRLANG", - "STRDT", - "SAMETERM", - "ISIRI", - "ISURI", - "ISBLANK", - "ISLITERAL", - "ISNUMERIC", - "REGEX", - "SUBSTR", - "REPLACE", - "EXISTS", - "COUNT", - "SUM", - "MIN", - "MAX", - "AVG", - "STDEV", - "SAMPLE", - "SEPARATOR", - "IRI_REF", - "PNAME_NS", - "PNAME_LN", - "BLANK_NODE_LABEL", - "VAR1", - "VAR2", - "LANGTAG", - "PREFIX_LANGTAG", - "INTEGER", - "DECIMAL", - "DOUBLE", - "INTEGER_POSITIVE", - "DECIMAL_POSITIVE", - "DOUBLE_POSITIVE", - "INTEGER_NEGATIVE", - "DECIMAL_NEGATIVE", - "DOUBLE_NEGATIVE", - "EXPONENT", - "STRING_LITERAL1", - "STRING_LITERAL2", - "STRING_LITERAL_LONG1", - "STRING_LITERAL_LONG2", - "ECHAR", - "NIL", - "ANON", - "PN_CHARS_U", - "VARNAME", - "PN_PREFIX", - "PN_LOCAL", - "PLX", - "PERCENT", - "HEX", - "PN_LOCAL_ESC", - "WS", - "COMMENTS"}); + std::vector{ + "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", + "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", + "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", + "T__25", "T__26", "T__27", "T__28", "BASE", "PREFIX", "SELECT", "DISTINCT", + "REDUCED", "AS", "CONSTRUCT", "WHERE", "DESCRIBE", "ASK", "FROM", + "NAMED", "GROUPBY", "GROUP_CONCAT", "HAVING", "ORDERBY", "INTERNALSORTBY", + "ASC", "DESC", "LIMIT", "OFFSET", "TEXTLIMIT", "VALUES", "LOAD", "SILENT", + "INTO", "CLEAR", "DROP", "CREATE", "ADD", "TO", "DATA", "MOVE", "COPY", + "INSERT", "DELETE", "WITH", "USING", "DEFAULT", "GRAPH", "ALL", "OPTIONAL", + "SERVICE", "BIND", "UNDEF", "MINUS", "UNION", "FILTER", "NOT", "IN", + "STR", "LANG", "LANGMATCHES", "DATATYPE", "BOUND", "IRI", "URI", "BNODE", + "RAND", "ABS", "CEIL", "FLOOR", "ROUND", "CONCAT", "STRLEN", "UCASE", + "LCASE", "ENCODE_FOR_URI", "FOR", "CONTAINS", "STRSTARTS", "STRENDS", + "STRBEFORE", "STRAFTER", "YEAR", "MONTH", "DAY", "HOURS", "MINUTES", + "SECONDS", "TIMEZONE", "TZ", "NOW", "UUID", "STRUUID", "SHA1", "SHA256", + "SHA384", "SHA512", "MD5", "COALESCE", "IF", "STRLANG", "STRDT", "SAMETERM", + "ISIRI", "ISURI", "ISBLANK", "ISLITERAL", "ISNUMERIC", "REGEX", "SUBSTR", + "REPLACE", "EXISTS", "COUNT", "SUM", "MIN", "MAX", "AVG", "STDEV", + "SAMPLE", "SEPARATOR", "IRI_REF", "PNAME_NS", "PNAME_LN", "BLANK_NODE_LABEL", + "VAR1", "VAR2", "LANGTAG", "PREFIX_LANGTAG", "INTEGER", "DECIMAL", + "DOUBLE", "INTEGER_POSITIVE", "DECIMAL_POSITIVE", "DOUBLE_POSITIVE", + "INTEGER_NEGATIVE", "DECIMAL_NEGATIVE", "DOUBLE_NEGATIVE", "EXPONENT", + "STRING_LITERAL1", "STRING_LITERAL2", "STRING_LITERAL_LONG1", "STRING_LITERAL_LONG2", + "ECHAR", "NIL", "ANON", "PN_CHARS_U", "VARNAME", "PN_CHARS", "PN_PREFIX", + "PN_LOCAL", "PLX", "PERCENT", "HEX", "PN_LOCAL_ESC", "PN_CHARS_BASE", + "DIGIT", "WS", "COMMENTS", "A", "B", "C", "D", "E", "F", "G", "H", + "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", + "W", "X", "Y", "Z" + }, + std::vector{ + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }, + std::vector{ + "DEFAULT_MODE" + }, + std::vector{ + "", "'*'", "'('", "')'", "'{'", "'}'", "';'", "'.'", "','", "'a'", + "'|'", "'/'", "'^'", "'+'", "'\\u003F'", "'!'", "'['", "']'", "'||'", + "'&&'", "'='", "'!='", "'<'", "'>'", "'<='", "'>='", "'-'", "'^^'", + "'true'", "'false'" + }, + std::vector{ + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "BASE", "PREFIX", + "SELECT", "DISTINCT", "REDUCED", "AS", "CONSTRUCT", "WHERE", "DESCRIBE", + "ASK", "FROM", "NAMED", "GROUPBY", "GROUP_CONCAT", "HAVING", "ORDERBY", + "INTERNALSORTBY", "ASC", "DESC", "LIMIT", "OFFSET", "TEXTLIMIT", "VALUES", + "LOAD", "SILENT", "INTO", "CLEAR", "DROP", "CREATE", "ADD", "TO", + "DATA", "MOVE", "COPY", "INSERT", "DELETE", "WITH", "USING", "DEFAULT", + "GRAPH", "ALL", "OPTIONAL", "SERVICE", "BIND", "UNDEF", "MINUS", "UNION", + "FILTER", "NOT", "IN", "STR", "LANG", "LANGMATCHES", "DATATYPE", "BOUND", + "IRI", "URI", "BNODE", "RAND", "ABS", "CEIL", "FLOOR", "ROUND", "CONCAT", + "STRLEN", "UCASE", "LCASE", "ENCODE_FOR_URI", "FOR", "CONTAINS", "STRSTARTS", + "STRENDS", "STRBEFORE", "STRAFTER", "YEAR", "MONTH", "DAY", "HOURS", + "MINUTES", "SECONDS", "TIMEZONE", "TZ", "NOW", "UUID", "STRUUID", + "SHA1", "SHA256", "SHA384", "SHA512", "MD5", "COALESCE", "IF", "STRLANG", + "STRDT", "SAMETERM", "ISIRI", "ISURI", "ISBLANK", "ISLITERAL", "ISNUMERIC", + "REGEX", "SUBSTR", "REPLACE", "EXISTS", "COUNT", "SUM", "MIN", "MAX", + "AVG", "STDEV", "SAMPLE", "SEPARATOR", "IRI_REF", "PNAME_NS", "PNAME_LN", + "BLANK_NODE_LABEL", "VAR1", "VAR2", "LANGTAG", "PREFIX_LANGTAG", "INTEGER", + "DECIMAL", "DOUBLE", "INTEGER_POSITIVE", "DECIMAL_POSITIVE", "DOUBLE_POSITIVE", + "INTEGER_NEGATIVE", "DECIMAL_NEGATIVE", "DOUBLE_NEGATIVE", "EXPONENT", + "STRING_LITERAL1", "STRING_LITERAL2", "STRING_LITERAL_LONG1", "STRING_LITERAL_LONG2", + "ECHAR", "NIL", "ANON", "PN_CHARS_U", "VARNAME", "PN_PREFIX", "PN_LOCAL", + "PLX", "PERCENT", "HEX", "PN_LOCAL_ESC", "WS", "COMMENTS" + } + ); static const int32_t serializedATNSegment[] = { - 4, 0, 176, 1598, 6, -1, 2, 0, 7, 0, 2, - 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, - 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, - 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, - 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, - 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, - 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, - 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, - 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, - 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, - 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, - 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, - 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, - 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, - 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, - 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, - 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, - 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, - 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, - 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, - 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, - 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, - 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, - 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, - 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, - 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, - 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, - 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, - 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, - 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, - 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, - 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, - 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, - 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, - 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, - 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, - 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, - 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, - 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, - 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, - 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, - 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, - 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, - 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, - 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, - 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, - 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, - 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, - 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, - 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, - 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, - 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, - 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, - 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, - 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, - 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, - 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, - 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, - 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, - 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, - 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, - 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, - 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, - 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, - 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, - 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, - 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, - 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, - 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, - 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, - 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, - 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, - 7, 196, 2, 197, 7, 197, 2, 198, 7, 198, 2, - 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, - 2, 202, 7, 202, 2, 203, 7, 203, 2, 204, 7, - 204, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, - 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, - 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, - 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, - 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, - 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, - 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, - 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, - 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, - 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, - 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, - 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, - 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, - 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, - 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, - 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, - 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, - 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, - 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, - 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, - 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, - 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, - 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, - 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, - 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, - 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, - 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, - 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, - 41, 1, 41, 1, 41, 4, 41, 568, 8, 41, 11, - 41, 12, 41, 569, 1, 41, 1, 41, 1, 41, 1, - 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, - 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, - 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, - 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, - 44, 1, 44, 1, 44, 1, 44, 4, 44, 601, 8, - 44, 11, 44, 12, 44, 602, 1, 44, 1, 44, 1, - 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, - 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 617, - 8, 45, 11, 45, 12, 45, 618, 1, 45, 1, 45, - 1, 45, 1, 45, 1, 45, 4, 45, 626, 8, 45, - 11, 45, 12, 45, 627, 1, 45, 1, 45, 1, 45, - 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, - 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, - 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, - 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, - 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, - 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, - 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, - 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, - 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, - 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, - 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, - 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, - 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, - 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, - 1, 58, 1, 59, 1, 59, 1, 59, 1, 60, 1, - 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, - 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, - 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, - 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, - 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, - 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, - 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, - 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, - 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, - 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, - 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, - 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, - 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, - 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, - 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, - 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, - 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, - 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, - 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, - 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, - 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, - 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, - 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, - 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, - 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, - 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, - 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, - 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, - 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, - 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, - 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, - 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, - 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, - 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, - 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, - 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, - 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, - 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, - 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, - 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, - 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, - 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, - 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, - 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, - 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, - 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, - 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, - 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, - 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, - 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, - 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, - 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, - 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, - 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, - 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, - 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, - 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, - 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, - 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, - 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, - 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, - 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, - 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, - 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, - 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, - 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, - 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, - 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, - 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, - 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, - 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, - 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, - 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, - 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, - 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, - 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, - 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, - 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, - 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, - 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, - 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, - 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, - 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, - 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, - 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, - 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, - 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, - 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, - 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, - 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, - 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, - 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, - 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, - 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, - 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, - 1, 141, 5, 141, 1239, 8, 141, 10, 141, 12, 141, - 1242, 9, 141, 1, 141, 1, 141, 1, 142, 3, 142, - 1247, 8, 142, 1, 142, 1, 142, 1, 143, 1, 143, - 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, - 144, 3, 144, 1259, 8, 144, 1, 144, 1, 144, 5, - 144, 1263, 8, 144, 10, 144, 12, 144, 1266, 9, 144, - 1, 144, 3, 144, 1269, 8, 144, 1, 145, 1, 145, - 1, 145, 1, 146, 1, 146, 1, 146, 1, 147, 1, - 147, 4, 147, 1279, 8, 147, 11, 147, 12, 147, 1280, - 1, 147, 1, 147, 1, 147, 4, 147, 1286, 8, 147, - 11, 147, 12, 147, 1287, 5, 147, 1290, 8, 147, 10, - 147, 12, 147, 1293, 9, 147, 1, 148, 1, 148, 1, - 148, 1, 149, 4, 149, 1299, 8, 149, 11, 149, 12, - 149, 1300, 1, 150, 5, 150, 1304, 8, 150, 10, 150, - 12, 150, 1307, 9, 150, 1, 150, 1, 150, 4, 150, - 1311, 8, 150, 11, 150, 12, 150, 1312, 1, 151, 4, - 151, 1316, 8, 151, 11, 151, 12, 151, 1317, 1, 151, - 1, 151, 5, 151, 1322, 8, 151, 10, 151, 12, 151, - 1325, 9, 151, 1, 151, 1, 151, 1, 151, 1, 151, - 4, 151, 1331, 8, 151, 11, 151, 12, 151, 1332, 1, - 151, 1, 151, 1, 151, 4, 151, 1338, 8, 151, 11, - 151, 12, 151, 1339, 1, 151, 1, 151, 3, 151, 1344, - 8, 151, 1, 152, 1, 152, 1, 152, 1, 153, 1, - 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 155, - 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, - 157, 1, 157, 1, 157, 1, 158, 1, 158, 3, 158, - 1366, 8, 158, 1, 158, 4, 158, 1369, 8, 158, 11, - 158, 12, 158, 1370, 1, 159, 1, 159, 1, 159, 5, - 159, 1376, 8, 159, 10, 159, 12, 159, 1379, 9, 159, - 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 5, - 160, 1386, 8, 160, 10, 160, 12, 160, 1389, 9, 160, - 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, - 161, 1, 161, 1, 161, 1, 161, 3, 161, 1400, 8, - 161, 1, 161, 1, 161, 3, 161, 1404, 8, 161, 5, - 161, 1406, 8, 161, 10, 161, 12, 161, 1409, 9, 161, - 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, - 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, - 3, 162, 1422, 8, 162, 1, 162, 1, 162, 3, 162, - 1426, 8, 162, 5, 162, 1428, 8, 162, 10, 162, 12, - 162, 1431, 9, 162, 1, 162, 1, 162, 1, 162, 1, - 162, 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, - 5, 164, 1442, 8, 164, 10, 164, 12, 164, 1445, 9, - 164, 1, 164, 1, 164, 1, 165, 1, 165, 5, 165, - 1451, 8, 165, 10, 165, 12, 165, 1454, 9, 165, 1, - 165, 1, 165, 1, 166, 1, 166, 3, 166, 1460, 8, - 166, 1, 167, 1, 167, 3, 167, 1464, 8, 167, 1, - 167, 1, 167, 1, 167, 5, 167, 1469, 8, 167, 10, - 167, 12, 167, 1472, 9, 167, 1, 168, 1, 168, 1, - 168, 1, 168, 3, 168, 1478, 8, 168, 1, 169, 1, - 169, 1, 169, 5, 169, 1483, 8, 169, 10, 169, 12, - 169, 1486, 9, 169, 1, 169, 3, 169, 1489, 8, 169, - 1, 170, 1, 170, 1, 170, 1, 170, 3, 170, 1495, - 8, 170, 1, 170, 1, 170, 1, 170, 5, 170, 1500, - 8, 170, 10, 170, 12, 170, 1503, 9, 170, 1, 170, - 1, 170, 1, 170, 3, 170, 1508, 8, 170, 3, 170, - 1510, 8, 170, 1, 171, 1, 171, 3, 171, 1514, 8, - 171, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, - 1, 173, 3, 173, 1522, 8, 173, 1, 174, 1, 174, - 1, 174, 1, 175, 1, 175, 1, 176, 1, 176, 1, - 177, 4, 177, 1532, 8, 177, 11, 177, 12, 177, 1533, - 1, 177, 1, 177, 1, 178, 1, 178, 5, 178, 1540, - 8, 178, 10, 178, 12, 178, 1543, 9, 178, 1, 178, - 1, 178, 1, 179, 1, 179, 1, 180, 1, 180, 1, - 181, 1, 181, 1, 182, 1, 182, 1, 183, 1, 183, - 1, 184, 1, 184, 1, 185, 1, 185, 1, 186, 1, - 186, 1, 187, 1, 187, 1, 188, 1, 188, 1, 189, - 1, 189, 1, 190, 1, 190, 1, 191, 1, 191, 1, - 192, 1, 192, 1, 193, 1, 193, 1, 194, 1, 194, - 1, 195, 1, 195, 1, 196, 1, 196, 1, 197, 1, - 197, 1, 198, 1, 198, 1, 199, 1, 199, 1, 200, - 1, 200, 1, 201, 1, 201, 1, 202, 1, 202, 1, - 203, 1, 203, 1, 204, 1, 204, 0, 0, 205, 1, - 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, - 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, - 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, - 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, - 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, - 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, - 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, - 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, - 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, - 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, - 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, - 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, - 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, - 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, - 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, - 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, - 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, - 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, - 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, - 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, - 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, - 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, - 122, 245, 123, 247, 124, 249, 125, 251, 126, 253, 127, - 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, - 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, - 277, 139, 279, 140, 281, 141, 283, 142, 285, 143, 287, - 144, 289, 145, 291, 146, 293, 147, 295, 148, 297, 149, - 299, 150, 301, 151, 303, 152, 305, 153, 307, 154, 309, - 155, 311, 156, 313, 157, 315, 158, 317, 159, 319, 160, - 321, 161, 323, 162, 325, 163, 327, 164, 329, 165, 331, - 166, 333, 167, 335, 168, 337, 0, 339, 169, 341, 170, - 343, 171, 345, 172, 347, 173, 349, 174, 351, 0, 353, - 0, 355, 175, 357, 176, 359, 0, 361, 0, 363, 0, - 365, 0, 367, 0, 369, 0, 371, 0, 373, 0, 375, - 0, 377, 0, 379, 0, 381, 0, 383, 0, 385, 0, - 387, 0, 389, 0, 391, 0, 393, 0, 395, 0, 397, - 0, 399, 0, 401, 0, 403, 0, 405, 0, 407, 0, - 409, 0, 1, 0, 41, 8, 0, 0, 32, 34, 34, - 60, 60, 62, 62, 92, 92, 94, 94, 96, 96, 123, - 125, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, - 101, 101, 2, 0, 43, 43, 45, 45, 4, 0, 10, - 10, 13, 13, 39, 39, 92, 92, 4, 0, 10, 10, - 13, 13, 34, 34, 92, 92, 2, 0, 39, 39, 92, - 92, 2, 0, 34, 34, 92, 92, 8, 0, 34, 34, - 39, 39, 92, 92, 98, 98, 102, 102, 110, 110, 114, - 114, 116, 116, 3, 0, 183, 183, 768, 879, 8255, 8256, - 2, 0, 46, 46, 58, 58, 2, 0, 65, 70, 97, - 102, 7, 0, 33, 33, 35, 47, 59, 59, 61, 61, - 63, 64, 95, 95, 126, 126, 13, 0, 65, 90, 97, - 122, 192, 214, 216, 246, 248, 767, 880, 893, 895, 8191, - 8204, 8205, 8304, 8591, 11264, 12271, 12289, 55295, 63744, 64975, 65008, - 65533, 3, 0, 9, 10, 13, 13, 32, 32, 2, 0, - 10, 10, 13, 13, 2, 0, 65, 65, 97, 97, 2, - 0, 66, 66, 98, 98, 2, 0, 67, 67, 99, 99, - 2, 0, 68, 68, 100, 100, 2, 0, 70, 70, 102, - 102, 2, 0, 71, 71, 103, 103, 2, 0, 72, 72, - 104, 104, 2, 0, 73, 73, 105, 105, 2, 0, 74, - 74, 106, 106, 2, 0, 75, 75, 107, 107, 2, 0, - 76, 76, 108, 108, 2, 0, 77, 77, 109, 109, 2, - 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, - 2, 0, 80, 80, 112, 112, 2, 0, 81, 81, 113, - 113, 2, 0, 82, 82, 114, 114, 2, 0, 83, 83, - 115, 115, 2, 0, 84, 84, 116, 116, 2, 0, 85, - 85, 117, 117, 2, 0, 86, 86, 118, 118, 2, 0, - 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, - 0, 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, - 1631, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, - 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, - 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, - 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, - 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, - 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, - 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, - 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, - 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, - 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, - 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, - 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, - 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, - 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, - 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, - 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, - 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, - 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, - 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, - 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, - 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, - 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, - 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, - 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, - 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, - 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, - 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, - 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, - 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, - 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, - 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, - 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, - 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, - 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, - 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, - 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, - 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, - 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, - 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, - 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, - 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, - 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, - 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, - 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, - 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, - 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, - 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, - 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, - 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, - 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, - 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, - 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, - 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, - 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, - 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, - 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, - 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, - 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, - 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, - 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, - 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, - 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, - 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, - 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, - 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, - 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, - 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, - 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, - 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, - 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, - 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, - 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, - 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, - 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, - 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, - 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, - 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, - 0, 283, 1, 0, 0, 0, 0, 285, 1, 0, 0, - 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, - 0, 0, 0, 291, 1, 0, 0, 0, 0, 293, 1, - 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, - 1, 0, 0, 0, 0, 299, 1, 0, 0, 0, 0, - 301, 1, 0, 0, 0, 0, 303, 1, 0, 0, 0, - 0, 305, 1, 0, 0, 0, 0, 307, 1, 0, 0, - 0, 0, 309, 1, 0, 0, 0, 0, 311, 1, 0, - 0, 0, 0, 313, 1, 0, 0, 0, 0, 315, 1, - 0, 0, 0, 0, 317, 1, 0, 0, 0, 0, 319, - 1, 0, 0, 0, 0, 321, 1, 0, 0, 0, 0, - 323, 1, 0, 0, 0, 0, 325, 1, 0, 0, 0, - 0, 327, 1, 0, 0, 0, 0, 329, 1, 0, 0, - 0, 0, 331, 1, 0, 0, 0, 0, 333, 1, 0, - 0, 0, 0, 335, 1, 0, 0, 0, 0, 339, 1, - 0, 0, 0, 0, 341, 1, 0, 0, 0, 0, 343, - 1, 0, 0, 0, 0, 345, 1, 0, 0, 0, 0, - 347, 1, 0, 0, 0, 0, 349, 1, 0, 0, 0, - 0, 355, 1, 0, 0, 0, 0, 357, 1, 0, 0, - 0, 1, 411, 1, 0, 0, 0, 3, 413, 1, 0, - 0, 0, 5, 415, 1, 0, 0, 0, 7, 417, 1, - 0, 0, 0, 9, 419, 1, 0, 0, 0, 11, 421, - 1, 0, 0, 0, 13, 423, 1, 0, 0, 0, 15, - 425, 1, 0, 0, 0, 17, 427, 1, 0, 0, 0, - 19, 429, 1, 0, 0, 0, 21, 431, 1, 0, 0, - 0, 23, 433, 1, 0, 0, 0, 25, 435, 1, 0, - 0, 0, 27, 437, 1, 0, 0, 0, 29, 439, 1, - 0, 0, 0, 31, 441, 1, 0, 0, 0, 33, 443, - 1, 0, 0, 0, 35, 445, 1, 0, 0, 0, 37, - 448, 1, 0, 0, 0, 39, 451, 1, 0, 0, 0, - 41, 453, 1, 0, 0, 0, 43, 456, 1, 0, 0, - 0, 45, 458, 1, 0, 0, 0, 47, 460, 1, 0, - 0, 0, 49, 463, 1, 0, 0, 0, 51, 466, 1, - 0, 0, 0, 53, 468, 1, 0, 0, 0, 55, 471, - 1, 0, 0, 0, 57, 476, 1, 0, 0, 0, 59, - 482, 1, 0, 0, 0, 61, 487, 1, 0, 0, 0, - 63, 494, 1, 0, 0, 0, 65, 501, 1, 0, 0, - 0, 67, 510, 1, 0, 0, 0, 69, 518, 1, 0, - 0, 0, 71, 521, 1, 0, 0, 0, 73, 531, 1, - 0, 0, 0, 75, 537, 1, 0, 0, 0, 77, 546, - 1, 0, 0, 0, 79, 550, 1, 0, 0, 0, 81, - 555, 1, 0, 0, 0, 83, 561, 1, 0, 0, 0, - 85, 574, 1, 0, 0, 0, 87, 587, 1, 0, 0, - 0, 89, 594, 1, 0, 0, 0, 91, 607, 1, 0, - 0, 0, 93, 632, 1, 0, 0, 0, 95, 636, 1, - 0, 0, 0, 97, 641, 1, 0, 0, 0, 99, 647, - 1, 0, 0, 0, 101, 654, 1, 0, 0, 0, 103, - 664, 1, 0, 0, 0, 105, 671, 1, 0, 0, 0, - 107, 676, 1, 0, 0, 0, 109, 683, 1, 0, 0, - 0, 111, 688, 1, 0, 0, 0, 113, 694, 1, 0, - 0, 0, 115, 699, 1, 0, 0, 0, 117, 706, 1, - 0, 0, 0, 119, 710, 1, 0, 0, 0, 121, 713, - 1, 0, 0, 0, 123, 718, 1, 0, 0, 0, 125, - 723, 1, 0, 0, 0, 127, 728, 1, 0, 0, 0, - 129, 735, 1, 0, 0, 0, 131, 742, 1, 0, 0, - 0, 133, 747, 1, 0, 0, 0, 135, 753, 1, 0, - 0, 0, 137, 761, 1, 0, 0, 0, 139, 767, 1, - 0, 0, 0, 141, 771, 1, 0, 0, 0, 143, 780, - 1, 0, 0, 0, 145, 788, 1, 0, 0, 0, 147, - 793, 1, 0, 0, 0, 149, 799, 1, 0, 0, 0, - 151, 805, 1, 0, 0, 0, 153, 811, 1, 0, 0, - 0, 155, 818, 1, 0, 0, 0, 157, 822, 1, 0, - 0, 0, 159, 825, 1, 0, 0, 0, 161, 829, 1, - 0, 0, 0, 163, 834, 1, 0, 0, 0, 165, 846, - 1, 0, 0, 0, 167, 855, 1, 0, 0, 0, 169, - 861, 1, 0, 0, 0, 171, 865, 1, 0, 0, 0, - 173, 869, 1, 0, 0, 0, 175, 875, 1, 0, 0, - 0, 177, 880, 1, 0, 0, 0, 179, 884, 1, 0, - 0, 0, 181, 889, 1, 0, 0, 0, 183, 895, 1, - 0, 0, 0, 185, 901, 1, 0, 0, 0, 187, 908, - 1, 0, 0, 0, 189, 915, 1, 0, 0, 0, 191, - 921, 1, 0, 0, 0, 193, 927, 1, 0, 0, 0, - 195, 942, 1, 0, 0, 0, 197, 946, 1, 0, 0, - 0, 199, 955, 1, 0, 0, 0, 201, 965, 1, 0, - 0, 0, 203, 973, 1, 0, 0, 0, 205, 983, 1, - 0, 0, 0, 207, 992, 1, 0, 0, 0, 209, 997, - 1, 0, 0, 0, 211, 1003, 1, 0, 0, 0, 213, - 1007, 1, 0, 0, 0, 215, 1013, 1, 0, 0, 0, - 217, 1021, 1, 0, 0, 0, 219, 1029, 1, 0, 0, - 0, 221, 1038, 1, 0, 0, 0, 223, 1041, 1, 0, - 0, 0, 225, 1045, 1, 0, 0, 0, 227, 1050, 1, - 0, 0, 0, 229, 1058, 1, 0, 0, 0, 231, 1063, - 1, 0, 0, 0, 233, 1070, 1, 0, 0, 0, 235, - 1077, 1, 0, 0, 0, 237, 1084, 1, 0, 0, 0, - 239, 1088, 1, 0, 0, 0, 241, 1097, 1, 0, 0, - 0, 243, 1100, 1, 0, 0, 0, 245, 1108, 1, 0, - 0, 0, 247, 1114, 1, 0, 0, 0, 249, 1123, 1, - 0, 0, 0, 251, 1129, 1, 0, 0, 0, 253, 1135, - 1, 0, 0, 0, 255, 1143, 1, 0, 0, 0, 257, - 1153, 1, 0, 0, 0, 259, 1163, 1, 0, 0, 0, - 261, 1169, 1, 0, 0, 0, 263, 1176, 1, 0, 0, - 0, 265, 1184, 1, 0, 0, 0, 267, 1191, 1, 0, - 0, 0, 269, 1197, 1, 0, 0, 0, 271, 1201, 1, - 0, 0, 0, 273, 1205, 1, 0, 0, 0, 275, 1209, - 1, 0, 0, 0, 277, 1213, 1, 0, 0, 0, 279, - 1219, 1, 0, 0, 0, 281, 1226, 1, 0, 0, 0, - 283, 1236, 1, 0, 0, 0, 285, 1246, 1, 0, 0, - 0, 287, 1250, 1, 0, 0, 0, 289, 1253, 1, 0, - 0, 0, 291, 1270, 1, 0, 0, 0, 293, 1273, 1, - 0, 0, 0, 295, 1276, 1, 0, 0, 0, 297, 1294, - 1, 0, 0, 0, 299, 1298, 1, 0, 0, 0, 301, - 1305, 1, 0, 0, 0, 303, 1343, 1, 0, 0, 0, - 305, 1345, 1, 0, 0, 0, 307, 1348, 1, 0, 0, - 0, 309, 1351, 1, 0, 0, 0, 311, 1354, 1, 0, - 0, 0, 313, 1357, 1, 0, 0, 0, 315, 1360, 1, - 0, 0, 0, 317, 1363, 1, 0, 0, 0, 319, 1372, - 1, 0, 0, 0, 321, 1382, 1, 0, 0, 0, 323, - 1392, 1, 0, 0, 0, 325, 1414, 1, 0, 0, 0, - 327, 1436, 1, 0, 0, 0, 329, 1439, 1, 0, 0, - 0, 331, 1448, 1, 0, 0, 0, 333, 1459, 1, 0, - 0, 0, 335, 1463, 1, 0, 0, 0, 337, 1477, 1, - 0, 0, 0, 339, 1479, 1, 0, 0, 0, 341, 1494, - 1, 0, 0, 0, 343, 1513, 1, 0, 0, 0, 345, - 1515, 1, 0, 0, 0, 347, 1521, 1, 0, 0, 0, - 349, 1523, 1, 0, 0, 0, 351, 1526, 1, 0, 0, - 0, 353, 1528, 1, 0, 0, 0, 355, 1531, 1, 0, - 0, 0, 357, 1537, 1, 0, 0, 0, 359, 1546, 1, - 0, 0, 0, 361, 1548, 1, 0, 0, 0, 363, 1550, - 1, 0, 0, 0, 365, 1552, 1, 0, 0, 0, 367, - 1554, 1, 0, 0, 0, 369, 1556, 1, 0, 0, 0, - 371, 1558, 1, 0, 0, 0, 373, 1560, 1, 0, 0, - 0, 375, 1562, 1, 0, 0, 0, 377, 1564, 1, 0, - 0, 0, 379, 1566, 1, 0, 0, 0, 381, 1568, 1, - 0, 0, 0, 383, 1570, 1, 0, 0, 0, 385, 1572, - 1, 0, 0, 0, 387, 1574, 1, 0, 0, 0, 389, - 1576, 1, 0, 0, 0, 391, 1578, 1, 0, 0, 0, - 393, 1580, 1, 0, 0, 0, 395, 1582, 1, 0, 0, - 0, 397, 1584, 1, 0, 0, 0, 399, 1586, 1, 0, - 0, 0, 401, 1588, 1, 0, 0, 0, 403, 1590, 1, - 0, 0, 0, 405, 1592, 1, 0, 0, 0, 407, 1594, - 1, 0, 0, 0, 409, 1596, 1, 0, 0, 0, 411, - 412, 5, 42, 0, 0, 412, 2, 1, 0, 0, 0, - 413, 414, 5, 40, 0, 0, 414, 4, 1, 0, 0, - 0, 415, 416, 5, 41, 0, 0, 416, 6, 1, 0, - 0, 0, 417, 418, 5, 123, 0, 0, 418, 8, 1, - 0, 0, 0, 419, 420, 5, 125, 0, 0, 420, 10, - 1, 0, 0, 0, 421, 422, 5, 59, 0, 0, 422, - 12, 1, 0, 0, 0, 423, 424, 5, 46, 0, 0, - 424, 14, 1, 0, 0, 0, 425, 426, 5, 44, 0, - 0, 426, 16, 1, 0, 0, 0, 427, 428, 5, 97, - 0, 0, 428, 18, 1, 0, 0, 0, 429, 430, 5, - 124, 0, 0, 430, 20, 1, 0, 0, 0, 431, 432, - 5, 47, 0, 0, 432, 22, 1, 0, 0, 0, 433, - 434, 5, 94, 0, 0, 434, 24, 1, 0, 0, 0, - 435, 436, 5, 43, 0, 0, 436, 26, 1, 0, 0, - 0, 437, 438, 5, 63, 0, 0, 438, 28, 1, 0, - 0, 0, 439, 440, 5, 33, 0, 0, 440, 30, 1, - 0, 0, 0, 441, 442, 5, 91, 0, 0, 442, 32, - 1, 0, 0, 0, 443, 444, 5, 93, 0, 0, 444, - 34, 1, 0, 0, 0, 445, 446, 5, 124, 0, 0, - 446, 447, 5, 124, 0, 0, 447, 36, 1, 0, 0, - 0, 448, 449, 5, 38, 0, 0, 449, 450, 5, 38, - 0, 0, 450, 38, 1, 0, 0, 0, 451, 452, 5, - 61, 0, 0, 452, 40, 1, 0, 0, 0, 453, 454, - 5, 33, 0, 0, 454, 455, 5, 61, 0, 0, 455, - 42, 1, 0, 0, 0, 456, 457, 5, 60, 0, 0, - 457, 44, 1, 0, 0, 0, 458, 459, 5, 62, 0, - 0, 459, 46, 1, 0, 0, 0, 460, 461, 5, 60, - 0, 0, 461, 462, 5, 61, 0, 0, 462, 48, 1, - 0, 0, 0, 463, 464, 5, 62, 0, 0, 464, 465, - 5, 61, 0, 0, 465, 50, 1, 0, 0, 0, 466, - 467, 5, 45, 0, 0, 467, 52, 1, 0, 0, 0, - 468, 469, 5, 94, 0, 0, 469, 470, 5, 94, 0, - 0, 470, 54, 1, 0, 0, 0, 471, 472, 5, 116, - 0, 0, 472, 473, 5, 114, 0, 0, 473, 474, 5, - 117, 0, 0, 474, 475, 5, 101, 0, 0, 475, 56, - 1, 0, 0, 0, 476, 477, 5, 102, 0, 0, 477, - 478, 5, 97, 0, 0, 478, 479, 5, 108, 0, 0, - 479, 480, 5, 115, 0, 0, 480, 481, 5, 101, 0, - 0, 481, 58, 1, 0, 0, 0, 482, 483, 3, 361, - 180, 0, 483, 484, 3, 359, 179, 0, 484, 485, 3, - 395, 197, 0, 485, 486, 3, 367, 183, 0, 486, 60, - 1, 0, 0, 0, 487, 488, 3, 389, 194, 0, 488, - 489, 3, 393, 196, 0, 489, 490, 3, 367, 183, 0, - 490, 491, 3, 369, 184, 0, 491, 492, 3, 375, 187, - 0, 492, 493, 3, 405, 202, 0, 493, 62, 1, 0, - 0, 0, 494, 495, 3, 395, 197, 0, 495, 496, 3, - 367, 183, 0, 496, 497, 3, 381, 190, 0, 497, 498, - 3, 367, 183, 0, 498, 499, 3, 363, 181, 0, 499, - 500, 3, 397, 198, 0, 500, 64, 1, 0, 0, 0, - 501, 502, 3, 365, 182, 0, 502, 503, 3, 375, 187, - 0, 503, 504, 3, 395, 197, 0, 504, 505, 3, 397, - 198, 0, 505, 506, 3, 375, 187, 0, 506, 507, 3, - 385, 192, 0, 507, 508, 3, 363, 181, 0, 508, 509, - 3, 397, 198, 0, 509, 66, 1, 0, 0, 0, 510, - 511, 3, 393, 196, 0, 511, 512, 3, 367, 183, 0, - 512, 513, 3, 365, 182, 0, 513, 514, 3, 399, 199, - 0, 514, 515, 3, 363, 181, 0, 515, 516, 3, 367, - 183, 0, 516, 517, 3, 365, 182, 0, 517, 68, 1, - 0, 0, 0, 518, 519, 3, 359, 179, 0, 519, 520, - 3, 395, 197, 0, 520, 70, 1, 0, 0, 0, 521, - 522, 3, 363, 181, 0, 522, 523, 3, 387, 193, 0, - 523, 524, 3, 385, 192, 0, 524, 525, 3, 395, 197, - 0, 525, 526, 3, 397, 198, 0, 526, 527, 3, 393, - 196, 0, 527, 528, 3, 399, 199, 0, 528, 529, 3, - 363, 181, 0, 529, 530, 3, 397, 198, 0, 530, 72, - 1, 0, 0, 0, 531, 532, 3, 403, 201, 0, 532, - 533, 3, 373, 186, 0, 533, 534, 3, 367, 183, 0, - 534, 535, 3, 393, 196, 0, 535, 536, 3, 367, 183, - 0, 536, 74, 1, 0, 0, 0, 537, 538, 3, 365, - 182, 0, 538, 539, 3, 367, 183, 0, 539, 540, 3, - 395, 197, 0, 540, 541, 3, 363, 181, 0, 541, 542, - 3, 393, 196, 0, 542, 543, 3, 375, 187, 0, 543, - 544, 3, 361, 180, 0, 544, 545, 3, 367, 183, 0, - 545, 76, 1, 0, 0, 0, 546, 547, 3, 359, 179, - 0, 547, 548, 3, 395, 197, 0, 548, 549, 3, 379, - 189, 0, 549, 78, 1, 0, 0, 0, 550, 551, 3, - 369, 184, 0, 551, 552, 3, 393, 196, 0, 552, 553, - 3, 387, 193, 0, 553, 554, 3, 383, 191, 0, 554, - 80, 1, 0, 0, 0, 555, 556, 3, 385, 192, 0, - 556, 557, 3, 359, 179, 0, 557, 558, 3, 383, 191, - 0, 558, 559, 3, 367, 183, 0, 559, 560, 3, 365, - 182, 0, 560, 82, 1, 0, 0, 0, 561, 562, 3, - 371, 185, 0, 562, 563, 3, 393, 196, 0, 563, 564, - 3, 387, 193, 0, 564, 565, 3, 399, 199, 0, 565, - 567, 3, 389, 194, 0, 566, 568, 3, 355, 177, 0, - 567, 566, 1, 0, 0, 0, 568, 569, 1, 0, 0, - 0, 569, 567, 1, 0, 0, 0, 569, 570, 1, 0, - 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 3, - 361, 180, 0, 572, 573, 3, 407, 203, 0, 573, 84, - 1, 0, 0, 0, 574, 575, 3, 371, 185, 0, 575, - 576, 3, 393, 196, 0, 576, 577, 3, 387, 193, 0, - 577, 578, 3, 399, 199, 0, 578, 579, 3, 389, 194, - 0, 579, 580, 5, 95, 0, 0, 580, 581, 3, 363, - 181, 0, 581, 582, 3, 387, 193, 0, 582, 583, 3, - 385, 192, 0, 583, 584, 3, 363, 181, 0, 584, 585, - 3, 359, 179, 0, 585, 586, 3, 397, 198, 0, 586, - 86, 1, 0, 0, 0, 587, 588, 3, 373, 186, 0, - 588, 589, 3, 359, 179, 0, 589, 590, 3, 401, 200, - 0, 590, 591, 3, 375, 187, 0, 591, 592, 3, 385, - 192, 0, 592, 593, 3, 371, 185, 0, 593, 88, 1, - 0, 0, 0, 594, 595, 3, 387, 193, 0, 595, 596, - 3, 393, 196, 0, 596, 597, 3, 365, 182, 0, 597, - 598, 3, 367, 183, 0, 598, 600, 3, 393, 196, 0, - 599, 601, 3, 355, 177, 0, 600, 599, 1, 0, 0, - 0, 601, 602, 1, 0, 0, 0, 602, 600, 1, 0, - 0, 0, 602, 603, 1, 0, 0, 0, 603, 604, 1, - 0, 0, 0, 604, 605, 3, 361, 180, 0, 605, 606, - 3, 407, 203, 0, 606, 90, 1, 0, 0, 0, 607, - 608, 3, 375, 187, 0, 608, 609, 3, 385, 192, 0, - 609, 610, 3, 397, 198, 0, 610, 611, 3, 367, 183, - 0, 611, 612, 3, 393, 196, 0, 612, 613, 3, 385, - 192, 0, 613, 614, 3, 359, 179, 0, 614, 616, 3, - 381, 190, 0, 615, 617, 3, 355, 177, 0, 616, 615, - 1, 0, 0, 0, 617, 618, 1, 0, 0, 0, 618, - 616, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, - 619, 620, 1, 0, 0, 0, 620, 621, 3, 395, 197, - 0, 621, 622, 3, 387, 193, 0, 622, 623, 3, 393, - 196, 0, 623, 625, 3, 397, 198, 0, 624, 626, 3, - 355, 177, 0, 625, 624, 1, 0, 0, 0, 626, 627, - 1, 0, 0, 0, 627, 625, 1, 0, 0, 0, 627, - 628, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, - 629, 630, 3, 361, 180, 0, 630, 631, 3, 407, 203, - 0, 631, 92, 1, 0, 0, 0, 632, 633, 3, 359, - 179, 0, 633, 634, 3, 395, 197, 0, 634, 635, 3, - 363, 181, 0, 635, 94, 1, 0, 0, 0, 636, 637, - 3, 365, 182, 0, 637, 638, 3, 367, 183, 0, 638, - 639, 3, 395, 197, 0, 639, 640, 3, 363, 181, 0, - 640, 96, 1, 0, 0, 0, 641, 642, 3, 381, 190, - 0, 642, 643, 3, 375, 187, 0, 643, 644, 3, 383, - 191, 0, 644, 645, 3, 375, 187, 0, 645, 646, 3, - 397, 198, 0, 646, 98, 1, 0, 0, 0, 647, 648, - 3, 387, 193, 0, 648, 649, 3, 369, 184, 0, 649, - 650, 3, 369, 184, 0, 650, 651, 3, 395, 197, 0, - 651, 652, 3, 367, 183, 0, 652, 653, 3, 397, 198, - 0, 653, 100, 1, 0, 0, 0, 654, 655, 3, 397, - 198, 0, 655, 656, 3, 367, 183, 0, 656, 657, 3, - 405, 202, 0, 657, 658, 3, 397, 198, 0, 658, 659, - 3, 381, 190, 0, 659, 660, 3, 375, 187, 0, 660, - 661, 3, 383, 191, 0, 661, 662, 3, 375, 187, 0, - 662, 663, 3, 397, 198, 0, 663, 102, 1, 0, 0, - 0, 664, 665, 3, 401, 200, 0, 665, 666, 3, 359, - 179, 0, 666, 667, 3, 381, 190, 0, 667, 668, 3, - 399, 199, 0, 668, 669, 3, 367, 183, 0, 669, 670, - 3, 395, 197, 0, 670, 104, 1, 0, 0, 0, 671, - 672, 3, 381, 190, 0, 672, 673, 3, 387, 193, 0, - 673, 674, 3, 359, 179, 0, 674, 675, 3, 365, 182, - 0, 675, 106, 1, 0, 0, 0, 676, 677, 3, 395, - 197, 0, 677, 678, 3, 375, 187, 0, 678, 679, 3, - 381, 190, 0, 679, 680, 3, 367, 183, 0, 680, 681, - 3, 385, 192, 0, 681, 682, 3, 397, 198, 0, 682, - 108, 1, 0, 0, 0, 683, 684, 3, 375, 187, 0, - 684, 685, 3, 385, 192, 0, 685, 686, 3, 397, 198, - 0, 686, 687, 3, 387, 193, 0, 687, 110, 1, 0, - 0, 0, 688, 689, 3, 363, 181, 0, 689, 690, 3, - 381, 190, 0, 690, 691, 3, 367, 183, 0, 691, 692, - 3, 359, 179, 0, 692, 693, 3, 393, 196, 0, 693, - 112, 1, 0, 0, 0, 694, 695, 3, 365, 182, 0, - 695, 696, 3, 393, 196, 0, 696, 697, 3, 387, 193, - 0, 697, 698, 3, 389, 194, 0, 698, 114, 1, 0, - 0, 0, 699, 700, 3, 363, 181, 0, 700, 701, 3, - 393, 196, 0, 701, 702, 3, 367, 183, 0, 702, 703, - 3, 359, 179, 0, 703, 704, 3, 397, 198, 0, 704, - 705, 3, 367, 183, 0, 705, 116, 1, 0, 0, 0, - 706, 707, 3, 359, 179, 0, 707, 708, 3, 365, 182, - 0, 708, 709, 3, 365, 182, 0, 709, 118, 1, 0, - 0, 0, 710, 711, 3, 397, 198, 0, 711, 712, 3, - 387, 193, 0, 712, 120, 1, 0, 0, 0, 713, 714, - 3, 365, 182, 0, 714, 715, 3, 359, 179, 0, 715, - 716, 3, 397, 198, 0, 716, 717, 3, 359, 179, 0, - 717, 122, 1, 0, 0, 0, 718, 719, 3, 383, 191, - 0, 719, 720, 3, 387, 193, 0, 720, 721, 3, 401, - 200, 0, 721, 722, 3, 367, 183, 0, 722, 124, 1, - 0, 0, 0, 723, 724, 3, 363, 181, 0, 724, 725, - 3, 387, 193, 0, 725, 726, 3, 389, 194, 0, 726, - 727, 3, 407, 203, 0, 727, 126, 1, 0, 0, 0, - 728, 729, 3, 375, 187, 0, 729, 730, 3, 385, 192, - 0, 730, 731, 3, 395, 197, 0, 731, 732, 3, 367, - 183, 0, 732, 733, 3, 393, 196, 0, 733, 734, 3, - 397, 198, 0, 734, 128, 1, 0, 0, 0, 735, 736, - 3, 365, 182, 0, 736, 737, 3, 367, 183, 0, 737, - 738, 3, 381, 190, 0, 738, 739, 3, 367, 183, 0, - 739, 740, 3, 397, 198, 0, 740, 741, 3, 367, 183, - 0, 741, 130, 1, 0, 0, 0, 742, 743, 3, 403, - 201, 0, 743, 744, 3, 375, 187, 0, 744, 745, 3, - 397, 198, 0, 745, 746, 3, 373, 186, 0, 746, 132, - 1, 0, 0, 0, 747, 748, 3, 399, 199, 0, 748, - 749, 3, 395, 197, 0, 749, 750, 3, 375, 187, 0, - 750, 751, 3, 385, 192, 0, 751, 752, 3, 371, 185, - 0, 752, 134, 1, 0, 0, 0, 753, 754, 3, 365, - 182, 0, 754, 755, 3, 367, 183, 0, 755, 756, 3, - 369, 184, 0, 756, 757, 3, 359, 179, 0, 757, 758, - 3, 399, 199, 0, 758, 759, 3, 381, 190, 0, 759, - 760, 3, 397, 198, 0, 760, 136, 1, 0, 0, 0, - 761, 762, 3, 371, 185, 0, 762, 763, 3, 393, 196, - 0, 763, 764, 3, 359, 179, 0, 764, 765, 3, 389, - 194, 0, 765, 766, 3, 373, 186, 0, 766, 138, 1, - 0, 0, 0, 767, 768, 3, 359, 179, 0, 768, 769, - 3, 381, 190, 0, 769, 770, 3, 381, 190, 0, 770, - 140, 1, 0, 0, 0, 771, 772, 3, 387, 193, 0, - 772, 773, 3, 389, 194, 0, 773, 774, 3, 397, 198, - 0, 774, 775, 3, 375, 187, 0, 775, 776, 3, 387, - 193, 0, 776, 777, 3, 385, 192, 0, 777, 778, 3, - 359, 179, 0, 778, 779, 3, 381, 190, 0, 779, 142, - 1, 0, 0, 0, 780, 781, 3, 395, 197, 0, 781, - 782, 3, 367, 183, 0, 782, 783, 3, 393, 196, 0, - 783, 784, 3, 401, 200, 0, 784, 785, 3, 375, 187, - 0, 785, 786, 3, 363, 181, 0, 786, 787, 3, 367, - 183, 0, 787, 144, 1, 0, 0, 0, 788, 789, 3, - 361, 180, 0, 789, 790, 3, 375, 187, 0, 790, 791, - 3, 385, 192, 0, 791, 792, 3, 365, 182, 0, 792, - 146, 1, 0, 0, 0, 793, 794, 3, 399, 199, 0, - 794, 795, 3, 385, 192, 0, 795, 796, 3, 365, 182, - 0, 796, 797, 3, 367, 183, 0, 797, 798, 3, 369, - 184, 0, 798, 148, 1, 0, 0, 0, 799, 800, 3, - 383, 191, 0, 800, 801, 3, 375, 187, 0, 801, 802, - 3, 385, 192, 0, 802, 803, 3, 399, 199, 0, 803, - 804, 3, 395, 197, 0, 804, 150, 1, 0, 0, 0, - 805, 806, 3, 399, 199, 0, 806, 807, 3, 385, 192, - 0, 807, 808, 3, 375, 187, 0, 808, 809, 3, 387, - 193, 0, 809, 810, 3, 385, 192, 0, 810, 152, 1, - 0, 0, 0, 811, 812, 3, 369, 184, 0, 812, 813, - 3, 375, 187, 0, 813, 814, 3, 381, 190, 0, 814, - 815, 3, 397, 198, 0, 815, 816, 3, 367, 183, 0, - 816, 817, 3, 393, 196, 0, 817, 154, 1, 0, 0, - 0, 818, 819, 3, 385, 192, 0, 819, 820, 3, 387, - 193, 0, 820, 821, 3, 397, 198, 0, 821, 156, 1, - 0, 0, 0, 822, 823, 3, 375, 187, 0, 823, 824, - 3, 385, 192, 0, 824, 158, 1, 0, 0, 0, 825, - 826, 3, 395, 197, 0, 826, 827, 3, 397, 198, 0, - 827, 828, 3, 393, 196, 0, 828, 160, 1, 0, 0, - 0, 829, 830, 3, 381, 190, 0, 830, 831, 3, 359, - 179, 0, 831, 832, 3, 385, 192, 0, 832, 833, 3, - 371, 185, 0, 833, 162, 1, 0, 0, 0, 834, 835, - 3, 381, 190, 0, 835, 836, 3, 359, 179, 0, 836, - 837, 3, 385, 192, 0, 837, 838, 3, 371, 185, 0, - 838, 839, 3, 383, 191, 0, 839, 840, 3, 359, 179, - 0, 840, 841, 3, 397, 198, 0, 841, 842, 3, 363, - 181, 0, 842, 843, 3, 373, 186, 0, 843, 844, 3, - 367, 183, 0, 844, 845, 3, 395, 197, 0, 845, 164, - 1, 0, 0, 0, 846, 847, 3, 365, 182, 0, 847, - 848, 3, 359, 179, 0, 848, 849, 3, 397, 198, 0, - 849, 850, 3, 359, 179, 0, 850, 851, 3, 397, 198, - 0, 851, 852, 3, 407, 203, 0, 852, 853, 3, 389, - 194, 0, 853, 854, 3, 367, 183, 0, 854, 166, 1, - 0, 0, 0, 855, 856, 3, 361, 180, 0, 856, 857, - 3, 387, 193, 0, 857, 858, 3, 399, 199, 0, 858, - 859, 3, 385, 192, 0, 859, 860, 3, 365, 182, 0, - 860, 168, 1, 0, 0, 0, 861, 862, 3, 375, 187, - 0, 862, 863, 3, 393, 196, 0, 863, 864, 3, 375, - 187, 0, 864, 170, 1, 0, 0, 0, 865, 866, 3, - 399, 199, 0, 866, 867, 3, 393, 196, 0, 867, 868, - 3, 375, 187, 0, 868, 172, 1, 0, 0, 0, 869, - 870, 3, 361, 180, 0, 870, 871, 3, 385, 192, 0, - 871, 872, 3, 387, 193, 0, 872, 873, 3, 365, 182, - 0, 873, 874, 3, 367, 183, 0, 874, 174, 1, 0, - 0, 0, 875, 876, 3, 393, 196, 0, 876, 877, 3, - 359, 179, 0, 877, 878, 3, 385, 192, 0, 878, 879, - 3, 365, 182, 0, 879, 176, 1, 0, 0, 0, 880, - 881, 3, 359, 179, 0, 881, 882, 3, 361, 180, 0, - 882, 883, 3, 395, 197, 0, 883, 178, 1, 0, 0, - 0, 884, 885, 3, 363, 181, 0, 885, 886, 3, 367, - 183, 0, 886, 887, 3, 375, 187, 0, 887, 888, 3, - 381, 190, 0, 888, 180, 1, 0, 0, 0, 889, 890, - 3, 369, 184, 0, 890, 891, 3, 381, 190, 0, 891, - 892, 3, 387, 193, 0, 892, 893, 3, 387, 193, 0, - 893, 894, 3, 393, 196, 0, 894, 182, 1, 0, 0, - 0, 895, 896, 3, 393, 196, 0, 896, 897, 3, 387, - 193, 0, 897, 898, 3, 399, 199, 0, 898, 899, 3, - 385, 192, 0, 899, 900, 3, 365, 182, 0, 900, 184, - 1, 0, 0, 0, 901, 902, 3, 363, 181, 0, 902, - 903, 3, 387, 193, 0, 903, 904, 3, 385, 192, 0, - 904, 905, 3, 363, 181, 0, 905, 906, 3, 359, 179, - 0, 906, 907, 3, 397, 198, 0, 907, 186, 1, 0, - 0, 0, 908, 909, 3, 395, 197, 0, 909, 910, 3, - 397, 198, 0, 910, 911, 3, 393, 196, 0, 911, 912, - 3, 381, 190, 0, 912, 913, 3, 367, 183, 0, 913, - 914, 3, 385, 192, 0, 914, 188, 1, 0, 0, 0, - 915, 916, 3, 399, 199, 0, 916, 917, 3, 363, 181, - 0, 917, 918, 3, 359, 179, 0, 918, 919, 3, 395, - 197, 0, 919, 920, 3, 367, 183, 0, 920, 190, 1, - 0, 0, 0, 921, 922, 3, 381, 190, 0, 922, 923, - 3, 363, 181, 0, 923, 924, 3, 359, 179, 0, 924, - 925, 3, 395, 197, 0, 925, 926, 3, 367, 183, 0, - 926, 192, 1, 0, 0, 0, 927, 928, 3, 367, 183, - 0, 928, 929, 3, 385, 192, 0, 929, 930, 3, 363, - 181, 0, 930, 931, 3, 387, 193, 0, 931, 932, 3, - 365, 182, 0, 932, 933, 3, 367, 183, 0, 933, 934, - 5, 95, 0, 0, 934, 935, 3, 369, 184, 0, 935, - 936, 3, 387, 193, 0, 936, 937, 3, 393, 196, 0, - 937, 938, 5, 95, 0, 0, 938, 939, 3, 399, 199, - 0, 939, 940, 3, 393, 196, 0, 940, 941, 3, 375, - 187, 0, 941, 194, 1, 0, 0, 0, 942, 943, 3, - 369, 184, 0, 943, 944, 3, 387, 193, 0, 944, 945, - 3, 393, 196, 0, 945, 196, 1, 0, 0, 0, 946, - 947, 3, 363, 181, 0, 947, 948, 3, 387, 193, 0, - 948, 949, 3, 385, 192, 0, 949, 950, 3, 397, 198, - 0, 950, 951, 3, 359, 179, 0, 951, 952, 3, 375, - 187, 0, 952, 953, 3, 385, 192, 0, 953, 954, 3, - 395, 197, 0, 954, 198, 1, 0, 0, 0, 955, 956, - 3, 395, 197, 0, 956, 957, 3, 397, 198, 0, 957, - 958, 3, 393, 196, 0, 958, 959, 3, 395, 197, 0, - 959, 960, 3, 397, 198, 0, 960, 961, 3, 359, 179, - 0, 961, 962, 3, 393, 196, 0, 962, 963, 3, 397, - 198, 0, 963, 964, 3, 395, 197, 0, 964, 200, 1, - 0, 0, 0, 965, 966, 3, 395, 197, 0, 966, 967, - 3, 397, 198, 0, 967, 968, 3, 393, 196, 0, 968, - 969, 3, 367, 183, 0, 969, 970, 3, 385, 192, 0, - 970, 971, 3, 365, 182, 0, 971, 972, 3, 395, 197, - 0, 972, 202, 1, 0, 0, 0, 973, 974, 3, 395, - 197, 0, 974, 975, 3, 397, 198, 0, 975, 976, 3, - 393, 196, 0, 976, 977, 3, 361, 180, 0, 977, 978, - 3, 367, 183, 0, 978, 979, 3, 369, 184, 0, 979, - 980, 3, 387, 193, 0, 980, 981, 3, 393, 196, 0, - 981, 982, 3, 367, 183, 0, 982, 204, 1, 0, 0, - 0, 983, 984, 3, 395, 197, 0, 984, 985, 3, 397, - 198, 0, 985, 986, 3, 393, 196, 0, 986, 987, 3, - 359, 179, 0, 987, 988, 3, 369, 184, 0, 988, 989, - 3, 397, 198, 0, 989, 990, 3, 367, 183, 0, 990, - 991, 3, 393, 196, 0, 991, 206, 1, 0, 0, 0, - 992, 993, 3, 407, 203, 0, 993, 994, 3, 367, 183, - 0, 994, 995, 3, 359, 179, 0, 995, 996, 3, 393, - 196, 0, 996, 208, 1, 0, 0, 0, 997, 998, 3, - 383, 191, 0, 998, 999, 3, 387, 193, 0, 999, 1000, - 3, 385, 192, 0, 1000, 1001, 3, 397, 198, 0, 1001, - 1002, 3, 373, 186, 0, 1002, 210, 1, 0, 0, 0, - 1003, 1004, 3, 365, 182, 0, 1004, 1005, 3, 359, 179, - 0, 1005, 1006, 3, 407, 203, 0, 1006, 212, 1, 0, - 0, 0, 1007, 1008, 3, 373, 186, 0, 1008, 1009, 3, - 387, 193, 0, 1009, 1010, 3, 399, 199, 0, 1010, 1011, - 3, 393, 196, 0, 1011, 1012, 3, 395, 197, 0, 1012, - 214, 1, 0, 0, 0, 1013, 1014, 3, 383, 191, 0, - 1014, 1015, 3, 375, 187, 0, 1015, 1016, 3, 385, 192, - 0, 1016, 1017, 3, 399, 199, 0, 1017, 1018, 3, 397, - 198, 0, 1018, 1019, 3, 367, 183, 0, 1019, 1020, 3, - 395, 197, 0, 1020, 216, 1, 0, 0, 0, 1021, 1022, - 3, 395, 197, 0, 1022, 1023, 3, 367, 183, 0, 1023, - 1024, 3, 363, 181, 0, 1024, 1025, 3, 387, 193, 0, - 1025, 1026, 3, 385, 192, 0, 1026, 1027, 3, 365, 182, - 0, 1027, 1028, 3, 395, 197, 0, 1028, 218, 1, 0, - 0, 0, 1029, 1030, 3, 397, 198, 0, 1030, 1031, 3, - 375, 187, 0, 1031, 1032, 3, 383, 191, 0, 1032, 1033, - 3, 367, 183, 0, 1033, 1034, 3, 409, 204, 0, 1034, - 1035, 3, 387, 193, 0, 1035, 1036, 3, 385, 192, 0, - 1036, 1037, 3, 367, 183, 0, 1037, 220, 1, 0, 0, - 0, 1038, 1039, 3, 397, 198, 0, 1039, 1040, 3, 409, - 204, 0, 1040, 222, 1, 0, 0, 0, 1041, 1042, 3, - 385, 192, 0, 1042, 1043, 3, 387, 193, 0, 1043, 1044, - 3, 403, 201, 0, 1044, 224, 1, 0, 0, 0, 1045, - 1046, 3, 399, 199, 0, 1046, 1047, 3, 399, 199, 0, - 1047, 1048, 3, 375, 187, 0, 1048, 1049, 3, 365, 182, - 0, 1049, 226, 1, 0, 0, 0, 1050, 1051, 3, 395, - 197, 0, 1051, 1052, 3, 397, 198, 0, 1052, 1053, 3, - 393, 196, 0, 1053, 1054, 3, 399, 199, 0, 1054, 1055, - 3, 399, 199, 0, 1055, 1056, 3, 375, 187, 0, 1056, - 1057, 3, 365, 182, 0, 1057, 228, 1, 0, 0, 0, - 1058, 1059, 3, 395, 197, 0, 1059, 1060, 3, 373, 186, - 0, 1060, 1061, 3, 359, 179, 0, 1061, 1062, 5, 49, - 0, 0, 1062, 230, 1, 0, 0, 0, 1063, 1064, 3, - 395, 197, 0, 1064, 1065, 3, 373, 186, 0, 1065, 1066, - 3, 359, 179, 0, 1066, 1067, 5, 50, 0, 0, 1067, - 1068, 5, 53, 0, 0, 1068, 1069, 5, 54, 0, 0, - 1069, 232, 1, 0, 0, 0, 1070, 1071, 3, 395, 197, - 0, 1071, 1072, 3, 373, 186, 0, 1072, 1073, 3, 359, - 179, 0, 1073, 1074, 5, 51, 0, 0, 1074, 1075, 5, - 56, 0, 0, 1075, 1076, 5, 52, 0, 0, 1076, 234, - 1, 0, 0, 0, 1077, 1078, 3, 395, 197, 0, 1078, - 1079, 3, 373, 186, 0, 1079, 1080, 3, 359, 179, 0, - 1080, 1081, 5, 53, 0, 0, 1081, 1082, 5, 49, 0, - 0, 1082, 1083, 5, 50, 0, 0, 1083, 236, 1, 0, - 0, 0, 1084, 1085, 3, 383, 191, 0, 1085, 1086, 3, - 365, 182, 0, 1086, 1087, 5, 53, 0, 0, 1087, 238, - 1, 0, 0, 0, 1088, 1089, 3, 363, 181, 0, 1089, - 1090, 3, 387, 193, 0, 1090, 1091, 3, 359, 179, 0, - 1091, 1092, 3, 381, 190, 0, 1092, 1093, 3, 367, 183, - 0, 1093, 1094, 3, 395, 197, 0, 1094, 1095, 3, 363, - 181, 0, 1095, 1096, 3, 367, 183, 0, 1096, 240, 1, - 0, 0, 0, 1097, 1098, 3, 375, 187, 0, 1098, 1099, - 3, 369, 184, 0, 1099, 242, 1, 0, 0, 0, 1100, - 1101, 3, 395, 197, 0, 1101, 1102, 3, 397, 198, 0, - 1102, 1103, 3, 393, 196, 0, 1103, 1104, 3, 381, 190, - 0, 1104, 1105, 3, 359, 179, 0, 1105, 1106, 3, 385, - 192, 0, 1106, 1107, 3, 371, 185, 0, 1107, 244, 1, - 0, 0, 0, 1108, 1109, 3, 395, 197, 0, 1109, 1110, - 3, 397, 198, 0, 1110, 1111, 3, 393, 196, 0, 1111, - 1112, 3, 365, 182, 0, 1112, 1113, 3, 397, 198, 0, - 1113, 246, 1, 0, 0, 0, 1114, 1115, 3, 395, 197, - 0, 1115, 1116, 3, 359, 179, 0, 1116, 1117, 3, 383, - 191, 0, 1117, 1118, 3, 367, 183, 0, 1118, 1119, 3, - 397, 198, 0, 1119, 1120, 3, 367, 183, 0, 1120, 1121, - 3, 393, 196, 0, 1121, 1122, 3, 383, 191, 0, 1122, - 248, 1, 0, 0, 0, 1123, 1124, 3, 375, 187, 0, - 1124, 1125, 3, 395, 197, 0, 1125, 1126, 3, 375, 187, - 0, 1126, 1127, 3, 393, 196, 0, 1127, 1128, 3, 375, - 187, 0, 1128, 250, 1, 0, 0, 0, 1129, 1130, 3, - 375, 187, 0, 1130, 1131, 3, 395, 197, 0, 1131, 1132, - 3, 399, 199, 0, 1132, 1133, 3, 393, 196, 0, 1133, - 1134, 3, 375, 187, 0, 1134, 252, 1, 0, 0, 0, - 1135, 1136, 3, 375, 187, 0, 1136, 1137, 3, 395, 197, - 0, 1137, 1138, 3, 361, 180, 0, 1138, 1139, 3, 381, - 190, 0, 1139, 1140, 3, 359, 179, 0, 1140, 1141, 3, - 385, 192, 0, 1141, 1142, 3, 379, 189, 0, 1142, 254, - 1, 0, 0, 0, 1143, 1144, 3, 375, 187, 0, 1144, - 1145, 3, 395, 197, 0, 1145, 1146, 3, 381, 190, 0, - 1146, 1147, 3, 375, 187, 0, 1147, 1148, 3, 397, 198, - 0, 1148, 1149, 3, 367, 183, 0, 1149, 1150, 3, 393, - 196, 0, 1150, 1151, 3, 359, 179, 0, 1151, 1152, 3, - 381, 190, 0, 1152, 256, 1, 0, 0, 0, 1153, 1154, - 3, 375, 187, 0, 1154, 1155, 3, 395, 197, 0, 1155, - 1156, 3, 385, 192, 0, 1156, 1157, 3, 399, 199, 0, - 1157, 1158, 3, 383, 191, 0, 1158, 1159, 3, 367, 183, - 0, 1159, 1160, 3, 393, 196, 0, 1160, 1161, 3, 375, - 187, 0, 1161, 1162, 3, 363, 181, 0, 1162, 258, 1, - 0, 0, 0, 1163, 1164, 3, 393, 196, 0, 1164, 1165, - 3, 367, 183, 0, 1165, 1166, 3, 371, 185, 0, 1166, - 1167, 3, 367, 183, 0, 1167, 1168, 3, 405, 202, 0, - 1168, 260, 1, 0, 0, 0, 1169, 1170, 3, 395, 197, - 0, 1170, 1171, 3, 399, 199, 0, 1171, 1172, 3, 361, - 180, 0, 1172, 1173, 3, 395, 197, 0, 1173, 1174, 3, - 397, 198, 0, 1174, 1175, 3, 393, 196, 0, 1175, 262, - 1, 0, 0, 0, 1176, 1177, 3, 393, 196, 0, 1177, - 1178, 3, 367, 183, 0, 1178, 1179, 3, 389, 194, 0, - 1179, 1180, 3, 381, 190, 0, 1180, 1181, 3, 359, 179, - 0, 1181, 1182, 3, 363, 181, 0, 1182, 1183, 3, 367, - 183, 0, 1183, 264, 1, 0, 0, 0, 1184, 1185, 3, - 367, 183, 0, 1185, 1186, 3, 405, 202, 0, 1186, 1187, - 3, 375, 187, 0, 1187, 1188, 3, 395, 197, 0, 1188, - 1189, 3, 397, 198, 0, 1189, 1190, 3, 395, 197, 0, - 1190, 266, 1, 0, 0, 0, 1191, 1192, 3, 363, 181, - 0, 1192, 1193, 3, 387, 193, 0, 1193, 1194, 3, 399, - 199, 0, 1194, 1195, 3, 385, 192, 0, 1195, 1196, 3, - 397, 198, 0, 1196, 268, 1, 0, 0, 0, 1197, 1198, - 3, 395, 197, 0, 1198, 1199, 3, 399, 199, 0, 1199, - 1200, 3, 383, 191, 0, 1200, 270, 1, 0, 0, 0, - 1201, 1202, 3, 383, 191, 0, 1202, 1203, 3, 375, 187, - 0, 1203, 1204, 3, 385, 192, 0, 1204, 272, 1, 0, - 0, 0, 1205, 1206, 3, 383, 191, 0, 1206, 1207, 3, - 359, 179, 0, 1207, 1208, 3, 405, 202, 0, 1208, 274, - 1, 0, 0, 0, 1209, 1210, 3, 359, 179, 0, 1210, - 1211, 3, 401, 200, 0, 1211, 1212, 3, 371, 185, 0, - 1212, 276, 1, 0, 0, 0, 1213, 1214, 3, 395, 197, - 0, 1214, 1215, 3, 397, 198, 0, 1215, 1216, 3, 365, - 182, 0, 1216, 1217, 3, 367, 183, 0, 1217, 1218, 3, - 401, 200, 0, 1218, 278, 1, 0, 0, 0, 1219, 1220, - 3, 395, 197, 0, 1220, 1221, 3, 359, 179, 0, 1221, - 1222, 3, 383, 191, 0, 1222, 1223, 3, 389, 194, 0, - 1223, 1224, 3, 381, 190, 0, 1224, 1225, 3, 367, 183, - 0, 1225, 280, 1, 0, 0, 0, 1226, 1227, 3, 395, - 197, 0, 1227, 1228, 3, 367, 183, 0, 1228, 1229, 3, - 389, 194, 0, 1229, 1230, 3, 359, 179, 0, 1230, 1231, - 3, 393, 196, 0, 1231, 1232, 3, 359, 179, 0, 1232, - 1233, 3, 397, 198, 0, 1233, 1234, 3, 387, 193, 0, - 1234, 1235, 3, 393, 196, 0, 1235, 282, 1, 0, 0, - 0, 1236, 1240, 5, 60, 0, 0, 1237, 1239, 8, 0, - 0, 0, 1238, 1237, 1, 0, 0, 0, 1239, 1242, 1, - 0, 0, 0, 1240, 1238, 1, 0, 0, 0, 1240, 1241, - 1, 0, 0, 0, 1241, 1243, 1, 0, 0, 0, 1242, - 1240, 1, 0, 0, 0, 1243, 1244, 5, 62, 0, 0, - 1244, 284, 1, 0, 0, 0, 1245, 1247, 3, 339, 169, - 0, 1246, 1245, 1, 0, 0, 0, 1246, 1247, 1, 0, - 0, 0, 1247, 1248, 1, 0, 0, 0, 1248, 1249, 5, - 58, 0, 0, 1249, 286, 1, 0, 0, 0, 1250, 1251, - 3, 285, 142, 0, 1251, 1252, 3, 341, 170, 0, 1252, - 288, 1, 0, 0, 0, 1253, 1254, 5, 95, 0, 0, - 1254, 1255, 5, 58, 0, 0, 1255, 1258, 1, 0, 0, - 0, 1256, 1259, 3, 333, 166, 0, 1257, 1259, 3, 353, - 176, 0, 1258, 1256, 1, 0, 0, 0, 1258, 1257, 1, - 0, 0, 0, 1259, 1268, 1, 0, 0, 0, 1260, 1263, - 3, 337, 168, 0, 1261, 1263, 5, 46, 0, 0, 1262, - 1260, 1, 0, 0, 0, 1262, 1261, 1, 0, 0, 0, - 1263, 1266, 1, 0, 0, 0, 1264, 1262, 1, 0, 0, - 0, 1264, 1265, 1, 0, 0, 0, 1265, 1267, 1, 0, - 0, 0, 1266, 1264, 1, 0, 0, 0, 1267, 1269, 3, - 337, 168, 0, 1268, 1264, 1, 0, 0, 0, 1268, 1269, - 1, 0, 0, 0, 1269, 290, 1, 0, 0, 0, 1270, - 1271, 5, 63, 0, 0, 1271, 1272, 3, 335, 167, 0, - 1272, 292, 1, 0, 0, 0, 1273, 1274, 5, 36, 0, - 0, 1274, 1275, 3, 335, 167, 0, 1275, 294, 1, 0, - 0, 0, 1276, 1278, 5, 64, 0, 0, 1277, 1279, 7, - 1, 0, 0, 1278, 1277, 1, 0, 0, 0, 1279, 1280, - 1, 0, 0, 0, 1280, 1278, 1, 0, 0, 0, 1280, - 1281, 1, 0, 0, 0, 1281, 1291, 1, 0, 0, 0, - 1282, 1285, 5, 45, 0, 0, 1283, 1286, 7, 1, 0, - 0, 1284, 1286, 3, 353, 176, 0, 1285, 1283, 1, 0, - 0, 0, 1285, 1284, 1, 0, 0, 0, 1286, 1287, 1, - 0, 0, 0, 1287, 1285, 1, 0, 0, 0, 1287, 1288, - 1, 0, 0, 0, 1288, 1290, 1, 0, 0, 0, 1289, - 1282, 1, 0, 0, 0, 1290, 1293, 1, 0, 0, 0, - 1291, 1289, 1, 0, 0, 0, 1291, 1292, 1, 0, 0, - 0, 1292, 296, 1, 0, 0, 0, 1293, 1291, 1, 0, - 0, 0, 1294, 1295, 3, 295, 147, 0, 1295, 1296, 5, - 64, 0, 0, 1296, 298, 1, 0, 0, 0, 1297, 1299, - 3, 353, 176, 0, 1298, 1297, 1, 0, 0, 0, 1299, - 1300, 1, 0, 0, 0, 1300, 1298, 1, 0, 0, 0, - 1300, 1301, 1, 0, 0, 0, 1301, 300, 1, 0, 0, - 0, 1302, 1304, 3, 353, 176, 0, 1303, 1302, 1, 0, - 0, 0, 1304, 1307, 1, 0, 0, 0, 1305, 1303, 1, - 0, 0, 0, 1305, 1306, 1, 0, 0, 0, 1306, 1308, - 1, 0, 0, 0, 1307, 1305, 1, 0, 0, 0, 1308, - 1310, 5, 46, 0, 0, 1309, 1311, 3, 353, 176, 0, - 1310, 1309, 1, 0, 0, 0, 1311, 1312, 1, 0, 0, - 0, 1312, 1310, 1, 0, 0, 0, 1312, 1313, 1, 0, - 0, 0, 1313, 302, 1, 0, 0, 0, 1314, 1316, 3, - 353, 176, 0, 1315, 1314, 1, 0, 0, 0, 1316, 1317, - 1, 0, 0, 0, 1317, 1315, 1, 0, 0, 0, 1317, - 1318, 1, 0, 0, 0, 1318, 1319, 1, 0, 0, 0, - 1319, 1323, 5, 46, 0, 0, 1320, 1322, 3, 353, 176, - 0, 1321, 1320, 1, 0, 0, 0, 1322, 1325, 1, 0, - 0, 0, 1323, 1321, 1, 0, 0, 0, 1323, 1324, 1, - 0, 0, 0, 1324, 1326, 1, 0, 0, 0, 1325, 1323, - 1, 0, 0, 0, 1326, 1327, 3, 317, 158, 0, 1327, - 1344, 1, 0, 0, 0, 1328, 1330, 5, 46, 0, 0, - 1329, 1331, 3, 353, 176, 0, 1330, 1329, 1, 0, 0, - 0, 1331, 1332, 1, 0, 0, 0, 1332, 1330, 1, 0, - 0, 0, 1332, 1333, 1, 0, 0, 0, 1333, 1334, 1, - 0, 0, 0, 1334, 1335, 3, 317, 158, 0, 1335, 1344, - 1, 0, 0, 0, 1336, 1338, 3, 353, 176, 0, 1337, - 1336, 1, 0, 0, 0, 1338, 1339, 1, 0, 0, 0, - 1339, 1337, 1, 0, 0, 0, 1339, 1340, 1, 0, 0, - 0, 1340, 1341, 1, 0, 0, 0, 1341, 1342, 3, 317, - 158, 0, 1342, 1344, 1, 0, 0, 0, 1343, 1315, 1, - 0, 0, 0, 1343, 1328, 1, 0, 0, 0, 1343, 1337, - 1, 0, 0, 0, 1344, 304, 1, 0, 0, 0, 1345, - 1346, 5, 43, 0, 0, 1346, 1347, 3, 299, 149, 0, - 1347, 306, 1, 0, 0, 0, 1348, 1349, 5, 43, 0, - 0, 1349, 1350, 3, 301, 150, 0, 1350, 308, 1, 0, - 0, 0, 1351, 1352, 5, 43, 0, 0, 1352, 1353, 3, - 303, 151, 0, 1353, 310, 1, 0, 0, 0, 1354, 1355, - 5, 45, 0, 0, 1355, 1356, 3, 299, 149, 0, 1356, - 312, 1, 0, 0, 0, 1357, 1358, 5, 45, 0, 0, - 1358, 1359, 3, 301, 150, 0, 1359, 314, 1, 0, 0, - 0, 1360, 1361, 5, 45, 0, 0, 1361, 1362, 3, 303, - 151, 0, 1362, 316, 1, 0, 0, 0, 1363, 1365, 7, - 2, 0, 0, 1364, 1366, 7, 3, 0, 0, 1365, 1364, - 1, 0, 0, 0, 1365, 1366, 1, 0, 0, 0, 1366, - 1368, 1, 0, 0, 0, 1367, 1369, 3, 353, 176, 0, - 1368, 1367, 1, 0, 0, 0, 1369, 1370, 1, 0, 0, - 0, 1370, 1368, 1, 0, 0, 0, 1370, 1371, 1, 0, - 0, 0, 1371, 318, 1, 0, 0, 0, 1372, 1377, 5, - 39, 0, 0, 1373, 1376, 8, 4, 0, 0, 1374, 1376, - 3, 327, 163, 0, 1375, 1373, 1, 0, 0, 0, 1375, - 1374, 1, 0, 0, 0, 1376, 1379, 1, 0, 0, 0, - 1377, 1375, 1, 0, 0, 0, 1377, 1378, 1, 0, 0, - 0, 1378, 1380, 1, 0, 0, 0, 1379, 1377, 1, 0, - 0, 0, 1380, 1381, 5, 39, 0, 0, 1381, 320, 1, - 0, 0, 0, 1382, 1387, 5, 34, 0, 0, 1383, 1386, - 8, 5, 0, 0, 1384, 1386, 3, 327, 163, 0, 1385, - 1383, 1, 0, 0, 0, 1385, 1384, 1, 0, 0, 0, - 1386, 1389, 1, 0, 0, 0, 1387, 1385, 1, 0, 0, - 0, 1387, 1388, 1, 0, 0, 0, 1388, 1390, 1, 0, - 0, 0, 1389, 1387, 1, 0, 0, 0, 1390, 1391, 5, - 34, 0, 0, 1391, 322, 1, 0, 0, 0, 1392, 1393, - 5, 39, 0, 0, 1393, 1394, 5, 39, 0, 0, 1394, - 1395, 5, 39, 0, 0, 1395, 1407, 1, 0, 0, 0, - 1396, 1400, 5, 39, 0, 0, 1397, 1398, 5, 39, 0, - 0, 1398, 1400, 5, 39, 0, 0, 1399, 1396, 1, 0, - 0, 0, 1399, 1397, 1, 0, 0, 0, 1399, 1400, 1, - 0, 0, 0, 1400, 1403, 1, 0, 0, 0, 1401, 1404, - 8, 6, 0, 0, 1402, 1404, 3, 327, 163, 0, 1403, - 1401, 1, 0, 0, 0, 1403, 1402, 1, 0, 0, 0, - 1404, 1406, 1, 0, 0, 0, 1405, 1399, 1, 0, 0, - 0, 1406, 1409, 1, 0, 0, 0, 1407, 1405, 1, 0, - 0, 0, 1407, 1408, 1, 0, 0, 0, 1408, 1410, 1, - 0, 0, 0, 1409, 1407, 1, 0, 0, 0, 1410, 1411, - 5, 39, 0, 0, 1411, 1412, 5, 39, 0, 0, 1412, - 1413, 5, 39, 0, 0, 1413, 324, 1, 0, 0, 0, - 1414, 1415, 5, 34, 0, 0, 1415, 1416, 5, 34, 0, - 0, 1416, 1417, 5, 34, 0, 0, 1417, 1429, 1, 0, - 0, 0, 1418, 1422, 5, 34, 0, 0, 1419, 1420, 5, - 34, 0, 0, 1420, 1422, 5, 34, 0, 0, 1421, 1418, - 1, 0, 0, 0, 1421, 1419, 1, 0, 0, 0, 1421, - 1422, 1, 0, 0, 0, 1422, 1425, 1, 0, 0, 0, - 1423, 1426, 8, 7, 0, 0, 1424, 1426, 3, 327, 163, - 0, 1425, 1423, 1, 0, 0, 0, 1425, 1424, 1, 0, - 0, 0, 1426, 1428, 1, 0, 0, 0, 1427, 1421, 1, - 0, 0, 0, 1428, 1431, 1, 0, 0, 0, 1429, 1427, - 1, 0, 0, 0, 1429, 1430, 1, 0, 0, 0, 1430, - 1432, 1, 0, 0, 0, 1431, 1429, 1, 0, 0, 0, - 1432, 1433, 5, 34, 0, 0, 1433, 1434, 5, 34, 0, - 0, 1434, 1435, 5, 34, 0, 0, 1435, 326, 1, 0, - 0, 0, 1436, 1437, 5, 92, 0, 0, 1437, 1438, 7, - 8, 0, 0, 1438, 328, 1, 0, 0, 0, 1439, 1443, - 5, 40, 0, 0, 1440, 1442, 3, 355, 177, 0, 1441, - 1440, 1, 0, 0, 0, 1442, 1445, 1, 0, 0, 0, - 1443, 1441, 1, 0, 0, 0, 1443, 1444, 1, 0, 0, - 0, 1444, 1446, 1, 0, 0, 0, 1445, 1443, 1, 0, - 0, 0, 1446, 1447, 5, 41, 0, 0, 1447, 330, 1, - 0, 0, 0, 1448, 1452, 5, 91, 0, 0, 1449, 1451, - 3, 355, 177, 0, 1450, 1449, 1, 0, 0, 0, 1451, - 1454, 1, 0, 0, 0, 1452, 1450, 1, 0, 0, 0, - 1452, 1453, 1, 0, 0, 0, 1453, 1455, 1, 0, 0, - 0, 1454, 1452, 1, 0, 0, 0, 1455, 1456, 5, 93, - 0, 0, 1456, 332, 1, 0, 0, 0, 1457, 1460, 3, - 351, 175, 0, 1458, 1460, 5, 95, 0, 0, 1459, 1457, - 1, 0, 0, 0, 1459, 1458, 1, 0, 0, 0, 1460, - 334, 1, 0, 0, 0, 1461, 1464, 3, 333, 166, 0, - 1462, 1464, 3, 353, 176, 0, 1463, 1461, 1, 0, 0, - 0, 1463, 1462, 1, 0, 0, 0, 1464, 1470, 1, 0, - 0, 0, 1465, 1469, 3, 333, 166, 0, 1466, 1469, 3, - 353, 176, 0, 1467, 1469, 7, 9, 0, 0, 1468, 1465, - 1, 0, 0, 0, 1468, 1466, 1, 0, 0, 0, 1468, - 1467, 1, 0, 0, 0, 1469, 1472, 1, 0, 0, 0, - 1470, 1468, 1, 0, 0, 0, 1470, 1471, 1, 0, 0, - 0, 1471, 336, 1, 0, 0, 0, 1472, 1470, 1, 0, - 0, 0, 1473, 1478, 3, 333, 166, 0, 1474, 1478, 5, - 45, 0, 0, 1475, 1478, 3, 353, 176, 0, 1476, 1478, - 7, 9, 0, 0, 1477, 1473, 1, 0, 0, 0, 1477, - 1474, 1, 0, 0, 0, 1477, 1475, 1, 0, 0, 0, - 1477, 1476, 1, 0, 0, 0, 1478, 338, 1, 0, 0, - 0, 1479, 1488, 3, 351, 175, 0, 1480, 1483, 3, 337, - 168, 0, 1481, 1483, 5, 46, 0, 0, 1482, 1480, 1, - 0, 0, 0, 1482, 1481, 1, 0, 0, 0, 1483, 1486, - 1, 0, 0, 0, 1484, 1482, 1, 0, 0, 0, 1484, - 1485, 1, 0, 0, 0, 1485, 1487, 1, 0, 0, 0, - 1486, 1484, 1, 0, 0, 0, 1487, 1489, 3, 337, 168, - 0, 1488, 1484, 1, 0, 0, 0, 1488, 1489, 1, 0, - 0, 0, 1489, 340, 1, 0, 0, 0, 1490, 1495, 3, - 333, 166, 0, 1491, 1495, 5, 58, 0, 0, 1492, 1495, - 3, 353, 176, 0, 1493, 1495, 3, 343, 171, 0, 1494, - 1490, 1, 0, 0, 0, 1494, 1491, 1, 0, 0, 0, - 1494, 1492, 1, 0, 0, 0, 1494, 1493, 1, 0, 0, - 0, 1495, 1509, 1, 0, 0, 0, 1496, 1500, 3, 337, - 168, 0, 1497, 1500, 7, 10, 0, 0, 1498, 1500, 3, - 343, 171, 0, 1499, 1496, 1, 0, 0, 0, 1499, 1497, - 1, 0, 0, 0, 1499, 1498, 1, 0, 0, 0, 1500, - 1503, 1, 0, 0, 0, 1501, 1499, 1, 0, 0, 0, - 1501, 1502, 1, 0, 0, 0, 1502, 1507, 1, 0, 0, - 0, 1503, 1501, 1, 0, 0, 0, 1504, 1508, 3, 337, - 168, 0, 1505, 1508, 5, 58, 0, 0, 1506, 1508, 3, - 343, 171, 0, 1507, 1504, 1, 0, 0, 0, 1507, 1505, - 1, 0, 0, 0, 1507, 1506, 1, 0, 0, 0, 1508, - 1510, 1, 0, 0, 0, 1509, 1501, 1, 0, 0, 0, - 1509, 1510, 1, 0, 0, 0, 1510, 342, 1, 0, 0, - 0, 1511, 1514, 3, 345, 172, 0, 1512, 1514, 3, 349, - 174, 0, 1513, 1511, 1, 0, 0, 0, 1513, 1512, 1, - 0, 0, 0, 1514, 344, 1, 0, 0, 0, 1515, 1516, - 5, 37, 0, 0, 1516, 1517, 3, 347, 173, 0, 1517, - 1518, 3, 347, 173, 0, 1518, 346, 1, 0, 0, 0, - 1519, 1522, 3, 353, 176, 0, 1520, 1522, 7, 11, 0, - 0, 1521, 1519, 1, 0, 0, 0, 1521, 1520, 1, 0, - 0, 0, 1522, 348, 1, 0, 0, 0, 1523, 1524, 5, - 92, 0, 0, 1524, 1525, 7, 12, 0, 0, 1525, 350, - 1, 0, 0, 0, 1526, 1527, 7, 13, 0, 0, 1527, - 352, 1, 0, 0, 0, 1528, 1529, 2, 48, 57, 0, - 1529, 354, 1, 0, 0, 0, 1530, 1532, 7, 14, 0, - 0, 1531, 1530, 1, 0, 0, 0, 1532, 1533, 1, 0, - 0, 0, 1533, 1531, 1, 0, 0, 0, 1533, 1534, 1, - 0, 0, 0, 1534, 1535, 1, 0, 0, 0, 1535, 1536, - 6, 177, 0, 0, 1536, 356, 1, 0, 0, 0, 1537, - 1541, 5, 35, 0, 0, 1538, 1540, 8, 15, 0, 0, - 1539, 1538, 1, 0, 0, 0, 1540, 1543, 1, 0, 0, - 0, 1541, 1539, 1, 0, 0, 0, 1541, 1542, 1, 0, - 0, 0, 1542, 1544, 1, 0, 0, 0, 1543, 1541, 1, - 0, 0, 0, 1544, 1545, 6, 178, 0, 0, 1545, 358, - 1, 0, 0, 0, 1546, 1547, 7, 16, 0, 0, 1547, - 360, 1, 0, 0, 0, 1548, 1549, 7, 17, 0, 0, - 1549, 362, 1, 0, 0, 0, 1550, 1551, 7, 18, 0, - 0, 1551, 364, 1, 0, 0, 0, 1552, 1553, 7, 19, - 0, 0, 1553, 366, 1, 0, 0, 0, 1554, 1555, 7, - 2, 0, 0, 1555, 368, 1, 0, 0, 0, 1556, 1557, - 7, 20, 0, 0, 1557, 370, 1, 0, 0, 0, 1558, - 1559, 7, 21, 0, 0, 1559, 372, 1, 0, 0, 0, - 1560, 1561, 7, 22, 0, 0, 1561, 374, 1, 0, 0, - 0, 1562, 1563, 7, 23, 0, 0, 1563, 376, 1, 0, - 0, 0, 1564, 1565, 7, 24, 0, 0, 1565, 378, 1, - 0, 0, 0, 1566, 1567, 7, 25, 0, 0, 1567, 380, - 1, 0, 0, 0, 1568, 1569, 7, 26, 0, 0, 1569, - 382, 1, 0, 0, 0, 1570, 1571, 7, 27, 0, 0, - 1571, 384, 1, 0, 0, 0, 1572, 1573, 7, 28, 0, - 0, 1573, 386, 1, 0, 0, 0, 1574, 1575, 7, 29, - 0, 0, 1575, 388, 1, 0, 0, 0, 1576, 1577, 7, - 30, 0, 0, 1577, 390, 1, 0, 0, 0, 1578, 1579, - 7, 31, 0, 0, 1579, 392, 1, 0, 0, 0, 1580, - 1581, 7, 32, 0, 0, 1581, 394, 1, 0, 0, 0, - 1582, 1583, 7, 33, 0, 0, 1583, 396, 1, 0, 0, - 0, 1584, 1585, 7, 34, 0, 0, 1585, 398, 1, 0, - 0, 0, 1586, 1587, 7, 35, 0, 0, 1587, 400, 1, - 0, 0, 0, 1588, 1589, 7, 36, 0, 0, 1589, 402, - 1, 0, 0, 0, 1590, 1591, 7, 37, 0, 0, 1591, - 404, 1, 0, 0, 0, 1592, 1593, 7, 38, 0, 0, - 1593, 406, 1, 0, 0, 0, 1594, 1595, 7, 39, 0, - 0, 1595, 408, 1, 0, 0, 0, 1596, 1597, 7, 40, - 0, 0, 1597, 410, 1, 0, 0, 0, 54, 0, 569, - 602, 618, 627, 1240, 1246, 1258, 1262, 1264, 1268, 1280, 1285, - 1287, 1291, 1300, 1305, 1312, 1317, 1323, 1332, 1339, 1343, 1365, - 1370, 1375, 1377, 1385, 1387, 1399, 1403, 1407, 1421, 1425, 1429, - 1443, 1452, 1459, 1463, 1468, 1470, 1477, 1482, 1484, 1488, 1494, - 1499, 1501, 1507, 1509, 1513, 1521, 1533, 1541, 1, 6, 0, - 0}; - staticData->serializedATN = antlr4::atn::SerializedATNView( - serializedATNSegment, - sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); + 4,0,176,1598,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6, + 7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2, + 14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2, + 21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2, + 28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2, + 35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2, + 42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2, + 49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2, + 56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2, + 63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2, + 70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2, + 77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2, + 84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2, + 91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2, + 98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104, + 7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110, + 7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116, + 7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122, + 7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128, + 7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134, + 7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140, + 7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146, + 7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152, + 7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158, + 7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164, + 7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170, + 7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176, + 7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182, + 7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188, + 7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194, + 7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200, + 7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,1,0,1,0,1,1,1,1, + 1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10, + 1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17, + 1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,20,1,21,1,21,1,22,1,22, + 1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,26,1,26,1,26,1,27,1,27,1,27, + 1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,30, + 1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32, + 1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33, + 1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35, + 1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37, + 1,37,1,37,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40, + 1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,4,41,568,8,41,11,41,12,41, + 569,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42, + 1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44, + 1,44,1,44,4,44,601,8,44,11,44,12,44,602,1,44,1,44,1,44,1,45,1,45,1,45, + 1,45,1,45,1,45,1,45,1,45,1,45,4,45,617,8,45,11,45,12,45,618,1,45,1,45, + 1,45,1,45,1,45,4,45,626,8,45,11,45,12,45,627,1,45,1,45,1,45,1,46,1,46, + 1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49, + 1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50, + 1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52, + 1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,55,1,55, + 1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57, + 1,57,1,57,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60, + 1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63, + 1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65, + 1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67, + 1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,70,1,70,1,70, + 1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71, + 1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74, + 1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76, + 1,76,1,76,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,80, + 1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81, + 1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83, + 1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,86,1,86,1,86, + 1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,89,1,89, + 1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91, + 1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93, + 1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,96, + 1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96, + 1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99, + 1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100, + 1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101, + 1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103, + 1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105, + 1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107, + 1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108, + 1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110, + 1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113, + 1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,115,1,115, + 1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116, + 1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,119, + 1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,121, + 1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122, + 1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124, + 1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126, + 1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127, + 1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130, + 1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132, + 1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133, + 1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136, + 1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139, + 1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140, + 1,140,1,140,1,140,1,141,1,141,5,141,1239,8,141,10,141,12,141,1242,9,141, + 1,141,1,141,1,142,3,142,1247,8,142,1,142,1,142,1,143,1,143,1,143,1,144, + 1,144,1,144,1,144,1,144,3,144,1259,8,144,1,144,1,144,5,144,1263,8,144, + 10,144,12,144,1266,9,144,1,144,3,144,1269,8,144,1,145,1,145,1,145,1,146, + 1,146,1,146,1,147,1,147,4,147,1279,8,147,11,147,12,147,1280,1,147,1,147, + 1,147,4,147,1286,8,147,11,147,12,147,1287,5,147,1290,8,147,10,147,12, + 147,1293,9,147,1,148,1,148,1,148,1,149,4,149,1299,8,149,11,149,12,149, + 1300,1,150,5,150,1304,8,150,10,150,12,150,1307,9,150,1,150,1,150,4,150, + 1311,8,150,11,150,12,150,1312,1,151,4,151,1316,8,151,11,151,12,151,1317, + 1,151,1,151,5,151,1322,8,151,10,151,12,151,1325,9,151,1,151,1,151,1,151, + 1,151,4,151,1331,8,151,11,151,12,151,1332,1,151,1,151,1,151,4,151,1338, + 8,151,11,151,12,151,1339,1,151,1,151,3,151,1344,8,151,1,152,1,152,1,152, + 1,153,1,153,1,153,1,154,1,154,1,154,1,155,1,155,1,155,1,156,1,156,1,156, + 1,157,1,157,1,157,1,158,1,158,3,158,1366,8,158,1,158,4,158,1369,8,158, + 11,158,12,158,1370,1,159,1,159,1,159,5,159,1376,8,159,10,159,12,159,1379, + 9,159,1,159,1,159,1,160,1,160,1,160,5,160,1386,8,160,10,160,12,160,1389, + 9,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,3,161,1400, + 8,161,1,161,1,161,3,161,1404,8,161,5,161,1406,8,161,10,161,12,161,1409, + 9,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162, + 3,162,1422,8,162,1,162,1,162,3,162,1426,8,162,5,162,1428,8,162,10,162, + 12,162,1431,9,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,164,1,164, + 5,164,1442,8,164,10,164,12,164,1445,9,164,1,164,1,164,1,165,1,165,5,165, + 1451,8,165,10,165,12,165,1454,9,165,1,165,1,165,1,166,1,166,3,166,1460, + 8,166,1,167,1,167,3,167,1464,8,167,1,167,1,167,1,167,5,167,1469,8,167, + 10,167,12,167,1472,9,167,1,168,1,168,1,168,1,168,3,168,1478,8,168,1,169, + 1,169,1,169,5,169,1483,8,169,10,169,12,169,1486,9,169,1,169,3,169,1489, + 8,169,1,170,1,170,1,170,1,170,3,170,1495,8,170,1,170,1,170,1,170,5,170, + 1500,8,170,10,170,12,170,1503,9,170,1,170,1,170,1,170,3,170,1508,8,170, + 3,170,1510,8,170,1,171,1,171,3,171,1514,8,171,1,172,1,172,1,172,1,172, + 1,173,1,173,3,173,1522,8,173,1,174,1,174,1,174,1,175,1,175,1,176,1,176, + 1,177,4,177,1532,8,177,11,177,12,177,1533,1,177,1,177,1,178,1,178,5,178, + 1540,8,178,10,178,12,178,1543,9,178,1,178,1,178,1,179,1,179,1,180,1,180, + 1,181,1,181,1,182,1,182,1,183,1,183,1,184,1,184,1,185,1,185,1,186,1,186, + 1,187,1,187,1,188,1,188,1,189,1,189,1,190,1,190,1,191,1,191,1,192,1,192, + 1,193,1,193,1,194,1,194,1,195,1,195,1,196,1,196,1,197,1,197,1,198,1,198, + 1,199,1,199,1,200,1,200,1,201,1,201,1,202,1,202,1,203,1,203,1,204,1,204, + 0,0,205,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25, + 13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24, + 49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71, + 36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47, + 95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115, + 58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135, + 68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155, + 78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175, + 88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195, + 98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213, + 107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231, + 116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249, + 125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267, + 134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285, + 143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303, + 152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321, + 161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,0,339, + 169,341,170,343,171,345,172,347,173,349,174,351,0,353,0,355,175,357,176, + 359,0,361,0,363,0,365,0,367,0,369,0,371,0,373,0,375,0,377,0,379,0,381, + 0,383,0,385,0,387,0,389,0,391,0,393,0,395,0,397,0,399,0,401,0,403,0,405, + 0,407,0,409,0,1,0,41,8,0,0,32,34,34,60,60,62,62,92,92,94,94,96,96,123, + 125,2,0,65,90,97,122,2,0,69,69,101,101,2,0,43,43,45,45,4,0,10,10,13,13, + 39,39,92,92,4,0,10,10,13,13,34,34,92,92,2,0,39,39,92,92,2,0,34,34,92, + 92,8,0,34,34,39,39,92,92,98,98,102,102,110,110,114,114,116,116,3,0,183, + 183,768,879,8255,8256,2,0,46,46,58,58,2,0,65,70,97,102,7,0,33,33,35,47, + 59,59,61,61,63,64,95,95,126,126,13,0,65,90,97,122,192,214,216,246,248, + 767,880,893,895,8191,8204,8205,8304,8591,11264,12271,12289,55295,63744, + 64975,65008,65533,3,0,9,10,13,13,32,32,2,0,10,10,13,13,2,0,65,65,97,97, + 2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0,70,70,102,102,2, + 0,71,71,103,103,2,0,72,72,104,104,2,0,73,73,105,105,2,0,74,74,106,106, + 2,0,75,75,107,107,2,0,76,76,108,108,2,0,77,77,109,109,2,0,78,78,110,110, + 2,0,79,79,111,111,2,0,80,80,112,112,2,0,81,81,113,113,2,0,82,82,114,114, + 2,0,83,83,115,115,2,0,84,84,116,116,2,0,85,85,117,117,2,0,86,86,118,118, + 2,0,87,87,119,119,2,0,88,88,120,120,2,0,89,89,121,121,2,0,90,90,122,122, + 1631,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11, + 1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0, + 0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0, + 0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43, + 1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0, + 0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0, + 0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75, + 1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0, + 0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0, + 0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0, + 107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0, + 117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0, + 127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0, + 137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0, + 147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0, + 157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0, + 167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0, + 177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0, + 187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0, + 197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0, + 207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0, + 217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0, + 227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0, + 237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0, + 247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0, + 257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0, + 267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0, + 277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0, + 287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0, + 297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0, + 307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0, + 317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0, + 327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0, + 339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0, + 349,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,1,411,1,0,0,0,3,413,1,0,0,0,5, + 415,1,0,0,0,7,417,1,0,0,0,9,419,1,0,0,0,11,421,1,0,0,0,13,423,1,0,0,0, + 15,425,1,0,0,0,17,427,1,0,0,0,19,429,1,0,0,0,21,431,1,0,0,0,23,433,1, + 0,0,0,25,435,1,0,0,0,27,437,1,0,0,0,29,439,1,0,0,0,31,441,1,0,0,0,33, + 443,1,0,0,0,35,445,1,0,0,0,37,448,1,0,0,0,39,451,1,0,0,0,41,453,1,0,0, + 0,43,456,1,0,0,0,45,458,1,0,0,0,47,460,1,0,0,0,49,463,1,0,0,0,51,466, + 1,0,0,0,53,468,1,0,0,0,55,471,1,0,0,0,57,476,1,0,0,0,59,482,1,0,0,0,61, + 487,1,0,0,0,63,494,1,0,0,0,65,501,1,0,0,0,67,510,1,0,0,0,69,518,1,0,0, + 0,71,521,1,0,0,0,73,531,1,0,0,0,75,537,1,0,0,0,77,546,1,0,0,0,79,550, + 1,0,0,0,81,555,1,0,0,0,83,561,1,0,0,0,85,574,1,0,0,0,87,587,1,0,0,0,89, + 594,1,0,0,0,91,607,1,0,0,0,93,632,1,0,0,0,95,636,1,0,0,0,97,641,1,0,0, + 0,99,647,1,0,0,0,101,654,1,0,0,0,103,664,1,0,0,0,105,671,1,0,0,0,107, + 676,1,0,0,0,109,683,1,0,0,0,111,688,1,0,0,0,113,694,1,0,0,0,115,699,1, + 0,0,0,117,706,1,0,0,0,119,710,1,0,0,0,121,713,1,0,0,0,123,718,1,0,0,0, + 125,723,1,0,0,0,127,728,1,0,0,0,129,735,1,0,0,0,131,742,1,0,0,0,133,747, + 1,0,0,0,135,753,1,0,0,0,137,761,1,0,0,0,139,767,1,0,0,0,141,771,1,0,0, + 0,143,780,1,0,0,0,145,788,1,0,0,0,147,793,1,0,0,0,149,799,1,0,0,0,151, + 805,1,0,0,0,153,811,1,0,0,0,155,818,1,0,0,0,157,822,1,0,0,0,159,825,1, + 0,0,0,161,829,1,0,0,0,163,834,1,0,0,0,165,846,1,0,0,0,167,855,1,0,0,0, + 169,861,1,0,0,0,171,865,1,0,0,0,173,869,1,0,0,0,175,875,1,0,0,0,177,880, + 1,0,0,0,179,884,1,0,0,0,181,889,1,0,0,0,183,895,1,0,0,0,185,901,1,0,0, + 0,187,908,1,0,0,0,189,915,1,0,0,0,191,921,1,0,0,0,193,927,1,0,0,0,195, + 942,1,0,0,0,197,946,1,0,0,0,199,955,1,0,0,0,201,965,1,0,0,0,203,973,1, + 0,0,0,205,983,1,0,0,0,207,992,1,0,0,0,209,997,1,0,0,0,211,1003,1,0,0, + 0,213,1007,1,0,0,0,215,1013,1,0,0,0,217,1021,1,0,0,0,219,1029,1,0,0,0, + 221,1038,1,0,0,0,223,1041,1,0,0,0,225,1045,1,0,0,0,227,1050,1,0,0,0,229, + 1058,1,0,0,0,231,1063,1,0,0,0,233,1070,1,0,0,0,235,1077,1,0,0,0,237,1084, + 1,0,0,0,239,1088,1,0,0,0,241,1097,1,0,0,0,243,1100,1,0,0,0,245,1108,1, + 0,0,0,247,1114,1,0,0,0,249,1123,1,0,0,0,251,1129,1,0,0,0,253,1135,1,0, + 0,0,255,1143,1,0,0,0,257,1153,1,0,0,0,259,1163,1,0,0,0,261,1169,1,0,0, + 0,263,1176,1,0,0,0,265,1184,1,0,0,0,267,1191,1,0,0,0,269,1197,1,0,0,0, + 271,1201,1,0,0,0,273,1205,1,0,0,0,275,1209,1,0,0,0,277,1213,1,0,0,0,279, + 1219,1,0,0,0,281,1226,1,0,0,0,283,1236,1,0,0,0,285,1246,1,0,0,0,287,1250, + 1,0,0,0,289,1253,1,0,0,0,291,1270,1,0,0,0,293,1273,1,0,0,0,295,1276,1, + 0,0,0,297,1294,1,0,0,0,299,1298,1,0,0,0,301,1305,1,0,0,0,303,1343,1,0, + 0,0,305,1345,1,0,0,0,307,1348,1,0,0,0,309,1351,1,0,0,0,311,1354,1,0,0, + 0,313,1357,1,0,0,0,315,1360,1,0,0,0,317,1363,1,0,0,0,319,1372,1,0,0,0, + 321,1382,1,0,0,0,323,1392,1,0,0,0,325,1414,1,0,0,0,327,1436,1,0,0,0,329, + 1439,1,0,0,0,331,1448,1,0,0,0,333,1459,1,0,0,0,335,1463,1,0,0,0,337,1477, + 1,0,0,0,339,1479,1,0,0,0,341,1494,1,0,0,0,343,1513,1,0,0,0,345,1515,1, + 0,0,0,347,1521,1,0,0,0,349,1523,1,0,0,0,351,1526,1,0,0,0,353,1528,1,0, + 0,0,355,1531,1,0,0,0,357,1537,1,0,0,0,359,1546,1,0,0,0,361,1548,1,0,0, + 0,363,1550,1,0,0,0,365,1552,1,0,0,0,367,1554,1,0,0,0,369,1556,1,0,0,0, + 371,1558,1,0,0,0,373,1560,1,0,0,0,375,1562,1,0,0,0,377,1564,1,0,0,0,379, + 1566,1,0,0,0,381,1568,1,0,0,0,383,1570,1,0,0,0,385,1572,1,0,0,0,387,1574, + 1,0,0,0,389,1576,1,0,0,0,391,1578,1,0,0,0,393,1580,1,0,0,0,395,1582,1, + 0,0,0,397,1584,1,0,0,0,399,1586,1,0,0,0,401,1588,1,0,0,0,403,1590,1,0, + 0,0,405,1592,1,0,0,0,407,1594,1,0,0,0,409,1596,1,0,0,0,411,412,5,42,0, + 0,412,2,1,0,0,0,413,414,5,40,0,0,414,4,1,0,0,0,415,416,5,41,0,0,416,6, + 1,0,0,0,417,418,5,123,0,0,418,8,1,0,0,0,419,420,5,125,0,0,420,10,1,0, + 0,0,421,422,5,59,0,0,422,12,1,0,0,0,423,424,5,46,0,0,424,14,1,0,0,0,425, + 426,5,44,0,0,426,16,1,0,0,0,427,428,5,97,0,0,428,18,1,0,0,0,429,430,5, + 124,0,0,430,20,1,0,0,0,431,432,5,47,0,0,432,22,1,0,0,0,433,434,5,94,0, + 0,434,24,1,0,0,0,435,436,5,43,0,0,436,26,1,0,0,0,437,438,5,63,0,0,438, + 28,1,0,0,0,439,440,5,33,0,0,440,30,1,0,0,0,441,442,5,91,0,0,442,32,1, + 0,0,0,443,444,5,93,0,0,444,34,1,0,0,0,445,446,5,124,0,0,446,447,5,124, + 0,0,447,36,1,0,0,0,448,449,5,38,0,0,449,450,5,38,0,0,450,38,1,0,0,0,451, + 452,5,61,0,0,452,40,1,0,0,0,453,454,5,33,0,0,454,455,5,61,0,0,455,42, + 1,0,0,0,456,457,5,60,0,0,457,44,1,0,0,0,458,459,5,62,0,0,459,46,1,0,0, + 0,460,461,5,60,0,0,461,462,5,61,0,0,462,48,1,0,0,0,463,464,5,62,0,0,464, + 465,5,61,0,0,465,50,1,0,0,0,466,467,5,45,0,0,467,52,1,0,0,0,468,469,5, + 94,0,0,469,470,5,94,0,0,470,54,1,0,0,0,471,472,5,116,0,0,472,473,5,114, + 0,0,473,474,5,117,0,0,474,475,5,101,0,0,475,56,1,0,0,0,476,477,5,102, + 0,0,477,478,5,97,0,0,478,479,5,108,0,0,479,480,5,115,0,0,480,481,5,101, + 0,0,481,58,1,0,0,0,482,483,3,361,180,0,483,484,3,359,179,0,484,485,3, + 395,197,0,485,486,3,367,183,0,486,60,1,0,0,0,487,488,3,389,194,0,488, + 489,3,393,196,0,489,490,3,367,183,0,490,491,3,369,184,0,491,492,3,375, + 187,0,492,493,3,405,202,0,493,62,1,0,0,0,494,495,3,395,197,0,495,496, + 3,367,183,0,496,497,3,381,190,0,497,498,3,367,183,0,498,499,3,363,181, + 0,499,500,3,397,198,0,500,64,1,0,0,0,501,502,3,365,182,0,502,503,3,375, + 187,0,503,504,3,395,197,0,504,505,3,397,198,0,505,506,3,375,187,0,506, + 507,3,385,192,0,507,508,3,363,181,0,508,509,3,397,198,0,509,66,1,0,0, + 0,510,511,3,393,196,0,511,512,3,367,183,0,512,513,3,365,182,0,513,514, + 3,399,199,0,514,515,3,363,181,0,515,516,3,367,183,0,516,517,3,365,182, + 0,517,68,1,0,0,0,518,519,3,359,179,0,519,520,3,395,197,0,520,70,1,0,0, + 0,521,522,3,363,181,0,522,523,3,387,193,0,523,524,3,385,192,0,524,525, + 3,395,197,0,525,526,3,397,198,0,526,527,3,393,196,0,527,528,3,399,199, + 0,528,529,3,363,181,0,529,530,3,397,198,0,530,72,1,0,0,0,531,532,3,403, + 201,0,532,533,3,373,186,0,533,534,3,367,183,0,534,535,3,393,196,0,535, + 536,3,367,183,0,536,74,1,0,0,0,537,538,3,365,182,0,538,539,3,367,183, + 0,539,540,3,395,197,0,540,541,3,363,181,0,541,542,3,393,196,0,542,543, + 3,375,187,0,543,544,3,361,180,0,544,545,3,367,183,0,545,76,1,0,0,0,546, + 547,3,359,179,0,547,548,3,395,197,0,548,549,3,379,189,0,549,78,1,0,0, + 0,550,551,3,369,184,0,551,552,3,393,196,0,552,553,3,387,193,0,553,554, + 3,383,191,0,554,80,1,0,0,0,555,556,3,385,192,0,556,557,3,359,179,0,557, + 558,3,383,191,0,558,559,3,367,183,0,559,560,3,365,182,0,560,82,1,0,0, + 0,561,562,3,371,185,0,562,563,3,393,196,0,563,564,3,387,193,0,564,565, + 3,399,199,0,565,567,3,389,194,0,566,568,3,355,177,0,567,566,1,0,0,0,568, + 569,1,0,0,0,569,567,1,0,0,0,569,570,1,0,0,0,570,571,1,0,0,0,571,572,3, + 361,180,0,572,573,3,407,203,0,573,84,1,0,0,0,574,575,3,371,185,0,575, + 576,3,393,196,0,576,577,3,387,193,0,577,578,3,399,199,0,578,579,3,389, + 194,0,579,580,5,95,0,0,580,581,3,363,181,0,581,582,3,387,193,0,582,583, + 3,385,192,0,583,584,3,363,181,0,584,585,3,359,179,0,585,586,3,397,198, + 0,586,86,1,0,0,0,587,588,3,373,186,0,588,589,3,359,179,0,589,590,3,401, + 200,0,590,591,3,375,187,0,591,592,3,385,192,0,592,593,3,371,185,0,593, + 88,1,0,0,0,594,595,3,387,193,0,595,596,3,393,196,0,596,597,3,365,182, + 0,597,598,3,367,183,0,598,600,3,393,196,0,599,601,3,355,177,0,600,599, + 1,0,0,0,601,602,1,0,0,0,602,600,1,0,0,0,602,603,1,0,0,0,603,604,1,0,0, + 0,604,605,3,361,180,0,605,606,3,407,203,0,606,90,1,0,0,0,607,608,3,375, + 187,0,608,609,3,385,192,0,609,610,3,397,198,0,610,611,3,367,183,0,611, + 612,3,393,196,0,612,613,3,385,192,0,613,614,3,359,179,0,614,616,3,381, + 190,0,615,617,3,355,177,0,616,615,1,0,0,0,617,618,1,0,0,0,618,616,1,0, + 0,0,618,619,1,0,0,0,619,620,1,0,0,0,620,621,3,395,197,0,621,622,3,387, + 193,0,622,623,3,393,196,0,623,625,3,397,198,0,624,626,3,355,177,0,625, + 624,1,0,0,0,626,627,1,0,0,0,627,625,1,0,0,0,627,628,1,0,0,0,628,629,1, + 0,0,0,629,630,3,361,180,0,630,631,3,407,203,0,631,92,1,0,0,0,632,633, + 3,359,179,0,633,634,3,395,197,0,634,635,3,363,181,0,635,94,1,0,0,0,636, + 637,3,365,182,0,637,638,3,367,183,0,638,639,3,395,197,0,639,640,3,363, + 181,0,640,96,1,0,0,0,641,642,3,381,190,0,642,643,3,375,187,0,643,644, + 3,383,191,0,644,645,3,375,187,0,645,646,3,397,198,0,646,98,1,0,0,0,647, + 648,3,387,193,0,648,649,3,369,184,0,649,650,3,369,184,0,650,651,3,395, + 197,0,651,652,3,367,183,0,652,653,3,397,198,0,653,100,1,0,0,0,654,655, + 3,397,198,0,655,656,3,367,183,0,656,657,3,405,202,0,657,658,3,397,198, + 0,658,659,3,381,190,0,659,660,3,375,187,0,660,661,3,383,191,0,661,662, + 3,375,187,0,662,663,3,397,198,0,663,102,1,0,0,0,664,665,3,401,200,0,665, + 666,3,359,179,0,666,667,3,381,190,0,667,668,3,399,199,0,668,669,3,367, + 183,0,669,670,3,395,197,0,670,104,1,0,0,0,671,672,3,381,190,0,672,673, + 3,387,193,0,673,674,3,359,179,0,674,675,3,365,182,0,675,106,1,0,0,0,676, + 677,3,395,197,0,677,678,3,375,187,0,678,679,3,381,190,0,679,680,3,367, + 183,0,680,681,3,385,192,0,681,682,3,397,198,0,682,108,1,0,0,0,683,684, + 3,375,187,0,684,685,3,385,192,0,685,686,3,397,198,0,686,687,3,387,193, + 0,687,110,1,0,0,0,688,689,3,363,181,0,689,690,3,381,190,0,690,691,3,367, + 183,0,691,692,3,359,179,0,692,693,3,393,196,0,693,112,1,0,0,0,694,695, + 3,365,182,0,695,696,3,393,196,0,696,697,3,387,193,0,697,698,3,389,194, + 0,698,114,1,0,0,0,699,700,3,363,181,0,700,701,3,393,196,0,701,702,3,367, + 183,0,702,703,3,359,179,0,703,704,3,397,198,0,704,705,3,367,183,0,705, + 116,1,0,0,0,706,707,3,359,179,0,707,708,3,365,182,0,708,709,3,365,182, + 0,709,118,1,0,0,0,710,711,3,397,198,0,711,712,3,387,193,0,712,120,1,0, + 0,0,713,714,3,365,182,0,714,715,3,359,179,0,715,716,3,397,198,0,716,717, + 3,359,179,0,717,122,1,0,0,0,718,719,3,383,191,0,719,720,3,387,193,0,720, + 721,3,401,200,0,721,722,3,367,183,0,722,124,1,0,0,0,723,724,3,363,181, + 0,724,725,3,387,193,0,725,726,3,389,194,0,726,727,3,407,203,0,727,126, + 1,0,0,0,728,729,3,375,187,0,729,730,3,385,192,0,730,731,3,395,197,0,731, + 732,3,367,183,0,732,733,3,393,196,0,733,734,3,397,198,0,734,128,1,0,0, + 0,735,736,3,365,182,0,736,737,3,367,183,0,737,738,3,381,190,0,738,739, + 3,367,183,0,739,740,3,397,198,0,740,741,3,367,183,0,741,130,1,0,0,0,742, + 743,3,403,201,0,743,744,3,375,187,0,744,745,3,397,198,0,745,746,3,373, + 186,0,746,132,1,0,0,0,747,748,3,399,199,0,748,749,3,395,197,0,749,750, + 3,375,187,0,750,751,3,385,192,0,751,752,3,371,185,0,752,134,1,0,0,0,753, + 754,3,365,182,0,754,755,3,367,183,0,755,756,3,369,184,0,756,757,3,359, + 179,0,757,758,3,399,199,0,758,759,3,381,190,0,759,760,3,397,198,0,760, + 136,1,0,0,0,761,762,3,371,185,0,762,763,3,393,196,0,763,764,3,359,179, + 0,764,765,3,389,194,0,765,766,3,373,186,0,766,138,1,0,0,0,767,768,3,359, + 179,0,768,769,3,381,190,0,769,770,3,381,190,0,770,140,1,0,0,0,771,772, + 3,387,193,0,772,773,3,389,194,0,773,774,3,397,198,0,774,775,3,375,187, + 0,775,776,3,387,193,0,776,777,3,385,192,0,777,778,3,359,179,0,778,779, + 3,381,190,0,779,142,1,0,0,0,780,781,3,395,197,0,781,782,3,367,183,0,782, + 783,3,393,196,0,783,784,3,401,200,0,784,785,3,375,187,0,785,786,3,363, + 181,0,786,787,3,367,183,0,787,144,1,0,0,0,788,789,3,361,180,0,789,790, + 3,375,187,0,790,791,3,385,192,0,791,792,3,365,182,0,792,146,1,0,0,0,793, + 794,3,399,199,0,794,795,3,385,192,0,795,796,3,365,182,0,796,797,3,367, + 183,0,797,798,3,369,184,0,798,148,1,0,0,0,799,800,3,383,191,0,800,801, + 3,375,187,0,801,802,3,385,192,0,802,803,3,399,199,0,803,804,3,395,197, + 0,804,150,1,0,0,0,805,806,3,399,199,0,806,807,3,385,192,0,807,808,3,375, + 187,0,808,809,3,387,193,0,809,810,3,385,192,0,810,152,1,0,0,0,811,812, + 3,369,184,0,812,813,3,375,187,0,813,814,3,381,190,0,814,815,3,397,198, + 0,815,816,3,367,183,0,816,817,3,393,196,0,817,154,1,0,0,0,818,819,3,385, + 192,0,819,820,3,387,193,0,820,821,3,397,198,0,821,156,1,0,0,0,822,823, + 3,375,187,0,823,824,3,385,192,0,824,158,1,0,0,0,825,826,3,395,197,0,826, + 827,3,397,198,0,827,828,3,393,196,0,828,160,1,0,0,0,829,830,3,381,190, + 0,830,831,3,359,179,0,831,832,3,385,192,0,832,833,3,371,185,0,833,162, + 1,0,0,0,834,835,3,381,190,0,835,836,3,359,179,0,836,837,3,385,192,0,837, + 838,3,371,185,0,838,839,3,383,191,0,839,840,3,359,179,0,840,841,3,397, + 198,0,841,842,3,363,181,0,842,843,3,373,186,0,843,844,3,367,183,0,844, + 845,3,395,197,0,845,164,1,0,0,0,846,847,3,365,182,0,847,848,3,359,179, + 0,848,849,3,397,198,0,849,850,3,359,179,0,850,851,3,397,198,0,851,852, + 3,407,203,0,852,853,3,389,194,0,853,854,3,367,183,0,854,166,1,0,0,0,855, + 856,3,361,180,0,856,857,3,387,193,0,857,858,3,399,199,0,858,859,3,385, + 192,0,859,860,3,365,182,0,860,168,1,0,0,0,861,862,3,375,187,0,862,863, + 3,393,196,0,863,864,3,375,187,0,864,170,1,0,0,0,865,866,3,399,199,0,866, + 867,3,393,196,0,867,868,3,375,187,0,868,172,1,0,0,0,869,870,3,361,180, + 0,870,871,3,385,192,0,871,872,3,387,193,0,872,873,3,365,182,0,873,874, + 3,367,183,0,874,174,1,0,0,0,875,876,3,393,196,0,876,877,3,359,179,0,877, + 878,3,385,192,0,878,879,3,365,182,0,879,176,1,0,0,0,880,881,3,359,179, + 0,881,882,3,361,180,0,882,883,3,395,197,0,883,178,1,0,0,0,884,885,3,363, + 181,0,885,886,3,367,183,0,886,887,3,375,187,0,887,888,3,381,190,0,888, + 180,1,0,0,0,889,890,3,369,184,0,890,891,3,381,190,0,891,892,3,387,193, + 0,892,893,3,387,193,0,893,894,3,393,196,0,894,182,1,0,0,0,895,896,3,393, + 196,0,896,897,3,387,193,0,897,898,3,399,199,0,898,899,3,385,192,0,899, + 900,3,365,182,0,900,184,1,0,0,0,901,902,3,363,181,0,902,903,3,387,193, + 0,903,904,3,385,192,0,904,905,3,363,181,0,905,906,3,359,179,0,906,907, + 3,397,198,0,907,186,1,0,0,0,908,909,3,395,197,0,909,910,3,397,198,0,910, + 911,3,393,196,0,911,912,3,381,190,0,912,913,3,367,183,0,913,914,3,385, + 192,0,914,188,1,0,0,0,915,916,3,399,199,0,916,917,3,363,181,0,917,918, + 3,359,179,0,918,919,3,395,197,0,919,920,3,367,183,0,920,190,1,0,0,0,921, + 922,3,381,190,0,922,923,3,363,181,0,923,924,3,359,179,0,924,925,3,395, + 197,0,925,926,3,367,183,0,926,192,1,0,0,0,927,928,3,367,183,0,928,929, + 3,385,192,0,929,930,3,363,181,0,930,931,3,387,193,0,931,932,3,365,182, + 0,932,933,3,367,183,0,933,934,5,95,0,0,934,935,3,369,184,0,935,936,3, + 387,193,0,936,937,3,393,196,0,937,938,5,95,0,0,938,939,3,399,199,0,939, + 940,3,393,196,0,940,941,3,375,187,0,941,194,1,0,0,0,942,943,3,369,184, + 0,943,944,3,387,193,0,944,945,3,393,196,0,945,196,1,0,0,0,946,947,3,363, + 181,0,947,948,3,387,193,0,948,949,3,385,192,0,949,950,3,397,198,0,950, + 951,3,359,179,0,951,952,3,375,187,0,952,953,3,385,192,0,953,954,3,395, + 197,0,954,198,1,0,0,0,955,956,3,395,197,0,956,957,3,397,198,0,957,958, + 3,393,196,0,958,959,3,395,197,0,959,960,3,397,198,0,960,961,3,359,179, + 0,961,962,3,393,196,0,962,963,3,397,198,0,963,964,3,395,197,0,964,200, + 1,0,0,0,965,966,3,395,197,0,966,967,3,397,198,0,967,968,3,393,196,0,968, + 969,3,367,183,0,969,970,3,385,192,0,970,971,3,365,182,0,971,972,3,395, + 197,0,972,202,1,0,0,0,973,974,3,395,197,0,974,975,3,397,198,0,975,976, + 3,393,196,0,976,977,3,361,180,0,977,978,3,367,183,0,978,979,3,369,184, + 0,979,980,3,387,193,0,980,981,3,393,196,0,981,982,3,367,183,0,982,204, + 1,0,0,0,983,984,3,395,197,0,984,985,3,397,198,0,985,986,3,393,196,0,986, + 987,3,359,179,0,987,988,3,369,184,0,988,989,3,397,198,0,989,990,3,367, + 183,0,990,991,3,393,196,0,991,206,1,0,0,0,992,993,3,407,203,0,993,994, + 3,367,183,0,994,995,3,359,179,0,995,996,3,393,196,0,996,208,1,0,0,0,997, + 998,3,383,191,0,998,999,3,387,193,0,999,1000,3,385,192,0,1000,1001,3, + 397,198,0,1001,1002,3,373,186,0,1002,210,1,0,0,0,1003,1004,3,365,182, + 0,1004,1005,3,359,179,0,1005,1006,3,407,203,0,1006,212,1,0,0,0,1007,1008, + 3,373,186,0,1008,1009,3,387,193,0,1009,1010,3,399,199,0,1010,1011,3,393, + 196,0,1011,1012,3,395,197,0,1012,214,1,0,0,0,1013,1014,3,383,191,0,1014, + 1015,3,375,187,0,1015,1016,3,385,192,0,1016,1017,3,399,199,0,1017,1018, + 3,397,198,0,1018,1019,3,367,183,0,1019,1020,3,395,197,0,1020,216,1,0, + 0,0,1021,1022,3,395,197,0,1022,1023,3,367,183,0,1023,1024,3,363,181,0, + 1024,1025,3,387,193,0,1025,1026,3,385,192,0,1026,1027,3,365,182,0,1027, + 1028,3,395,197,0,1028,218,1,0,0,0,1029,1030,3,397,198,0,1030,1031,3,375, + 187,0,1031,1032,3,383,191,0,1032,1033,3,367,183,0,1033,1034,3,409,204, + 0,1034,1035,3,387,193,0,1035,1036,3,385,192,0,1036,1037,3,367,183,0,1037, + 220,1,0,0,0,1038,1039,3,397,198,0,1039,1040,3,409,204,0,1040,222,1,0, + 0,0,1041,1042,3,385,192,0,1042,1043,3,387,193,0,1043,1044,3,403,201,0, + 1044,224,1,0,0,0,1045,1046,3,399,199,0,1046,1047,3,399,199,0,1047,1048, + 3,375,187,0,1048,1049,3,365,182,0,1049,226,1,0,0,0,1050,1051,3,395,197, + 0,1051,1052,3,397,198,0,1052,1053,3,393,196,0,1053,1054,3,399,199,0,1054, + 1055,3,399,199,0,1055,1056,3,375,187,0,1056,1057,3,365,182,0,1057,228, + 1,0,0,0,1058,1059,3,395,197,0,1059,1060,3,373,186,0,1060,1061,3,359,179, + 0,1061,1062,5,49,0,0,1062,230,1,0,0,0,1063,1064,3,395,197,0,1064,1065, + 3,373,186,0,1065,1066,3,359,179,0,1066,1067,5,50,0,0,1067,1068,5,53,0, + 0,1068,1069,5,54,0,0,1069,232,1,0,0,0,1070,1071,3,395,197,0,1071,1072, + 3,373,186,0,1072,1073,3,359,179,0,1073,1074,5,51,0,0,1074,1075,5,56,0, + 0,1075,1076,5,52,0,0,1076,234,1,0,0,0,1077,1078,3,395,197,0,1078,1079, + 3,373,186,0,1079,1080,3,359,179,0,1080,1081,5,53,0,0,1081,1082,5,49,0, + 0,1082,1083,5,50,0,0,1083,236,1,0,0,0,1084,1085,3,383,191,0,1085,1086, + 3,365,182,0,1086,1087,5,53,0,0,1087,238,1,0,0,0,1088,1089,3,363,181,0, + 1089,1090,3,387,193,0,1090,1091,3,359,179,0,1091,1092,3,381,190,0,1092, + 1093,3,367,183,0,1093,1094,3,395,197,0,1094,1095,3,363,181,0,1095,1096, + 3,367,183,0,1096,240,1,0,0,0,1097,1098,3,375,187,0,1098,1099,3,369,184, + 0,1099,242,1,0,0,0,1100,1101,3,395,197,0,1101,1102,3,397,198,0,1102,1103, + 3,393,196,0,1103,1104,3,381,190,0,1104,1105,3,359,179,0,1105,1106,3,385, + 192,0,1106,1107,3,371,185,0,1107,244,1,0,0,0,1108,1109,3,395,197,0,1109, + 1110,3,397,198,0,1110,1111,3,393,196,0,1111,1112,3,365,182,0,1112,1113, + 3,397,198,0,1113,246,1,0,0,0,1114,1115,3,395,197,0,1115,1116,3,359,179, + 0,1116,1117,3,383,191,0,1117,1118,3,367,183,0,1118,1119,3,397,198,0,1119, + 1120,3,367,183,0,1120,1121,3,393,196,0,1121,1122,3,383,191,0,1122,248, + 1,0,0,0,1123,1124,3,375,187,0,1124,1125,3,395,197,0,1125,1126,3,375,187, + 0,1126,1127,3,393,196,0,1127,1128,3,375,187,0,1128,250,1,0,0,0,1129,1130, + 3,375,187,0,1130,1131,3,395,197,0,1131,1132,3,399,199,0,1132,1133,3,393, + 196,0,1133,1134,3,375,187,0,1134,252,1,0,0,0,1135,1136,3,375,187,0,1136, + 1137,3,395,197,0,1137,1138,3,361,180,0,1138,1139,3,381,190,0,1139,1140, + 3,359,179,0,1140,1141,3,385,192,0,1141,1142,3,379,189,0,1142,254,1,0, + 0,0,1143,1144,3,375,187,0,1144,1145,3,395,197,0,1145,1146,3,381,190,0, + 1146,1147,3,375,187,0,1147,1148,3,397,198,0,1148,1149,3,367,183,0,1149, + 1150,3,393,196,0,1150,1151,3,359,179,0,1151,1152,3,381,190,0,1152,256, + 1,0,0,0,1153,1154,3,375,187,0,1154,1155,3,395,197,0,1155,1156,3,385,192, + 0,1156,1157,3,399,199,0,1157,1158,3,383,191,0,1158,1159,3,367,183,0,1159, + 1160,3,393,196,0,1160,1161,3,375,187,0,1161,1162,3,363,181,0,1162,258, + 1,0,0,0,1163,1164,3,393,196,0,1164,1165,3,367,183,0,1165,1166,3,371,185, + 0,1166,1167,3,367,183,0,1167,1168,3,405,202,0,1168,260,1,0,0,0,1169,1170, + 3,395,197,0,1170,1171,3,399,199,0,1171,1172,3,361,180,0,1172,1173,3,395, + 197,0,1173,1174,3,397,198,0,1174,1175,3,393,196,0,1175,262,1,0,0,0,1176, + 1177,3,393,196,0,1177,1178,3,367,183,0,1178,1179,3,389,194,0,1179,1180, + 3,381,190,0,1180,1181,3,359,179,0,1181,1182,3,363,181,0,1182,1183,3,367, + 183,0,1183,264,1,0,0,0,1184,1185,3,367,183,0,1185,1186,3,405,202,0,1186, + 1187,3,375,187,0,1187,1188,3,395,197,0,1188,1189,3,397,198,0,1189,1190, + 3,395,197,0,1190,266,1,0,0,0,1191,1192,3,363,181,0,1192,1193,3,387,193, + 0,1193,1194,3,399,199,0,1194,1195,3,385,192,0,1195,1196,3,397,198,0,1196, + 268,1,0,0,0,1197,1198,3,395,197,0,1198,1199,3,399,199,0,1199,1200,3,383, + 191,0,1200,270,1,0,0,0,1201,1202,3,383,191,0,1202,1203,3,375,187,0,1203, + 1204,3,385,192,0,1204,272,1,0,0,0,1205,1206,3,383,191,0,1206,1207,3,359, + 179,0,1207,1208,3,405,202,0,1208,274,1,0,0,0,1209,1210,3,359,179,0,1210, + 1211,3,401,200,0,1211,1212,3,371,185,0,1212,276,1,0,0,0,1213,1214,3,395, + 197,0,1214,1215,3,397,198,0,1215,1216,3,365,182,0,1216,1217,3,367,183, + 0,1217,1218,3,401,200,0,1218,278,1,0,0,0,1219,1220,3,395,197,0,1220,1221, + 3,359,179,0,1221,1222,3,383,191,0,1222,1223,3,389,194,0,1223,1224,3,381, + 190,0,1224,1225,3,367,183,0,1225,280,1,0,0,0,1226,1227,3,395,197,0,1227, + 1228,3,367,183,0,1228,1229,3,389,194,0,1229,1230,3,359,179,0,1230,1231, + 3,393,196,0,1231,1232,3,359,179,0,1232,1233,3,397,198,0,1233,1234,3,387, + 193,0,1234,1235,3,393,196,0,1235,282,1,0,0,0,1236,1240,5,60,0,0,1237, + 1239,8,0,0,0,1238,1237,1,0,0,0,1239,1242,1,0,0,0,1240,1238,1,0,0,0,1240, + 1241,1,0,0,0,1241,1243,1,0,0,0,1242,1240,1,0,0,0,1243,1244,5,62,0,0,1244, + 284,1,0,0,0,1245,1247,3,339,169,0,1246,1245,1,0,0,0,1246,1247,1,0,0,0, + 1247,1248,1,0,0,0,1248,1249,5,58,0,0,1249,286,1,0,0,0,1250,1251,3,285, + 142,0,1251,1252,3,341,170,0,1252,288,1,0,0,0,1253,1254,5,95,0,0,1254, + 1255,5,58,0,0,1255,1258,1,0,0,0,1256,1259,3,333,166,0,1257,1259,3,353, + 176,0,1258,1256,1,0,0,0,1258,1257,1,0,0,0,1259,1268,1,0,0,0,1260,1263, + 3,337,168,0,1261,1263,5,46,0,0,1262,1260,1,0,0,0,1262,1261,1,0,0,0,1263, + 1266,1,0,0,0,1264,1262,1,0,0,0,1264,1265,1,0,0,0,1265,1267,1,0,0,0,1266, + 1264,1,0,0,0,1267,1269,3,337,168,0,1268,1264,1,0,0,0,1268,1269,1,0,0, + 0,1269,290,1,0,0,0,1270,1271,5,63,0,0,1271,1272,3,335,167,0,1272,292, + 1,0,0,0,1273,1274,5,36,0,0,1274,1275,3,335,167,0,1275,294,1,0,0,0,1276, + 1278,5,64,0,0,1277,1279,7,1,0,0,1278,1277,1,0,0,0,1279,1280,1,0,0,0,1280, + 1278,1,0,0,0,1280,1281,1,0,0,0,1281,1291,1,0,0,0,1282,1285,5,45,0,0,1283, + 1286,7,1,0,0,1284,1286,3,353,176,0,1285,1283,1,0,0,0,1285,1284,1,0,0, + 0,1286,1287,1,0,0,0,1287,1285,1,0,0,0,1287,1288,1,0,0,0,1288,1290,1,0, + 0,0,1289,1282,1,0,0,0,1290,1293,1,0,0,0,1291,1289,1,0,0,0,1291,1292,1, + 0,0,0,1292,296,1,0,0,0,1293,1291,1,0,0,0,1294,1295,3,295,147,0,1295,1296, + 5,64,0,0,1296,298,1,0,0,0,1297,1299,3,353,176,0,1298,1297,1,0,0,0,1299, + 1300,1,0,0,0,1300,1298,1,0,0,0,1300,1301,1,0,0,0,1301,300,1,0,0,0,1302, + 1304,3,353,176,0,1303,1302,1,0,0,0,1304,1307,1,0,0,0,1305,1303,1,0,0, + 0,1305,1306,1,0,0,0,1306,1308,1,0,0,0,1307,1305,1,0,0,0,1308,1310,5,46, + 0,0,1309,1311,3,353,176,0,1310,1309,1,0,0,0,1311,1312,1,0,0,0,1312,1310, + 1,0,0,0,1312,1313,1,0,0,0,1313,302,1,0,0,0,1314,1316,3,353,176,0,1315, + 1314,1,0,0,0,1316,1317,1,0,0,0,1317,1315,1,0,0,0,1317,1318,1,0,0,0,1318, + 1319,1,0,0,0,1319,1323,5,46,0,0,1320,1322,3,353,176,0,1321,1320,1,0,0, + 0,1322,1325,1,0,0,0,1323,1321,1,0,0,0,1323,1324,1,0,0,0,1324,1326,1,0, + 0,0,1325,1323,1,0,0,0,1326,1327,3,317,158,0,1327,1344,1,0,0,0,1328,1330, + 5,46,0,0,1329,1331,3,353,176,0,1330,1329,1,0,0,0,1331,1332,1,0,0,0,1332, + 1330,1,0,0,0,1332,1333,1,0,0,0,1333,1334,1,0,0,0,1334,1335,3,317,158, + 0,1335,1344,1,0,0,0,1336,1338,3,353,176,0,1337,1336,1,0,0,0,1338,1339, + 1,0,0,0,1339,1337,1,0,0,0,1339,1340,1,0,0,0,1340,1341,1,0,0,0,1341,1342, + 3,317,158,0,1342,1344,1,0,0,0,1343,1315,1,0,0,0,1343,1328,1,0,0,0,1343, + 1337,1,0,0,0,1344,304,1,0,0,0,1345,1346,5,43,0,0,1346,1347,3,299,149, + 0,1347,306,1,0,0,0,1348,1349,5,43,0,0,1349,1350,3,301,150,0,1350,308, + 1,0,0,0,1351,1352,5,43,0,0,1352,1353,3,303,151,0,1353,310,1,0,0,0,1354, + 1355,5,45,0,0,1355,1356,3,299,149,0,1356,312,1,0,0,0,1357,1358,5,45,0, + 0,1358,1359,3,301,150,0,1359,314,1,0,0,0,1360,1361,5,45,0,0,1361,1362, + 3,303,151,0,1362,316,1,0,0,0,1363,1365,7,2,0,0,1364,1366,7,3,0,0,1365, + 1364,1,0,0,0,1365,1366,1,0,0,0,1366,1368,1,0,0,0,1367,1369,3,353,176, + 0,1368,1367,1,0,0,0,1369,1370,1,0,0,0,1370,1368,1,0,0,0,1370,1371,1,0, + 0,0,1371,318,1,0,0,0,1372,1377,5,39,0,0,1373,1376,8,4,0,0,1374,1376,3, + 327,163,0,1375,1373,1,0,0,0,1375,1374,1,0,0,0,1376,1379,1,0,0,0,1377, + 1375,1,0,0,0,1377,1378,1,0,0,0,1378,1380,1,0,0,0,1379,1377,1,0,0,0,1380, + 1381,5,39,0,0,1381,320,1,0,0,0,1382,1387,5,34,0,0,1383,1386,8,5,0,0,1384, + 1386,3,327,163,0,1385,1383,1,0,0,0,1385,1384,1,0,0,0,1386,1389,1,0,0, + 0,1387,1385,1,0,0,0,1387,1388,1,0,0,0,1388,1390,1,0,0,0,1389,1387,1,0, + 0,0,1390,1391,5,34,0,0,1391,322,1,0,0,0,1392,1393,5,39,0,0,1393,1394, + 5,39,0,0,1394,1395,5,39,0,0,1395,1407,1,0,0,0,1396,1400,5,39,0,0,1397, + 1398,5,39,0,0,1398,1400,5,39,0,0,1399,1396,1,0,0,0,1399,1397,1,0,0,0, + 1399,1400,1,0,0,0,1400,1403,1,0,0,0,1401,1404,8,6,0,0,1402,1404,3,327, + 163,0,1403,1401,1,0,0,0,1403,1402,1,0,0,0,1404,1406,1,0,0,0,1405,1399, + 1,0,0,0,1406,1409,1,0,0,0,1407,1405,1,0,0,0,1407,1408,1,0,0,0,1408,1410, + 1,0,0,0,1409,1407,1,0,0,0,1410,1411,5,39,0,0,1411,1412,5,39,0,0,1412, + 1413,5,39,0,0,1413,324,1,0,0,0,1414,1415,5,34,0,0,1415,1416,5,34,0,0, + 1416,1417,5,34,0,0,1417,1429,1,0,0,0,1418,1422,5,34,0,0,1419,1420,5,34, + 0,0,1420,1422,5,34,0,0,1421,1418,1,0,0,0,1421,1419,1,0,0,0,1421,1422, + 1,0,0,0,1422,1425,1,0,0,0,1423,1426,8,7,0,0,1424,1426,3,327,163,0,1425, + 1423,1,0,0,0,1425,1424,1,0,0,0,1426,1428,1,0,0,0,1427,1421,1,0,0,0,1428, + 1431,1,0,0,0,1429,1427,1,0,0,0,1429,1430,1,0,0,0,1430,1432,1,0,0,0,1431, + 1429,1,0,0,0,1432,1433,5,34,0,0,1433,1434,5,34,0,0,1434,1435,5,34,0,0, + 1435,326,1,0,0,0,1436,1437,5,92,0,0,1437,1438,7,8,0,0,1438,328,1,0,0, + 0,1439,1443,5,40,0,0,1440,1442,3,355,177,0,1441,1440,1,0,0,0,1442,1445, + 1,0,0,0,1443,1441,1,0,0,0,1443,1444,1,0,0,0,1444,1446,1,0,0,0,1445,1443, + 1,0,0,0,1446,1447,5,41,0,0,1447,330,1,0,0,0,1448,1452,5,91,0,0,1449,1451, + 3,355,177,0,1450,1449,1,0,0,0,1451,1454,1,0,0,0,1452,1450,1,0,0,0,1452, + 1453,1,0,0,0,1453,1455,1,0,0,0,1454,1452,1,0,0,0,1455,1456,5,93,0,0,1456, + 332,1,0,0,0,1457,1460,3,351,175,0,1458,1460,5,95,0,0,1459,1457,1,0,0, + 0,1459,1458,1,0,0,0,1460,334,1,0,0,0,1461,1464,3,333,166,0,1462,1464, + 3,353,176,0,1463,1461,1,0,0,0,1463,1462,1,0,0,0,1464,1470,1,0,0,0,1465, + 1469,3,333,166,0,1466,1469,3,353,176,0,1467,1469,7,9,0,0,1468,1465,1, + 0,0,0,1468,1466,1,0,0,0,1468,1467,1,0,0,0,1469,1472,1,0,0,0,1470,1468, + 1,0,0,0,1470,1471,1,0,0,0,1471,336,1,0,0,0,1472,1470,1,0,0,0,1473,1478, + 3,333,166,0,1474,1478,5,45,0,0,1475,1478,3,353,176,0,1476,1478,7,9,0, + 0,1477,1473,1,0,0,0,1477,1474,1,0,0,0,1477,1475,1,0,0,0,1477,1476,1,0, + 0,0,1478,338,1,0,0,0,1479,1488,3,351,175,0,1480,1483,3,337,168,0,1481, + 1483,5,46,0,0,1482,1480,1,0,0,0,1482,1481,1,0,0,0,1483,1486,1,0,0,0,1484, + 1482,1,0,0,0,1484,1485,1,0,0,0,1485,1487,1,0,0,0,1486,1484,1,0,0,0,1487, + 1489,3,337,168,0,1488,1484,1,0,0,0,1488,1489,1,0,0,0,1489,340,1,0,0,0, + 1490,1495,3,333,166,0,1491,1495,5,58,0,0,1492,1495,3,353,176,0,1493,1495, + 3,343,171,0,1494,1490,1,0,0,0,1494,1491,1,0,0,0,1494,1492,1,0,0,0,1494, + 1493,1,0,0,0,1495,1509,1,0,0,0,1496,1500,3,337,168,0,1497,1500,7,10,0, + 0,1498,1500,3,343,171,0,1499,1496,1,0,0,0,1499,1497,1,0,0,0,1499,1498, + 1,0,0,0,1500,1503,1,0,0,0,1501,1499,1,0,0,0,1501,1502,1,0,0,0,1502,1507, + 1,0,0,0,1503,1501,1,0,0,0,1504,1508,3,337,168,0,1505,1508,5,58,0,0,1506, + 1508,3,343,171,0,1507,1504,1,0,0,0,1507,1505,1,0,0,0,1507,1506,1,0,0, + 0,1508,1510,1,0,0,0,1509,1501,1,0,0,0,1509,1510,1,0,0,0,1510,342,1,0, + 0,0,1511,1514,3,345,172,0,1512,1514,3,349,174,0,1513,1511,1,0,0,0,1513, + 1512,1,0,0,0,1514,344,1,0,0,0,1515,1516,5,37,0,0,1516,1517,3,347,173, + 0,1517,1518,3,347,173,0,1518,346,1,0,0,0,1519,1522,3,353,176,0,1520,1522, + 7,11,0,0,1521,1519,1,0,0,0,1521,1520,1,0,0,0,1522,348,1,0,0,0,1523,1524, + 5,92,0,0,1524,1525,7,12,0,0,1525,350,1,0,0,0,1526,1527,7,13,0,0,1527, + 352,1,0,0,0,1528,1529,2,48,57,0,1529,354,1,0,0,0,1530,1532,7,14,0,0,1531, + 1530,1,0,0,0,1532,1533,1,0,0,0,1533,1531,1,0,0,0,1533,1534,1,0,0,0,1534, + 1535,1,0,0,0,1535,1536,6,177,0,0,1536,356,1,0,0,0,1537,1541,5,35,0,0, + 1538,1540,8,15,0,0,1539,1538,1,0,0,0,1540,1543,1,0,0,0,1541,1539,1,0, + 0,0,1541,1542,1,0,0,0,1542,1544,1,0,0,0,1543,1541,1,0,0,0,1544,1545,6, + 178,0,0,1545,358,1,0,0,0,1546,1547,7,16,0,0,1547,360,1,0,0,0,1548,1549, + 7,17,0,0,1549,362,1,0,0,0,1550,1551,7,18,0,0,1551,364,1,0,0,0,1552,1553, + 7,19,0,0,1553,366,1,0,0,0,1554,1555,7,2,0,0,1555,368,1,0,0,0,1556,1557, + 7,20,0,0,1557,370,1,0,0,0,1558,1559,7,21,0,0,1559,372,1,0,0,0,1560,1561, + 7,22,0,0,1561,374,1,0,0,0,1562,1563,7,23,0,0,1563,376,1,0,0,0,1564,1565, + 7,24,0,0,1565,378,1,0,0,0,1566,1567,7,25,0,0,1567,380,1,0,0,0,1568,1569, + 7,26,0,0,1569,382,1,0,0,0,1570,1571,7,27,0,0,1571,384,1,0,0,0,1572,1573, + 7,28,0,0,1573,386,1,0,0,0,1574,1575,7,29,0,0,1575,388,1,0,0,0,1576,1577, + 7,30,0,0,1577,390,1,0,0,0,1578,1579,7,31,0,0,1579,392,1,0,0,0,1580,1581, + 7,32,0,0,1581,394,1,0,0,0,1582,1583,7,33,0,0,1583,396,1,0,0,0,1584,1585, + 7,34,0,0,1585,398,1,0,0,0,1586,1587,7,35,0,0,1587,400,1,0,0,0,1588,1589, + 7,36,0,0,1589,402,1,0,0,0,1590,1591,7,37,0,0,1591,404,1,0,0,0,1592,1593, + 7,38,0,0,1593,406,1,0,0,0,1594,1595,7,39,0,0,1595,408,1,0,0,0,1596,1597, + 7,40,0,0,1597,410,1,0,0,0,54,0,569,602,618,627,1240,1246,1258,1262,1264, + 1268,1280,1285,1287,1291,1300,1305,1312,1317,1323,1332,1339,1343,1365, + 1370,1375,1377,1385,1387,1399,1403,1407,1421,1425,1429,1443,1452,1459, + 1463,1468,1470,1477,1482,1484,1488,1494,1499,1501,1507,1509,1513,1521, + 1533,1541,1,6,0,0 + }; + staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); antlr4::atn::ATNDeserializer deserializer; staticData->atn = deserializer.deserialize(staticData->serializedATN); const size_t count = staticData->atn->getNumberOfDecisions(); staticData->decisionToDFA.reserve(count); - for (size_t i = 0; i < count; i++) { - staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), - i); + for (size_t i = 0; i < count; i++) { + staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), i); } sparqlautomaticlexerLexerStaticData = staticData.release(); } -} // namespace +} -SparqlAutomaticLexer::SparqlAutomaticLexer(CharStream* input) : Lexer(input) { +SparqlAutomaticLexer::SparqlAutomaticLexer(CharStream *input) : Lexer(input) { SparqlAutomaticLexer::initialize(); - _interpreter = new atn::LexerATNSimulator( - this, *sparqlautomaticlexerLexerStaticData->atn, - sparqlautomaticlexerLexerStaticData->decisionToDFA, - sparqlautomaticlexerLexerStaticData->sharedContextCache); + _interpreter = new atn::LexerATNSimulator(this, *sparqlautomaticlexerLexerStaticData->atn, sparqlautomaticlexerLexerStaticData->decisionToDFA, sparqlautomaticlexerLexerStaticData->sharedContextCache); } -SparqlAutomaticLexer::~SparqlAutomaticLexer() { delete _interpreter; } +SparqlAutomaticLexer::~SparqlAutomaticLexer() { + delete _interpreter; +} std::string SparqlAutomaticLexer::getGrammarFileName() const { return "SparqlAutomatic.g4"; @@ -1755,7 +759,9 @@ const atn::ATN& SparqlAutomaticLexer::getATN() const { return *sparqlautomaticlexerLexerStaticData->atn; } + + + void SparqlAutomaticLexer::initialize() { - ::antlr4::internal::call_once(sparqlautomaticlexerLexerOnceFlag, - sparqlautomaticlexerLexerInitialize); + ::antlr4::internal::call_once(sparqlautomaticlexerLexerOnceFlag, sparqlautomaticlexerLexerInitialize); } diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h index c482fc873a..8f59019ce4 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h @@ -3,193 +3,54 @@ #pragma once + #include "antlr4-runtime.h" -class SparqlAutomaticLexer : public antlr4::Lexer { - public: + + + +class SparqlAutomaticLexer : public antlr4::Lexer { +public: enum { - T__0 = 1, - T__1 = 2, - T__2 = 3, - T__3 = 4, - T__4 = 5, - T__5 = 6, - T__6 = 7, - T__7 = 8, - T__8 = 9, - T__9 = 10, - T__10 = 11, - T__11 = 12, - T__12 = 13, - T__13 = 14, - T__14 = 15, - T__15 = 16, - T__16 = 17, - T__17 = 18, - T__18 = 19, - T__19 = 20, - T__20 = 21, - T__21 = 22, - T__22 = 23, - T__23 = 24, - T__24 = 25, - T__25 = 26, - T__26 = 27, - T__27 = 28, - T__28 = 29, - BASE = 30, - PREFIX = 31, - SELECT = 32, - DISTINCT = 33, - REDUCED = 34, - AS = 35, - CONSTRUCT = 36, - WHERE = 37, - DESCRIBE = 38, - ASK = 39, - FROM = 40, - NAMED = 41, - GROUPBY = 42, - GROUP_CONCAT = 43, - HAVING = 44, - ORDERBY = 45, - INTERNALSORTBY = 46, - ASC = 47, - DESC = 48, - LIMIT = 49, - OFFSET = 50, - TEXTLIMIT = 51, - VALUES = 52, - LOAD = 53, - SILENT = 54, - INTO = 55, - CLEAR = 56, - DROP = 57, - CREATE = 58, - ADD = 59, - TO = 60, - DATA = 61, - MOVE = 62, - COPY = 63, - INSERT = 64, - DELETE = 65, - WITH = 66, - USING = 67, - DEFAULT = 68, - GRAPH = 69, - ALL = 70, - OPTIONAL = 71, - SERVICE = 72, - BIND = 73, - UNDEF = 74, - MINUS = 75, - UNION = 76, - FILTER = 77, - NOT = 78, - IN = 79, - STR = 80, - LANG = 81, - LANGMATCHES = 82, - DATATYPE = 83, - BOUND = 84, - IRI = 85, - URI = 86, - BNODE = 87, - RAND = 88, - ABS = 89, - CEIL = 90, - FLOOR = 91, - ROUND = 92, - CONCAT = 93, - STRLEN = 94, - UCASE = 95, - LCASE = 96, - ENCODE_FOR_URI = 97, - FOR = 98, - CONTAINS = 99, - STRSTARTS = 100, - STRENDS = 101, - STRBEFORE = 102, - STRAFTER = 103, - YEAR = 104, - MONTH = 105, - DAY = 106, - HOURS = 107, - MINUTES = 108, - SECONDS = 109, - TIMEZONE = 110, - TZ = 111, - NOW = 112, - UUID = 113, - STRUUID = 114, - SHA1 = 115, - SHA256 = 116, - SHA384 = 117, - SHA512 = 118, - MD5 = 119, - COALESCE = 120, - IF = 121, - STRLANG = 122, - STRDT = 123, - SAMETERM = 124, - ISIRI = 125, - ISURI = 126, - ISBLANK = 127, - ISLITERAL = 128, - ISNUMERIC = 129, - REGEX = 130, - SUBSTR = 131, - REPLACE = 132, - EXISTS = 133, - COUNT = 134, - SUM = 135, - MIN = 136, - MAX = 137, - AVG = 138, - STDEV = 139, - SAMPLE = 140, - SEPARATOR = 141, - IRI_REF = 142, - PNAME_NS = 143, - PNAME_LN = 144, - BLANK_NODE_LABEL = 145, - VAR1 = 146, - VAR2 = 147, - LANGTAG = 148, - PREFIX_LANGTAG = 149, - INTEGER = 150, - DECIMAL = 151, - DOUBLE = 152, - INTEGER_POSITIVE = 153, - DECIMAL_POSITIVE = 154, - DOUBLE_POSITIVE = 155, - INTEGER_NEGATIVE = 156, - DECIMAL_NEGATIVE = 157, - DOUBLE_NEGATIVE = 158, - EXPONENT = 159, - STRING_LITERAL1 = 160, - STRING_LITERAL2 = 161, - STRING_LITERAL_LONG1 = 162, - STRING_LITERAL_LONG2 = 163, - ECHAR = 164, - NIL = 165, - ANON = 166, - PN_CHARS_U = 167, - VARNAME = 168, - PN_PREFIX = 169, - PN_LOCAL = 170, - PLX = 171, - PERCENT = 172, - HEX = 173, - PN_LOCAL_ESC = 174, - WS = 175, - COMMENTS = 176 + T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, + T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, + T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, + T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, T__24 = 25, T__25 = 26, + T__26 = 27, T__27 = 28, T__28 = 29, BASE = 30, PREFIX = 31, SELECT = 32, + DISTINCT = 33, REDUCED = 34, AS = 35, CONSTRUCT = 36, WHERE = 37, DESCRIBE = 38, + ASK = 39, FROM = 40, NAMED = 41, GROUPBY = 42, GROUP_CONCAT = 43, HAVING = 44, + ORDERBY = 45, INTERNALSORTBY = 46, ASC = 47, DESC = 48, LIMIT = 49, + OFFSET = 50, TEXTLIMIT = 51, VALUES = 52, LOAD = 53, SILENT = 54, INTO = 55, + CLEAR = 56, DROP = 57, CREATE = 58, ADD = 59, TO = 60, DATA = 61, MOVE = 62, + COPY = 63, INSERT = 64, DELETE = 65, WITH = 66, USING = 67, DEFAULT = 68, + GRAPH = 69, ALL = 70, OPTIONAL = 71, SERVICE = 72, BIND = 73, UNDEF = 74, + MINUS = 75, UNION = 76, FILTER = 77, NOT = 78, IN = 79, STR = 80, LANG = 81, + LANGMATCHES = 82, DATATYPE = 83, BOUND = 84, IRI = 85, URI = 86, BNODE = 87, + RAND = 88, ABS = 89, CEIL = 90, FLOOR = 91, ROUND = 92, CONCAT = 93, + STRLEN = 94, UCASE = 95, LCASE = 96, ENCODE_FOR_URI = 97, FOR = 98, + CONTAINS = 99, STRSTARTS = 100, STRENDS = 101, STRBEFORE = 102, STRAFTER = 103, + YEAR = 104, MONTH = 105, DAY = 106, HOURS = 107, MINUTES = 108, SECONDS = 109, + TIMEZONE = 110, TZ = 111, NOW = 112, UUID = 113, STRUUID = 114, SHA1 = 115, + SHA256 = 116, SHA384 = 117, SHA512 = 118, MD5 = 119, COALESCE = 120, + IF = 121, STRLANG = 122, STRDT = 123, SAMETERM = 124, ISIRI = 125, ISURI = 126, + ISBLANK = 127, ISLITERAL = 128, ISNUMERIC = 129, REGEX = 130, SUBSTR = 131, + REPLACE = 132, EXISTS = 133, COUNT = 134, SUM = 135, MIN = 136, MAX = 137, + AVG = 138, STDEV = 139, SAMPLE = 140, SEPARATOR = 141, IRI_REF = 142, + PNAME_NS = 143, PNAME_LN = 144, BLANK_NODE_LABEL = 145, VAR1 = 146, + VAR2 = 147, LANGTAG = 148, PREFIX_LANGTAG = 149, INTEGER = 150, DECIMAL = 151, + DOUBLE = 152, INTEGER_POSITIVE = 153, DECIMAL_POSITIVE = 154, DOUBLE_POSITIVE = 155, + INTEGER_NEGATIVE = 156, DECIMAL_NEGATIVE = 157, DOUBLE_NEGATIVE = 158, + EXPONENT = 159, STRING_LITERAL1 = 160, STRING_LITERAL2 = 161, STRING_LITERAL_LONG1 = 162, + STRING_LITERAL_LONG2 = 163, ECHAR = 164, NIL = 165, ANON = 166, PN_CHARS_U = 167, + VARNAME = 168, PN_PREFIX = 169, PN_LOCAL = 170, PLX = 171, PERCENT = 172, + HEX = 173, PN_LOCAL_ESC = 174, WS = 175, COMMENTS = 176 }; - explicit SparqlAutomaticLexer(antlr4::CharStream* input); + explicit SparqlAutomaticLexer(antlr4::CharStream *input); ~SparqlAutomaticLexer() override; + std::string getGrammarFileName() const override; const std::vector& getRuleNames() const override; @@ -204,13 +65,16 @@ class SparqlAutomaticLexer : public antlr4::Lexer { const antlr4::atn::ATN& getATN() const override; - // By default the static state used to implement the lexer is lazily - // initialized during the first call to the constructor. You can call this - // function if you wish to initialize the static state ahead of time. + // By default the static state used to implement the lexer is lazily initialized during the first + // call to the constructor. You can call this function if you wish to initialize the static state + // ahead of time. static void initialize(); - private: +private: + // Individual action functions triggered by action() above. // Individual semantic predicate functions triggered by sempred() above. + }; + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticListener.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticListener.cpp index f5bf0409e9..0696c93639 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticListener.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticListener.cpp @@ -1,4 +1,7 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 + #include "SparqlAutomaticListener.h" + + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticListener.h b/src/parser/sparqlParser/generated/SparqlAutomaticListener.h index fea9f9130b..a16fe228a4 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticListener.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticListener.h @@ -3,717 +3,488 @@ #pragma once -#include "SparqlAutomaticParser.h" + #include "antlr4-runtime.h" +#include "SparqlAutomaticParser.h" + /** - * This interface defines an abstract listener for a parse tree produced by - * SparqlAutomaticParser. + * This interface defines an abstract listener for a parse tree produced by SparqlAutomaticParser. */ -class SparqlAutomaticListener : public antlr4::tree::ParseTreeListener { - public: - virtual void enterQueryOrUpdate( - SparqlAutomaticParser::QueryOrUpdateContext* ctx) = 0; - virtual void exitQueryOrUpdate( - SparqlAutomaticParser::QueryOrUpdateContext* ctx) = 0; - - virtual void enterQuery(SparqlAutomaticParser::QueryContext* ctx) = 0; - virtual void exitQuery(SparqlAutomaticParser::QueryContext* ctx) = 0; - - virtual void enterPrologue(SparqlAutomaticParser::PrologueContext* ctx) = 0; - virtual void exitPrologue(SparqlAutomaticParser::PrologueContext* ctx) = 0; - - virtual void enterBaseDecl(SparqlAutomaticParser::BaseDeclContext* ctx) = 0; - virtual void exitBaseDecl(SparqlAutomaticParser::BaseDeclContext* ctx) = 0; - - virtual void enterPrefixDecl( - SparqlAutomaticParser::PrefixDeclContext* ctx) = 0; - virtual void exitPrefixDecl( - SparqlAutomaticParser::PrefixDeclContext* ctx) = 0; - - virtual void enterSelectQuery( - SparqlAutomaticParser::SelectQueryContext* ctx) = 0; - virtual void exitSelectQuery( - SparqlAutomaticParser::SelectQueryContext* ctx) = 0; - - virtual void enterSubSelect(SparqlAutomaticParser::SubSelectContext* ctx) = 0; - virtual void exitSubSelect(SparqlAutomaticParser::SubSelectContext* ctx) = 0; - - virtual void enterSelectClause( - SparqlAutomaticParser::SelectClauseContext* ctx) = 0; - virtual void exitSelectClause( - SparqlAutomaticParser::SelectClauseContext* ctx) = 0; - - virtual void enterVarOrAlias( - SparqlAutomaticParser::VarOrAliasContext* ctx) = 0; - virtual void exitVarOrAlias( - SparqlAutomaticParser::VarOrAliasContext* ctx) = 0; - - virtual void enterAlias(SparqlAutomaticParser::AliasContext* ctx) = 0; - virtual void exitAlias(SparqlAutomaticParser::AliasContext* ctx) = 0; - - virtual void enterAliasWithoutBrackets( - SparqlAutomaticParser::AliasWithoutBracketsContext* ctx) = 0; - virtual void exitAliasWithoutBrackets( - SparqlAutomaticParser::AliasWithoutBracketsContext* ctx) = 0; - - virtual void enterConstructQuery( - SparqlAutomaticParser::ConstructQueryContext* ctx) = 0; - virtual void exitConstructQuery( - SparqlAutomaticParser::ConstructQueryContext* ctx) = 0; - - virtual void enterDescribeQuery( - SparqlAutomaticParser::DescribeQueryContext* ctx) = 0; - virtual void exitDescribeQuery( - SparqlAutomaticParser::DescribeQueryContext* ctx) = 0; - - virtual void enterAskQuery(SparqlAutomaticParser::AskQueryContext* ctx) = 0; - virtual void exitAskQuery(SparqlAutomaticParser::AskQueryContext* ctx) = 0; - - virtual void enterDatasetClause( - SparqlAutomaticParser::DatasetClauseContext* ctx) = 0; - virtual void exitDatasetClause( - SparqlAutomaticParser::DatasetClauseContext* ctx) = 0; - - virtual void enterDefaultGraphClause( - SparqlAutomaticParser::DefaultGraphClauseContext* ctx) = 0; - virtual void exitDefaultGraphClause( - SparqlAutomaticParser::DefaultGraphClauseContext* ctx) = 0; - - virtual void enterNamedGraphClause( - SparqlAutomaticParser::NamedGraphClauseContext* ctx) = 0; - virtual void exitNamedGraphClause( - SparqlAutomaticParser::NamedGraphClauseContext* ctx) = 0; - - virtual void enterSourceSelector( - SparqlAutomaticParser::SourceSelectorContext* ctx) = 0; - virtual void exitSourceSelector( - SparqlAutomaticParser::SourceSelectorContext* ctx) = 0; - - virtual void enterWhereClause( - SparqlAutomaticParser::WhereClauseContext* ctx) = 0; - virtual void exitWhereClause( - SparqlAutomaticParser::WhereClauseContext* ctx) = 0; - - virtual void enterSolutionModifier( - SparqlAutomaticParser::SolutionModifierContext* ctx) = 0; - virtual void exitSolutionModifier( - SparqlAutomaticParser::SolutionModifierContext* ctx) = 0; - - virtual void enterGroupClause( - SparqlAutomaticParser::GroupClauseContext* ctx) = 0; - virtual void exitGroupClause( - SparqlAutomaticParser::GroupClauseContext* ctx) = 0; - - virtual void enterGroupCondition( - SparqlAutomaticParser::GroupConditionContext* ctx) = 0; - virtual void exitGroupCondition( - SparqlAutomaticParser::GroupConditionContext* ctx) = 0; - - virtual void enterHavingClause( - SparqlAutomaticParser::HavingClauseContext* ctx) = 0; - virtual void exitHavingClause( - SparqlAutomaticParser::HavingClauseContext* ctx) = 0; - - virtual void enterHavingCondition( - SparqlAutomaticParser::HavingConditionContext* ctx) = 0; - virtual void exitHavingCondition( - SparqlAutomaticParser::HavingConditionContext* ctx) = 0; - - virtual void enterOrderClause( - SparqlAutomaticParser::OrderClauseContext* ctx) = 0; - virtual void exitOrderClause( - SparqlAutomaticParser::OrderClauseContext* ctx) = 0; - - virtual void enterOrderCondition( - SparqlAutomaticParser::OrderConditionContext* ctx) = 0; - virtual void exitOrderCondition( - SparqlAutomaticParser::OrderConditionContext* ctx) = 0; - - virtual void enterLimitOffsetClauses( - SparqlAutomaticParser::LimitOffsetClausesContext* ctx) = 0; - virtual void exitLimitOffsetClauses( - SparqlAutomaticParser::LimitOffsetClausesContext* ctx) = 0; - - virtual void enterLimitClause( - SparqlAutomaticParser::LimitClauseContext* ctx) = 0; - virtual void exitLimitClause( - SparqlAutomaticParser::LimitClauseContext* ctx) = 0; - - virtual void enterOffsetClause( - SparqlAutomaticParser::OffsetClauseContext* ctx) = 0; - virtual void exitOffsetClause( - SparqlAutomaticParser::OffsetClauseContext* ctx) = 0; - - virtual void enterTextLimitClause( - SparqlAutomaticParser::TextLimitClauseContext* ctx) = 0; - virtual void exitTextLimitClause( - SparqlAutomaticParser::TextLimitClauseContext* ctx) = 0; - - virtual void enterValuesClause( - SparqlAutomaticParser::ValuesClauseContext* ctx) = 0; - virtual void exitValuesClause( - SparqlAutomaticParser::ValuesClauseContext* ctx) = 0; - - virtual void enterUpdate(SparqlAutomaticParser::UpdateContext* ctx) = 0; - virtual void exitUpdate(SparqlAutomaticParser::UpdateContext* ctx) = 0; - - virtual void enterUpdate1(SparqlAutomaticParser::Update1Context* ctx) = 0; - virtual void exitUpdate1(SparqlAutomaticParser::Update1Context* ctx) = 0; - - virtual void enterLoad(SparqlAutomaticParser::LoadContext* ctx) = 0; - virtual void exitLoad(SparqlAutomaticParser::LoadContext* ctx) = 0; - - virtual void enterClear(SparqlAutomaticParser::ClearContext* ctx) = 0; - virtual void exitClear(SparqlAutomaticParser::ClearContext* ctx) = 0; - - virtual void enterDrop(SparqlAutomaticParser::DropContext* ctx) = 0; - virtual void exitDrop(SparqlAutomaticParser::DropContext* ctx) = 0; - - virtual void enterCreate(SparqlAutomaticParser::CreateContext* ctx) = 0; - virtual void exitCreate(SparqlAutomaticParser::CreateContext* ctx) = 0; - - virtual void enterAdd(SparqlAutomaticParser::AddContext* ctx) = 0; - virtual void exitAdd(SparqlAutomaticParser::AddContext* ctx) = 0; - - virtual void enterMove(SparqlAutomaticParser::MoveContext* ctx) = 0; - virtual void exitMove(SparqlAutomaticParser::MoveContext* ctx) = 0; - - virtual void enterCopy(SparqlAutomaticParser::CopyContext* ctx) = 0; - virtual void exitCopy(SparqlAutomaticParser::CopyContext* ctx) = 0; - - virtual void enterInsertData( - SparqlAutomaticParser::InsertDataContext* ctx) = 0; - virtual void exitInsertData( - SparqlAutomaticParser::InsertDataContext* ctx) = 0; - - virtual void enterDeleteData( - SparqlAutomaticParser::DeleteDataContext* ctx) = 0; - virtual void exitDeleteData( - SparqlAutomaticParser::DeleteDataContext* ctx) = 0; - - virtual void enterDeleteWhere( - SparqlAutomaticParser::DeleteWhereContext* ctx) = 0; - virtual void exitDeleteWhere( - SparqlAutomaticParser::DeleteWhereContext* ctx) = 0; - - virtual void enterModify(SparqlAutomaticParser::ModifyContext* ctx) = 0; - virtual void exitModify(SparqlAutomaticParser::ModifyContext* ctx) = 0; - - virtual void enterDeleteClause( - SparqlAutomaticParser::DeleteClauseContext* ctx) = 0; - virtual void exitDeleteClause( - SparqlAutomaticParser::DeleteClauseContext* ctx) = 0; - - virtual void enterInsertClause( - SparqlAutomaticParser::InsertClauseContext* ctx) = 0; - virtual void exitInsertClause( - SparqlAutomaticParser::InsertClauseContext* ctx) = 0; - - virtual void enterUsingClause( - SparqlAutomaticParser::UsingClauseContext* ctx) = 0; - virtual void exitUsingClause( - SparqlAutomaticParser::UsingClauseContext* ctx) = 0; - - virtual void enterGraphOrDefault( - SparqlAutomaticParser::GraphOrDefaultContext* ctx) = 0; - virtual void exitGraphOrDefault( - SparqlAutomaticParser::GraphOrDefaultContext* ctx) = 0; - - virtual void enterGraphRef(SparqlAutomaticParser::GraphRefContext* ctx) = 0; - virtual void exitGraphRef(SparqlAutomaticParser::GraphRefContext* ctx) = 0; - - virtual void enterGraphRefAll( - SparqlAutomaticParser::GraphRefAllContext* ctx) = 0; - virtual void exitGraphRefAll( - SparqlAutomaticParser::GraphRefAllContext* ctx) = 0; - - virtual void enterQuadPattern( - SparqlAutomaticParser::QuadPatternContext* ctx) = 0; - virtual void exitQuadPattern( - SparqlAutomaticParser::QuadPatternContext* ctx) = 0; - - virtual void enterQuadData(SparqlAutomaticParser::QuadDataContext* ctx) = 0; - virtual void exitQuadData(SparqlAutomaticParser::QuadDataContext* ctx) = 0; - - virtual void enterQuads(SparqlAutomaticParser::QuadsContext* ctx) = 0; - virtual void exitQuads(SparqlAutomaticParser::QuadsContext* ctx) = 0; - - virtual void enterQuadsNotTriples( - SparqlAutomaticParser::QuadsNotTriplesContext* ctx) = 0; - virtual void exitQuadsNotTriples( - SparqlAutomaticParser::QuadsNotTriplesContext* ctx) = 0; - - virtual void enterTriplesTemplate( - SparqlAutomaticParser::TriplesTemplateContext* ctx) = 0; - virtual void exitTriplesTemplate( - SparqlAutomaticParser::TriplesTemplateContext* ctx) = 0; - - virtual void enterGroupGraphPattern( - SparqlAutomaticParser::GroupGraphPatternContext* ctx) = 0; - virtual void exitGroupGraphPattern( - SparqlAutomaticParser::GroupGraphPatternContext* ctx) = 0; - - virtual void enterGroupGraphPatternSub( - SparqlAutomaticParser::GroupGraphPatternSubContext* ctx) = 0; - virtual void exitGroupGraphPatternSub( - SparqlAutomaticParser::GroupGraphPatternSubContext* ctx) = 0; - - virtual void enterGraphPatternNotTriplesAndMaybeTriples( - SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* - ctx) = 0; - virtual void exitGraphPatternNotTriplesAndMaybeTriples( - SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* - ctx) = 0; - - virtual void enterTriplesBlock( - SparqlAutomaticParser::TriplesBlockContext* ctx) = 0; - virtual void exitTriplesBlock( - SparqlAutomaticParser::TriplesBlockContext* ctx) = 0; - - virtual void enterGraphPatternNotTriples( - SparqlAutomaticParser::GraphPatternNotTriplesContext* ctx) = 0; - virtual void exitGraphPatternNotTriples( - SparqlAutomaticParser::GraphPatternNotTriplesContext* ctx) = 0; - - virtual void enterOptionalGraphPattern( - SparqlAutomaticParser::OptionalGraphPatternContext* ctx) = 0; - virtual void exitOptionalGraphPattern( - SparqlAutomaticParser::OptionalGraphPatternContext* ctx) = 0; - - virtual void enterGraphGraphPattern( - SparqlAutomaticParser::GraphGraphPatternContext* ctx) = 0; - virtual void exitGraphGraphPattern( - SparqlAutomaticParser::GraphGraphPatternContext* ctx) = 0; - - virtual void enterServiceGraphPattern( - SparqlAutomaticParser::ServiceGraphPatternContext* ctx) = 0; - virtual void exitServiceGraphPattern( - SparqlAutomaticParser::ServiceGraphPatternContext* ctx) = 0; - - virtual void enterBind(SparqlAutomaticParser::BindContext* ctx) = 0; - virtual void exitBind(SparqlAutomaticParser::BindContext* ctx) = 0; - - virtual void enterInlineData( - SparqlAutomaticParser::InlineDataContext* ctx) = 0; - virtual void exitInlineData( - SparqlAutomaticParser::InlineDataContext* ctx) = 0; - - virtual void enterDataBlock(SparqlAutomaticParser::DataBlockContext* ctx) = 0; - virtual void exitDataBlock(SparqlAutomaticParser::DataBlockContext* ctx) = 0; - - virtual void enterInlineDataOneVar( - SparqlAutomaticParser::InlineDataOneVarContext* ctx) = 0; - virtual void exitInlineDataOneVar( - SparqlAutomaticParser::InlineDataOneVarContext* ctx) = 0; - - virtual void enterInlineDataFull( - SparqlAutomaticParser::InlineDataFullContext* ctx) = 0; - virtual void exitInlineDataFull( - SparqlAutomaticParser::InlineDataFullContext* ctx) = 0; - - virtual void enterDataBlockSingle( - SparqlAutomaticParser::DataBlockSingleContext* ctx) = 0; - virtual void exitDataBlockSingle( - SparqlAutomaticParser::DataBlockSingleContext* ctx) = 0; - - virtual void enterDataBlockValue( - SparqlAutomaticParser::DataBlockValueContext* ctx) = 0; - virtual void exitDataBlockValue( - SparqlAutomaticParser::DataBlockValueContext* ctx) = 0; - - virtual void enterMinusGraphPattern( - SparqlAutomaticParser::MinusGraphPatternContext* ctx) = 0; - virtual void exitMinusGraphPattern( - SparqlAutomaticParser::MinusGraphPatternContext* ctx) = 0; - - virtual void enterGroupOrUnionGraphPattern( - SparqlAutomaticParser::GroupOrUnionGraphPatternContext* ctx) = 0; - virtual void exitGroupOrUnionGraphPattern( - SparqlAutomaticParser::GroupOrUnionGraphPatternContext* ctx) = 0; - - virtual void enterFilterR(SparqlAutomaticParser::FilterRContext* ctx) = 0; - virtual void exitFilterR(SparqlAutomaticParser::FilterRContext* ctx) = 0; - - virtual void enterConstraint( - SparqlAutomaticParser::ConstraintContext* ctx) = 0; - virtual void exitConstraint( - SparqlAutomaticParser::ConstraintContext* ctx) = 0; - - virtual void enterFunctionCall( - SparqlAutomaticParser::FunctionCallContext* ctx) = 0; - virtual void exitFunctionCall( - SparqlAutomaticParser::FunctionCallContext* ctx) = 0; - - virtual void enterArgList(SparqlAutomaticParser::ArgListContext* ctx) = 0; - virtual void exitArgList(SparqlAutomaticParser::ArgListContext* ctx) = 0; - - virtual void enterExpressionList( - SparqlAutomaticParser::ExpressionListContext* ctx) = 0; - virtual void exitExpressionList( - SparqlAutomaticParser::ExpressionListContext* ctx) = 0; - - virtual void enterConstructTemplate( - SparqlAutomaticParser::ConstructTemplateContext* ctx) = 0; - virtual void exitConstructTemplate( - SparqlAutomaticParser::ConstructTemplateContext* ctx) = 0; - - virtual void enterConstructTriples( - SparqlAutomaticParser::ConstructTriplesContext* ctx) = 0; - virtual void exitConstructTriples( - SparqlAutomaticParser::ConstructTriplesContext* ctx) = 0; - - virtual void enterTriplesSameSubject( - SparqlAutomaticParser::TriplesSameSubjectContext* ctx) = 0; - virtual void exitTriplesSameSubject( - SparqlAutomaticParser::TriplesSameSubjectContext* ctx) = 0; - - virtual void enterPropertyList( - SparqlAutomaticParser::PropertyListContext* ctx) = 0; - virtual void exitPropertyList( - SparqlAutomaticParser::PropertyListContext* ctx) = 0; - - virtual void enterPropertyListNotEmpty( - SparqlAutomaticParser::PropertyListNotEmptyContext* ctx) = 0; - virtual void exitPropertyListNotEmpty( - SparqlAutomaticParser::PropertyListNotEmptyContext* ctx) = 0; - - virtual void enterVerb(SparqlAutomaticParser::VerbContext* ctx) = 0; - virtual void exitVerb(SparqlAutomaticParser::VerbContext* ctx) = 0; - - virtual void enterObjectList( - SparqlAutomaticParser::ObjectListContext* ctx) = 0; - virtual void exitObjectList( - SparqlAutomaticParser::ObjectListContext* ctx) = 0; - - virtual void enterObjectR(SparqlAutomaticParser::ObjectRContext* ctx) = 0; - virtual void exitObjectR(SparqlAutomaticParser::ObjectRContext* ctx) = 0; - - virtual void enterTriplesSameSubjectPath( - SparqlAutomaticParser::TriplesSameSubjectPathContext* ctx) = 0; - virtual void exitTriplesSameSubjectPath( - SparqlAutomaticParser::TriplesSameSubjectPathContext* ctx) = 0; - - virtual void enterPropertyListPath( - SparqlAutomaticParser::PropertyListPathContext* ctx) = 0; - virtual void exitPropertyListPath( - SparqlAutomaticParser::PropertyListPathContext* ctx) = 0; - - virtual void enterPropertyListPathNotEmpty( - SparqlAutomaticParser::PropertyListPathNotEmptyContext* ctx) = 0; - virtual void exitPropertyListPathNotEmpty( - SparqlAutomaticParser::PropertyListPathNotEmptyContext* ctx) = 0; - - virtual void enterVerbPath(SparqlAutomaticParser::VerbPathContext* ctx) = 0; - virtual void exitVerbPath(SparqlAutomaticParser::VerbPathContext* ctx) = 0; - - virtual void enterVerbSimple( - SparqlAutomaticParser::VerbSimpleContext* ctx) = 0; - virtual void exitVerbSimple( - SparqlAutomaticParser::VerbSimpleContext* ctx) = 0; - - virtual void enterTupleWithoutPath( - SparqlAutomaticParser::TupleWithoutPathContext* ctx) = 0; - virtual void exitTupleWithoutPath( - SparqlAutomaticParser::TupleWithoutPathContext* ctx) = 0; - - virtual void enterTupleWithPath( - SparqlAutomaticParser::TupleWithPathContext* ctx) = 0; - virtual void exitTupleWithPath( - SparqlAutomaticParser::TupleWithPathContext* ctx) = 0; - - virtual void enterVerbPathOrSimple( - SparqlAutomaticParser::VerbPathOrSimpleContext* ctx) = 0; - virtual void exitVerbPathOrSimple( - SparqlAutomaticParser::VerbPathOrSimpleContext* ctx) = 0; - - virtual void enterObjectListPath( - SparqlAutomaticParser::ObjectListPathContext* ctx) = 0; - virtual void exitObjectListPath( - SparqlAutomaticParser::ObjectListPathContext* ctx) = 0; - - virtual void enterObjectPath( - SparqlAutomaticParser::ObjectPathContext* ctx) = 0; - virtual void exitObjectPath( - SparqlAutomaticParser::ObjectPathContext* ctx) = 0; - - virtual void enterPath(SparqlAutomaticParser::PathContext* ctx) = 0; - virtual void exitPath(SparqlAutomaticParser::PathContext* ctx) = 0; - - virtual void enterPathAlternative( - SparqlAutomaticParser::PathAlternativeContext* ctx) = 0; - virtual void exitPathAlternative( - SparqlAutomaticParser::PathAlternativeContext* ctx) = 0; - - virtual void enterPathSequence( - SparqlAutomaticParser::PathSequenceContext* ctx) = 0; - virtual void exitPathSequence( - SparqlAutomaticParser::PathSequenceContext* ctx) = 0; - - virtual void enterPathElt(SparqlAutomaticParser::PathEltContext* ctx) = 0; - virtual void exitPathElt(SparqlAutomaticParser::PathEltContext* ctx) = 0; - - virtual void enterPathEltOrInverse( - SparqlAutomaticParser::PathEltOrInverseContext* ctx) = 0; - virtual void exitPathEltOrInverse( - SparqlAutomaticParser::PathEltOrInverseContext* ctx) = 0; - - virtual void enterPathMod(SparqlAutomaticParser::PathModContext* ctx) = 0; - virtual void exitPathMod(SparqlAutomaticParser::PathModContext* ctx) = 0; - - virtual void enterPathPrimary( - SparqlAutomaticParser::PathPrimaryContext* ctx) = 0; - virtual void exitPathPrimary( - SparqlAutomaticParser::PathPrimaryContext* ctx) = 0; - - virtual void enterPathNegatedPropertySet( - SparqlAutomaticParser::PathNegatedPropertySetContext* ctx) = 0; - virtual void exitPathNegatedPropertySet( - SparqlAutomaticParser::PathNegatedPropertySetContext* ctx) = 0; - - virtual void enterPathOneInPropertySet( - SparqlAutomaticParser::PathOneInPropertySetContext* ctx) = 0; - virtual void exitPathOneInPropertySet( - SparqlAutomaticParser::PathOneInPropertySetContext* ctx) = 0; - - virtual void enterInteger(SparqlAutomaticParser::IntegerContext* ctx) = 0; - virtual void exitInteger(SparqlAutomaticParser::IntegerContext* ctx) = 0; - - virtual void enterTriplesNode( - SparqlAutomaticParser::TriplesNodeContext* ctx) = 0; - virtual void exitTriplesNode( - SparqlAutomaticParser::TriplesNodeContext* ctx) = 0; - - virtual void enterBlankNodePropertyList( - SparqlAutomaticParser::BlankNodePropertyListContext* ctx) = 0; - virtual void exitBlankNodePropertyList( - SparqlAutomaticParser::BlankNodePropertyListContext* ctx) = 0; - - virtual void enterTriplesNodePath( - SparqlAutomaticParser::TriplesNodePathContext* ctx) = 0; - virtual void exitTriplesNodePath( - SparqlAutomaticParser::TriplesNodePathContext* ctx) = 0; - - virtual void enterBlankNodePropertyListPath( - SparqlAutomaticParser::BlankNodePropertyListPathContext* ctx) = 0; - virtual void exitBlankNodePropertyListPath( - SparqlAutomaticParser::BlankNodePropertyListPathContext* ctx) = 0; - - virtual void enterCollection( - SparqlAutomaticParser::CollectionContext* ctx) = 0; - virtual void exitCollection( - SparqlAutomaticParser::CollectionContext* ctx) = 0; - - virtual void enterCollectionPath( - SparqlAutomaticParser::CollectionPathContext* ctx) = 0; - virtual void exitCollectionPath( - SparqlAutomaticParser::CollectionPathContext* ctx) = 0; - - virtual void enterGraphNode(SparqlAutomaticParser::GraphNodeContext* ctx) = 0; - virtual void exitGraphNode(SparqlAutomaticParser::GraphNodeContext* ctx) = 0; - - virtual void enterGraphNodePath( - SparqlAutomaticParser::GraphNodePathContext* ctx) = 0; - virtual void exitGraphNodePath( - SparqlAutomaticParser::GraphNodePathContext* ctx) = 0; - - virtual void enterVarOrTerm(SparqlAutomaticParser::VarOrTermContext* ctx) = 0; - virtual void exitVarOrTerm(SparqlAutomaticParser::VarOrTermContext* ctx) = 0; - - virtual void enterVarOrIri(SparqlAutomaticParser::VarOrIriContext* ctx) = 0; - virtual void exitVarOrIri(SparqlAutomaticParser::VarOrIriContext* ctx) = 0; - - virtual void enterVar(SparqlAutomaticParser::VarContext* ctx) = 0; - virtual void exitVar(SparqlAutomaticParser::VarContext* ctx) = 0; - - virtual void enterGraphTerm(SparqlAutomaticParser::GraphTermContext* ctx) = 0; - virtual void exitGraphTerm(SparqlAutomaticParser::GraphTermContext* ctx) = 0; - - virtual void enterExpression( - SparqlAutomaticParser::ExpressionContext* ctx) = 0; - virtual void exitExpression( - SparqlAutomaticParser::ExpressionContext* ctx) = 0; - - virtual void enterConditionalOrExpression( - SparqlAutomaticParser::ConditionalOrExpressionContext* ctx) = 0; - virtual void exitConditionalOrExpression( - SparqlAutomaticParser::ConditionalOrExpressionContext* ctx) = 0; - - virtual void enterConditionalAndExpression( - SparqlAutomaticParser::ConditionalAndExpressionContext* ctx) = 0; - virtual void exitConditionalAndExpression( - SparqlAutomaticParser::ConditionalAndExpressionContext* ctx) = 0; - - virtual void enterValueLogical( - SparqlAutomaticParser::ValueLogicalContext* ctx) = 0; - virtual void exitValueLogical( - SparqlAutomaticParser::ValueLogicalContext* ctx) = 0; - - virtual void enterRelationalExpression( - SparqlAutomaticParser::RelationalExpressionContext* ctx) = 0; - virtual void exitRelationalExpression( - SparqlAutomaticParser::RelationalExpressionContext* ctx) = 0; - - virtual void enterNumericExpression( - SparqlAutomaticParser::NumericExpressionContext* ctx) = 0; - virtual void exitNumericExpression( - SparqlAutomaticParser::NumericExpressionContext* ctx) = 0; - - virtual void enterAdditiveExpression( - SparqlAutomaticParser::AdditiveExpressionContext* ctx) = 0; - virtual void exitAdditiveExpression( - SparqlAutomaticParser::AdditiveExpressionContext* ctx) = 0; - - virtual void enterMultiplicativeExpressionWithSign( - SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* ctx) = 0; - virtual void exitMultiplicativeExpressionWithSign( - SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* ctx) = 0; - - virtual void enterPlusSubexpression( - SparqlAutomaticParser::PlusSubexpressionContext* ctx) = 0; - virtual void exitPlusSubexpression( - SparqlAutomaticParser::PlusSubexpressionContext* ctx) = 0; - - virtual void enterMinusSubexpression( - SparqlAutomaticParser::MinusSubexpressionContext* ctx) = 0; - virtual void exitMinusSubexpression( - SparqlAutomaticParser::MinusSubexpressionContext* ctx) = 0; - - virtual void enterMultiplicativeExpressionWithLeadingSignButNoSpace( - SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* ctx) = 0; - virtual void exitMultiplicativeExpressionWithLeadingSignButNoSpace( - SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* ctx) = 0; - - virtual void enterMultiplicativeExpression( - SparqlAutomaticParser::MultiplicativeExpressionContext* ctx) = 0; - virtual void exitMultiplicativeExpression( - SparqlAutomaticParser::MultiplicativeExpressionContext* ctx) = 0; - - virtual void enterMultiplyOrDivideExpression( - SparqlAutomaticParser::MultiplyOrDivideExpressionContext* ctx) = 0; - virtual void exitMultiplyOrDivideExpression( - SparqlAutomaticParser::MultiplyOrDivideExpressionContext* ctx) = 0; - - virtual void enterMultiplyExpression( - SparqlAutomaticParser::MultiplyExpressionContext* ctx) = 0; - virtual void exitMultiplyExpression( - SparqlAutomaticParser::MultiplyExpressionContext* ctx) = 0; - - virtual void enterDivideExpression( - SparqlAutomaticParser::DivideExpressionContext* ctx) = 0; - virtual void exitDivideExpression( - SparqlAutomaticParser::DivideExpressionContext* ctx) = 0; - - virtual void enterUnaryExpression( - SparqlAutomaticParser::UnaryExpressionContext* ctx) = 0; - virtual void exitUnaryExpression( - SparqlAutomaticParser::UnaryExpressionContext* ctx) = 0; - - virtual void enterPrimaryExpression( - SparqlAutomaticParser::PrimaryExpressionContext* ctx) = 0; - virtual void exitPrimaryExpression( - SparqlAutomaticParser::PrimaryExpressionContext* ctx) = 0; - - virtual void enterBrackettedExpression( - SparqlAutomaticParser::BrackettedExpressionContext* ctx) = 0; - virtual void exitBrackettedExpression( - SparqlAutomaticParser::BrackettedExpressionContext* ctx) = 0; - - virtual void enterBuiltInCall( - SparqlAutomaticParser::BuiltInCallContext* ctx) = 0; - virtual void exitBuiltInCall( - SparqlAutomaticParser::BuiltInCallContext* ctx) = 0; - - virtual void enterRegexExpression( - SparqlAutomaticParser::RegexExpressionContext* ctx) = 0; - virtual void exitRegexExpression( - SparqlAutomaticParser::RegexExpressionContext* ctx) = 0; - - virtual void enterLangExpression( - SparqlAutomaticParser::LangExpressionContext* ctx) = 0; - virtual void exitLangExpression( - SparqlAutomaticParser::LangExpressionContext* ctx) = 0; - - virtual void enterSubstringExpression( - SparqlAutomaticParser::SubstringExpressionContext* ctx) = 0; - virtual void exitSubstringExpression( - SparqlAutomaticParser::SubstringExpressionContext* ctx) = 0; - - virtual void enterStrReplaceExpression( - SparqlAutomaticParser::StrReplaceExpressionContext* ctx) = 0; - virtual void exitStrReplaceExpression( - SparqlAutomaticParser::StrReplaceExpressionContext* ctx) = 0; - - virtual void enterExistsFunc( - SparqlAutomaticParser::ExistsFuncContext* ctx) = 0; - virtual void exitExistsFunc( - SparqlAutomaticParser::ExistsFuncContext* ctx) = 0; - - virtual void enterNotExistsFunc( - SparqlAutomaticParser::NotExistsFuncContext* ctx) = 0; - virtual void exitNotExistsFunc( - SparqlAutomaticParser::NotExistsFuncContext* ctx) = 0; - - virtual void enterAggregate(SparqlAutomaticParser::AggregateContext* ctx) = 0; - virtual void exitAggregate(SparqlAutomaticParser::AggregateContext* ctx) = 0; - - virtual void enterIriOrFunction( - SparqlAutomaticParser::IriOrFunctionContext* ctx) = 0; - virtual void exitIriOrFunction( - SparqlAutomaticParser::IriOrFunctionContext* ctx) = 0; - - virtual void enterRdfLiteral( - SparqlAutomaticParser::RdfLiteralContext* ctx) = 0; - virtual void exitRdfLiteral( - SparqlAutomaticParser::RdfLiteralContext* ctx) = 0; - - virtual void enterNumericLiteral( - SparqlAutomaticParser::NumericLiteralContext* ctx) = 0; - virtual void exitNumericLiteral( - SparqlAutomaticParser::NumericLiteralContext* ctx) = 0; - - virtual void enterNumericLiteralUnsigned( - SparqlAutomaticParser::NumericLiteralUnsignedContext* ctx) = 0; - virtual void exitNumericLiteralUnsigned( - SparqlAutomaticParser::NumericLiteralUnsignedContext* ctx) = 0; - - virtual void enterNumericLiteralPositive( - SparqlAutomaticParser::NumericLiteralPositiveContext* ctx) = 0; - virtual void exitNumericLiteralPositive( - SparqlAutomaticParser::NumericLiteralPositiveContext* ctx) = 0; - - virtual void enterNumericLiteralNegative( - SparqlAutomaticParser::NumericLiteralNegativeContext* ctx) = 0; - virtual void exitNumericLiteralNegative( - SparqlAutomaticParser::NumericLiteralNegativeContext* ctx) = 0; - - virtual void enterBooleanLiteral( - SparqlAutomaticParser::BooleanLiteralContext* ctx) = 0; - virtual void exitBooleanLiteral( - SparqlAutomaticParser::BooleanLiteralContext* ctx) = 0; - - virtual void enterString(SparqlAutomaticParser::StringContext* ctx) = 0; - virtual void exitString(SparqlAutomaticParser::StringContext* ctx) = 0; - - virtual void enterIri(SparqlAutomaticParser::IriContext* ctx) = 0; - virtual void exitIri(SparqlAutomaticParser::IriContext* ctx) = 0; - - virtual void enterPrefixedName( - SparqlAutomaticParser::PrefixedNameContext* ctx) = 0; - virtual void exitPrefixedName( - SparqlAutomaticParser::PrefixedNameContext* ctx) = 0; - - virtual void enterBlankNode(SparqlAutomaticParser::BlankNodeContext* ctx) = 0; - virtual void exitBlankNode(SparqlAutomaticParser::BlankNodeContext* ctx) = 0; - - virtual void enterIriref(SparqlAutomaticParser::IrirefContext* ctx) = 0; - virtual void exitIriref(SparqlAutomaticParser::IrirefContext* ctx) = 0; - - virtual void enterPnameLn(SparqlAutomaticParser::PnameLnContext* ctx) = 0; - virtual void exitPnameLn(SparqlAutomaticParser::PnameLnContext* ctx) = 0; - - virtual void enterPnameNs(SparqlAutomaticParser::PnameNsContext* ctx) = 0; - virtual void exitPnameNs(SparqlAutomaticParser::PnameNsContext* ctx) = 0; +class SparqlAutomaticListener : public antlr4::tree::ParseTreeListener { +public: + + virtual void enterQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext *ctx) = 0; + virtual void exitQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext *ctx) = 0; + + virtual void enterQuery(SparqlAutomaticParser::QueryContext *ctx) = 0; + virtual void exitQuery(SparqlAutomaticParser::QueryContext *ctx) = 0; + + virtual void enterPrologue(SparqlAutomaticParser::PrologueContext *ctx) = 0; + virtual void exitPrologue(SparqlAutomaticParser::PrologueContext *ctx) = 0; + + virtual void enterBaseDecl(SparqlAutomaticParser::BaseDeclContext *ctx) = 0; + virtual void exitBaseDecl(SparqlAutomaticParser::BaseDeclContext *ctx) = 0; + + virtual void enterPrefixDecl(SparqlAutomaticParser::PrefixDeclContext *ctx) = 0; + virtual void exitPrefixDecl(SparqlAutomaticParser::PrefixDeclContext *ctx) = 0; + + virtual void enterSelectQuery(SparqlAutomaticParser::SelectQueryContext *ctx) = 0; + virtual void exitSelectQuery(SparqlAutomaticParser::SelectQueryContext *ctx) = 0; + + virtual void enterSubSelect(SparqlAutomaticParser::SubSelectContext *ctx) = 0; + virtual void exitSubSelect(SparqlAutomaticParser::SubSelectContext *ctx) = 0; + + virtual void enterSelectClause(SparqlAutomaticParser::SelectClauseContext *ctx) = 0; + virtual void exitSelectClause(SparqlAutomaticParser::SelectClauseContext *ctx) = 0; + + virtual void enterVarOrAlias(SparqlAutomaticParser::VarOrAliasContext *ctx) = 0; + virtual void exitVarOrAlias(SparqlAutomaticParser::VarOrAliasContext *ctx) = 0; + + virtual void enterAlias(SparqlAutomaticParser::AliasContext *ctx) = 0; + virtual void exitAlias(SparqlAutomaticParser::AliasContext *ctx) = 0; + + virtual void enterAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext *ctx) = 0; + virtual void exitAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext *ctx) = 0; + + virtual void enterConstructQuery(SparqlAutomaticParser::ConstructQueryContext *ctx) = 0; + virtual void exitConstructQuery(SparqlAutomaticParser::ConstructQueryContext *ctx) = 0; + + virtual void enterDescribeQuery(SparqlAutomaticParser::DescribeQueryContext *ctx) = 0; + virtual void exitDescribeQuery(SparqlAutomaticParser::DescribeQueryContext *ctx) = 0; + + virtual void enterAskQuery(SparqlAutomaticParser::AskQueryContext *ctx) = 0; + virtual void exitAskQuery(SparqlAutomaticParser::AskQueryContext *ctx) = 0; + + virtual void enterDatasetClause(SparqlAutomaticParser::DatasetClauseContext *ctx) = 0; + virtual void exitDatasetClause(SparqlAutomaticParser::DatasetClauseContext *ctx) = 0; + + virtual void enterDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext *ctx) = 0; + virtual void exitDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext *ctx) = 0; + + virtual void enterNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext *ctx) = 0; + virtual void exitNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext *ctx) = 0; + + virtual void enterSourceSelector(SparqlAutomaticParser::SourceSelectorContext *ctx) = 0; + virtual void exitSourceSelector(SparqlAutomaticParser::SourceSelectorContext *ctx) = 0; + + virtual void enterWhereClause(SparqlAutomaticParser::WhereClauseContext *ctx) = 0; + virtual void exitWhereClause(SparqlAutomaticParser::WhereClauseContext *ctx) = 0; + + virtual void enterSolutionModifier(SparqlAutomaticParser::SolutionModifierContext *ctx) = 0; + virtual void exitSolutionModifier(SparqlAutomaticParser::SolutionModifierContext *ctx) = 0; + + virtual void enterGroupClause(SparqlAutomaticParser::GroupClauseContext *ctx) = 0; + virtual void exitGroupClause(SparqlAutomaticParser::GroupClauseContext *ctx) = 0; + + virtual void enterGroupCondition(SparqlAutomaticParser::GroupConditionContext *ctx) = 0; + virtual void exitGroupCondition(SparqlAutomaticParser::GroupConditionContext *ctx) = 0; + + virtual void enterHavingClause(SparqlAutomaticParser::HavingClauseContext *ctx) = 0; + virtual void exitHavingClause(SparqlAutomaticParser::HavingClauseContext *ctx) = 0; + + virtual void enterHavingCondition(SparqlAutomaticParser::HavingConditionContext *ctx) = 0; + virtual void exitHavingCondition(SparqlAutomaticParser::HavingConditionContext *ctx) = 0; + + virtual void enterOrderClause(SparqlAutomaticParser::OrderClauseContext *ctx) = 0; + virtual void exitOrderClause(SparqlAutomaticParser::OrderClauseContext *ctx) = 0; + + virtual void enterOrderCondition(SparqlAutomaticParser::OrderConditionContext *ctx) = 0; + virtual void exitOrderCondition(SparqlAutomaticParser::OrderConditionContext *ctx) = 0; + + virtual void enterLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext *ctx) = 0; + virtual void exitLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext *ctx) = 0; + + virtual void enterLimitClause(SparqlAutomaticParser::LimitClauseContext *ctx) = 0; + virtual void exitLimitClause(SparqlAutomaticParser::LimitClauseContext *ctx) = 0; + + virtual void enterOffsetClause(SparqlAutomaticParser::OffsetClauseContext *ctx) = 0; + virtual void exitOffsetClause(SparqlAutomaticParser::OffsetClauseContext *ctx) = 0; + + virtual void enterTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext *ctx) = 0; + virtual void exitTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext *ctx) = 0; + + virtual void enterValuesClause(SparqlAutomaticParser::ValuesClauseContext *ctx) = 0; + virtual void exitValuesClause(SparqlAutomaticParser::ValuesClauseContext *ctx) = 0; + + virtual void enterUpdate(SparqlAutomaticParser::UpdateContext *ctx) = 0; + virtual void exitUpdate(SparqlAutomaticParser::UpdateContext *ctx) = 0; + + virtual void enterUpdate1(SparqlAutomaticParser::Update1Context *ctx) = 0; + virtual void exitUpdate1(SparqlAutomaticParser::Update1Context *ctx) = 0; + + virtual void enterLoad(SparqlAutomaticParser::LoadContext *ctx) = 0; + virtual void exitLoad(SparqlAutomaticParser::LoadContext *ctx) = 0; + + virtual void enterClear(SparqlAutomaticParser::ClearContext *ctx) = 0; + virtual void exitClear(SparqlAutomaticParser::ClearContext *ctx) = 0; + + virtual void enterDrop(SparqlAutomaticParser::DropContext *ctx) = 0; + virtual void exitDrop(SparqlAutomaticParser::DropContext *ctx) = 0; + + virtual void enterCreate(SparqlAutomaticParser::CreateContext *ctx) = 0; + virtual void exitCreate(SparqlAutomaticParser::CreateContext *ctx) = 0; + + virtual void enterAdd(SparqlAutomaticParser::AddContext *ctx) = 0; + virtual void exitAdd(SparqlAutomaticParser::AddContext *ctx) = 0; + + virtual void enterMove(SparqlAutomaticParser::MoveContext *ctx) = 0; + virtual void exitMove(SparqlAutomaticParser::MoveContext *ctx) = 0; + + virtual void enterCopy(SparqlAutomaticParser::CopyContext *ctx) = 0; + virtual void exitCopy(SparqlAutomaticParser::CopyContext *ctx) = 0; + + virtual void enterInsertData(SparqlAutomaticParser::InsertDataContext *ctx) = 0; + virtual void exitInsertData(SparqlAutomaticParser::InsertDataContext *ctx) = 0; + + virtual void enterDeleteData(SparqlAutomaticParser::DeleteDataContext *ctx) = 0; + virtual void exitDeleteData(SparqlAutomaticParser::DeleteDataContext *ctx) = 0; + + virtual void enterDeleteWhere(SparqlAutomaticParser::DeleteWhereContext *ctx) = 0; + virtual void exitDeleteWhere(SparqlAutomaticParser::DeleteWhereContext *ctx) = 0; + + virtual void enterModify(SparqlAutomaticParser::ModifyContext *ctx) = 0; + virtual void exitModify(SparqlAutomaticParser::ModifyContext *ctx) = 0; + + virtual void enterDeleteClause(SparqlAutomaticParser::DeleteClauseContext *ctx) = 0; + virtual void exitDeleteClause(SparqlAutomaticParser::DeleteClauseContext *ctx) = 0; + + virtual void enterInsertClause(SparqlAutomaticParser::InsertClauseContext *ctx) = 0; + virtual void exitInsertClause(SparqlAutomaticParser::InsertClauseContext *ctx) = 0; + + virtual void enterUsingClause(SparqlAutomaticParser::UsingClauseContext *ctx) = 0; + virtual void exitUsingClause(SparqlAutomaticParser::UsingClauseContext *ctx) = 0; + + virtual void enterGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext *ctx) = 0; + virtual void exitGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext *ctx) = 0; + + virtual void enterGraphRef(SparqlAutomaticParser::GraphRefContext *ctx) = 0; + virtual void exitGraphRef(SparqlAutomaticParser::GraphRefContext *ctx) = 0; + + virtual void enterGraphRefAll(SparqlAutomaticParser::GraphRefAllContext *ctx) = 0; + virtual void exitGraphRefAll(SparqlAutomaticParser::GraphRefAllContext *ctx) = 0; + + virtual void enterQuadPattern(SparqlAutomaticParser::QuadPatternContext *ctx) = 0; + virtual void exitQuadPattern(SparqlAutomaticParser::QuadPatternContext *ctx) = 0; + + virtual void enterQuadData(SparqlAutomaticParser::QuadDataContext *ctx) = 0; + virtual void exitQuadData(SparqlAutomaticParser::QuadDataContext *ctx) = 0; + + virtual void enterQuads(SparqlAutomaticParser::QuadsContext *ctx) = 0; + virtual void exitQuads(SparqlAutomaticParser::QuadsContext *ctx) = 0; + + virtual void enterQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext *ctx) = 0; + virtual void exitQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext *ctx) = 0; + + virtual void enterTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext *ctx) = 0; + virtual void exitTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext *ctx) = 0; + + virtual void enterGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext *ctx) = 0; + virtual void exitGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext *ctx) = 0; + + virtual void enterGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext *ctx) = 0; + virtual void exitGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext *ctx) = 0; + + virtual void enterGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext *ctx) = 0; + virtual void exitGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext *ctx) = 0; + + virtual void enterTriplesBlock(SparqlAutomaticParser::TriplesBlockContext *ctx) = 0; + virtual void exitTriplesBlock(SparqlAutomaticParser::TriplesBlockContext *ctx) = 0; + + virtual void enterGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext *ctx) = 0; + virtual void exitGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext *ctx) = 0; + + virtual void enterOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext *ctx) = 0; + virtual void exitOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext *ctx) = 0; + + virtual void enterGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext *ctx) = 0; + virtual void exitGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext *ctx) = 0; + + virtual void enterServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext *ctx) = 0; + virtual void exitServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext *ctx) = 0; + + virtual void enterBind(SparqlAutomaticParser::BindContext *ctx) = 0; + virtual void exitBind(SparqlAutomaticParser::BindContext *ctx) = 0; + + virtual void enterInlineData(SparqlAutomaticParser::InlineDataContext *ctx) = 0; + virtual void exitInlineData(SparqlAutomaticParser::InlineDataContext *ctx) = 0; + + virtual void enterDataBlock(SparqlAutomaticParser::DataBlockContext *ctx) = 0; + virtual void exitDataBlock(SparqlAutomaticParser::DataBlockContext *ctx) = 0; + + virtual void enterInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext *ctx) = 0; + virtual void exitInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext *ctx) = 0; + + virtual void enterInlineDataFull(SparqlAutomaticParser::InlineDataFullContext *ctx) = 0; + virtual void exitInlineDataFull(SparqlAutomaticParser::InlineDataFullContext *ctx) = 0; + + virtual void enterDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext *ctx) = 0; + virtual void exitDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext *ctx) = 0; + + virtual void enterDataBlockValue(SparqlAutomaticParser::DataBlockValueContext *ctx) = 0; + virtual void exitDataBlockValue(SparqlAutomaticParser::DataBlockValueContext *ctx) = 0; + + virtual void enterMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext *ctx) = 0; + virtual void exitMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext *ctx) = 0; + + virtual void enterGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext *ctx) = 0; + virtual void exitGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext *ctx) = 0; + + virtual void enterFilterR(SparqlAutomaticParser::FilterRContext *ctx) = 0; + virtual void exitFilterR(SparqlAutomaticParser::FilterRContext *ctx) = 0; + + virtual void enterConstraint(SparqlAutomaticParser::ConstraintContext *ctx) = 0; + virtual void exitConstraint(SparqlAutomaticParser::ConstraintContext *ctx) = 0; + + virtual void enterFunctionCall(SparqlAutomaticParser::FunctionCallContext *ctx) = 0; + virtual void exitFunctionCall(SparqlAutomaticParser::FunctionCallContext *ctx) = 0; + + virtual void enterArgList(SparqlAutomaticParser::ArgListContext *ctx) = 0; + virtual void exitArgList(SparqlAutomaticParser::ArgListContext *ctx) = 0; + + virtual void enterExpressionList(SparqlAutomaticParser::ExpressionListContext *ctx) = 0; + virtual void exitExpressionList(SparqlAutomaticParser::ExpressionListContext *ctx) = 0; + + virtual void enterConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext *ctx) = 0; + virtual void exitConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext *ctx) = 0; + + virtual void enterConstructTriples(SparqlAutomaticParser::ConstructTriplesContext *ctx) = 0; + virtual void exitConstructTriples(SparqlAutomaticParser::ConstructTriplesContext *ctx) = 0; + + virtual void enterTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext *ctx) = 0; + virtual void exitTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext *ctx) = 0; + + virtual void enterPropertyList(SparqlAutomaticParser::PropertyListContext *ctx) = 0; + virtual void exitPropertyList(SparqlAutomaticParser::PropertyListContext *ctx) = 0; + + virtual void enterPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext *ctx) = 0; + virtual void exitPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext *ctx) = 0; + + virtual void enterVerb(SparqlAutomaticParser::VerbContext *ctx) = 0; + virtual void exitVerb(SparqlAutomaticParser::VerbContext *ctx) = 0; + + virtual void enterObjectList(SparqlAutomaticParser::ObjectListContext *ctx) = 0; + virtual void exitObjectList(SparqlAutomaticParser::ObjectListContext *ctx) = 0; + + virtual void enterObjectR(SparqlAutomaticParser::ObjectRContext *ctx) = 0; + virtual void exitObjectR(SparqlAutomaticParser::ObjectRContext *ctx) = 0; + + virtual void enterTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext *ctx) = 0; + virtual void exitTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext *ctx) = 0; + + virtual void enterPropertyListPath(SparqlAutomaticParser::PropertyListPathContext *ctx) = 0; + virtual void exitPropertyListPath(SparqlAutomaticParser::PropertyListPathContext *ctx) = 0; + + virtual void enterPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext *ctx) = 0; + virtual void exitPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext *ctx) = 0; + + virtual void enterVerbPath(SparqlAutomaticParser::VerbPathContext *ctx) = 0; + virtual void exitVerbPath(SparqlAutomaticParser::VerbPathContext *ctx) = 0; + + virtual void enterVerbSimple(SparqlAutomaticParser::VerbSimpleContext *ctx) = 0; + virtual void exitVerbSimple(SparqlAutomaticParser::VerbSimpleContext *ctx) = 0; + + virtual void enterTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext *ctx) = 0; + virtual void exitTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext *ctx) = 0; + + virtual void enterTupleWithPath(SparqlAutomaticParser::TupleWithPathContext *ctx) = 0; + virtual void exitTupleWithPath(SparqlAutomaticParser::TupleWithPathContext *ctx) = 0; + + virtual void enterVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext *ctx) = 0; + virtual void exitVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext *ctx) = 0; + + virtual void enterObjectListPath(SparqlAutomaticParser::ObjectListPathContext *ctx) = 0; + virtual void exitObjectListPath(SparqlAutomaticParser::ObjectListPathContext *ctx) = 0; + + virtual void enterObjectPath(SparqlAutomaticParser::ObjectPathContext *ctx) = 0; + virtual void exitObjectPath(SparqlAutomaticParser::ObjectPathContext *ctx) = 0; + + virtual void enterPath(SparqlAutomaticParser::PathContext *ctx) = 0; + virtual void exitPath(SparqlAutomaticParser::PathContext *ctx) = 0; + + virtual void enterPathAlternative(SparqlAutomaticParser::PathAlternativeContext *ctx) = 0; + virtual void exitPathAlternative(SparqlAutomaticParser::PathAlternativeContext *ctx) = 0; + + virtual void enterPathSequence(SparqlAutomaticParser::PathSequenceContext *ctx) = 0; + virtual void exitPathSequence(SparqlAutomaticParser::PathSequenceContext *ctx) = 0; + + virtual void enterPathElt(SparqlAutomaticParser::PathEltContext *ctx) = 0; + virtual void exitPathElt(SparqlAutomaticParser::PathEltContext *ctx) = 0; + + virtual void enterPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext *ctx) = 0; + virtual void exitPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext *ctx) = 0; + + virtual void enterPathMod(SparqlAutomaticParser::PathModContext *ctx) = 0; + virtual void exitPathMod(SparqlAutomaticParser::PathModContext *ctx) = 0; + + virtual void enterPathPrimary(SparqlAutomaticParser::PathPrimaryContext *ctx) = 0; + virtual void exitPathPrimary(SparqlAutomaticParser::PathPrimaryContext *ctx) = 0; + + virtual void enterPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext *ctx) = 0; + virtual void exitPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext *ctx) = 0; + + virtual void enterPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext *ctx) = 0; + virtual void exitPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext *ctx) = 0; + + virtual void enterInteger(SparqlAutomaticParser::IntegerContext *ctx) = 0; + virtual void exitInteger(SparqlAutomaticParser::IntegerContext *ctx) = 0; + + virtual void enterTriplesNode(SparqlAutomaticParser::TriplesNodeContext *ctx) = 0; + virtual void exitTriplesNode(SparqlAutomaticParser::TriplesNodeContext *ctx) = 0; + + virtual void enterBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext *ctx) = 0; + virtual void exitBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext *ctx) = 0; + + virtual void enterTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext *ctx) = 0; + virtual void exitTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext *ctx) = 0; + + virtual void enterBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext *ctx) = 0; + virtual void exitBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext *ctx) = 0; + + virtual void enterCollection(SparqlAutomaticParser::CollectionContext *ctx) = 0; + virtual void exitCollection(SparqlAutomaticParser::CollectionContext *ctx) = 0; + + virtual void enterCollectionPath(SparqlAutomaticParser::CollectionPathContext *ctx) = 0; + virtual void exitCollectionPath(SparqlAutomaticParser::CollectionPathContext *ctx) = 0; + + virtual void enterGraphNode(SparqlAutomaticParser::GraphNodeContext *ctx) = 0; + virtual void exitGraphNode(SparqlAutomaticParser::GraphNodeContext *ctx) = 0; + + virtual void enterGraphNodePath(SparqlAutomaticParser::GraphNodePathContext *ctx) = 0; + virtual void exitGraphNodePath(SparqlAutomaticParser::GraphNodePathContext *ctx) = 0; + + virtual void enterVarOrTerm(SparqlAutomaticParser::VarOrTermContext *ctx) = 0; + virtual void exitVarOrTerm(SparqlAutomaticParser::VarOrTermContext *ctx) = 0; + + virtual void enterVarOrIri(SparqlAutomaticParser::VarOrIriContext *ctx) = 0; + virtual void exitVarOrIri(SparqlAutomaticParser::VarOrIriContext *ctx) = 0; + + virtual void enterVar(SparqlAutomaticParser::VarContext *ctx) = 0; + virtual void exitVar(SparqlAutomaticParser::VarContext *ctx) = 0; + + virtual void enterGraphTerm(SparqlAutomaticParser::GraphTermContext *ctx) = 0; + virtual void exitGraphTerm(SparqlAutomaticParser::GraphTermContext *ctx) = 0; + + virtual void enterExpression(SparqlAutomaticParser::ExpressionContext *ctx) = 0; + virtual void exitExpression(SparqlAutomaticParser::ExpressionContext *ctx) = 0; + + virtual void enterConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext *ctx) = 0; + virtual void exitConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext *ctx) = 0; + + virtual void enterConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext *ctx) = 0; + virtual void exitConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext *ctx) = 0; + + virtual void enterValueLogical(SparqlAutomaticParser::ValueLogicalContext *ctx) = 0; + virtual void exitValueLogical(SparqlAutomaticParser::ValueLogicalContext *ctx) = 0; + + virtual void enterRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext *ctx) = 0; + virtual void exitRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext *ctx) = 0; + + virtual void enterNumericExpression(SparqlAutomaticParser::NumericExpressionContext *ctx) = 0; + virtual void exitNumericExpression(SparqlAutomaticParser::NumericExpressionContext *ctx) = 0; + + virtual void enterAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext *ctx) = 0; + virtual void exitAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext *ctx) = 0; + + virtual void enterMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext *ctx) = 0; + virtual void exitMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext *ctx) = 0; + + virtual void enterPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext *ctx) = 0; + virtual void exitPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext *ctx) = 0; + + virtual void enterMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext *ctx) = 0; + virtual void exitMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext *ctx) = 0; + + virtual void enterMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext *ctx) = 0; + virtual void exitMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext *ctx) = 0; + + virtual void enterMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext *ctx) = 0; + virtual void exitMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext *ctx) = 0; + + virtual void enterMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext *ctx) = 0; + virtual void exitMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext *ctx) = 0; + + virtual void enterMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext *ctx) = 0; + virtual void exitMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext *ctx) = 0; + + virtual void enterDivideExpression(SparqlAutomaticParser::DivideExpressionContext *ctx) = 0; + virtual void exitDivideExpression(SparqlAutomaticParser::DivideExpressionContext *ctx) = 0; + + virtual void enterUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext *ctx) = 0; + virtual void exitUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext *ctx) = 0; + + virtual void enterPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext *ctx) = 0; + virtual void exitPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext *ctx) = 0; + + virtual void enterBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext *ctx) = 0; + virtual void exitBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext *ctx) = 0; + + virtual void enterBuiltInCall(SparqlAutomaticParser::BuiltInCallContext *ctx) = 0; + virtual void exitBuiltInCall(SparqlAutomaticParser::BuiltInCallContext *ctx) = 0; + + virtual void enterRegexExpression(SparqlAutomaticParser::RegexExpressionContext *ctx) = 0; + virtual void exitRegexExpression(SparqlAutomaticParser::RegexExpressionContext *ctx) = 0; + + virtual void enterLangExpression(SparqlAutomaticParser::LangExpressionContext *ctx) = 0; + virtual void exitLangExpression(SparqlAutomaticParser::LangExpressionContext *ctx) = 0; + + virtual void enterSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext *ctx) = 0; + virtual void exitSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext *ctx) = 0; + + virtual void enterStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext *ctx) = 0; + virtual void exitStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext *ctx) = 0; + + virtual void enterExistsFunc(SparqlAutomaticParser::ExistsFuncContext *ctx) = 0; + virtual void exitExistsFunc(SparqlAutomaticParser::ExistsFuncContext *ctx) = 0; + + virtual void enterNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext *ctx) = 0; + virtual void exitNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext *ctx) = 0; + + virtual void enterAggregate(SparqlAutomaticParser::AggregateContext *ctx) = 0; + virtual void exitAggregate(SparqlAutomaticParser::AggregateContext *ctx) = 0; + + virtual void enterIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext *ctx) = 0; + virtual void exitIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext *ctx) = 0; + + virtual void enterRdfLiteral(SparqlAutomaticParser::RdfLiteralContext *ctx) = 0; + virtual void exitRdfLiteral(SparqlAutomaticParser::RdfLiteralContext *ctx) = 0; + + virtual void enterNumericLiteral(SparqlAutomaticParser::NumericLiteralContext *ctx) = 0; + virtual void exitNumericLiteral(SparqlAutomaticParser::NumericLiteralContext *ctx) = 0; + + virtual void enterNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext *ctx) = 0; + virtual void exitNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext *ctx) = 0; + + virtual void enterNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext *ctx) = 0; + virtual void exitNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext *ctx) = 0; + + virtual void enterNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext *ctx) = 0; + virtual void exitNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext *ctx) = 0; + + virtual void enterBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext *ctx) = 0; + virtual void exitBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext *ctx) = 0; + + virtual void enterString(SparqlAutomaticParser::StringContext *ctx) = 0; + virtual void exitString(SparqlAutomaticParser::StringContext *ctx) = 0; + + virtual void enterIri(SparqlAutomaticParser::IriContext *ctx) = 0; + virtual void exitIri(SparqlAutomaticParser::IriContext *ctx) = 0; + + virtual void enterPrefixedName(SparqlAutomaticParser::PrefixedNameContext *ctx) = 0; + virtual void exitPrefixedName(SparqlAutomaticParser::PrefixedNameContext *ctx) = 0; + + virtual void enterBlankNode(SparqlAutomaticParser::BlankNodeContext *ctx) = 0; + virtual void exitBlankNode(SparqlAutomaticParser::BlankNodeContext *ctx) = 0; + + virtual void enterIriref(SparqlAutomaticParser::IrirefContext *ctx) = 0; + virtual void exitIriref(SparqlAutomaticParser::IrirefContext *ctx) = 0; + + virtual void enterPnameLn(SparqlAutomaticParser::PnameLnContext *ctx) = 0; + virtual void exitPnameLn(SparqlAutomaticParser::PnameLnContext *ctx) = 0; + + virtual void enterPnameNs(SparqlAutomaticParser::PnameNsContext *ctx) = 0; + virtual void exitPnameNs(SparqlAutomaticParser::PnameNsContext *ctx) = 0; + + }; + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp index b0446021d7..ca8e4efc1f 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp @@ -1,11 +1,13 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 -#include "SparqlAutomaticParser.h" #include "SparqlAutomaticListener.h" #include "SparqlAutomaticVisitor.h" +#include "SparqlAutomaticParser.h" + + using namespace antlrcpp; using namespace antlr4; @@ -14,20 +16,16 @@ namespace { struct SparqlAutomaticParserStaticData final { SparqlAutomaticParserStaticData(std::vector ruleNames, - std::vector literalNames, - std::vector symbolicNames) - : ruleNames(std::move(ruleNames)), - literalNames(std::move(literalNames)), + std::vector literalNames, + std::vector symbolicNames) + : ruleNames(std::move(ruleNames)), literalNames(std::move(literalNames)), symbolicNames(std::move(symbolicNames)), vocabulary(this->literalNames, this->symbolicNames) {} - SparqlAutomaticParserStaticData(const SparqlAutomaticParserStaticData&) = - delete; + SparqlAutomaticParserStaticData(const SparqlAutomaticParserStaticData&) = delete; SparqlAutomaticParserStaticData(SparqlAutomaticParserStaticData&&) = delete; - SparqlAutomaticParserStaticData& operator=( - const SparqlAutomaticParserStaticData&) = delete; - SparqlAutomaticParserStaticData& operator=( - SparqlAutomaticParserStaticData&&) = delete; + SparqlAutomaticParserStaticData& operator=(const SparqlAutomaticParserStaticData&) = delete; + SparqlAutomaticParserStaticData& operator=(SparqlAutomaticParserStaticData&&) = delete; std::vector decisionToDFA; antlr4::atn::PredictionContextCache sharedContextCache; @@ -40,1588 +38,714 @@ struct SparqlAutomaticParserStaticData final { }; ::antlr4::internal::OnceFlag sparqlautomaticParserOnceFlag; -SparqlAutomaticParserStaticData* sparqlautomaticParserStaticData = nullptr; +SparqlAutomaticParserStaticData *sparqlautomaticParserStaticData = nullptr; void sparqlautomaticParserInitialize() { assert(sparqlautomaticParserStaticData == nullptr); auto staticData = std::make_unique( - std::vector{ - "queryOrUpdate", - "query", - "prologue", - "baseDecl", - "prefixDecl", - "selectQuery", - "subSelect", - "selectClause", - "varOrAlias", - "alias", - "aliasWithoutBrackets", - "constructQuery", - "describeQuery", - "askQuery", - "datasetClause", - "defaultGraphClause", - "namedGraphClause", - "sourceSelector", - "whereClause", - "solutionModifier", - "groupClause", - "groupCondition", - "havingClause", - "havingCondition", - "orderClause", - "orderCondition", - "limitOffsetClauses", - "limitClause", - "offsetClause", - "textLimitClause", - "valuesClause", - "update", - "update1", - "load", - "clear", - "drop", - "create", - "add", - "move", - "copy", - "insertData", - "deleteData", - "deleteWhere", - "modify", - "deleteClause", - "insertClause", - "usingClause", - "graphOrDefault", - "graphRef", - "graphRefAll", - "quadPattern", - "quadData", - "quads", - "quadsNotTriples", - "triplesTemplate", - "groupGraphPattern", - "groupGraphPatternSub", - "graphPatternNotTriplesAndMaybeTriples", - "triplesBlock", - "graphPatternNotTriples", - "optionalGraphPattern", - "graphGraphPattern", - "serviceGraphPattern", - "bind", - "inlineData", - "dataBlock", - "inlineDataOneVar", - "inlineDataFull", - "dataBlockSingle", - "dataBlockValue", - "minusGraphPattern", - "groupOrUnionGraphPattern", - "filterR", - "constraint", - "functionCall", - "argList", - "expressionList", - "constructTemplate", - "constructTriples", - "triplesSameSubject", - "propertyList", - "propertyListNotEmpty", - "verb", - "objectList", - "objectR", - "triplesSameSubjectPath", - "propertyListPath", - "propertyListPathNotEmpty", - "verbPath", - "verbSimple", - "tupleWithoutPath", - "tupleWithPath", - "verbPathOrSimple", - "objectListPath", - "objectPath", - "path", - "pathAlternative", - "pathSequence", - "pathElt", - "pathEltOrInverse", - "pathMod", - "pathPrimary", - "pathNegatedPropertySet", - "pathOneInPropertySet", - "integer", - "triplesNode", - "blankNodePropertyList", - "triplesNodePath", - "blankNodePropertyListPath", - "collection", - "collectionPath", - "graphNode", - "graphNodePath", - "varOrTerm", - "varOrIri", - "var", - "graphTerm", - "expression", - "conditionalOrExpression", - "conditionalAndExpression", - "valueLogical", - "relationalExpression", - "numericExpression", - "additiveExpression", - "multiplicativeExpressionWithSign", - "plusSubexpression", - "minusSubexpression", - "multiplicativeExpressionWithLeadingSignButNoSpace", - "multiplicativeExpression", - "multiplyOrDivideExpression", - "multiplyExpression", - "divideExpression", - "unaryExpression", - "primaryExpression", - "brackettedExpression", - "builtInCall", - "regexExpression", - "langExpression", - "substringExpression", - "strReplaceExpression", - "existsFunc", - "notExistsFunc", - "aggregate", - "iriOrFunction", - "rdfLiteral", - "numericLiteral", - "numericLiteralUnsigned", - "numericLiteralPositive", - "numericLiteralNegative", - "booleanLiteral", - "string", - "iri", - "prefixedName", - "blankNode", - "iriref", - "pnameLn", - "pnameNs"}, - std::vector{"", "'*'", "'('", "')'", "'{'", - "'}'", "';'", "'.'", "','", "'a'", - "'|'", "'/'", "'^'", "'+'", "'\\u003F'", - "'!'", "'['", "']'", "'||'", "'&&'", - "'='", "'!='", "'<'", "'>'", "'<='", - "'>='", "'-'", "'^^'", "'true'", "'false'"}, - std::vector{"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "BASE", - "PREFIX", - "SELECT", - "DISTINCT", - "REDUCED", - "AS", - "CONSTRUCT", - "WHERE", - "DESCRIBE", - "ASK", - "FROM", - "NAMED", - "GROUPBY", - "GROUP_CONCAT", - "HAVING", - "ORDERBY", - "INTERNALSORTBY", - "ASC", - "DESC", - "LIMIT", - "OFFSET", - "TEXTLIMIT", - "VALUES", - "LOAD", - "SILENT", - "INTO", - "CLEAR", - "DROP", - "CREATE", - "ADD", - "TO", - "DATA", - "MOVE", - "COPY", - "INSERT", - "DELETE", - "WITH", - "USING", - "DEFAULT", - "GRAPH", - "ALL", - "OPTIONAL", - "SERVICE", - "BIND", - "UNDEF", - "MINUS", - "UNION", - "FILTER", - "NOT", - "IN", - "STR", - "LANG", - "LANGMATCHES", - "DATATYPE", - "BOUND", - "IRI", - "URI", - "BNODE", - "RAND", - "ABS", - "CEIL", - "FLOOR", - "ROUND", - "CONCAT", - "STRLEN", - "UCASE", - "LCASE", - "ENCODE_FOR_URI", - "FOR", - "CONTAINS", - "STRSTARTS", - "STRENDS", - "STRBEFORE", - "STRAFTER", - "YEAR", - "MONTH", - "DAY", - "HOURS", - "MINUTES", - "SECONDS", - "TIMEZONE", - "TZ", - "NOW", - "UUID", - "STRUUID", - "SHA1", - "SHA256", - "SHA384", - "SHA512", - "MD5", - "COALESCE", - "IF", - "STRLANG", - "STRDT", - "SAMETERM", - "ISIRI", - "ISURI", - "ISBLANK", - "ISLITERAL", - "ISNUMERIC", - "REGEX", - "SUBSTR", - "REPLACE", - "EXISTS", - "COUNT", - "SUM", - "MIN", - "MAX", - "AVG", - "STDEV", - "SAMPLE", - "SEPARATOR", - "IRI_REF", - "PNAME_NS", - "PNAME_LN", - "BLANK_NODE_LABEL", - "VAR1", - "VAR2", - "LANGTAG", - "PREFIX_LANGTAG", - "INTEGER", - "DECIMAL", - "DOUBLE", - "INTEGER_POSITIVE", - "DECIMAL_POSITIVE", - "DOUBLE_POSITIVE", - "INTEGER_NEGATIVE", - "DECIMAL_NEGATIVE", - "DOUBLE_NEGATIVE", - "EXPONENT", - "STRING_LITERAL1", - "STRING_LITERAL2", - "STRING_LITERAL_LONG1", - "STRING_LITERAL_LONG2", - "ECHAR", - "NIL", - "ANON", - "PN_CHARS_U", - "VARNAME", - "PN_PREFIX", - "PN_LOCAL", - "PLX", - "PERCENT", - "HEX", - "PN_LOCAL_ESC", - "WS", - "COMMENTS"}); + std::vector{ + "queryOrUpdate", "query", "prologue", "baseDecl", "prefixDecl", "selectQuery", + "subSelect", "selectClause", "varOrAlias", "alias", "aliasWithoutBrackets", + "constructQuery", "describeQuery", "askQuery", "datasetClause", "defaultGraphClause", + "namedGraphClause", "sourceSelector", "whereClause", "solutionModifier", + "groupClause", "groupCondition", "havingClause", "havingCondition", + "orderClause", "orderCondition", "limitOffsetClauses", "limitClause", + "offsetClause", "textLimitClause", "valuesClause", "update", "update1", + "load", "clear", "drop", "create", "add", "move", "copy", "insertData", + "deleteData", "deleteWhere", "modify", "deleteClause", "insertClause", + "usingClause", "graphOrDefault", "graphRef", "graphRefAll", "quadPattern", + "quadData", "quads", "quadsNotTriples", "triplesTemplate", "groupGraphPattern", + "groupGraphPatternSub", "graphPatternNotTriplesAndMaybeTriples", "triplesBlock", + "graphPatternNotTriples", "optionalGraphPattern", "graphGraphPattern", + "serviceGraphPattern", "bind", "inlineData", "dataBlock", "inlineDataOneVar", + "inlineDataFull", "dataBlockSingle", "dataBlockValue", "minusGraphPattern", + "groupOrUnionGraphPattern", "filterR", "constraint", "functionCall", + "argList", "expressionList", "constructTemplate", "constructTriples", + "triplesSameSubject", "propertyList", "propertyListNotEmpty", "verb", + "objectList", "objectR", "triplesSameSubjectPath", "propertyListPath", + "propertyListPathNotEmpty", "verbPath", "verbSimple", "tupleWithoutPath", + "tupleWithPath", "verbPathOrSimple", "objectListPath", "objectPath", + "path", "pathAlternative", "pathSequence", "pathElt", "pathEltOrInverse", + "pathMod", "pathPrimary", "pathNegatedPropertySet", "pathOneInPropertySet", + "integer", "triplesNode", "blankNodePropertyList", "triplesNodePath", + "blankNodePropertyListPath", "collection", "collectionPath", "graphNode", + "graphNodePath", "varOrTerm", "varOrIri", "var", "graphTerm", "expression", + "conditionalOrExpression", "conditionalAndExpression", "valueLogical", + "relationalExpression", "numericExpression", "additiveExpression", + "multiplicativeExpressionWithSign", "plusSubexpression", "minusSubexpression", + "multiplicativeExpressionWithLeadingSignButNoSpace", "multiplicativeExpression", + "multiplyOrDivideExpression", "multiplyExpression", "divideExpression", + "unaryExpression", "primaryExpression", "brackettedExpression", "builtInCall", + "regexExpression", "langExpression", "substringExpression", "strReplaceExpression", + "existsFunc", "notExistsFunc", "aggregate", "iriOrFunction", "rdfLiteral", + "numericLiteral", "numericLiteralUnsigned", "numericLiteralPositive", + "numericLiteralNegative", "booleanLiteral", "string", "iri", "prefixedName", + "blankNode", "iriref", "pnameLn", "pnameNs" + }, + std::vector{ + "", "'*'", "'('", "')'", "'{'", "'}'", "';'", "'.'", "','", "'a'", + "'|'", "'/'", "'^'", "'+'", "'\\u003F'", "'!'", "'['", "']'", "'||'", + "'&&'", "'='", "'!='", "'<'", "'>'", "'<='", "'>='", "'-'", "'^^'", + "'true'", "'false'" + }, + std::vector{ + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "BASE", "PREFIX", + "SELECT", "DISTINCT", "REDUCED", "AS", "CONSTRUCT", "WHERE", "DESCRIBE", + "ASK", "FROM", "NAMED", "GROUPBY", "GROUP_CONCAT", "HAVING", "ORDERBY", + "INTERNALSORTBY", "ASC", "DESC", "LIMIT", "OFFSET", "TEXTLIMIT", "VALUES", + "LOAD", "SILENT", "INTO", "CLEAR", "DROP", "CREATE", "ADD", "TO", + "DATA", "MOVE", "COPY", "INSERT", "DELETE", "WITH", "USING", "DEFAULT", + "GRAPH", "ALL", "OPTIONAL", "SERVICE", "BIND", "UNDEF", "MINUS", "UNION", + "FILTER", "NOT", "IN", "STR", "LANG", "LANGMATCHES", "DATATYPE", "BOUND", + "IRI", "URI", "BNODE", "RAND", "ABS", "CEIL", "FLOOR", "ROUND", "CONCAT", + "STRLEN", "UCASE", "LCASE", "ENCODE_FOR_URI", "FOR", "CONTAINS", "STRSTARTS", + "STRENDS", "STRBEFORE", "STRAFTER", "YEAR", "MONTH", "DAY", "HOURS", + "MINUTES", "SECONDS", "TIMEZONE", "TZ", "NOW", "UUID", "STRUUID", + "SHA1", "SHA256", "SHA384", "SHA512", "MD5", "COALESCE", "IF", "STRLANG", + "STRDT", "SAMETERM", "ISIRI", "ISURI", "ISBLANK", "ISLITERAL", "ISNUMERIC", + "REGEX", "SUBSTR", "REPLACE", "EXISTS", "COUNT", "SUM", "MIN", "MAX", + "AVG", "STDEV", "SAMPLE", "SEPARATOR", "IRI_REF", "PNAME_NS", "PNAME_LN", + "BLANK_NODE_LABEL", "VAR1", "VAR2", "LANGTAG", "PREFIX_LANGTAG", "INTEGER", + "DECIMAL", "DOUBLE", "INTEGER_POSITIVE", "DECIMAL_POSITIVE", "DOUBLE_POSITIVE", + "INTEGER_NEGATIVE", "DECIMAL_NEGATIVE", "DOUBLE_NEGATIVE", "EXPONENT", + "STRING_LITERAL1", "STRING_LITERAL2", "STRING_LITERAL_LONG1", "STRING_LITERAL_LONG2", + "ECHAR", "NIL", "ANON", "PN_CHARS_U", "VARNAME", "PN_PREFIX", "PN_LOCAL", + "PLX", "PERCENT", "HEX", "PN_LOCAL_ESC", "WS", "COMMENTS" + } + ); static const int32_t serializedATNSegment[] = { - 4, 1, 176, 1655, 2, 0, 7, 0, 2, 1, 7, 1, - 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, - 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, - 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, - 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, - 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, - 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, - 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, - 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, - 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, - 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, - 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, - 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, - 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, - 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, - 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, - 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, - 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, - 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, - 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, - 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, - 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, - 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, - 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, - 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, - 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, - 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, - 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, - 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, - 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, - 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, - 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, - 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, - 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, - 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, - 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, - 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, - 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, - 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, - 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, - 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, - 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, - 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, - 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, - 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, - 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, - 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, - 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, - 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, - 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, - 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, - 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, - 2, 155, 7, 155, 2, 156, 7, 156, 1, 0, 1, 0, - 3, 0, 317, 8, 0, 1, 0, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 326, 8, 1, - 1, 1, 1, 1, 1, 2, 1, 2, 5, 2, 332, 8, - 2, 10, 2, 12, 2, 335, 9, 2, 1, 3, 1, 3, - 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, - 1, 5, 5, 5, 346, 8, 5, 10, 5, 12, 5, 349, - 9, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, - 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, - 361, 8, 7, 1, 7, 4, 7, 364, 8, 7, 11, 7, - 12, 7, 365, 1, 7, 3, 7, 369, 8, 7, 1, 8, - 1, 8, 3, 8, 373, 8, 8, 1, 9, 1, 9, 1, - 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, - 11, 1, 11, 1, 11, 5, 11, 386, 8, 11, 10, 11, - 12, 11, 389, 9, 11, 1, 11, 1, 11, 1, 11, 1, - 11, 5, 11, 395, 8, 11, 10, 11, 12, 11, 398, 9, - 11, 1, 11, 1, 11, 1, 11, 3, 11, 403, 8, 11, - 1, 11, 1, 11, 3, 11, 407, 8, 11, 1, 12, 1, - 12, 4, 12, 411, 8, 12, 11, 12, 12, 12, 412, 1, - 12, 3, 12, 416, 8, 12, 1, 12, 5, 12, 419, 8, - 12, 10, 12, 12, 12, 422, 9, 12, 1, 12, 3, 12, - 425, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 5, - 13, 431, 8, 13, 10, 13, 12, 13, 434, 9, 13, 1, - 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, - 14, 442, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, - 1, 16, 1, 17, 1, 17, 1, 18, 3, 18, 452, 8, - 18, 1, 18, 1, 18, 1, 19, 3, 19, 457, 8, 19, - 1, 19, 3, 19, 460, 8, 19, 1, 19, 3, 19, 463, - 8, 19, 1, 19, 3, 19, 466, 8, 19, 1, 20, 1, - 20, 4, 20, 470, 8, 20, 11, 20, 12, 20, 471, 1, - 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, - 21, 480, 8, 21, 1, 21, 1, 21, 1, 21, 3, 21, - 485, 8, 21, 1, 22, 1, 22, 4, 22, 489, 8, 22, - 11, 22, 12, 22, 490, 1, 23, 1, 23, 1, 24, 1, - 24, 3, 24, 497, 8, 24, 1, 24, 4, 24, 500, 8, - 24, 11, 24, 12, 24, 501, 1, 25, 1, 25, 1, 25, - 1, 25, 3, 25, 508, 8, 25, 3, 25, 510, 8, 25, - 1, 26, 1, 26, 3, 26, 514, 8, 26, 1, 26, 3, - 26, 517, 8, 26, 1, 26, 1, 26, 3, 26, 521, 8, - 26, 1, 26, 3, 26, 524, 8, 26, 1, 26, 1, 26, - 3, 26, 528, 8, 26, 1, 26, 3, 26, 531, 8, 26, - 1, 26, 1, 26, 3, 26, 535, 8, 26, 1, 26, 3, - 26, 538, 8, 26, 1, 26, 1, 26, 3, 26, 542, 8, - 26, 1, 26, 3, 26, 545, 8, 26, 1, 26, 1, 26, - 3, 26, 549, 8, 26, 1, 26, 3, 26, 552, 8, 26, - 3, 26, 554, 8, 26, 1, 27, 1, 27, 1, 27, 1, - 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, - 30, 1, 30, 3, 30, 567, 8, 30, 1, 31, 1, 31, - 1, 31, 1, 31, 3, 31, 573, 8, 31, 3, 31, 575, - 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, - 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, - 3, 32, 588, 8, 32, 1, 33, 1, 33, 3, 33, 592, - 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 597, 8, - 33, 1, 34, 1, 34, 3, 34, 601, 8, 34, 1, 34, - 1, 34, 1, 35, 1, 35, 3, 35, 607, 8, 35, 1, - 35, 1, 35, 1, 36, 1, 36, 3, 36, 613, 8, 36, - 1, 36, 1, 36, 1, 37, 1, 37, 3, 37, 619, 8, - 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, - 38, 3, 38, 627, 8, 38, 1, 38, 1, 38, 1, 38, - 1, 38, 1, 39, 1, 39, 3, 39, 635, 8, 39, 1, - 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, - 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, - 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 3, - 43, 655, 8, 43, 1, 43, 1, 43, 3, 43, 659, 8, - 43, 1, 43, 3, 43, 662, 8, 43, 1, 43, 5, 43, - 665, 8, 43, 10, 43, 12, 43, 668, 9, 43, 1, 43, - 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 45, - 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, - 3, 46, 683, 8, 46, 1, 47, 1, 47, 1, 47, 3, - 47, 688, 8, 47, 1, 48, 1, 48, 1, 48, 1, 49, - 1, 49, 1, 49, 1, 49, 3, 49, 697, 8, 49, 1, - 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, - 51, 1, 51, 1, 52, 3, 52, 708, 8, 52, 1, 52, - 1, 52, 3, 52, 712, 8, 52, 1, 52, 3, 52, 715, - 8, 52, 5, 52, 717, 8, 52, 10, 52, 12, 52, 720, - 9, 52, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, - 726, 8, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, - 54, 3, 54, 733, 8, 54, 3, 54, 735, 8, 54, 1, - 55, 1, 55, 1, 55, 3, 55, 740, 8, 55, 1, 55, - 1, 55, 1, 56, 3, 56, 745, 8, 56, 1, 56, 5, - 56, 748, 8, 56, 10, 56, 12, 56, 751, 9, 56, 1, - 57, 1, 57, 3, 57, 755, 8, 57, 1, 57, 3, 57, - 758, 8, 57, 1, 58, 1, 58, 1, 58, 3, 58, 763, - 8, 58, 3, 58, 765, 8, 58, 1, 59, 1, 59, 1, - 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 3, - 59, 775, 8, 59, 1, 60, 1, 60, 1, 60, 1, 61, - 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 3, 62, - 786, 8, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, - 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, - 64, 1, 64, 1, 64, 1, 65, 1, 65, 3, 65, 803, - 8, 65, 1, 66, 1, 66, 1, 66, 5, 66, 808, 8, - 66, 10, 66, 12, 66, 811, 9, 66, 1, 66, 1, 66, - 1, 67, 1, 67, 1, 67, 5, 67, 818, 8, 67, 10, - 67, 12, 67, 821, 9, 67, 1, 67, 3, 67, 824, 8, - 67, 1, 67, 1, 67, 5, 67, 828, 8, 67, 10, 67, - 12, 67, 831, 9, 67, 1, 67, 1, 67, 1, 68, 1, - 68, 5, 68, 837, 8, 68, 10, 68, 12, 68, 840, 9, - 68, 1, 68, 1, 68, 3, 68, 844, 8, 68, 1, 69, - 1, 69, 1, 69, 1, 69, 1, 69, 3, 69, 851, 8, - 69, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, - 71, 5, 71, 859, 8, 71, 10, 71, 12, 71, 862, 9, - 71, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, - 73, 3, 73, 870, 8, 73, 1, 74, 1, 74, 1, 74, - 1, 75, 1, 75, 1, 75, 3, 75, 878, 8, 75, 1, - 75, 1, 75, 1, 75, 5, 75, 883, 8, 75, 10, 75, - 12, 75, 886, 9, 75, 1, 75, 1, 75, 3, 75, 890, - 8, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, - 5, 76, 897, 8, 76, 10, 76, 12, 76, 900, 9, 76, - 1, 76, 1, 76, 3, 76, 904, 8, 76, 1, 77, 1, - 77, 3, 77, 908, 8, 77, 1, 77, 1, 77, 1, 78, - 1, 78, 1, 78, 3, 78, 915, 8, 78, 3, 78, 917, - 8, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, - 1, 79, 3, 79, 925, 8, 79, 1, 80, 3, 80, 928, - 8, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, - 1, 81, 3, 81, 936, 8, 81, 5, 81, 938, 8, 81, - 10, 81, 12, 81, 941, 9, 81, 1, 82, 1, 82, 3, - 82, 945, 8, 82, 1, 83, 1, 83, 1, 83, 5, 83, - 950, 8, 83, 10, 83, 12, 83, 953, 9, 83, 1, 84, - 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, - 1, 85, 3, 85, 963, 8, 85, 1, 86, 3, 86, 966, - 8, 86, 1, 87, 1, 87, 1, 87, 3, 87, 971, 8, - 87, 5, 87, 973, 8, 87, 10, 87, 12, 87, 976, 9, - 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, - 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 92, 1, - 92, 3, 92, 990, 8, 92, 1, 93, 1, 93, 1, 93, - 5, 93, 995, 8, 93, 10, 93, 12, 93, 998, 9, 93, - 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, - 1, 96, 5, 96, 1007, 8, 96, 10, 96, 12, 96, 1010, - 9, 96, 1, 97, 1, 97, 1, 97, 5, 97, 1015, 8, - 97, 10, 97, 12, 97, 1018, 9, 97, 1, 98, 1, 98, - 3, 98, 1022, 8, 98, 1, 99, 1, 99, 1, 99, 3, - 99, 1027, 8, 99, 1, 100, 1, 100, 1, 101, 1, 101, - 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, - 3, 101, 1039, 8, 101, 1, 102, 1, 102, 1, 102, 1, - 102, 1, 102, 5, 102, 1046, 8, 102, 10, 102, 12, 102, - 1049, 9, 102, 3, 102, 1051, 8, 102, 1, 102, 3, 102, - 1054, 8, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, - 103, 3, 103, 1061, 8, 103, 3, 103, 1063, 8, 103, 1, - 104, 1, 104, 1, 105, 1, 105, 3, 105, 1069, 8, 105, - 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, - 3, 107, 1077, 8, 107, 1, 108, 1, 108, 1, 108, 1, - 108, 1, 109, 1, 109, 4, 109, 1085, 8, 109, 11, 109, - 12, 109, 1086, 1, 109, 1, 109, 1, 110, 1, 110, 4, - 110, 1093, 8, 110, 11, 110, 12, 110, 1094, 1, 110, 1, - 110, 1, 111, 1, 111, 3, 111, 1101, 8, 111, 1, 112, - 1, 112, 3, 112, 1105, 8, 112, 1, 113, 1, 113, 3, - 113, 1109, 8, 113, 1, 114, 1, 114, 3, 114, 1113, 8, - 114, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, - 116, 1, 116, 1, 116, 3, 116, 1123, 8, 116, 1, 117, - 1, 117, 1, 118, 1, 118, 1, 118, 5, 118, 1130, 8, - 118, 10, 118, 12, 118, 1133, 9, 118, 1, 119, 1, 119, - 1, 119, 5, 119, 1138, 8, 119, 10, 119, 12, 119, 1141, - 9, 119, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, - 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, - 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, - 1, 121, 1, 121, 1, 121, 3, 121, 1163, 8, 121, 1, - 122, 1, 122, 1, 123, 1, 123, 5, 123, 1169, 8, 123, - 10, 123, 12, 123, 1172, 9, 123, 1, 124, 1, 124, 1, - 124, 1, 124, 1, 124, 3, 124, 1179, 8, 124, 1, 125, - 1, 125, 1, 126, 1, 126, 1, 127, 1, 127, 3, 127, - 1187, 8, 127, 1, 127, 5, 127, 1190, 8, 127, 10, 127, - 12, 127, 1193, 9, 127, 1, 128, 1, 128, 5, 128, 1197, - 8, 128, 10, 128, 12, 128, 1200, 9, 128, 1, 129, 1, - 129, 3, 129, 1204, 8, 129, 1, 130, 1, 130, 1, 130, - 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, - 1, 132, 1, 132, 1, 132, 1, 132, 3, 132, 1219, 8, - 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, - 133, 1, 133, 3, 133, 1228, 8, 133, 1, 134, 1, 134, - 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, - 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, - 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, - 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, - 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, - 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, - 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, - 3, 135, 1274, 8, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, - 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1488, - 8, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, - 1, 136, 1, 136, 3, 136, 1497, 8, 136, 1, 136, 1, - 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, - 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, - 138, 3, 138, 1513, 8, 138, 1, 138, 1, 138, 1, 139, - 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, - 1, 139, 1, 139, 3, 139, 1526, 8, 139, 1, 139, 1, - 139, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, - 141, 1, 141, 1, 142, 1, 142, 1, 142, 3, 142, 1540, - 8, 142, 1, 142, 1, 142, 3, 142, 1544, 8, 142, 1, - 142, 1, 142, 1, 142, 1, 142, 3, 142, 1550, 8, 142, - 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, - 3, 142, 1558, 8, 142, 1, 142, 1, 142, 1, 142, 1, - 142, 1, 142, 1, 142, 3, 142, 1566, 8, 142, 1, 142, - 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, - 1574, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, - 142, 1, 142, 3, 142, 1582, 8, 142, 1, 142, 1, 142, - 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1590, 8, - 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, - 142, 1597, 8, 142, 1, 142, 1, 142, 3, 142, 1601, 8, - 142, 1, 143, 1, 143, 3, 143, 1605, 8, 143, 1, 144, - 1, 144, 1, 144, 1, 144, 3, 144, 1611, 8, 144, 1, - 145, 1, 145, 1, 145, 3, 145, 1616, 8, 145, 1, 146, - 1, 146, 1, 147, 1, 147, 1, 148, 1, 148, 1, 149, - 1, 149, 1, 150, 1, 150, 1, 151, 3, 151, 1629, 8, - 151, 1, 151, 1, 151, 3, 151, 1633, 8, 151, 1, 152, - 1, 152, 3, 152, 1637, 8, 152, 1, 153, 1, 153, 1, - 154, 1, 154, 1, 155, 1, 155, 1, 156, 1, 156, 1, - 156, 0, 0, 157, 0, 2, 4, 6, 8, 10, 12, 14, - 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, - 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, - 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, - 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, - 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, - 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, - 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, - 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, - 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, - 232, 234, 236, 238, 240, 242, 244, 246, 248, 250, 252, 254, - 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276, 278, - 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, - 304, 306, 308, 310, 312, 0, 10, 1, 0, 33, 34, 1, - 0, 47, 48, 2, 0, 1, 1, 13, 14, 1, 0, 145, - 146, 1, 0, 149, 151, 1, 0, 152, 154, 1, 0, 155, - 157, 1, 0, 28, 29, 1, 0, 159, 162, 2, 0, 144, - 144, 165, 165, 1761, 0, 316, 1, 0, 0, 0, 2, 320, - 1, 0, 0, 0, 4, 333, 1, 0, 0, 0, 6, 336, - 1, 0, 0, 0, 8, 339, 1, 0, 0, 0, 10, 343, - 1, 0, 0, 0, 12, 353, 1, 0, 0, 0, 14, 358, - 1, 0, 0, 0, 16, 372, 1, 0, 0, 0, 18, 374, - 1, 0, 0, 0, 20, 378, 1, 0, 0, 0, 22, 382, - 1, 0, 0, 0, 24, 408, 1, 0, 0, 0, 26, 428, - 1, 0, 0, 0, 28, 438, 1, 0, 0, 0, 30, 443, - 1, 0, 0, 0, 32, 445, 1, 0, 0, 0, 34, 448, - 1, 0, 0, 0, 36, 451, 1, 0, 0, 0, 38, 456, - 1, 0, 0, 0, 40, 467, 1, 0, 0, 0, 42, 484, - 1, 0, 0, 0, 44, 486, 1, 0, 0, 0, 46, 492, - 1, 0, 0, 0, 48, 496, 1, 0, 0, 0, 50, 509, - 1, 0, 0, 0, 52, 553, 1, 0, 0, 0, 54, 555, - 1, 0, 0, 0, 56, 558, 1, 0, 0, 0, 58, 561, - 1, 0, 0, 0, 60, 566, 1, 0, 0, 0, 62, 568, - 1, 0, 0, 0, 64, 587, 1, 0, 0, 0, 66, 589, - 1, 0, 0, 0, 68, 598, 1, 0, 0, 0, 70, 604, - 1, 0, 0, 0, 72, 610, 1, 0, 0, 0, 74, 616, - 1, 0, 0, 0, 76, 624, 1, 0, 0, 0, 78, 632, - 1, 0, 0, 0, 80, 640, 1, 0, 0, 0, 82, 644, - 1, 0, 0, 0, 84, 648, 1, 0, 0, 0, 86, 654, - 1, 0, 0, 0, 88, 672, 1, 0, 0, 0, 90, 675, - 1, 0, 0, 0, 92, 678, 1, 0, 0, 0, 94, 687, - 1, 0, 0, 0, 96, 689, 1, 0, 0, 0, 98, 696, - 1, 0, 0, 0, 100, 698, 1, 0, 0, 0, 102, 702, - 1, 0, 0, 0, 104, 707, 1, 0, 0, 0, 106, 721, - 1, 0, 0, 0, 108, 729, 1, 0, 0, 0, 110, 736, - 1, 0, 0, 0, 112, 744, 1, 0, 0, 0, 114, 752, - 1, 0, 0, 0, 116, 759, 1, 0, 0, 0, 118, 774, - 1, 0, 0, 0, 120, 776, 1, 0, 0, 0, 122, 779, - 1, 0, 0, 0, 124, 783, 1, 0, 0, 0, 126, 790, - 1, 0, 0, 0, 128, 797, 1, 0, 0, 0, 130, 802, - 1, 0, 0, 0, 132, 804, 1, 0, 0, 0, 134, 823, - 1, 0, 0, 0, 136, 843, 1, 0, 0, 0, 138, 850, - 1, 0, 0, 0, 140, 852, 1, 0, 0, 0, 142, 855, - 1, 0, 0, 0, 144, 863, 1, 0, 0, 0, 146, 869, - 1, 0, 0, 0, 148, 871, 1, 0, 0, 0, 150, 889, - 1, 0, 0, 0, 152, 903, 1, 0, 0, 0, 154, 905, - 1, 0, 0, 0, 156, 911, 1, 0, 0, 0, 158, 924, - 1, 0, 0, 0, 160, 927, 1, 0, 0, 0, 162, 929, - 1, 0, 0, 0, 164, 944, 1, 0, 0, 0, 166, 946, - 1, 0, 0, 0, 168, 954, 1, 0, 0, 0, 170, 962, - 1, 0, 0, 0, 172, 965, 1, 0, 0, 0, 174, 967, - 1, 0, 0, 0, 176, 977, 1, 0, 0, 0, 178, 979, - 1, 0, 0, 0, 180, 981, 1, 0, 0, 0, 182, 984, - 1, 0, 0, 0, 184, 989, 1, 0, 0, 0, 186, 991, - 1, 0, 0, 0, 188, 999, 1, 0, 0, 0, 190, 1001, - 1, 0, 0, 0, 192, 1003, 1, 0, 0, 0, 194, 1011, - 1, 0, 0, 0, 196, 1019, 1, 0, 0, 0, 198, 1026, - 1, 0, 0, 0, 200, 1028, 1, 0, 0, 0, 202, 1038, - 1, 0, 0, 0, 204, 1053, 1, 0, 0, 0, 206, 1062, - 1, 0, 0, 0, 208, 1064, 1, 0, 0, 0, 210, 1068, - 1, 0, 0, 0, 212, 1070, 1, 0, 0, 0, 214, 1076, - 1, 0, 0, 0, 216, 1078, 1, 0, 0, 0, 218, 1082, - 1, 0, 0, 0, 220, 1090, 1, 0, 0, 0, 222, 1100, - 1, 0, 0, 0, 224, 1104, 1, 0, 0, 0, 226, 1108, - 1, 0, 0, 0, 228, 1112, 1, 0, 0, 0, 230, 1114, - 1, 0, 0, 0, 232, 1122, 1, 0, 0, 0, 234, 1124, - 1, 0, 0, 0, 236, 1126, 1, 0, 0, 0, 238, 1134, - 1, 0, 0, 0, 240, 1142, 1, 0, 0, 0, 242, 1144, - 1, 0, 0, 0, 244, 1164, 1, 0, 0, 0, 246, 1166, - 1, 0, 0, 0, 248, 1178, 1, 0, 0, 0, 250, 1180, - 1, 0, 0, 0, 252, 1182, 1, 0, 0, 0, 254, 1186, - 1, 0, 0, 0, 256, 1194, 1, 0, 0, 0, 258, 1203, - 1, 0, 0, 0, 260, 1205, 1, 0, 0, 0, 262, 1208, - 1, 0, 0, 0, 264, 1218, 1, 0, 0, 0, 266, 1227, - 1, 0, 0, 0, 268, 1229, 1, 0, 0, 0, 270, 1487, - 1, 0, 0, 0, 272, 1489, 1, 0, 0, 0, 274, 1500, - 1, 0, 0, 0, 276, 1505, 1, 0, 0, 0, 278, 1516, - 1, 0, 0, 0, 280, 1529, 1, 0, 0, 0, 282, 1532, - 1, 0, 0, 0, 284, 1600, 1, 0, 0, 0, 286, 1602, - 1, 0, 0, 0, 288, 1606, 1, 0, 0, 0, 290, 1615, - 1, 0, 0, 0, 292, 1617, 1, 0, 0, 0, 294, 1619, - 1, 0, 0, 0, 296, 1621, 1, 0, 0, 0, 298, 1623, - 1, 0, 0, 0, 300, 1625, 1, 0, 0, 0, 302, 1628, - 1, 0, 0, 0, 304, 1636, 1, 0, 0, 0, 306, 1638, - 1, 0, 0, 0, 308, 1640, 1, 0, 0, 0, 310, 1642, - 1, 0, 0, 0, 312, 1644, 1, 0, 0, 0, 314, 317, - 3, 2, 1, 0, 315, 317, 3, 62, 31, 0, 316, 314, - 1, 0, 0, 0, 316, 315, 1, 0, 0, 0, 317, 318, - 1, 0, 0, 0, 318, 319, 5, 0, 0, 1, 319, 1, - 1, 0, 0, 0, 320, 325, 3, 4, 2, 0, 321, 326, - 3, 10, 5, 0, 322, 326, 3, 22, 11, 0, 323, 326, - 3, 24, 12, 0, 324, 326, 3, 26, 13, 0, 325, 321, - 1, 0, 0, 0, 325, 322, 1, 0, 0, 0, 325, 323, - 1, 0, 0, 0, 325, 324, 1, 0, 0, 0, 326, 327, - 1, 0, 0, 0, 327, 328, 3, 60, 30, 0, 328, 3, - 1, 0, 0, 0, 329, 332, 3, 6, 3, 0, 330, 332, - 3, 8, 4, 0, 331, 329, 1, 0, 0, 0, 331, 330, - 1, 0, 0, 0, 332, 335, 1, 0, 0, 0, 333, 331, - 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 5, - 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 336, 337, - 5, 30, 0, 0, 337, 338, 3, 308, 154, 0, 338, 7, - 1, 0, 0, 0, 339, 340, 5, 31, 0, 0, 340, 341, - 5, 142, 0, 0, 341, 342, 3, 308, 154, 0, 342, 9, - 1, 0, 0, 0, 343, 347, 3, 14, 7, 0, 344, 346, - 3, 28, 14, 0, 345, 344, 1, 0, 0, 0, 346, 349, - 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 347, 348, - 1, 0, 0, 0, 348, 350, 1, 0, 0, 0, 349, 347, - 1, 0, 0, 0, 350, 351, 3, 36, 18, 0, 351, 352, - 3, 38, 19, 0, 352, 11, 1, 0, 0, 0, 353, 354, - 3, 14, 7, 0, 354, 355, 3, 36, 18, 0, 355, 356, - 3, 38, 19, 0, 356, 357, 3, 60, 30, 0, 357, 13, - 1, 0, 0, 0, 358, 360, 5, 32, 0, 0, 359, 361, - 7, 0, 0, 0, 360, 359, 1, 0, 0, 0, 360, 361, - 1, 0, 0, 0, 361, 368, 1, 0, 0, 0, 362, 364, - 3, 16, 8, 0, 363, 362, 1, 0, 0, 0, 364, 365, - 1, 0, 0, 0, 365, 363, 1, 0, 0, 0, 365, 366, - 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 369, - 5, 1, 0, 0, 368, 363, 1, 0, 0, 0, 368, 367, - 1, 0, 0, 0, 369, 15, 1, 0, 0, 0, 370, 373, - 3, 230, 115, 0, 371, 373, 3, 18, 9, 0, 372, 370, - 1, 0, 0, 0, 372, 371, 1, 0, 0, 0, 373, 17, - 1, 0, 0, 0, 374, 375, 5, 2, 0, 0, 375, 376, - 3, 20, 10, 0, 376, 377, 5, 3, 0, 0, 377, 19, - 1, 0, 0, 0, 378, 379, 3, 234, 117, 0, 379, 380, - 5, 35, 0, 0, 380, 381, 3, 230, 115, 0, 381, 21, - 1, 0, 0, 0, 382, 406, 5, 36, 0, 0, 383, 387, - 3, 154, 77, 0, 384, 386, 3, 28, 14, 0, 385, 384, - 1, 0, 0, 0, 386, 389, 1, 0, 0, 0, 387, 385, - 1, 0, 0, 0, 387, 388, 1, 0, 0, 0, 388, 390, - 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 390, 391, - 3, 36, 18, 0, 391, 392, 3, 38, 19, 0, 392, 407, - 1, 0, 0, 0, 393, 395, 3, 28, 14, 0, 394, 393, - 1, 0, 0, 0, 395, 398, 1, 0, 0, 0, 396, 394, - 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 399, - 1, 0, 0, 0, 398, 396, 1, 0, 0, 0, 399, 400, - 5, 37, 0, 0, 400, 402, 5, 4, 0, 0, 401, 403, - 3, 108, 54, 0, 402, 401, 1, 0, 0, 0, 402, 403, - 1, 0, 0, 0, 403, 404, 1, 0, 0, 0, 404, 405, - 5, 5, 0, 0, 405, 407, 3, 38, 19, 0, 406, 383, - 1, 0, 0, 0, 406, 396, 1, 0, 0, 0, 407, 23, - 1, 0, 0, 0, 408, 415, 5, 38, 0, 0, 409, 411, - 3, 228, 114, 0, 410, 409, 1, 0, 0, 0, 411, 412, - 1, 0, 0, 0, 412, 410, 1, 0, 0, 0, 412, 413, - 1, 0, 0, 0, 413, 416, 1, 0, 0, 0, 414, 416, - 5, 1, 0, 0, 415, 410, 1, 0, 0, 0, 415, 414, - 1, 0, 0, 0, 416, 420, 1, 0, 0, 0, 417, 419, - 3, 28, 14, 0, 418, 417, 1, 0, 0, 0, 419, 422, - 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 420, 421, - 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, - 1, 0, 0, 0, 423, 425, 3, 36, 18, 0, 424, 423, - 1, 0, 0, 0, 424, 425, 1, 0, 0, 0, 425, 426, - 1, 0, 0, 0, 426, 427, 3, 38, 19, 0, 427, 25, - 1, 0, 0, 0, 428, 432, 5, 39, 0, 0, 429, 431, - 3, 28, 14, 0, 430, 429, 1, 0, 0, 0, 431, 434, - 1, 0, 0, 0, 432, 430, 1, 0, 0, 0, 432, 433, - 1, 0, 0, 0, 433, 435, 1, 0, 0, 0, 434, 432, - 1, 0, 0, 0, 435, 436, 3, 36, 18, 0, 436, 437, - 3, 38, 19, 0, 437, 27, 1, 0, 0, 0, 438, 441, - 5, 40, 0, 0, 439, 442, 3, 30, 15, 0, 440, 442, - 3, 32, 16, 0, 441, 439, 1, 0, 0, 0, 441, 440, - 1, 0, 0, 0, 442, 29, 1, 0, 0, 0, 443, 444, - 3, 34, 17, 0, 444, 31, 1, 0, 0, 0, 445, 446, - 5, 41, 0, 0, 446, 447, 3, 34, 17, 0, 447, 33, - 1, 0, 0, 0, 448, 449, 3, 302, 151, 0, 449, 35, - 1, 0, 0, 0, 450, 452, 5, 37, 0, 0, 451, 450, - 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 453, - 1, 0, 0, 0, 453, 454, 3, 110, 55, 0, 454, 37, - 1, 0, 0, 0, 455, 457, 3, 40, 20, 0, 456, 455, - 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 459, - 1, 0, 0, 0, 458, 460, 3, 44, 22, 0, 459, 458, - 1, 0, 0, 0, 459, 460, 1, 0, 0, 0, 460, 462, - 1, 0, 0, 0, 461, 463, 3, 48, 24, 0, 462, 461, - 1, 0, 0, 0, 462, 463, 1, 0, 0, 0, 463, 465, - 1, 0, 0, 0, 464, 466, 3, 52, 26, 0, 465, 464, - 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 39, - 1, 0, 0, 0, 467, 469, 5, 42, 0, 0, 468, 470, - 3, 42, 21, 0, 469, 468, 1, 0, 0, 0, 470, 471, - 1, 0, 0, 0, 471, 469, 1, 0, 0, 0, 471, 472, - 1, 0, 0, 0, 472, 41, 1, 0, 0, 0, 473, 485, - 3, 270, 135, 0, 474, 485, 3, 148, 74, 0, 475, 476, - 5, 2, 0, 0, 476, 479, 3, 234, 117, 0, 477, 478, - 5, 35, 0, 0, 478, 480, 3, 230, 115, 0, 479, 477, - 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, - 1, 0, 0, 0, 481, 482, 5, 3, 0, 0, 482, 485, - 1, 0, 0, 0, 483, 485, 3, 230, 115, 0, 484, 473, - 1, 0, 0, 0, 484, 474, 1, 0, 0, 0, 484, 475, - 1, 0, 0, 0, 484, 483, 1, 0, 0, 0, 485, 43, - 1, 0, 0, 0, 486, 488, 5, 44, 0, 0, 487, 489, - 3, 46, 23, 0, 488, 487, 1, 0, 0, 0, 489, 490, - 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 490, 491, - 1, 0, 0, 0, 491, 45, 1, 0, 0, 0, 492, 493, - 3, 146, 73, 0, 493, 47, 1, 0, 0, 0, 494, 497, - 5, 45, 0, 0, 495, 497, 5, 46, 0, 0, 496, 494, - 1, 0, 0, 0, 496, 495, 1, 0, 0, 0, 497, 499, - 1, 0, 0, 0, 498, 500, 3, 50, 25, 0, 499, 498, - 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 499, - 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 49, - 1, 0, 0, 0, 503, 504, 7, 1, 0, 0, 504, 510, - 3, 268, 134, 0, 505, 508, 3, 146, 73, 0, 506, 508, - 3, 230, 115, 0, 507, 505, 1, 0, 0, 0, 507, 506, - 1, 0, 0, 0, 508, 510, 1, 0, 0, 0, 509, 503, - 1, 0, 0, 0, 509, 507, 1, 0, 0, 0, 510, 51, - 1, 0, 0, 0, 511, 513, 3, 54, 27, 0, 512, 514, - 3, 56, 28, 0, 513, 512, 1, 0, 0, 0, 513, 514, - 1, 0, 0, 0, 514, 516, 1, 0, 0, 0, 515, 517, - 3, 58, 29, 0, 516, 515, 1, 0, 0, 0, 516, 517, - 1, 0, 0, 0, 517, 554, 1, 0, 0, 0, 518, 520, - 3, 54, 27, 0, 519, 521, 3, 58, 29, 0, 520, 519, - 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 523, - 1, 0, 0, 0, 522, 524, 3, 56, 28, 0, 523, 522, - 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 554, - 1, 0, 0, 0, 525, 527, 3, 56, 28, 0, 526, 528, - 3, 54, 27, 0, 527, 526, 1, 0, 0, 0, 527, 528, - 1, 0, 0, 0, 528, 530, 1, 0, 0, 0, 529, 531, - 3, 58, 29, 0, 530, 529, 1, 0, 0, 0, 530, 531, - 1, 0, 0, 0, 531, 554, 1, 0, 0, 0, 532, 534, - 3, 56, 28, 0, 533, 535, 3, 58, 29, 0, 534, 533, - 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 537, - 1, 0, 0, 0, 536, 538, 3, 54, 27, 0, 537, 536, - 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 554, - 1, 0, 0, 0, 539, 541, 3, 58, 29, 0, 540, 542, - 3, 56, 28, 0, 541, 540, 1, 0, 0, 0, 541, 542, - 1, 0, 0, 0, 542, 544, 1, 0, 0, 0, 543, 545, - 3, 54, 27, 0, 544, 543, 1, 0, 0, 0, 544, 545, - 1, 0, 0, 0, 545, 554, 1, 0, 0, 0, 546, 548, - 3, 58, 29, 0, 547, 549, 3, 54, 27, 0, 548, 547, - 1, 0, 0, 0, 548, 549, 1, 0, 0, 0, 549, 551, - 1, 0, 0, 0, 550, 552, 3, 56, 28, 0, 551, 550, - 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 554, - 1, 0, 0, 0, 553, 511, 1, 0, 0, 0, 553, 518, - 1, 0, 0, 0, 553, 525, 1, 0, 0, 0, 553, 532, - 1, 0, 0, 0, 553, 539, 1, 0, 0, 0, 553, 546, - 1, 0, 0, 0, 554, 53, 1, 0, 0, 0, 555, 556, - 5, 49, 0, 0, 556, 557, 3, 208, 104, 0, 557, 55, - 1, 0, 0, 0, 558, 559, 5, 50, 0, 0, 559, 560, - 3, 208, 104, 0, 560, 57, 1, 0, 0, 0, 561, 562, - 5, 51, 0, 0, 562, 563, 3, 208, 104, 0, 563, 59, - 1, 0, 0, 0, 564, 565, 5, 52, 0, 0, 565, 567, - 3, 130, 65, 0, 566, 564, 1, 0, 0, 0, 566, 567, - 1, 0, 0, 0, 567, 61, 1, 0, 0, 0, 568, 574, - 3, 4, 2, 0, 569, 572, 3, 64, 32, 0, 570, 571, - 5, 6, 0, 0, 571, 573, 3, 62, 31, 0, 572, 570, - 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 575, - 1, 0, 0, 0, 574, 569, 1, 0, 0, 0, 574, 575, - 1, 0, 0, 0, 575, 63, 1, 0, 0, 0, 576, 588, - 3, 66, 33, 0, 577, 588, 3, 68, 34, 0, 578, 588, - 3, 70, 35, 0, 579, 588, 3, 74, 37, 0, 580, 588, - 3, 76, 38, 0, 581, 588, 3, 78, 39, 0, 582, 588, - 3, 72, 36, 0, 583, 588, 3, 80, 40, 0, 584, 588, - 3, 82, 41, 0, 585, 588, 3, 84, 42, 0, 586, 588, - 3, 86, 43, 0, 587, 576, 1, 0, 0, 0, 587, 577, - 1, 0, 0, 0, 587, 578, 1, 0, 0, 0, 587, 579, - 1, 0, 0, 0, 587, 580, 1, 0, 0, 0, 587, 581, - 1, 0, 0, 0, 587, 582, 1, 0, 0, 0, 587, 583, - 1, 0, 0, 0, 587, 584, 1, 0, 0, 0, 587, 585, - 1, 0, 0, 0, 587, 586, 1, 0, 0, 0, 588, 65, - 1, 0, 0, 0, 589, 591, 5, 53, 0, 0, 590, 592, - 5, 54, 0, 0, 591, 590, 1, 0, 0, 0, 591, 592, - 1, 0, 0, 0, 592, 593, 1, 0, 0, 0, 593, 596, - 3, 302, 151, 0, 594, 595, 5, 55, 0, 0, 595, 597, - 3, 96, 48, 0, 596, 594, 1, 0, 0, 0, 596, 597, - 1, 0, 0, 0, 597, 67, 1, 0, 0, 0, 598, 600, - 5, 56, 0, 0, 599, 601, 5, 54, 0, 0, 600, 599, - 1, 0, 0, 0, 600, 601, 1, 0, 0, 0, 601, 602, - 1, 0, 0, 0, 602, 603, 3, 98, 49, 0, 603, 69, - 1, 0, 0, 0, 604, 606, 5, 57, 0, 0, 605, 607, - 5, 54, 0, 0, 606, 605, 1, 0, 0, 0, 606, 607, - 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, - 3, 98, 49, 0, 609, 71, 1, 0, 0, 0, 610, 612, - 5, 58, 0, 0, 611, 613, 5, 54, 0, 0, 612, 611, - 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 614, - 1, 0, 0, 0, 614, 615, 3, 96, 48, 0, 615, 73, - 1, 0, 0, 0, 616, 618, 5, 59, 0, 0, 617, 619, - 5, 54, 0, 0, 618, 617, 1, 0, 0, 0, 618, 619, - 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 621, - 3, 94, 47, 0, 621, 622, 5, 60, 0, 0, 622, 623, - 3, 94, 47, 0, 623, 75, 1, 0, 0, 0, 624, 626, - 5, 62, 0, 0, 625, 627, 5, 54, 0, 0, 626, 625, - 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 628, - 1, 0, 0, 0, 628, 629, 3, 94, 47, 0, 629, 630, - 5, 60, 0, 0, 630, 631, 3, 94, 47, 0, 631, 77, - 1, 0, 0, 0, 632, 634, 5, 63, 0, 0, 633, 635, - 5, 54, 0, 0, 634, 633, 1, 0, 0, 0, 634, 635, - 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 637, - 3, 94, 47, 0, 637, 638, 5, 60, 0, 0, 638, 639, - 3, 94, 47, 0, 639, 79, 1, 0, 0, 0, 640, 641, - 5, 64, 0, 0, 641, 642, 5, 61, 0, 0, 642, 643, - 3, 102, 51, 0, 643, 81, 1, 0, 0, 0, 644, 645, - 5, 65, 0, 0, 645, 646, 5, 61, 0, 0, 646, 647, - 3, 102, 51, 0, 647, 83, 1, 0, 0, 0, 648, 649, - 5, 65, 0, 0, 649, 650, 5, 37, 0, 0, 650, 651, - 3, 100, 50, 0, 651, 85, 1, 0, 0, 0, 652, 653, - 5, 66, 0, 0, 653, 655, 3, 302, 151, 0, 654, 652, - 1, 0, 0, 0, 654, 655, 1, 0, 0, 0, 655, 661, - 1, 0, 0, 0, 656, 658, 3, 88, 44, 0, 657, 659, - 3, 90, 45, 0, 658, 657, 1, 0, 0, 0, 658, 659, - 1, 0, 0, 0, 659, 662, 1, 0, 0, 0, 660, 662, - 3, 90, 45, 0, 661, 656, 1, 0, 0, 0, 661, 660, - 1, 0, 0, 0, 662, 666, 1, 0, 0, 0, 663, 665, - 3, 92, 46, 0, 664, 663, 1, 0, 0, 0, 665, 668, - 1, 0, 0, 0, 666, 664, 1, 0, 0, 0, 666, 667, - 1, 0, 0, 0, 667, 669, 1, 0, 0, 0, 668, 666, - 1, 0, 0, 0, 669, 670, 5, 37, 0, 0, 670, 671, - 3, 110, 55, 0, 671, 87, 1, 0, 0, 0, 672, 673, - 5, 65, 0, 0, 673, 674, 3, 100, 50, 0, 674, 89, - 1, 0, 0, 0, 675, 676, 5, 64, 0, 0, 676, 677, - 3, 100, 50, 0, 677, 91, 1, 0, 0, 0, 678, 682, - 5, 67, 0, 0, 679, 683, 5, 85, 0, 0, 680, 681, - 5, 41, 0, 0, 681, 683, 3, 302, 151, 0, 682, 679, - 1, 0, 0, 0, 682, 680, 1, 0, 0, 0, 683, 93, - 1, 0, 0, 0, 684, 688, 5, 68, 0, 0, 685, 686, - 5, 69, 0, 0, 686, 688, 3, 302, 151, 0, 687, 684, - 1, 0, 0, 0, 687, 685, 1, 0, 0, 0, 688, 95, - 1, 0, 0, 0, 689, 690, 5, 69, 0, 0, 690, 691, - 3, 302, 151, 0, 691, 97, 1, 0, 0, 0, 692, 697, - 3, 96, 48, 0, 693, 697, 5, 68, 0, 0, 694, 697, - 5, 41, 0, 0, 695, 697, 5, 70, 0, 0, 696, 692, - 1, 0, 0, 0, 696, 693, 1, 0, 0, 0, 696, 694, - 1, 0, 0, 0, 696, 695, 1, 0, 0, 0, 697, 99, - 1, 0, 0, 0, 698, 699, 5, 4, 0, 0, 699, 700, - 3, 104, 52, 0, 700, 701, 5, 5, 0, 0, 701, 101, - 1, 0, 0, 0, 702, 703, 5, 4, 0, 0, 703, 704, - 3, 104, 52, 0, 704, 705, 5, 5, 0, 0, 705, 103, - 1, 0, 0, 0, 706, 708, 3, 108, 54, 0, 707, 706, - 1, 0, 0, 0, 707, 708, 1, 0, 0, 0, 708, 718, - 1, 0, 0, 0, 709, 711, 3, 106, 53, 0, 710, 712, - 5, 7, 0, 0, 711, 710, 1, 0, 0, 0, 711, 712, - 1, 0, 0, 0, 712, 714, 1, 0, 0, 0, 713, 715, - 3, 108, 54, 0, 714, 713, 1, 0, 0, 0, 714, 715, - 1, 0, 0, 0, 715, 717, 1, 0, 0, 0, 716, 709, - 1, 0, 0, 0, 717, 720, 1, 0, 0, 0, 718, 716, - 1, 0, 0, 0, 718, 719, 1, 0, 0, 0, 719, 105, - 1, 0, 0, 0, 720, 718, 1, 0, 0, 0, 721, 722, - 5, 69, 0, 0, 722, 723, 3, 228, 114, 0, 723, 725, - 5, 4, 0, 0, 724, 726, 3, 108, 54, 0, 725, 724, - 1, 0, 0, 0, 725, 726, 1, 0, 0, 0, 726, 727, - 1, 0, 0, 0, 727, 728, 5, 5, 0, 0, 728, 107, - 1, 0, 0, 0, 729, 734, 3, 158, 79, 0, 730, 732, - 5, 7, 0, 0, 731, 733, 3, 108, 54, 0, 732, 731, - 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 735, - 1, 0, 0, 0, 734, 730, 1, 0, 0, 0, 734, 735, - 1, 0, 0, 0, 735, 109, 1, 0, 0, 0, 736, 739, - 5, 4, 0, 0, 737, 740, 3, 12, 6, 0, 738, 740, - 3, 112, 56, 0, 739, 737, 1, 0, 0, 0, 739, 738, - 1, 0, 0, 0, 740, 741, 1, 0, 0, 0, 741, 742, - 5, 5, 0, 0, 742, 111, 1, 0, 0, 0, 743, 745, - 3, 116, 58, 0, 744, 743, 1, 0, 0, 0, 744, 745, - 1, 0, 0, 0, 745, 749, 1, 0, 0, 0, 746, 748, - 3, 114, 57, 0, 747, 746, 1, 0, 0, 0, 748, 751, - 1, 0, 0, 0, 749, 747, 1, 0, 0, 0, 749, 750, - 1, 0, 0, 0, 750, 113, 1, 0, 0, 0, 751, 749, - 1, 0, 0, 0, 752, 754, 3, 118, 59, 0, 753, 755, - 5, 7, 0, 0, 754, 753, 1, 0, 0, 0, 754, 755, - 1, 0, 0, 0, 755, 757, 1, 0, 0, 0, 756, 758, - 3, 116, 58, 0, 757, 756, 1, 0, 0, 0, 757, 758, - 1, 0, 0, 0, 758, 115, 1, 0, 0, 0, 759, 764, - 3, 170, 85, 0, 760, 762, 5, 7, 0, 0, 761, 763, - 3, 116, 58, 0, 762, 761, 1, 0, 0, 0, 762, 763, - 1, 0, 0, 0, 763, 765, 1, 0, 0, 0, 764, 760, - 1, 0, 0, 0, 764, 765, 1, 0, 0, 0, 765, 117, - 1, 0, 0, 0, 766, 775, 3, 142, 71, 0, 767, 775, - 3, 120, 60, 0, 768, 775, 3, 140, 70, 0, 769, 775, - 3, 122, 61, 0, 770, 775, 3, 124, 62, 0, 771, 775, - 3, 144, 72, 0, 772, 775, 3, 126, 63, 0, 773, 775, - 3, 128, 64, 0, 774, 766, 1, 0, 0, 0, 774, 767, - 1, 0, 0, 0, 774, 768, 1, 0, 0, 0, 774, 769, - 1, 0, 0, 0, 774, 770, 1, 0, 0, 0, 774, 771, - 1, 0, 0, 0, 774, 772, 1, 0, 0, 0, 774, 773, - 1, 0, 0, 0, 775, 119, 1, 0, 0, 0, 776, 777, - 5, 71, 0, 0, 777, 778, 3, 110, 55, 0, 778, 121, - 1, 0, 0, 0, 779, 780, 5, 69, 0, 0, 780, 781, - 3, 228, 114, 0, 781, 782, 3, 110, 55, 0, 782, 123, - 1, 0, 0, 0, 783, 785, 5, 72, 0, 0, 784, 786, - 5, 54, 0, 0, 785, 784, 1, 0, 0, 0, 785, 786, - 1, 0, 0, 0, 786, 787, 1, 0, 0, 0, 787, 788, - 3, 228, 114, 0, 788, 789, 3, 110, 55, 0, 789, 125, - 1, 0, 0, 0, 790, 791, 5, 73, 0, 0, 791, 792, - 5, 2, 0, 0, 792, 793, 3, 234, 117, 0, 793, 794, - 5, 35, 0, 0, 794, 795, 3, 230, 115, 0, 795, 796, - 5, 3, 0, 0, 796, 127, 1, 0, 0, 0, 797, 798, - 5, 52, 0, 0, 798, 799, 3, 130, 65, 0, 799, 129, - 1, 0, 0, 0, 800, 803, 3, 132, 66, 0, 801, 803, - 3, 134, 67, 0, 802, 800, 1, 0, 0, 0, 802, 801, - 1, 0, 0, 0, 803, 131, 1, 0, 0, 0, 804, 805, - 3, 230, 115, 0, 805, 809, 5, 4, 0, 0, 806, 808, - 3, 138, 69, 0, 807, 806, 1, 0, 0, 0, 808, 811, - 1, 0, 0, 0, 809, 807, 1, 0, 0, 0, 809, 810, - 1, 0, 0, 0, 810, 812, 1, 0, 0, 0, 811, 809, - 1, 0, 0, 0, 812, 813, 5, 5, 0, 0, 813, 133, - 1, 0, 0, 0, 814, 824, 5, 164, 0, 0, 815, 819, - 5, 2, 0, 0, 816, 818, 3, 230, 115, 0, 817, 816, - 1, 0, 0, 0, 818, 821, 1, 0, 0, 0, 819, 817, - 1, 0, 0, 0, 819, 820, 1, 0, 0, 0, 820, 822, - 1, 0, 0, 0, 821, 819, 1, 0, 0, 0, 822, 824, - 5, 3, 0, 0, 823, 814, 1, 0, 0, 0, 823, 815, - 1, 0, 0, 0, 824, 825, 1, 0, 0, 0, 825, 829, - 5, 4, 0, 0, 826, 828, 3, 136, 68, 0, 827, 826, - 1, 0, 0, 0, 828, 831, 1, 0, 0, 0, 829, 827, - 1, 0, 0, 0, 829, 830, 1, 0, 0, 0, 830, 832, - 1, 0, 0, 0, 831, 829, 1, 0, 0, 0, 832, 833, - 5, 5, 0, 0, 833, 135, 1, 0, 0, 0, 834, 838, - 5, 2, 0, 0, 835, 837, 3, 138, 69, 0, 836, 835, - 1, 0, 0, 0, 837, 840, 1, 0, 0, 0, 838, 836, - 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 841, - 1, 0, 0, 0, 840, 838, 1, 0, 0, 0, 841, 844, - 5, 3, 0, 0, 842, 844, 5, 164, 0, 0, 843, 834, - 1, 0, 0, 0, 843, 842, 1, 0, 0, 0, 844, 137, - 1, 0, 0, 0, 845, 851, 3, 302, 151, 0, 846, 851, - 3, 288, 144, 0, 847, 851, 3, 290, 145, 0, 848, 851, - 3, 298, 149, 0, 849, 851, 5, 74, 0, 0, 850, 845, - 1, 0, 0, 0, 850, 846, 1, 0, 0, 0, 850, 847, - 1, 0, 0, 0, 850, 848, 1, 0, 0, 0, 850, 849, - 1, 0, 0, 0, 851, 139, 1, 0, 0, 0, 852, 853, - 5, 75, 0, 0, 853, 854, 3, 110, 55, 0, 854, 141, - 1, 0, 0, 0, 855, 860, 3, 110, 55, 0, 856, 857, - 5, 76, 0, 0, 857, 859, 3, 110, 55, 0, 858, 856, - 1, 0, 0, 0, 859, 862, 1, 0, 0, 0, 860, 858, - 1, 0, 0, 0, 860, 861, 1, 0, 0, 0, 861, 143, - 1, 0, 0, 0, 862, 860, 1, 0, 0, 0, 863, 864, - 5, 77, 0, 0, 864, 865, 3, 146, 73, 0, 865, 145, - 1, 0, 0, 0, 866, 870, 3, 268, 134, 0, 867, 870, - 3, 270, 135, 0, 868, 870, 3, 148, 74, 0, 869, 866, - 1, 0, 0, 0, 869, 867, 1, 0, 0, 0, 869, 868, - 1, 0, 0, 0, 870, 147, 1, 0, 0, 0, 871, 872, - 3, 302, 151, 0, 872, 873, 3, 150, 75, 0, 873, 149, - 1, 0, 0, 0, 874, 890, 5, 164, 0, 0, 875, 877, - 5, 2, 0, 0, 876, 878, 5, 33, 0, 0, 877, 876, - 1, 0, 0, 0, 877, 878, 1, 0, 0, 0, 878, 879, - 1, 0, 0, 0, 879, 884, 3, 234, 117, 0, 880, 881, - 5, 8, 0, 0, 881, 883, 3, 234, 117, 0, 882, 880, - 1, 0, 0, 0, 883, 886, 1, 0, 0, 0, 884, 882, - 1, 0, 0, 0, 884, 885, 1, 0, 0, 0, 885, 887, - 1, 0, 0, 0, 886, 884, 1, 0, 0, 0, 887, 888, - 5, 3, 0, 0, 888, 890, 1, 0, 0, 0, 889, 874, - 1, 0, 0, 0, 889, 875, 1, 0, 0, 0, 890, 151, - 1, 0, 0, 0, 891, 904, 5, 164, 0, 0, 892, 893, - 5, 2, 0, 0, 893, 898, 3, 234, 117, 0, 894, 895, - 5, 8, 0, 0, 895, 897, 3, 234, 117, 0, 896, 894, - 1, 0, 0, 0, 897, 900, 1, 0, 0, 0, 898, 896, - 1, 0, 0, 0, 898, 899, 1, 0, 0, 0, 899, 901, - 1, 0, 0, 0, 900, 898, 1, 0, 0, 0, 901, 902, - 5, 3, 0, 0, 902, 904, 1, 0, 0, 0, 903, 891, - 1, 0, 0, 0, 903, 892, 1, 0, 0, 0, 904, 153, - 1, 0, 0, 0, 905, 907, 5, 4, 0, 0, 906, 908, - 3, 156, 78, 0, 907, 906, 1, 0, 0, 0, 907, 908, - 1, 0, 0, 0, 908, 909, 1, 0, 0, 0, 909, 910, - 5, 5, 0, 0, 910, 155, 1, 0, 0, 0, 911, 916, - 3, 158, 79, 0, 912, 914, 5, 7, 0, 0, 913, 915, - 3, 156, 78, 0, 914, 913, 1, 0, 0, 0, 914, 915, - 1, 0, 0, 0, 915, 917, 1, 0, 0, 0, 916, 912, - 1, 0, 0, 0, 916, 917, 1, 0, 0, 0, 917, 157, - 1, 0, 0, 0, 918, 919, 3, 226, 113, 0, 919, 920, - 3, 162, 81, 0, 920, 925, 1, 0, 0, 0, 921, 922, - 3, 210, 105, 0, 922, 923, 3, 160, 80, 0, 923, 925, - 1, 0, 0, 0, 924, 918, 1, 0, 0, 0, 924, 921, - 1, 0, 0, 0, 925, 159, 1, 0, 0, 0, 926, 928, - 3, 162, 81, 0, 927, 926, 1, 0, 0, 0, 927, 928, - 1, 0, 0, 0, 928, 161, 1, 0, 0, 0, 929, 930, - 3, 164, 82, 0, 930, 939, 3, 166, 83, 0, 931, 935, - 5, 6, 0, 0, 932, 933, 3, 164, 82, 0, 933, 934, - 3, 166, 83, 0, 934, 936, 1, 0, 0, 0, 935, 932, - 1, 0, 0, 0, 935, 936, 1, 0, 0, 0, 936, 938, - 1, 0, 0, 0, 937, 931, 1, 0, 0, 0, 938, 941, - 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 940, - 1, 0, 0, 0, 940, 163, 1, 0, 0, 0, 941, 939, - 1, 0, 0, 0, 942, 945, 3, 228, 114, 0, 943, 945, - 5, 9, 0, 0, 944, 942, 1, 0, 0, 0, 944, 943, - 1, 0, 0, 0, 945, 165, 1, 0, 0, 0, 946, 951, - 3, 168, 84, 0, 947, 948, 5, 8, 0, 0, 948, 950, - 3, 168, 84, 0, 949, 947, 1, 0, 0, 0, 950, 953, - 1, 0, 0, 0, 951, 949, 1, 0, 0, 0, 951, 952, - 1, 0, 0, 0, 952, 167, 1, 0, 0, 0, 953, 951, - 1, 0, 0, 0, 954, 955, 3, 222, 111, 0, 955, 169, - 1, 0, 0, 0, 956, 957, 3, 226, 113, 0, 957, 958, - 3, 174, 87, 0, 958, 963, 1, 0, 0, 0, 959, 960, - 3, 214, 107, 0, 960, 961, 3, 172, 86, 0, 961, 963, - 1, 0, 0, 0, 962, 956, 1, 0, 0, 0, 962, 959, - 1, 0, 0, 0, 963, 171, 1, 0, 0, 0, 964, 966, - 3, 174, 87, 0, 965, 964, 1, 0, 0, 0, 965, 966, - 1, 0, 0, 0, 966, 173, 1, 0, 0, 0, 967, 974, - 3, 182, 91, 0, 968, 970, 5, 6, 0, 0, 969, 971, - 3, 180, 90, 0, 970, 969, 1, 0, 0, 0, 970, 971, - 1, 0, 0, 0, 971, 973, 1, 0, 0, 0, 972, 968, - 1, 0, 0, 0, 973, 976, 1, 0, 0, 0, 974, 972, - 1, 0, 0, 0, 974, 975, 1, 0, 0, 0, 975, 175, - 1, 0, 0, 0, 976, 974, 1, 0, 0, 0, 977, 978, - 3, 190, 95, 0, 978, 177, 1, 0, 0, 0, 979, 980, - 3, 230, 115, 0, 980, 179, 1, 0, 0, 0, 981, 982, - 3, 184, 92, 0, 982, 983, 3, 166, 83, 0, 983, 181, - 1, 0, 0, 0, 984, 985, 3, 184, 92, 0, 985, 986, - 3, 186, 93, 0, 986, 183, 1, 0, 0, 0, 987, 990, - 3, 176, 88, 0, 988, 990, 3, 178, 89, 0, 989, 987, - 1, 0, 0, 0, 989, 988, 1, 0, 0, 0, 990, 185, - 1, 0, 0, 0, 991, 996, 3, 188, 94, 0, 992, 993, - 5, 8, 0, 0, 993, 995, 3, 188, 94, 0, 994, 992, - 1, 0, 0, 0, 995, 998, 1, 0, 0, 0, 996, 994, - 1, 0, 0, 0, 996, 997, 1, 0, 0, 0, 997, 187, - 1, 0, 0, 0, 998, 996, 1, 0, 0, 0, 999, 1000, - 3, 224, 112, 0, 1000, 189, 1, 0, 0, 0, 1001, 1002, - 3, 192, 96, 0, 1002, 191, 1, 0, 0, 0, 1003, 1008, - 3, 194, 97, 0, 1004, 1005, 5, 10, 0, 0, 1005, 1007, - 3, 194, 97, 0, 1006, 1004, 1, 0, 0, 0, 1007, 1010, - 1, 0, 0, 0, 1008, 1006, 1, 0, 0, 0, 1008, 1009, - 1, 0, 0, 0, 1009, 193, 1, 0, 0, 0, 1010, 1008, - 1, 0, 0, 0, 1011, 1016, 3, 198, 99, 0, 1012, 1013, - 5, 11, 0, 0, 1013, 1015, 3, 198, 99, 0, 1014, 1012, - 1, 0, 0, 0, 1015, 1018, 1, 0, 0, 0, 1016, 1014, - 1, 0, 0, 0, 1016, 1017, 1, 0, 0, 0, 1017, 195, - 1, 0, 0, 0, 1018, 1016, 1, 0, 0, 0, 1019, 1021, - 3, 202, 101, 0, 1020, 1022, 3, 200, 100, 0, 1021, 1020, - 1, 0, 0, 0, 1021, 1022, 1, 0, 0, 0, 1022, 197, - 1, 0, 0, 0, 1023, 1027, 3, 196, 98, 0, 1024, 1025, - 5, 12, 0, 0, 1025, 1027, 3, 196, 98, 0, 1026, 1023, - 1, 0, 0, 0, 1026, 1024, 1, 0, 0, 0, 1027, 199, - 1, 0, 0, 0, 1028, 1029, 7, 2, 0, 0, 1029, 201, - 1, 0, 0, 0, 1030, 1039, 3, 302, 151, 0, 1031, 1039, - 5, 9, 0, 0, 1032, 1033, 5, 15, 0, 0, 1033, 1039, - 3, 204, 102, 0, 1034, 1035, 5, 2, 0, 0, 1035, 1036, - 3, 190, 95, 0, 1036, 1037, 5, 3, 0, 0, 1037, 1039, - 1, 0, 0, 0, 1038, 1030, 1, 0, 0, 0, 1038, 1031, - 1, 0, 0, 0, 1038, 1032, 1, 0, 0, 0, 1038, 1034, - 1, 0, 0, 0, 1039, 203, 1, 0, 0, 0, 1040, 1054, - 3, 206, 103, 0, 1041, 1050, 5, 2, 0, 0, 1042, 1047, - 3, 206, 103, 0, 1043, 1044, 5, 10, 0, 0, 1044, 1046, - 3, 206, 103, 0, 1045, 1043, 1, 0, 0, 0, 1046, 1049, - 1, 0, 0, 0, 1047, 1045, 1, 0, 0, 0, 1047, 1048, - 1, 0, 0, 0, 1048, 1051, 1, 0, 0, 0, 1049, 1047, - 1, 0, 0, 0, 1050, 1042, 1, 0, 0, 0, 1050, 1051, - 1, 0, 0, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1054, - 5, 3, 0, 0, 1053, 1040, 1, 0, 0, 0, 1053, 1041, - 1, 0, 0, 0, 1054, 205, 1, 0, 0, 0, 1055, 1063, - 3, 302, 151, 0, 1056, 1063, 5, 9, 0, 0, 1057, 1060, - 5, 12, 0, 0, 1058, 1061, 3, 302, 151, 0, 1059, 1061, - 5, 9, 0, 0, 1060, 1058, 1, 0, 0, 0, 1060, 1059, - 1, 0, 0, 0, 1061, 1063, 1, 0, 0, 0, 1062, 1055, - 1, 0, 0, 0, 1062, 1056, 1, 0, 0, 0, 1062, 1057, - 1, 0, 0, 0, 1063, 207, 1, 0, 0, 0, 1064, 1065, - 5, 149, 0, 0, 1065, 209, 1, 0, 0, 0, 1066, 1069, - 3, 218, 109, 0, 1067, 1069, 3, 212, 106, 0, 1068, 1066, - 1, 0, 0, 0, 1068, 1067, 1, 0, 0, 0, 1069, 211, - 1, 0, 0, 0, 1070, 1071, 5, 16, 0, 0, 1071, 1072, - 3, 162, 81, 0, 1072, 1073, 5, 17, 0, 0, 1073, 213, - 1, 0, 0, 0, 1074, 1077, 3, 220, 110, 0, 1075, 1077, - 3, 216, 108, 0, 1076, 1074, 1, 0, 0, 0, 1076, 1075, - 1, 0, 0, 0, 1077, 215, 1, 0, 0, 0, 1078, 1079, - 5, 16, 0, 0, 1079, 1080, 3, 174, 87, 0, 1080, 1081, - 5, 17, 0, 0, 1081, 217, 1, 0, 0, 0, 1082, 1084, - 5, 2, 0, 0, 1083, 1085, 3, 222, 111, 0, 1084, 1083, - 1, 0, 0, 0, 1085, 1086, 1, 0, 0, 0, 1086, 1084, - 1, 0, 0, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1088, - 1, 0, 0, 0, 1088, 1089, 5, 3, 0, 0, 1089, 219, - 1, 0, 0, 0, 1090, 1092, 5, 2, 0, 0, 1091, 1093, - 3, 224, 112, 0, 1092, 1091, 1, 0, 0, 0, 1093, 1094, - 1, 0, 0, 0, 1094, 1092, 1, 0, 0, 0, 1094, 1095, - 1, 0, 0, 0, 1095, 1096, 1, 0, 0, 0, 1096, 1097, - 5, 3, 0, 0, 1097, 221, 1, 0, 0, 0, 1098, 1101, - 3, 226, 113, 0, 1099, 1101, 3, 210, 105, 0, 1100, 1098, - 1, 0, 0, 0, 1100, 1099, 1, 0, 0, 0, 1101, 223, - 1, 0, 0, 0, 1102, 1105, 3, 226, 113, 0, 1103, 1105, - 3, 214, 107, 0, 1104, 1102, 1, 0, 0, 0, 1104, 1103, - 1, 0, 0, 0, 1105, 225, 1, 0, 0, 0, 1106, 1109, - 3, 230, 115, 0, 1107, 1109, 3, 232, 116, 0, 1108, 1106, - 1, 0, 0, 0, 1108, 1107, 1, 0, 0, 0, 1109, 227, - 1, 0, 0, 0, 1110, 1113, 3, 230, 115, 0, 1111, 1113, - 3, 302, 151, 0, 1112, 1110, 1, 0, 0, 0, 1112, 1111, - 1, 0, 0, 0, 1113, 229, 1, 0, 0, 0, 1114, 1115, - 7, 3, 0, 0, 1115, 231, 1, 0, 0, 0, 1116, 1123, - 3, 302, 151, 0, 1117, 1123, 3, 288, 144, 0, 1118, 1123, - 3, 290, 145, 0, 1119, 1123, 3, 298, 149, 0, 1120, 1123, - 3, 306, 153, 0, 1121, 1123, 5, 164, 0, 0, 1122, 1116, - 1, 0, 0, 0, 1122, 1117, 1, 0, 0, 0, 1122, 1118, - 1, 0, 0, 0, 1122, 1119, 1, 0, 0, 0, 1122, 1120, - 1, 0, 0, 0, 1122, 1121, 1, 0, 0, 0, 1123, 233, - 1, 0, 0, 0, 1124, 1125, 3, 236, 118, 0, 1125, 235, - 1, 0, 0, 0, 1126, 1131, 3, 238, 119, 0, 1127, 1128, - 5, 18, 0, 0, 1128, 1130, 3, 238, 119, 0, 1129, 1127, - 1, 0, 0, 0, 1130, 1133, 1, 0, 0, 0, 1131, 1129, - 1, 0, 0, 0, 1131, 1132, 1, 0, 0, 0, 1132, 237, - 1, 0, 0, 0, 1133, 1131, 1, 0, 0, 0, 1134, 1139, - 3, 240, 120, 0, 1135, 1136, 5, 19, 0, 0, 1136, 1138, - 3, 240, 120, 0, 1137, 1135, 1, 0, 0, 0, 1138, 1141, - 1, 0, 0, 0, 1139, 1137, 1, 0, 0, 0, 1139, 1140, - 1, 0, 0, 0, 1140, 239, 1, 0, 0, 0, 1141, 1139, - 1, 0, 0, 0, 1142, 1143, 3, 242, 121, 0, 1143, 241, - 1, 0, 0, 0, 1144, 1162, 3, 244, 122, 0, 1145, 1146, - 5, 20, 0, 0, 1146, 1163, 3, 244, 122, 0, 1147, 1148, - 5, 21, 0, 0, 1148, 1163, 3, 244, 122, 0, 1149, 1150, - 5, 22, 0, 0, 1150, 1163, 3, 244, 122, 0, 1151, 1152, - 5, 23, 0, 0, 1152, 1163, 3, 244, 122, 0, 1153, 1154, - 5, 24, 0, 0, 1154, 1163, 3, 244, 122, 0, 1155, 1156, - 5, 25, 0, 0, 1156, 1163, 3, 244, 122, 0, 1157, 1158, - 5, 79, 0, 0, 1158, 1163, 3, 152, 76, 0, 1159, 1160, - 5, 78, 0, 0, 1160, 1161, 5, 79, 0, 0, 1161, 1163, - 3, 152, 76, 0, 1162, 1145, 1, 0, 0, 0, 1162, 1147, - 1, 0, 0, 0, 1162, 1149, 1, 0, 0, 0, 1162, 1151, - 1, 0, 0, 0, 1162, 1153, 1, 0, 0, 0, 1162, 1155, - 1, 0, 0, 0, 1162, 1157, 1, 0, 0, 0, 1162, 1159, - 1, 0, 0, 0, 1162, 1163, 1, 0, 0, 0, 1163, 243, - 1, 0, 0, 0, 1164, 1165, 3, 246, 123, 0, 1165, 245, - 1, 0, 0, 0, 1166, 1170, 3, 256, 128, 0, 1167, 1169, - 3, 248, 124, 0, 1168, 1167, 1, 0, 0, 0, 1169, 1172, - 1, 0, 0, 0, 1170, 1168, 1, 0, 0, 0, 1170, 1171, - 1, 0, 0, 0, 1171, 247, 1, 0, 0, 0, 1172, 1170, - 1, 0, 0, 0, 1173, 1174, 5, 13, 0, 0, 1174, 1179, - 3, 250, 125, 0, 1175, 1176, 5, 26, 0, 0, 1176, 1179, - 3, 252, 126, 0, 1177, 1179, 3, 254, 127, 0, 1178, 1173, - 1, 0, 0, 0, 1178, 1175, 1, 0, 0, 0, 1178, 1177, - 1, 0, 0, 0, 1179, 249, 1, 0, 0, 0, 1180, 1181, - 3, 256, 128, 0, 1181, 251, 1, 0, 0, 0, 1182, 1183, - 3, 256, 128, 0, 1183, 253, 1, 0, 0, 0, 1184, 1187, - 3, 294, 147, 0, 1185, 1187, 3, 296, 148, 0, 1186, 1184, - 1, 0, 0, 0, 1186, 1185, 1, 0, 0, 0, 1187, 1191, - 1, 0, 0, 0, 1188, 1190, 3, 258, 129, 0, 1189, 1188, - 1, 0, 0, 0, 1190, 1193, 1, 0, 0, 0, 1191, 1189, - 1, 0, 0, 0, 1191, 1192, 1, 0, 0, 0, 1192, 255, - 1, 0, 0, 0, 1193, 1191, 1, 0, 0, 0, 1194, 1198, - 3, 264, 132, 0, 1195, 1197, 3, 258, 129, 0, 1196, 1195, - 1, 0, 0, 0, 1197, 1200, 1, 0, 0, 0, 1198, 1196, - 1, 0, 0, 0, 1198, 1199, 1, 0, 0, 0, 1199, 257, - 1, 0, 0, 0, 1200, 1198, 1, 0, 0, 0, 1201, 1204, - 3, 260, 130, 0, 1202, 1204, 3, 262, 131, 0, 1203, 1201, - 1, 0, 0, 0, 1203, 1202, 1, 0, 0, 0, 1204, 259, - 1, 0, 0, 0, 1205, 1206, 5, 1, 0, 0, 1206, 1207, - 3, 264, 132, 0, 1207, 261, 1, 0, 0, 0, 1208, 1209, - 5, 11, 0, 0, 1209, 1210, 3, 264, 132, 0, 1210, 263, - 1, 0, 0, 0, 1211, 1212, 5, 15, 0, 0, 1212, 1219, - 3, 266, 133, 0, 1213, 1214, 5, 13, 0, 0, 1214, 1219, - 3, 266, 133, 0, 1215, 1216, 5, 26, 0, 0, 1216, 1219, - 3, 266, 133, 0, 1217, 1219, 3, 266, 133, 0, 1218, 1211, - 1, 0, 0, 0, 1218, 1213, 1, 0, 0, 0, 1218, 1215, - 1, 0, 0, 0, 1218, 1217, 1, 0, 0, 0, 1219, 265, - 1, 0, 0, 0, 1220, 1228, 3, 268, 134, 0, 1221, 1228, - 3, 270, 135, 0, 1222, 1228, 3, 286, 143, 0, 1223, 1228, - 3, 288, 144, 0, 1224, 1228, 3, 290, 145, 0, 1225, 1228, - 3, 298, 149, 0, 1226, 1228, 3, 230, 115, 0, 1227, 1220, - 1, 0, 0, 0, 1227, 1221, 1, 0, 0, 0, 1227, 1222, - 1, 0, 0, 0, 1227, 1223, 1, 0, 0, 0, 1227, 1224, - 1, 0, 0, 0, 1227, 1225, 1, 0, 0, 0, 1227, 1226, - 1, 0, 0, 0, 1228, 267, 1, 0, 0, 0, 1229, 1230, - 5, 2, 0, 0, 1230, 1231, 3, 234, 117, 0, 1231, 1232, - 5, 3, 0, 0, 1232, 269, 1, 0, 0, 0, 1233, 1488, - 3, 284, 142, 0, 1234, 1235, 5, 80, 0, 0, 1235, 1236, - 5, 2, 0, 0, 1236, 1237, 3, 234, 117, 0, 1237, 1238, - 5, 3, 0, 0, 1238, 1488, 1, 0, 0, 0, 1239, 1488, - 3, 274, 137, 0, 1240, 1241, 5, 82, 0, 0, 1241, 1242, - 5, 2, 0, 0, 1242, 1243, 3, 234, 117, 0, 1243, 1244, - 5, 8, 0, 0, 1244, 1245, 3, 234, 117, 0, 1245, 1246, - 5, 3, 0, 0, 1246, 1488, 1, 0, 0, 0, 1247, 1248, - 5, 83, 0, 0, 1248, 1249, 5, 2, 0, 0, 1249, 1250, - 3, 234, 117, 0, 1250, 1251, 5, 3, 0, 0, 1251, 1488, - 1, 0, 0, 0, 1252, 1253, 5, 84, 0, 0, 1253, 1254, - 5, 2, 0, 0, 1254, 1255, 3, 230, 115, 0, 1255, 1256, - 5, 3, 0, 0, 1256, 1488, 1, 0, 0, 0, 1257, 1258, - 5, 85, 0, 0, 1258, 1259, 5, 2, 0, 0, 1259, 1260, - 3, 234, 117, 0, 1260, 1261, 5, 3, 0, 0, 1261, 1488, - 1, 0, 0, 0, 1262, 1263, 5, 86, 0, 0, 1263, 1264, - 5, 2, 0, 0, 1264, 1265, 3, 234, 117, 0, 1265, 1266, - 5, 3, 0, 0, 1266, 1488, 1, 0, 0, 0, 1267, 1273, - 5, 87, 0, 0, 1268, 1269, 5, 2, 0, 0, 1269, 1270, - 3, 234, 117, 0, 1270, 1271, 5, 3, 0, 0, 1271, 1274, - 1, 0, 0, 0, 1272, 1274, 5, 164, 0, 0, 1273, 1268, - 1, 0, 0, 0, 1273, 1272, 1, 0, 0, 0, 1274, 1488, - 1, 0, 0, 0, 1275, 1276, 5, 88, 0, 0, 1276, 1488, - 5, 164, 0, 0, 1277, 1278, 5, 89, 0, 0, 1278, 1279, - 5, 2, 0, 0, 1279, 1280, 3, 234, 117, 0, 1280, 1281, - 5, 3, 0, 0, 1281, 1488, 1, 0, 0, 0, 1282, 1283, - 5, 90, 0, 0, 1283, 1284, 5, 2, 0, 0, 1284, 1285, - 3, 234, 117, 0, 1285, 1286, 5, 3, 0, 0, 1286, 1488, - 1, 0, 0, 0, 1287, 1288, 5, 91, 0, 0, 1288, 1289, - 5, 2, 0, 0, 1289, 1290, 3, 234, 117, 0, 1290, 1291, - 5, 3, 0, 0, 1291, 1488, 1, 0, 0, 0, 1292, 1293, - 5, 92, 0, 0, 1293, 1294, 5, 2, 0, 0, 1294, 1295, - 3, 234, 117, 0, 1295, 1296, 5, 3, 0, 0, 1296, 1488, - 1, 0, 0, 0, 1297, 1298, 5, 93, 0, 0, 1298, 1488, - 3, 152, 76, 0, 1299, 1488, 3, 276, 138, 0, 1300, 1301, - 5, 94, 0, 0, 1301, 1302, 5, 2, 0, 0, 1302, 1303, - 3, 234, 117, 0, 1303, 1304, 5, 3, 0, 0, 1304, 1488, - 1, 0, 0, 0, 1305, 1488, 3, 278, 139, 0, 1306, 1307, - 5, 95, 0, 0, 1307, 1308, 5, 2, 0, 0, 1308, 1309, - 3, 234, 117, 0, 1309, 1310, 5, 3, 0, 0, 1310, 1488, - 1, 0, 0, 0, 1311, 1312, 5, 96, 0, 0, 1312, 1313, - 5, 2, 0, 0, 1313, 1314, 3, 234, 117, 0, 1314, 1315, - 5, 3, 0, 0, 1315, 1488, 1, 0, 0, 0, 1316, 1317, - 5, 97, 0, 0, 1317, 1318, 5, 2, 0, 0, 1318, 1319, - 3, 234, 117, 0, 1319, 1320, 5, 3, 0, 0, 1320, 1488, - 1, 0, 0, 0, 1321, 1322, 5, 99, 0, 0, 1322, 1323, - 5, 2, 0, 0, 1323, 1324, 3, 234, 117, 0, 1324, 1325, - 5, 8, 0, 0, 1325, 1326, 3, 234, 117, 0, 1326, 1327, - 5, 3, 0, 0, 1327, 1488, 1, 0, 0, 0, 1328, 1329, - 5, 100, 0, 0, 1329, 1330, 5, 2, 0, 0, 1330, 1331, - 3, 234, 117, 0, 1331, 1332, 5, 8, 0, 0, 1332, 1333, - 3, 234, 117, 0, 1333, 1334, 5, 3, 0, 0, 1334, 1488, - 1, 0, 0, 0, 1335, 1336, 5, 101, 0, 0, 1336, 1337, - 5, 2, 0, 0, 1337, 1338, 3, 234, 117, 0, 1338, 1339, - 5, 8, 0, 0, 1339, 1340, 3, 234, 117, 0, 1340, 1341, - 5, 3, 0, 0, 1341, 1488, 1, 0, 0, 0, 1342, 1343, - 5, 102, 0, 0, 1343, 1344, 5, 2, 0, 0, 1344, 1345, - 3, 234, 117, 0, 1345, 1346, 5, 8, 0, 0, 1346, 1347, - 3, 234, 117, 0, 1347, 1348, 5, 3, 0, 0, 1348, 1488, - 1, 0, 0, 0, 1349, 1350, 5, 103, 0, 0, 1350, 1351, - 5, 2, 0, 0, 1351, 1352, 3, 234, 117, 0, 1352, 1353, - 5, 8, 0, 0, 1353, 1354, 3, 234, 117, 0, 1354, 1355, - 5, 3, 0, 0, 1355, 1488, 1, 0, 0, 0, 1356, 1357, - 5, 104, 0, 0, 1357, 1358, 5, 2, 0, 0, 1358, 1359, - 3, 234, 117, 0, 1359, 1360, 5, 3, 0, 0, 1360, 1488, - 1, 0, 0, 0, 1361, 1362, 5, 105, 0, 0, 1362, 1363, - 5, 2, 0, 0, 1363, 1364, 3, 234, 117, 0, 1364, 1365, - 5, 3, 0, 0, 1365, 1488, 1, 0, 0, 0, 1366, 1367, - 5, 106, 0, 0, 1367, 1368, 5, 2, 0, 0, 1368, 1369, - 3, 234, 117, 0, 1369, 1370, 5, 3, 0, 0, 1370, 1488, - 1, 0, 0, 0, 1371, 1372, 5, 107, 0, 0, 1372, 1373, - 5, 2, 0, 0, 1373, 1374, 3, 234, 117, 0, 1374, 1375, - 5, 3, 0, 0, 1375, 1488, 1, 0, 0, 0, 1376, 1377, - 5, 108, 0, 0, 1377, 1378, 5, 2, 0, 0, 1378, 1379, - 3, 234, 117, 0, 1379, 1380, 5, 3, 0, 0, 1380, 1488, - 1, 0, 0, 0, 1381, 1382, 5, 109, 0, 0, 1382, 1383, - 5, 2, 0, 0, 1383, 1384, 3, 234, 117, 0, 1384, 1385, - 5, 3, 0, 0, 1385, 1488, 1, 0, 0, 0, 1386, 1387, - 5, 110, 0, 0, 1387, 1388, 5, 2, 0, 0, 1388, 1389, - 3, 234, 117, 0, 1389, 1390, 5, 3, 0, 0, 1390, 1488, - 1, 0, 0, 0, 1391, 1392, 5, 111, 0, 0, 1392, 1393, - 5, 2, 0, 0, 1393, 1394, 3, 234, 117, 0, 1394, 1395, - 5, 3, 0, 0, 1395, 1488, 1, 0, 0, 0, 1396, 1397, - 5, 112, 0, 0, 1397, 1488, 5, 164, 0, 0, 1398, 1399, - 5, 113, 0, 0, 1399, 1488, 5, 164, 0, 0, 1400, 1401, - 5, 114, 0, 0, 1401, 1488, 5, 164, 0, 0, 1402, 1403, - 5, 119, 0, 0, 1403, 1404, 5, 2, 0, 0, 1404, 1405, - 3, 234, 117, 0, 1405, 1406, 5, 3, 0, 0, 1406, 1488, - 1, 0, 0, 0, 1407, 1408, 5, 115, 0, 0, 1408, 1409, - 5, 2, 0, 0, 1409, 1410, 3, 234, 117, 0, 1410, 1411, - 5, 3, 0, 0, 1411, 1488, 1, 0, 0, 0, 1412, 1413, - 5, 116, 0, 0, 1413, 1414, 5, 2, 0, 0, 1414, 1415, - 3, 234, 117, 0, 1415, 1416, 5, 3, 0, 0, 1416, 1488, - 1, 0, 0, 0, 1417, 1418, 5, 117, 0, 0, 1418, 1419, - 5, 2, 0, 0, 1419, 1420, 3, 234, 117, 0, 1420, 1421, - 5, 3, 0, 0, 1421, 1488, 1, 0, 0, 0, 1422, 1423, - 5, 118, 0, 0, 1423, 1424, 5, 2, 0, 0, 1424, 1425, - 3, 234, 117, 0, 1425, 1426, 5, 3, 0, 0, 1426, 1488, - 1, 0, 0, 0, 1427, 1428, 5, 120, 0, 0, 1428, 1488, - 3, 152, 76, 0, 1429, 1430, 5, 121, 0, 0, 1430, 1431, - 5, 2, 0, 0, 1431, 1432, 3, 234, 117, 0, 1432, 1433, - 5, 8, 0, 0, 1433, 1434, 3, 234, 117, 0, 1434, 1435, - 5, 8, 0, 0, 1435, 1436, 3, 234, 117, 0, 1436, 1437, - 5, 3, 0, 0, 1437, 1488, 1, 0, 0, 0, 1438, 1439, - 5, 122, 0, 0, 1439, 1440, 5, 2, 0, 0, 1440, 1441, - 3, 234, 117, 0, 1441, 1442, 5, 8, 0, 0, 1442, 1443, - 3, 234, 117, 0, 1443, 1444, 5, 3, 0, 0, 1444, 1488, - 1, 0, 0, 0, 1445, 1446, 5, 123, 0, 0, 1446, 1447, - 5, 2, 0, 0, 1447, 1448, 3, 234, 117, 0, 1448, 1449, - 5, 8, 0, 0, 1449, 1450, 3, 234, 117, 0, 1450, 1451, - 5, 3, 0, 0, 1451, 1488, 1, 0, 0, 0, 1452, 1453, - 5, 124, 0, 0, 1453, 1454, 5, 2, 0, 0, 1454, 1455, - 3, 234, 117, 0, 1455, 1456, 5, 8, 0, 0, 1456, 1457, - 3, 234, 117, 0, 1457, 1458, 5, 3, 0, 0, 1458, 1488, - 1, 0, 0, 0, 1459, 1460, 5, 125, 0, 0, 1460, 1461, - 5, 2, 0, 0, 1461, 1462, 3, 234, 117, 0, 1462, 1463, - 5, 3, 0, 0, 1463, 1488, 1, 0, 0, 0, 1464, 1465, - 5, 126, 0, 0, 1465, 1466, 5, 2, 0, 0, 1466, 1467, - 3, 234, 117, 0, 1467, 1468, 5, 3, 0, 0, 1468, 1488, - 1, 0, 0, 0, 1469, 1470, 5, 127, 0, 0, 1470, 1471, - 5, 2, 0, 0, 1471, 1472, 3, 234, 117, 0, 1472, 1473, - 5, 3, 0, 0, 1473, 1488, 1, 0, 0, 0, 1474, 1475, - 5, 128, 0, 0, 1475, 1476, 5, 2, 0, 0, 1476, 1477, - 3, 234, 117, 0, 1477, 1478, 5, 3, 0, 0, 1478, 1488, - 1, 0, 0, 0, 1479, 1480, 5, 129, 0, 0, 1480, 1481, - 5, 2, 0, 0, 1481, 1482, 3, 234, 117, 0, 1482, 1483, - 5, 3, 0, 0, 1483, 1488, 1, 0, 0, 0, 1484, 1488, - 3, 272, 136, 0, 1485, 1488, 3, 280, 140, 0, 1486, 1488, - 3, 282, 141, 0, 1487, 1233, 1, 0, 0, 0, 1487, 1234, - 1, 0, 0, 0, 1487, 1239, 1, 0, 0, 0, 1487, 1240, - 1, 0, 0, 0, 1487, 1247, 1, 0, 0, 0, 1487, 1252, - 1, 0, 0, 0, 1487, 1257, 1, 0, 0, 0, 1487, 1262, - 1, 0, 0, 0, 1487, 1267, 1, 0, 0, 0, 1487, 1275, - 1, 0, 0, 0, 1487, 1277, 1, 0, 0, 0, 1487, 1282, - 1, 0, 0, 0, 1487, 1287, 1, 0, 0, 0, 1487, 1292, - 1, 0, 0, 0, 1487, 1297, 1, 0, 0, 0, 1487, 1299, - 1, 0, 0, 0, 1487, 1300, 1, 0, 0, 0, 1487, 1305, - 1, 0, 0, 0, 1487, 1306, 1, 0, 0, 0, 1487, 1311, - 1, 0, 0, 0, 1487, 1316, 1, 0, 0, 0, 1487, 1321, - 1, 0, 0, 0, 1487, 1328, 1, 0, 0, 0, 1487, 1335, - 1, 0, 0, 0, 1487, 1342, 1, 0, 0, 0, 1487, 1349, - 1, 0, 0, 0, 1487, 1356, 1, 0, 0, 0, 1487, 1361, - 1, 0, 0, 0, 1487, 1366, 1, 0, 0, 0, 1487, 1371, - 1, 0, 0, 0, 1487, 1376, 1, 0, 0, 0, 1487, 1381, - 1, 0, 0, 0, 1487, 1386, 1, 0, 0, 0, 1487, 1391, - 1, 0, 0, 0, 1487, 1396, 1, 0, 0, 0, 1487, 1398, - 1, 0, 0, 0, 1487, 1400, 1, 0, 0, 0, 1487, 1402, - 1, 0, 0, 0, 1487, 1407, 1, 0, 0, 0, 1487, 1412, - 1, 0, 0, 0, 1487, 1417, 1, 0, 0, 0, 1487, 1422, - 1, 0, 0, 0, 1487, 1427, 1, 0, 0, 0, 1487, 1429, - 1, 0, 0, 0, 1487, 1438, 1, 0, 0, 0, 1487, 1445, - 1, 0, 0, 0, 1487, 1452, 1, 0, 0, 0, 1487, 1459, - 1, 0, 0, 0, 1487, 1464, 1, 0, 0, 0, 1487, 1469, - 1, 0, 0, 0, 1487, 1474, 1, 0, 0, 0, 1487, 1479, - 1, 0, 0, 0, 1487, 1484, 1, 0, 0, 0, 1487, 1485, - 1, 0, 0, 0, 1487, 1486, 1, 0, 0, 0, 1488, 271, - 1, 0, 0, 0, 1489, 1490, 5, 130, 0, 0, 1490, 1491, - 5, 2, 0, 0, 1491, 1492, 3, 234, 117, 0, 1492, 1493, - 5, 8, 0, 0, 1493, 1496, 3, 234, 117, 0, 1494, 1495, - 5, 8, 0, 0, 1495, 1497, 3, 234, 117, 0, 1496, 1494, - 1, 0, 0, 0, 1496, 1497, 1, 0, 0, 0, 1497, 1498, - 1, 0, 0, 0, 1498, 1499, 5, 3, 0, 0, 1499, 273, - 1, 0, 0, 0, 1500, 1501, 5, 81, 0, 0, 1501, 1502, - 5, 2, 0, 0, 1502, 1503, 3, 234, 117, 0, 1503, 1504, - 5, 3, 0, 0, 1504, 275, 1, 0, 0, 0, 1505, 1506, - 5, 131, 0, 0, 1506, 1507, 5, 2, 0, 0, 1507, 1508, - 3, 234, 117, 0, 1508, 1509, 5, 8, 0, 0, 1509, 1512, - 3, 234, 117, 0, 1510, 1511, 5, 8, 0, 0, 1511, 1513, - 3, 234, 117, 0, 1512, 1510, 1, 0, 0, 0, 1512, 1513, - 1, 0, 0, 0, 1513, 1514, 1, 0, 0, 0, 1514, 1515, - 5, 3, 0, 0, 1515, 277, 1, 0, 0, 0, 1516, 1517, - 5, 132, 0, 0, 1517, 1518, 5, 2, 0, 0, 1518, 1519, - 3, 234, 117, 0, 1519, 1520, 5, 8, 0, 0, 1520, 1521, - 3, 234, 117, 0, 1521, 1522, 5, 8, 0, 0, 1522, 1525, - 3, 234, 117, 0, 1523, 1524, 5, 8, 0, 0, 1524, 1526, - 3, 234, 117, 0, 1525, 1523, 1, 0, 0, 0, 1525, 1526, - 1, 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1528, - 5, 3, 0, 0, 1528, 279, 1, 0, 0, 0, 1529, 1530, - 5, 133, 0, 0, 1530, 1531, 3, 110, 55, 0, 1531, 281, - 1, 0, 0, 0, 1532, 1533, 5, 78, 0, 0, 1533, 1534, - 5, 133, 0, 0, 1534, 1535, 3, 110, 55, 0, 1535, 283, - 1, 0, 0, 0, 1536, 1537, 5, 134, 0, 0, 1537, 1539, - 5, 2, 0, 0, 1538, 1540, 5, 33, 0, 0, 1539, 1538, - 1, 0, 0, 0, 1539, 1540, 1, 0, 0, 0, 1540, 1543, - 1, 0, 0, 0, 1541, 1544, 5, 1, 0, 0, 1542, 1544, - 3, 234, 117, 0, 1543, 1541, 1, 0, 0, 0, 1543, 1542, - 1, 0, 0, 0, 1544, 1545, 1, 0, 0, 0, 1545, 1601, - 5, 3, 0, 0, 1546, 1547, 5, 135, 0, 0, 1547, 1549, - 5, 2, 0, 0, 1548, 1550, 5, 33, 0, 0, 1549, 1548, - 1, 0, 0, 0, 1549, 1550, 1, 0, 0, 0, 1550, 1551, - 1, 0, 0, 0, 1551, 1552, 3, 234, 117, 0, 1552, 1553, - 5, 3, 0, 0, 1553, 1601, 1, 0, 0, 0, 1554, 1555, - 5, 136, 0, 0, 1555, 1557, 5, 2, 0, 0, 1556, 1558, - 5, 33, 0, 0, 1557, 1556, 1, 0, 0, 0, 1557, 1558, - 1, 0, 0, 0, 1558, 1559, 1, 0, 0, 0, 1559, 1560, - 3, 234, 117, 0, 1560, 1561, 5, 3, 0, 0, 1561, 1601, - 1, 0, 0, 0, 1562, 1563, 5, 137, 0, 0, 1563, 1565, - 5, 2, 0, 0, 1564, 1566, 5, 33, 0, 0, 1565, 1564, - 1, 0, 0, 0, 1565, 1566, 1, 0, 0, 0, 1566, 1567, - 1, 0, 0, 0, 1567, 1568, 3, 234, 117, 0, 1568, 1569, - 5, 3, 0, 0, 1569, 1601, 1, 0, 0, 0, 1570, 1571, - 5, 138, 0, 0, 1571, 1573, 5, 2, 0, 0, 1572, 1574, - 5, 33, 0, 0, 1573, 1572, 1, 0, 0, 0, 1573, 1574, - 1, 0, 0, 0, 1574, 1575, 1, 0, 0, 0, 1575, 1576, - 3, 234, 117, 0, 1576, 1577, 5, 3, 0, 0, 1577, 1601, - 1, 0, 0, 0, 1578, 1579, 5, 139, 0, 0, 1579, 1581, - 5, 2, 0, 0, 1580, 1582, 5, 33, 0, 0, 1581, 1580, - 1, 0, 0, 0, 1581, 1582, 1, 0, 0, 0, 1582, 1583, - 1, 0, 0, 0, 1583, 1584, 3, 234, 117, 0, 1584, 1585, - 5, 3, 0, 0, 1585, 1601, 1, 0, 0, 0, 1586, 1587, - 5, 43, 0, 0, 1587, 1589, 5, 2, 0, 0, 1588, 1590, - 5, 33, 0, 0, 1589, 1588, 1, 0, 0, 0, 1589, 1590, - 1, 0, 0, 0, 1590, 1591, 1, 0, 0, 0, 1591, 1596, - 3, 234, 117, 0, 1592, 1593, 5, 6, 0, 0, 1593, 1594, - 5, 140, 0, 0, 1594, 1595, 5, 20, 0, 0, 1595, 1597, - 3, 300, 150, 0, 1596, 1592, 1, 0, 0, 0, 1596, 1597, - 1, 0, 0, 0, 1597, 1598, 1, 0, 0, 0, 1598, 1599, - 5, 3, 0, 0, 1599, 1601, 1, 0, 0, 0, 1600, 1536, - 1, 0, 0, 0, 1600, 1546, 1, 0, 0, 0, 1600, 1554, - 1, 0, 0, 0, 1600, 1562, 1, 0, 0, 0, 1600, 1570, - 1, 0, 0, 0, 1600, 1578, 1, 0, 0, 0, 1600, 1586, - 1, 0, 0, 0, 1601, 285, 1, 0, 0, 0, 1602, 1604, - 3, 302, 151, 0, 1603, 1605, 3, 150, 75, 0, 1604, 1603, - 1, 0, 0, 0, 1604, 1605, 1, 0, 0, 0, 1605, 287, - 1, 0, 0, 0, 1606, 1610, 3, 300, 150, 0, 1607, 1611, - 5, 147, 0, 0, 1608, 1609, 5, 27, 0, 0, 1609, 1611, - 3, 302, 151, 0, 1610, 1607, 1, 0, 0, 0, 1610, 1608, - 1, 0, 0, 0, 1610, 1611, 1, 0, 0, 0, 1611, 289, - 1, 0, 0, 0, 1612, 1616, 3, 292, 146, 0, 1613, 1616, - 3, 294, 147, 0, 1614, 1616, 3, 296, 148, 0, 1615, 1612, - 1, 0, 0, 0, 1615, 1613, 1, 0, 0, 0, 1615, 1614, - 1, 0, 0, 0, 1616, 291, 1, 0, 0, 0, 1617, 1618, - 7, 4, 0, 0, 1618, 293, 1, 0, 0, 0, 1619, 1620, - 7, 5, 0, 0, 1620, 295, 1, 0, 0, 0, 1621, 1622, - 7, 6, 0, 0, 1622, 297, 1, 0, 0, 0, 1623, 1624, - 7, 7, 0, 0, 1624, 299, 1, 0, 0, 0, 1625, 1626, - 7, 8, 0, 0, 1626, 301, 1, 0, 0, 0, 1627, 1629, - 5, 148, 0, 0, 1628, 1627, 1, 0, 0, 0, 1628, 1629, - 1, 0, 0, 0, 1629, 1632, 1, 0, 0, 0, 1630, 1633, - 3, 308, 154, 0, 1631, 1633, 3, 304, 152, 0, 1632, 1630, - 1, 0, 0, 0, 1632, 1631, 1, 0, 0, 0, 1633, 303, - 1, 0, 0, 0, 1634, 1637, 3, 310, 155, 0, 1635, 1637, - 3, 312, 156, 0, 1636, 1634, 1, 0, 0, 0, 1636, 1635, - 1, 0, 0, 0, 1637, 305, 1, 0, 0, 0, 1638, 1639, - 7, 9, 0, 0, 1639, 307, 1, 0, 0, 0, 1640, 1641, - 5, 141, 0, 0, 1641, 309, 1, 0, 0, 0, 1642, 1643, - 5, 143, 0, 0, 1643, 311, 1, 0, 0, 0, 1644, 1645, - 5, 142, 0, 0, 1645, 313, 1, 0, 0, 0, 161, 316, - 325, 331, 333, 347, 360, 365, 368, 372, 387, 396, 402, 406, - 412, 415, 420, 424, 432, 441, 451, 456, 459, 462, 465, 471, - 479, 484, 490, 496, 501, 507, 509, 513, 516, 520, 523, 527, - 530, 534, 537, 541, 544, 548, 551, 553, 566, 572, 574, 587, - 591, 596, 600, 606, 612, 618, 626, 634, 654, 658, 661, 666, - 682, 687, 696, 707, 711, 714, 718, 725, 732, 734, 739, 744, - 749, 754, 757, 762, 764, 774, 785, 802, 809, 819, 823, 829, - 838, 843, 850, 860, 869, 877, 884, 889, 898, 903, 907, 914, - 916, 924, 927, 935, 939, 944, 951, 962, 965, 970, 974, 989, - 996, 1008, 1016, 1021, 1026, 1038, 1047, 1050, 1053, 1060, 1062, 1068, - 1076, 1086, 1094, 1100, 1104, 1108, 1112, 1122, 1131, 1139, 1162, 1170, - 1178, 1186, 1191, 1198, 1203, 1218, 1227, 1273, 1487, 1496, 1512, 1525, - 1539, 1543, 1549, 1557, 1565, 1573, 1581, 1589, 1596, 1600, 1604, 1610, - 1615, 1628, 1632, 1636}; - staticData->serializedATN = antlr4::atn::SerializedATNView( - serializedATNSegment, - sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); + 4,1,176,1655,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6, + 2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14, + 7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21, + 7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28, + 7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35, + 7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42, + 7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49, + 7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56, + 7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63, + 7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70, + 7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77, + 7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84, + 7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91, + 7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98, + 7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104, + 7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110, + 7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116, + 7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122, + 7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128, + 7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134, + 7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140, + 7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146, + 7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152, + 7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,1,0,1,0,3,0,317, + 8,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,3,1,326,8,1,1,1,1,1,1,2,1,2,5,2,332,8, + 2,10,2,12,2,335,9,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,5,5,346,8,5,10, + 5,12,5,349,9,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,3,7,361,8,7,1, + 7,4,7,364,8,7,11,7,12,7,365,1,7,3,7,369,8,7,1,8,1,8,3,8,373,8,8,1,9,1, + 9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,5,11,386,8,11,10,11,12,11, + 389,9,11,1,11,1,11,1,11,1,11,5,11,395,8,11,10,11,12,11,398,9,11,1,11, + 1,11,1,11,3,11,403,8,11,1,11,1,11,3,11,407,8,11,1,12,1,12,4,12,411,8, + 12,11,12,12,12,412,1,12,3,12,416,8,12,1,12,5,12,419,8,12,10,12,12,12, + 422,9,12,1,12,3,12,425,8,12,1,12,1,12,1,13,1,13,5,13,431,8,13,10,13,12, + 13,434,9,13,1,13,1,13,1,13,1,14,1,14,1,14,3,14,442,8,14,1,15,1,15,1,16, + 1,16,1,16,1,17,1,17,1,18,3,18,452,8,18,1,18,1,18,1,19,3,19,457,8,19,1, + 19,3,19,460,8,19,1,19,3,19,463,8,19,1,19,3,19,466,8,19,1,20,1,20,4,20, + 470,8,20,11,20,12,20,471,1,21,1,21,1,21,1,21,1,21,1,21,3,21,480,8,21, + 1,21,1,21,1,21,3,21,485,8,21,1,22,1,22,4,22,489,8,22,11,22,12,22,490, + 1,23,1,23,1,24,1,24,3,24,497,8,24,1,24,4,24,500,8,24,11,24,12,24,501, + 1,25,1,25,1,25,1,25,3,25,508,8,25,3,25,510,8,25,1,26,1,26,3,26,514,8, + 26,1,26,3,26,517,8,26,1,26,1,26,3,26,521,8,26,1,26,3,26,524,8,26,1,26, + 1,26,3,26,528,8,26,1,26,3,26,531,8,26,1,26,1,26,3,26,535,8,26,1,26,3, + 26,538,8,26,1,26,1,26,3,26,542,8,26,1,26,3,26,545,8,26,1,26,1,26,3,26, + 549,8,26,1,26,3,26,552,8,26,3,26,554,8,26,1,27,1,27,1,27,1,28,1,28,1, + 28,1,29,1,29,1,29,1,30,1,30,3,30,567,8,30,1,31,1,31,1,31,1,31,3,31,573, + 8,31,3,31,575,8,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32, + 1,32,3,32,588,8,32,1,33,1,33,3,33,592,8,33,1,33,1,33,1,33,3,33,597,8, + 33,1,34,1,34,3,34,601,8,34,1,34,1,34,1,35,1,35,3,35,607,8,35,1,35,1,35, + 1,36,1,36,3,36,613,8,36,1,36,1,36,1,37,1,37,3,37,619,8,37,1,37,1,37,1, + 37,1,37,1,38,1,38,3,38,627,8,38,1,38,1,38,1,38,1,38,1,39,1,39,3,39,635, + 8,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,42, + 1,42,1,42,1,42,1,43,1,43,3,43,655,8,43,1,43,1,43,3,43,659,8,43,1,43,3, + 43,662,8,43,1,43,5,43,665,8,43,10,43,12,43,668,9,43,1,43,1,43,1,43,1, + 44,1,44,1,44,1,45,1,45,1,45,1,46,1,46,1,46,1,46,3,46,683,8,46,1,47,1, + 47,1,47,3,47,688,8,47,1,48,1,48,1,48,1,49,1,49,1,49,1,49,3,49,697,8,49, + 1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,3,52,708,8,52,1,52,1,52, + 3,52,712,8,52,1,52,3,52,715,8,52,5,52,717,8,52,10,52,12,52,720,9,52,1, + 53,1,53,1,53,1,53,3,53,726,8,53,1,53,1,53,1,54,1,54,1,54,3,54,733,8,54, + 3,54,735,8,54,1,55,1,55,1,55,3,55,740,8,55,1,55,1,55,1,56,3,56,745,8, + 56,1,56,5,56,748,8,56,10,56,12,56,751,9,56,1,57,1,57,3,57,755,8,57,1, + 57,3,57,758,8,57,1,58,1,58,1,58,3,58,763,8,58,3,58,765,8,58,1,59,1,59, + 1,59,1,59,1,59,1,59,1,59,1,59,3,59,775,8,59,1,60,1,60,1,60,1,61,1,61, + 1,61,1,61,1,62,1,62,3,62,786,8,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63, + 1,63,1,63,1,63,1,64,1,64,1,64,1,65,1,65,3,65,803,8,65,1,66,1,66,1,66, + 5,66,808,8,66,10,66,12,66,811,9,66,1,66,1,66,1,67,1,67,1,67,5,67,818, + 8,67,10,67,12,67,821,9,67,1,67,3,67,824,8,67,1,67,1,67,5,67,828,8,67, + 10,67,12,67,831,9,67,1,67,1,67,1,68,1,68,5,68,837,8,68,10,68,12,68,840, + 9,68,1,68,1,68,3,68,844,8,68,1,69,1,69,1,69,1,69,1,69,3,69,851,8,69,1, + 70,1,70,1,70,1,71,1,71,1,71,5,71,859,8,71,10,71,12,71,862,9,71,1,72,1, + 72,1,72,1,73,1,73,1,73,3,73,870,8,73,1,74,1,74,1,74,1,75,1,75,1,75,3, + 75,878,8,75,1,75,1,75,1,75,5,75,883,8,75,10,75,12,75,886,9,75,1,75,1, + 75,3,75,890,8,75,1,76,1,76,1,76,1,76,1,76,5,76,897,8,76,10,76,12,76,900, + 9,76,1,76,1,76,3,76,904,8,76,1,77,1,77,3,77,908,8,77,1,77,1,77,1,78,1, + 78,1,78,3,78,915,8,78,3,78,917,8,78,1,79,1,79,1,79,1,79,1,79,1,79,3,79, + 925,8,79,1,80,3,80,928,8,80,1,81,1,81,1,81,1,81,1,81,1,81,3,81,936,8, + 81,5,81,938,8,81,10,81,12,81,941,9,81,1,82,1,82,3,82,945,8,82,1,83,1, + 83,1,83,5,83,950,8,83,10,83,12,83,953,9,83,1,84,1,84,1,85,1,85,1,85,1, + 85,1,85,1,85,3,85,963,8,85,1,86,3,86,966,8,86,1,87,1,87,1,87,3,87,971, + 8,87,5,87,973,8,87,10,87,12,87,976,9,87,1,88,1,88,1,89,1,89,1,90,1,90, + 1,90,1,91,1,91,1,91,1,92,1,92,3,92,990,8,92,1,93,1,93,1,93,5,93,995,8, + 93,10,93,12,93,998,9,93,1,94,1,94,1,95,1,95,1,96,1,96,1,96,5,96,1007, + 8,96,10,96,12,96,1010,9,96,1,97,1,97,1,97,5,97,1015,8,97,10,97,12,97, + 1018,9,97,1,98,1,98,3,98,1022,8,98,1,99,1,99,1,99,3,99,1027,8,99,1,100, + 1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,3,101,1039,8,101, + 1,102,1,102,1,102,1,102,1,102,5,102,1046,8,102,10,102,12,102,1049,9,102, + 3,102,1051,8,102,1,102,3,102,1054,8,102,1,103,1,103,1,103,1,103,1,103, + 3,103,1061,8,103,3,103,1063,8,103,1,104,1,104,1,105,1,105,3,105,1069, + 8,105,1,106,1,106,1,106,1,106,1,107,1,107,3,107,1077,8,107,1,108,1,108, + 1,108,1,108,1,109,1,109,4,109,1085,8,109,11,109,12,109,1086,1,109,1,109, + 1,110,1,110,4,110,1093,8,110,11,110,12,110,1094,1,110,1,110,1,111,1,111, + 3,111,1101,8,111,1,112,1,112,3,112,1105,8,112,1,113,1,113,3,113,1109, + 8,113,1,114,1,114,3,114,1113,8,114,1,115,1,115,1,116,1,116,1,116,1,116, + 1,116,1,116,3,116,1123,8,116,1,117,1,117,1,118,1,118,1,118,5,118,1130, + 8,118,10,118,12,118,1133,9,118,1,119,1,119,1,119,5,119,1138,8,119,10, + 119,12,119,1141,9,119,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121, + 1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121, + 3,121,1163,8,121,1,122,1,122,1,123,1,123,5,123,1169,8,123,10,123,12,123, + 1172,9,123,1,124,1,124,1,124,1,124,1,124,3,124,1179,8,124,1,125,1,125, + 1,126,1,126,1,127,1,127,3,127,1187,8,127,1,127,5,127,1190,8,127,10,127, + 12,127,1193,9,127,1,128,1,128,5,128,1197,8,128,10,128,12,128,1200,9,128, + 1,129,1,129,3,129,1204,8,129,1,130,1,130,1,130,1,131,1,131,1,131,1,132, + 1,132,1,132,1,132,1,132,1,132,1,132,3,132,1219,8,132,1,133,1,133,1,133, + 1,133,1,133,1,133,1,133,3,133,1228,8,133,1,134,1,134,1,134,1,134,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,3,135,1274,8,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, + 1,135,1,135,3,135,1488,8,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136, + 3,136,1497,8,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,138,1,138, + 1,138,1,138,1,138,1,138,1,138,3,138,1513,8,138,1,138,1,138,1,139,1,139, + 1,139,1,139,1,139,1,139,1,139,1,139,1,139,3,139,1526,8,139,1,139,1,139, + 1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,142,1,142,1,142,3,142,1540, + 8,142,1,142,1,142,3,142,1544,8,142,1,142,1,142,1,142,1,142,3,142,1550, + 8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,1558,8,142,1,142,1,142, + 1,142,1,142,1,142,1,142,3,142,1566,8,142,1,142,1,142,1,142,1,142,1,142, + 1,142,3,142,1574,8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,1582, + 8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,1590,8,142,1,142,1,142, + 1,142,1,142,1,142,1,142,3,142,1598,8,142,1,142,1,142,1,142,1,142,1,142, + 3,142,1605,8,142,1,142,1,142,3,142,1609,8,142,1,143,1,143,3,143,1613, + 8,143,1,144,1,144,1,144,1,144,3,144,1619,8,144,1,145,1,145,1,145,3,145, + 1624,8,145,1,146,1,146,1,147,1,147,1,148,1,148,1,149,1,149,1,150,1,150, + 1,151,3,151,1637,8,151,1,151,1,151,3,151,1641,8,151,1,152,1,152,3,152, + 1645,8,152,1,153,1,153,1,154,1,154,1,155,1,155,1,156,1,156,1,156,0,0, + 157,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46, + 48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92, + 94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128, + 130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164, + 166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200, + 202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236, + 238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272, + 274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308, + 310,312,0,10,1,0,33,34,1,0,47,48,2,0,1,1,13,14,1,0,146,147,1,0,150,152, + 1,0,153,155,1,0,156,158,1,0,28,29,1,0,160,163,2,0,145,145,166,166,1771, + 0,316,1,0,0,0,2,320,1,0,0,0,4,333,1,0,0,0,6,336,1,0,0,0,8,339,1,0,0,0, + 10,343,1,0,0,0,12,353,1,0,0,0,14,358,1,0,0,0,16,372,1,0,0,0,18,374,1, + 0,0,0,20,378,1,0,0,0,22,382,1,0,0,0,24,408,1,0,0,0,26,428,1,0,0,0,28, + 438,1,0,0,0,30,443,1,0,0,0,32,445,1,0,0,0,34,448,1,0,0,0,36,451,1,0,0, + 0,38,456,1,0,0,0,40,467,1,0,0,0,42,484,1,0,0,0,44,486,1,0,0,0,46,492, + 1,0,0,0,48,496,1,0,0,0,50,509,1,0,0,0,52,553,1,0,0,0,54,555,1,0,0,0,56, + 558,1,0,0,0,58,561,1,0,0,0,60,566,1,0,0,0,62,568,1,0,0,0,64,587,1,0,0, + 0,66,589,1,0,0,0,68,598,1,0,0,0,70,604,1,0,0,0,72,610,1,0,0,0,74,616, + 1,0,0,0,76,624,1,0,0,0,78,632,1,0,0,0,80,640,1,0,0,0,82,644,1,0,0,0,84, + 648,1,0,0,0,86,654,1,0,0,0,88,672,1,0,0,0,90,675,1,0,0,0,92,678,1,0,0, + 0,94,687,1,0,0,0,96,689,1,0,0,0,98,696,1,0,0,0,100,698,1,0,0,0,102,702, + 1,0,0,0,104,707,1,0,0,0,106,721,1,0,0,0,108,729,1,0,0,0,110,736,1,0,0, + 0,112,744,1,0,0,0,114,752,1,0,0,0,116,759,1,0,0,0,118,774,1,0,0,0,120, + 776,1,0,0,0,122,779,1,0,0,0,124,783,1,0,0,0,126,790,1,0,0,0,128,797,1, + 0,0,0,130,802,1,0,0,0,132,804,1,0,0,0,134,823,1,0,0,0,136,843,1,0,0,0, + 138,850,1,0,0,0,140,852,1,0,0,0,142,855,1,0,0,0,144,863,1,0,0,0,146,869, + 1,0,0,0,148,871,1,0,0,0,150,889,1,0,0,0,152,903,1,0,0,0,154,905,1,0,0, + 0,156,911,1,0,0,0,158,924,1,0,0,0,160,927,1,0,0,0,162,929,1,0,0,0,164, + 944,1,0,0,0,166,946,1,0,0,0,168,954,1,0,0,0,170,962,1,0,0,0,172,965,1, + 0,0,0,174,967,1,0,0,0,176,977,1,0,0,0,178,979,1,0,0,0,180,981,1,0,0,0, + 182,984,1,0,0,0,184,989,1,0,0,0,186,991,1,0,0,0,188,999,1,0,0,0,190,1001, + 1,0,0,0,192,1003,1,0,0,0,194,1011,1,0,0,0,196,1019,1,0,0,0,198,1026,1, + 0,0,0,200,1028,1,0,0,0,202,1038,1,0,0,0,204,1053,1,0,0,0,206,1062,1,0, + 0,0,208,1064,1,0,0,0,210,1068,1,0,0,0,212,1070,1,0,0,0,214,1076,1,0,0, + 0,216,1078,1,0,0,0,218,1082,1,0,0,0,220,1090,1,0,0,0,222,1100,1,0,0,0, + 224,1104,1,0,0,0,226,1108,1,0,0,0,228,1112,1,0,0,0,230,1114,1,0,0,0,232, + 1122,1,0,0,0,234,1124,1,0,0,0,236,1126,1,0,0,0,238,1134,1,0,0,0,240,1142, + 1,0,0,0,242,1144,1,0,0,0,244,1164,1,0,0,0,246,1166,1,0,0,0,248,1178,1, + 0,0,0,250,1180,1,0,0,0,252,1182,1,0,0,0,254,1186,1,0,0,0,256,1194,1,0, + 0,0,258,1203,1,0,0,0,260,1205,1,0,0,0,262,1208,1,0,0,0,264,1218,1,0,0, + 0,266,1227,1,0,0,0,268,1229,1,0,0,0,270,1487,1,0,0,0,272,1489,1,0,0,0, + 274,1500,1,0,0,0,276,1505,1,0,0,0,278,1516,1,0,0,0,280,1529,1,0,0,0,282, + 1532,1,0,0,0,284,1608,1,0,0,0,286,1610,1,0,0,0,288,1614,1,0,0,0,290,1623, + 1,0,0,0,292,1625,1,0,0,0,294,1627,1,0,0,0,296,1629,1,0,0,0,298,1631,1, + 0,0,0,300,1633,1,0,0,0,302,1636,1,0,0,0,304,1644,1,0,0,0,306,1646,1,0, + 0,0,308,1648,1,0,0,0,310,1650,1,0,0,0,312,1652,1,0,0,0,314,317,3,2,1, + 0,315,317,3,62,31,0,316,314,1,0,0,0,316,315,1,0,0,0,317,318,1,0,0,0,318, + 319,5,0,0,1,319,1,1,0,0,0,320,325,3,4,2,0,321,326,3,10,5,0,322,326,3, + 22,11,0,323,326,3,24,12,0,324,326,3,26,13,0,325,321,1,0,0,0,325,322,1, + 0,0,0,325,323,1,0,0,0,325,324,1,0,0,0,326,327,1,0,0,0,327,328,3,60,30, + 0,328,3,1,0,0,0,329,332,3,6,3,0,330,332,3,8,4,0,331,329,1,0,0,0,331,330, + 1,0,0,0,332,335,1,0,0,0,333,331,1,0,0,0,333,334,1,0,0,0,334,5,1,0,0,0, + 335,333,1,0,0,0,336,337,5,30,0,0,337,338,3,308,154,0,338,7,1,0,0,0,339, + 340,5,31,0,0,340,341,5,143,0,0,341,342,3,308,154,0,342,9,1,0,0,0,343, + 347,3,14,7,0,344,346,3,28,14,0,345,344,1,0,0,0,346,349,1,0,0,0,347,345, + 1,0,0,0,347,348,1,0,0,0,348,350,1,0,0,0,349,347,1,0,0,0,350,351,3,36, + 18,0,351,352,3,38,19,0,352,11,1,0,0,0,353,354,3,14,7,0,354,355,3,36,18, + 0,355,356,3,38,19,0,356,357,3,60,30,0,357,13,1,0,0,0,358,360,5,32,0,0, + 359,361,7,0,0,0,360,359,1,0,0,0,360,361,1,0,0,0,361,368,1,0,0,0,362,364, + 3,16,8,0,363,362,1,0,0,0,364,365,1,0,0,0,365,363,1,0,0,0,365,366,1,0, + 0,0,366,369,1,0,0,0,367,369,5,1,0,0,368,363,1,0,0,0,368,367,1,0,0,0,369, + 15,1,0,0,0,370,373,3,230,115,0,371,373,3,18,9,0,372,370,1,0,0,0,372,371, + 1,0,0,0,373,17,1,0,0,0,374,375,5,2,0,0,375,376,3,20,10,0,376,377,5,3, + 0,0,377,19,1,0,0,0,378,379,3,234,117,0,379,380,5,35,0,0,380,381,3,230, + 115,0,381,21,1,0,0,0,382,406,5,36,0,0,383,387,3,154,77,0,384,386,3,28, + 14,0,385,384,1,0,0,0,386,389,1,0,0,0,387,385,1,0,0,0,387,388,1,0,0,0, + 388,390,1,0,0,0,389,387,1,0,0,0,390,391,3,36,18,0,391,392,3,38,19,0,392, + 407,1,0,0,0,393,395,3,28,14,0,394,393,1,0,0,0,395,398,1,0,0,0,396,394, + 1,0,0,0,396,397,1,0,0,0,397,399,1,0,0,0,398,396,1,0,0,0,399,400,5,37, + 0,0,400,402,5,4,0,0,401,403,3,108,54,0,402,401,1,0,0,0,402,403,1,0,0, + 0,403,404,1,0,0,0,404,405,5,5,0,0,405,407,3,38,19,0,406,383,1,0,0,0,406, + 396,1,0,0,0,407,23,1,0,0,0,408,415,5,38,0,0,409,411,3,228,114,0,410,409, + 1,0,0,0,411,412,1,0,0,0,412,410,1,0,0,0,412,413,1,0,0,0,413,416,1,0,0, + 0,414,416,5,1,0,0,415,410,1,0,0,0,415,414,1,0,0,0,416,420,1,0,0,0,417, + 419,3,28,14,0,418,417,1,0,0,0,419,422,1,0,0,0,420,418,1,0,0,0,420,421, + 1,0,0,0,421,424,1,0,0,0,422,420,1,0,0,0,423,425,3,36,18,0,424,423,1,0, + 0,0,424,425,1,0,0,0,425,426,1,0,0,0,426,427,3,38,19,0,427,25,1,0,0,0, + 428,432,5,39,0,0,429,431,3,28,14,0,430,429,1,0,0,0,431,434,1,0,0,0,432, + 430,1,0,0,0,432,433,1,0,0,0,433,435,1,0,0,0,434,432,1,0,0,0,435,436,3, + 36,18,0,436,437,3,38,19,0,437,27,1,0,0,0,438,441,5,40,0,0,439,442,3,30, + 15,0,440,442,3,32,16,0,441,439,1,0,0,0,441,440,1,0,0,0,442,29,1,0,0,0, + 443,444,3,34,17,0,444,31,1,0,0,0,445,446,5,41,0,0,446,447,3,34,17,0,447, + 33,1,0,0,0,448,449,3,302,151,0,449,35,1,0,0,0,450,452,5,37,0,0,451,450, + 1,0,0,0,451,452,1,0,0,0,452,453,1,0,0,0,453,454,3,110,55,0,454,37,1,0, + 0,0,455,457,3,40,20,0,456,455,1,0,0,0,456,457,1,0,0,0,457,459,1,0,0,0, + 458,460,3,44,22,0,459,458,1,0,0,0,459,460,1,0,0,0,460,462,1,0,0,0,461, + 463,3,48,24,0,462,461,1,0,0,0,462,463,1,0,0,0,463,465,1,0,0,0,464,466, + 3,52,26,0,465,464,1,0,0,0,465,466,1,0,0,0,466,39,1,0,0,0,467,469,5,42, + 0,0,468,470,3,42,21,0,469,468,1,0,0,0,470,471,1,0,0,0,471,469,1,0,0,0, + 471,472,1,0,0,0,472,41,1,0,0,0,473,485,3,270,135,0,474,485,3,148,74,0, + 475,476,5,2,0,0,476,479,3,234,117,0,477,478,5,35,0,0,478,480,3,230,115, + 0,479,477,1,0,0,0,479,480,1,0,0,0,480,481,1,0,0,0,481,482,5,3,0,0,482, + 485,1,0,0,0,483,485,3,230,115,0,484,473,1,0,0,0,484,474,1,0,0,0,484,475, + 1,0,0,0,484,483,1,0,0,0,485,43,1,0,0,0,486,488,5,44,0,0,487,489,3,46, + 23,0,488,487,1,0,0,0,489,490,1,0,0,0,490,488,1,0,0,0,490,491,1,0,0,0, + 491,45,1,0,0,0,492,493,3,146,73,0,493,47,1,0,0,0,494,497,5,45,0,0,495, + 497,5,46,0,0,496,494,1,0,0,0,496,495,1,0,0,0,497,499,1,0,0,0,498,500, + 3,50,25,0,499,498,1,0,0,0,500,501,1,0,0,0,501,499,1,0,0,0,501,502,1,0, + 0,0,502,49,1,0,0,0,503,504,7,1,0,0,504,510,3,268,134,0,505,508,3,146, + 73,0,506,508,3,230,115,0,507,505,1,0,0,0,507,506,1,0,0,0,508,510,1,0, + 0,0,509,503,1,0,0,0,509,507,1,0,0,0,510,51,1,0,0,0,511,513,3,54,27,0, + 512,514,3,56,28,0,513,512,1,0,0,0,513,514,1,0,0,0,514,516,1,0,0,0,515, + 517,3,58,29,0,516,515,1,0,0,0,516,517,1,0,0,0,517,554,1,0,0,0,518,520, + 3,54,27,0,519,521,3,58,29,0,520,519,1,0,0,0,520,521,1,0,0,0,521,523,1, + 0,0,0,522,524,3,56,28,0,523,522,1,0,0,0,523,524,1,0,0,0,524,554,1,0,0, + 0,525,527,3,56,28,0,526,528,3,54,27,0,527,526,1,0,0,0,527,528,1,0,0,0, + 528,530,1,0,0,0,529,531,3,58,29,0,530,529,1,0,0,0,530,531,1,0,0,0,531, + 554,1,0,0,0,532,534,3,56,28,0,533,535,3,58,29,0,534,533,1,0,0,0,534,535, + 1,0,0,0,535,537,1,0,0,0,536,538,3,54,27,0,537,536,1,0,0,0,537,538,1,0, + 0,0,538,554,1,0,0,0,539,541,3,58,29,0,540,542,3,56,28,0,541,540,1,0,0, + 0,541,542,1,0,0,0,542,544,1,0,0,0,543,545,3,54,27,0,544,543,1,0,0,0,544, + 545,1,0,0,0,545,554,1,0,0,0,546,548,3,58,29,0,547,549,3,54,27,0,548,547, + 1,0,0,0,548,549,1,0,0,0,549,551,1,0,0,0,550,552,3,56,28,0,551,550,1,0, + 0,0,551,552,1,0,0,0,552,554,1,0,0,0,553,511,1,0,0,0,553,518,1,0,0,0,553, + 525,1,0,0,0,553,532,1,0,0,0,553,539,1,0,0,0,553,546,1,0,0,0,554,53,1, + 0,0,0,555,556,5,49,0,0,556,557,3,208,104,0,557,55,1,0,0,0,558,559,5,50, + 0,0,559,560,3,208,104,0,560,57,1,0,0,0,561,562,5,51,0,0,562,563,3,208, + 104,0,563,59,1,0,0,0,564,565,5,52,0,0,565,567,3,130,65,0,566,564,1,0, + 0,0,566,567,1,0,0,0,567,61,1,0,0,0,568,574,3,4,2,0,569,572,3,64,32,0, + 570,571,5,6,0,0,571,573,3,62,31,0,572,570,1,0,0,0,572,573,1,0,0,0,573, + 575,1,0,0,0,574,569,1,0,0,0,574,575,1,0,0,0,575,63,1,0,0,0,576,588,3, + 66,33,0,577,588,3,68,34,0,578,588,3,70,35,0,579,588,3,74,37,0,580,588, + 3,76,38,0,581,588,3,78,39,0,582,588,3,72,36,0,583,588,3,80,40,0,584,588, + 3,82,41,0,585,588,3,84,42,0,586,588,3,86,43,0,587,576,1,0,0,0,587,577, + 1,0,0,0,587,578,1,0,0,0,587,579,1,0,0,0,587,580,1,0,0,0,587,581,1,0,0, + 0,587,582,1,0,0,0,587,583,1,0,0,0,587,584,1,0,0,0,587,585,1,0,0,0,587, + 586,1,0,0,0,588,65,1,0,0,0,589,591,5,53,0,0,590,592,5,54,0,0,591,590, + 1,0,0,0,591,592,1,0,0,0,592,593,1,0,0,0,593,596,3,302,151,0,594,595,5, + 55,0,0,595,597,3,96,48,0,596,594,1,0,0,0,596,597,1,0,0,0,597,67,1,0,0, + 0,598,600,5,56,0,0,599,601,5,54,0,0,600,599,1,0,0,0,600,601,1,0,0,0,601, + 602,1,0,0,0,602,603,3,98,49,0,603,69,1,0,0,0,604,606,5,57,0,0,605,607, + 5,54,0,0,606,605,1,0,0,0,606,607,1,0,0,0,607,608,1,0,0,0,608,609,3,98, + 49,0,609,71,1,0,0,0,610,612,5,58,0,0,611,613,5,54,0,0,612,611,1,0,0,0, + 612,613,1,0,0,0,613,614,1,0,0,0,614,615,3,96,48,0,615,73,1,0,0,0,616, + 618,5,59,0,0,617,619,5,54,0,0,618,617,1,0,0,0,618,619,1,0,0,0,619,620, + 1,0,0,0,620,621,3,94,47,0,621,622,5,60,0,0,622,623,3,94,47,0,623,75,1, + 0,0,0,624,626,5,62,0,0,625,627,5,54,0,0,626,625,1,0,0,0,626,627,1,0,0, + 0,627,628,1,0,0,0,628,629,3,94,47,0,629,630,5,60,0,0,630,631,3,94,47, + 0,631,77,1,0,0,0,632,634,5,63,0,0,633,635,5,54,0,0,634,633,1,0,0,0,634, + 635,1,0,0,0,635,636,1,0,0,0,636,637,3,94,47,0,637,638,5,60,0,0,638,639, + 3,94,47,0,639,79,1,0,0,0,640,641,5,64,0,0,641,642,5,61,0,0,642,643,3, + 102,51,0,643,81,1,0,0,0,644,645,5,65,0,0,645,646,5,61,0,0,646,647,3,102, + 51,0,647,83,1,0,0,0,648,649,5,65,0,0,649,650,5,37,0,0,650,651,3,100,50, + 0,651,85,1,0,0,0,652,653,5,66,0,0,653,655,3,302,151,0,654,652,1,0,0,0, + 654,655,1,0,0,0,655,661,1,0,0,0,656,658,3,88,44,0,657,659,3,90,45,0,658, + 657,1,0,0,0,658,659,1,0,0,0,659,662,1,0,0,0,660,662,3,90,45,0,661,656, + 1,0,0,0,661,660,1,0,0,0,662,666,1,0,0,0,663,665,3,92,46,0,664,663,1,0, + 0,0,665,668,1,0,0,0,666,664,1,0,0,0,666,667,1,0,0,0,667,669,1,0,0,0,668, + 666,1,0,0,0,669,670,5,37,0,0,670,671,3,110,55,0,671,87,1,0,0,0,672,673, + 5,65,0,0,673,674,3,100,50,0,674,89,1,0,0,0,675,676,5,64,0,0,676,677,3, + 100,50,0,677,91,1,0,0,0,678,682,5,67,0,0,679,683,3,302,151,0,680,681, + 5,41,0,0,681,683,3,302,151,0,682,679,1,0,0,0,682,680,1,0,0,0,683,93,1, + 0,0,0,684,688,5,68,0,0,685,686,5,69,0,0,686,688,3,302,151,0,687,684,1, + 0,0,0,687,685,1,0,0,0,688,95,1,0,0,0,689,690,5,69,0,0,690,691,3,302,151, + 0,691,97,1,0,0,0,692,697,3,96,48,0,693,697,5,68,0,0,694,697,5,41,0,0, + 695,697,5,70,0,0,696,692,1,0,0,0,696,693,1,0,0,0,696,694,1,0,0,0,696, + 695,1,0,0,0,697,99,1,0,0,0,698,699,5,4,0,0,699,700,3,104,52,0,700,701, + 5,5,0,0,701,101,1,0,0,0,702,703,5,4,0,0,703,704,3,104,52,0,704,705,5, + 5,0,0,705,103,1,0,0,0,706,708,3,108,54,0,707,706,1,0,0,0,707,708,1,0, + 0,0,708,718,1,0,0,0,709,711,3,106,53,0,710,712,5,7,0,0,711,710,1,0,0, + 0,711,712,1,0,0,0,712,714,1,0,0,0,713,715,3,108,54,0,714,713,1,0,0,0, + 714,715,1,0,0,0,715,717,1,0,0,0,716,709,1,0,0,0,717,720,1,0,0,0,718,716, + 1,0,0,0,718,719,1,0,0,0,719,105,1,0,0,0,720,718,1,0,0,0,721,722,5,69, + 0,0,722,723,3,228,114,0,723,725,5,4,0,0,724,726,3,108,54,0,725,724,1, + 0,0,0,725,726,1,0,0,0,726,727,1,0,0,0,727,728,5,5,0,0,728,107,1,0,0,0, + 729,734,3,158,79,0,730,732,5,7,0,0,731,733,3,108,54,0,732,731,1,0,0,0, + 732,733,1,0,0,0,733,735,1,0,0,0,734,730,1,0,0,0,734,735,1,0,0,0,735,109, + 1,0,0,0,736,739,5,4,0,0,737,740,3,12,6,0,738,740,3,112,56,0,739,737,1, + 0,0,0,739,738,1,0,0,0,740,741,1,0,0,0,741,742,5,5,0,0,742,111,1,0,0,0, + 743,745,3,116,58,0,744,743,1,0,0,0,744,745,1,0,0,0,745,749,1,0,0,0,746, + 748,3,114,57,0,747,746,1,0,0,0,748,751,1,0,0,0,749,747,1,0,0,0,749,750, + 1,0,0,0,750,113,1,0,0,0,751,749,1,0,0,0,752,754,3,118,59,0,753,755,5, + 7,0,0,754,753,1,0,0,0,754,755,1,0,0,0,755,757,1,0,0,0,756,758,3,116,58, + 0,757,756,1,0,0,0,757,758,1,0,0,0,758,115,1,0,0,0,759,764,3,170,85,0, + 760,762,5,7,0,0,761,763,3,116,58,0,762,761,1,0,0,0,762,763,1,0,0,0,763, + 765,1,0,0,0,764,760,1,0,0,0,764,765,1,0,0,0,765,117,1,0,0,0,766,775,3, + 142,71,0,767,775,3,120,60,0,768,775,3,140,70,0,769,775,3,122,61,0,770, + 775,3,124,62,0,771,775,3,144,72,0,772,775,3,126,63,0,773,775,3,128,64, + 0,774,766,1,0,0,0,774,767,1,0,0,0,774,768,1,0,0,0,774,769,1,0,0,0,774, + 770,1,0,0,0,774,771,1,0,0,0,774,772,1,0,0,0,774,773,1,0,0,0,775,119,1, + 0,0,0,776,777,5,71,0,0,777,778,3,110,55,0,778,121,1,0,0,0,779,780,5,69, + 0,0,780,781,3,228,114,0,781,782,3,110,55,0,782,123,1,0,0,0,783,785,5, + 72,0,0,784,786,5,54,0,0,785,784,1,0,0,0,785,786,1,0,0,0,786,787,1,0,0, + 0,787,788,3,228,114,0,788,789,3,110,55,0,789,125,1,0,0,0,790,791,5,73, + 0,0,791,792,5,2,0,0,792,793,3,234,117,0,793,794,5,35,0,0,794,795,3,230, + 115,0,795,796,5,3,0,0,796,127,1,0,0,0,797,798,5,52,0,0,798,799,3,130, + 65,0,799,129,1,0,0,0,800,803,3,132,66,0,801,803,3,134,67,0,802,800,1, + 0,0,0,802,801,1,0,0,0,803,131,1,0,0,0,804,805,3,230,115,0,805,809,5,4, + 0,0,806,808,3,138,69,0,807,806,1,0,0,0,808,811,1,0,0,0,809,807,1,0,0, + 0,809,810,1,0,0,0,810,812,1,0,0,0,811,809,1,0,0,0,812,813,5,5,0,0,813, + 133,1,0,0,0,814,824,5,165,0,0,815,819,5,2,0,0,816,818,3,230,115,0,817, + 816,1,0,0,0,818,821,1,0,0,0,819,817,1,0,0,0,819,820,1,0,0,0,820,822,1, + 0,0,0,821,819,1,0,0,0,822,824,5,3,0,0,823,814,1,0,0,0,823,815,1,0,0,0, + 824,825,1,0,0,0,825,829,5,4,0,0,826,828,3,136,68,0,827,826,1,0,0,0,828, + 831,1,0,0,0,829,827,1,0,0,0,829,830,1,0,0,0,830,832,1,0,0,0,831,829,1, + 0,0,0,832,833,5,5,0,0,833,135,1,0,0,0,834,838,5,2,0,0,835,837,3,138,69, + 0,836,835,1,0,0,0,837,840,1,0,0,0,838,836,1,0,0,0,838,839,1,0,0,0,839, + 841,1,0,0,0,840,838,1,0,0,0,841,844,5,3,0,0,842,844,5,165,0,0,843,834, + 1,0,0,0,843,842,1,0,0,0,844,137,1,0,0,0,845,851,3,302,151,0,846,851,3, + 288,144,0,847,851,3,290,145,0,848,851,3,298,149,0,849,851,5,74,0,0,850, + 845,1,0,0,0,850,846,1,0,0,0,850,847,1,0,0,0,850,848,1,0,0,0,850,849,1, + 0,0,0,851,139,1,0,0,0,852,853,5,75,0,0,853,854,3,110,55,0,854,141,1,0, + 0,0,855,860,3,110,55,0,856,857,5,76,0,0,857,859,3,110,55,0,858,856,1, + 0,0,0,859,862,1,0,0,0,860,858,1,0,0,0,860,861,1,0,0,0,861,143,1,0,0,0, + 862,860,1,0,0,0,863,864,5,77,0,0,864,865,3,146,73,0,865,145,1,0,0,0,866, + 870,3,268,134,0,867,870,3,270,135,0,868,870,3,148,74,0,869,866,1,0,0, + 0,869,867,1,0,0,0,869,868,1,0,0,0,870,147,1,0,0,0,871,872,3,302,151,0, + 872,873,3,150,75,0,873,149,1,0,0,0,874,890,5,165,0,0,875,877,5,2,0,0, + 876,878,5,33,0,0,877,876,1,0,0,0,877,878,1,0,0,0,878,879,1,0,0,0,879, + 884,3,234,117,0,880,881,5,8,0,0,881,883,3,234,117,0,882,880,1,0,0,0,883, + 886,1,0,0,0,884,882,1,0,0,0,884,885,1,0,0,0,885,887,1,0,0,0,886,884,1, + 0,0,0,887,888,5,3,0,0,888,890,1,0,0,0,889,874,1,0,0,0,889,875,1,0,0,0, + 890,151,1,0,0,0,891,904,5,165,0,0,892,893,5,2,0,0,893,898,3,234,117,0, + 894,895,5,8,0,0,895,897,3,234,117,0,896,894,1,0,0,0,897,900,1,0,0,0,898, + 896,1,0,0,0,898,899,1,0,0,0,899,901,1,0,0,0,900,898,1,0,0,0,901,902,5, + 3,0,0,902,904,1,0,0,0,903,891,1,0,0,0,903,892,1,0,0,0,904,153,1,0,0,0, + 905,907,5,4,0,0,906,908,3,156,78,0,907,906,1,0,0,0,907,908,1,0,0,0,908, + 909,1,0,0,0,909,910,5,5,0,0,910,155,1,0,0,0,911,916,3,158,79,0,912,914, + 5,7,0,0,913,915,3,156,78,0,914,913,1,0,0,0,914,915,1,0,0,0,915,917,1, + 0,0,0,916,912,1,0,0,0,916,917,1,0,0,0,917,157,1,0,0,0,918,919,3,226,113, + 0,919,920,3,162,81,0,920,925,1,0,0,0,921,922,3,210,105,0,922,923,3,160, + 80,0,923,925,1,0,0,0,924,918,1,0,0,0,924,921,1,0,0,0,925,159,1,0,0,0, + 926,928,3,162,81,0,927,926,1,0,0,0,927,928,1,0,0,0,928,161,1,0,0,0,929, + 930,3,164,82,0,930,939,3,166,83,0,931,935,5,6,0,0,932,933,3,164,82,0, + 933,934,3,166,83,0,934,936,1,0,0,0,935,932,1,0,0,0,935,936,1,0,0,0,936, + 938,1,0,0,0,937,931,1,0,0,0,938,941,1,0,0,0,939,937,1,0,0,0,939,940,1, + 0,0,0,940,163,1,0,0,0,941,939,1,0,0,0,942,945,3,228,114,0,943,945,5,9, + 0,0,944,942,1,0,0,0,944,943,1,0,0,0,945,165,1,0,0,0,946,951,3,168,84, + 0,947,948,5,8,0,0,948,950,3,168,84,0,949,947,1,0,0,0,950,953,1,0,0,0, + 951,949,1,0,0,0,951,952,1,0,0,0,952,167,1,0,0,0,953,951,1,0,0,0,954,955, + 3,222,111,0,955,169,1,0,0,0,956,957,3,226,113,0,957,958,3,174,87,0,958, + 963,1,0,0,0,959,960,3,214,107,0,960,961,3,172,86,0,961,963,1,0,0,0,962, + 956,1,0,0,0,962,959,1,0,0,0,963,171,1,0,0,0,964,966,3,174,87,0,965,964, + 1,0,0,0,965,966,1,0,0,0,966,173,1,0,0,0,967,974,3,182,91,0,968,970,5, + 6,0,0,969,971,3,180,90,0,970,969,1,0,0,0,970,971,1,0,0,0,971,973,1,0, + 0,0,972,968,1,0,0,0,973,976,1,0,0,0,974,972,1,0,0,0,974,975,1,0,0,0,975, + 175,1,0,0,0,976,974,1,0,0,0,977,978,3,190,95,0,978,177,1,0,0,0,979,980, + 3,230,115,0,980,179,1,0,0,0,981,982,3,184,92,0,982,983,3,166,83,0,983, + 181,1,0,0,0,984,985,3,184,92,0,985,986,3,186,93,0,986,183,1,0,0,0,987, + 990,3,176,88,0,988,990,3,178,89,0,989,987,1,0,0,0,989,988,1,0,0,0,990, + 185,1,0,0,0,991,996,3,188,94,0,992,993,5,8,0,0,993,995,3,188,94,0,994, + 992,1,0,0,0,995,998,1,0,0,0,996,994,1,0,0,0,996,997,1,0,0,0,997,187,1, + 0,0,0,998,996,1,0,0,0,999,1000,3,224,112,0,1000,189,1,0,0,0,1001,1002, + 3,192,96,0,1002,191,1,0,0,0,1003,1008,3,194,97,0,1004,1005,5,10,0,0,1005, + 1007,3,194,97,0,1006,1004,1,0,0,0,1007,1010,1,0,0,0,1008,1006,1,0,0,0, + 1008,1009,1,0,0,0,1009,193,1,0,0,0,1010,1008,1,0,0,0,1011,1016,3,198, + 99,0,1012,1013,5,11,0,0,1013,1015,3,198,99,0,1014,1012,1,0,0,0,1015,1018, + 1,0,0,0,1016,1014,1,0,0,0,1016,1017,1,0,0,0,1017,195,1,0,0,0,1018,1016, + 1,0,0,0,1019,1021,3,202,101,0,1020,1022,3,200,100,0,1021,1020,1,0,0,0, + 1021,1022,1,0,0,0,1022,197,1,0,0,0,1023,1027,3,196,98,0,1024,1025,5,12, + 0,0,1025,1027,3,196,98,0,1026,1023,1,0,0,0,1026,1024,1,0,0,0,1027,199, + 1,0,0,0,1028,1029,7,2,0,0,1029,201,1,0,0,0,1030,1039,3,302,151,0,1031, + 1039,5,9,0,0,1032,1033,5,15,0,0,1033,1039,3,204,102,0,1034,1035,5,2,0, + 0,1035,1036,3,190,95,0,1036,1037,5,3,0,0,1037,1039,1,0,0,0,1038,1030, + 1,0,0,0,1038,1031,1,0,0,0,1038,1032,1,0,0,0,1038,1034,1,0,0,0,1039,203, + 1,0,0,0,1040,1054,3,206,103,0,1041,1050,5,2,0,0,1042,1047,3,206,103,0, + 1043,1044,5,10,0,0,1044,1046,3,206,103,0,1045,1043,1,0,0,0,1046,1049, + 1,0,0,0,1047,1045,1,0,0,0,1047,1048,1,0,0,0,1048,1051,1,0,0,0,1049,1047, + 1,0,0,0,1050,1042,1,0,0,0,1050,1051,1,0,0,0,1051,1052,1,0,0,0,1052,1054, + 5,3,0,0,1053,1040,1,0,0,0,1053,1041,1,0,0,0,1054,205,1,0,0,0,1055,1063, + 3,302,151,0,1056,1063,5,9,0,0,1057,1060,5,12,0,0,1058,1061,3,302,151, + 0,1059,1061,5,9,0,0,1060,1058,1,0,0,0,1060,1059,1,0,0,0,1061,1063,1,0, + 0,0,1062,1055,1,0,0,0,1062,1056,1,0,0,0,1062,1057,1,0,0,0,1063,207,1, + 0,0,0,1064,1065,5,150,0,0,1065,209,1,0,0,0,1066,1069,3,218,109,0,1067, + 1069,3,212,106,0,1068,1066,1,0,0,0,1068,1067,1,0,0,0,1069,211,1,0,0,0, + 1070,1071,5,16,0,0,1071,1072,3,162,81,0,1072,1073,5,17,0,0,1073,213,1, + 0,0,0,1074,1077,3,220,110,0,1075,1077,3,216,108,0,1076,1074,1,0,0,0,1076, + 1075,1,0,0,0,1077,215,1,0,0,0,1078,1079,5,16,0,0,1079,1080,3,174,87,0, + 1080,1081,5,17,0,0,1081,217,1,0,0,0,1082,1084,5,2,0,0,1083,1085,3,222, + 111,0,1084,1083,1,0,0,0,1085,1086,1,0,0,0,1086,1084,1,0,0,0,1086,1087, + 1,0,0,0,1087,1088,1,0,0,0,1088,1089,5,3,0,0,1089,219,1,0,0,0,1090,1092, + 5,2,0,0,1091,1093,3,224,112,0,1092,1091,1,0,0,0,1093,1094,1,0,0,0,1094, + 1092,1,0,0,0,1094,1095,1,0,0,0,1095,1096,1,0,0,0,1096,1097,5,3,0,0,1097, + 221,1,0,0,0,1098,1101,3,226,113,0,1099,1101,3,210,105,0,1100,1098,1,0, + 0,0,1100,1099,1,0,0,0,1101,223,1,0,0,0,1102,1105,3,226,113,0,1103,1105, + 3,214,107,0,1104,1102,1,0,0,0,1104,1103,1,0,0,0,1105,225,1,0,0,0,1106, + 1109,3,230,115,0,1107,1109,3,232,116,0,1108,1106,1,0,0,0,1108,1107,1, + 0,0,0,1109,227,1,0,0,0,1110,1113,3,230,115,0,1111,1113,3,302,151,0,1112, + 1110,1,0,0,0,1112,1111,1,0,0,0,1113,229,1,0,0,0,1114,1115,7,3,0,0,1115, + 231,1,0,0,0,1116,1123,3,302,151,0,1117,1123,3,288,144,0,1118,1123,3,290, + 145,0,1119,1123,3,298,149,0,1120,1123,3,306,153,0,1121,1123,5,165,0,0, + 1122,1116,1,0,0,0,1122,1117,1,0,0,0,1122,1118,1,0,0,0,1122,1119,1,0,0, + 0,1122,1120,1,0,0,0,1122,1121,1,0,0,0,1123,233,1,0,0,0,1124,1125,3,236, + 118,0,1125,235,1,0,0,0,1126,1131,3,238,119,0,1127,1128,5,18,0,0,1128, + 1130,3,238,119,0,1129,1127,1,0,0,0,1130,1133,1,0,0,0,1131,1129,1,0,0, + 0,1131,1132,1,0,0,0,1132,237,1,0,0,0,1133,1131,1,0,0,0,1134,1139,3,240, + 120,0,1135,1136,5,19,0,0,1136,1138,3,240,120,0,1137,1135,1,0,0,0,1138, + 1141,1,0,0,0,1139,1137,1,0,0,0,1139,1140,1,0,0,0,1140,239,1,0,0,0,1141, + 1139,1,0,0,0,1142,1143,3,242,121,0,1143,241,1,0,0,0,1144,1162,3,244,122, + 0,1145,1146,5,20,0,0,1146,1163,3,244,122,0,1147,1148,5,21,0,0,1148,1163, + 3,244,122,0,1149,1150,5,22,0,0,1150,1163,3,244,122,0,1151,1152,5,23,0, + 0,1152,1163,3,244,122,0,1153,1154,5,24,0,0,1154,1163,3,244,122,0,1155, + 1156,5,25,0,0,1156,1163,3,244,122,0,1157,1158,5,79,0,0,1158,1163,3,152, + 76,0,1159,1160,5,78,0,0,1160,1161,5,79,0,0,1161,1163,3,152,76,0,1162, + 1145,1,0,0,0,1162,1147,1,0,0,0,1162,1149,1,0,0,0,1162,1151,1,0,0,0,1162, + 1153,1,0,0,0,1162,1155,1,0,0,0,1162,1157,1,0,0,0,1162,1159,1,0,0,0,1162, + 1163,1,0,0,0,1163,243,1,0,0,0,1164,1165,3,246,123,0,1165,245,1,0,0,0, + 1166,1170,3,256,128,0,1167,1169,3,248,124,0,1168,1167,1,0,0,0,1169,1172, + 1,0,0,0,1170,1168,1,0,0,0,1170,1171,1,0,0,0,1171,247,1,0,0,0,1172,1170, + 1,0,0,0,1173,1174,5,13,0,0,1174,1179,3,250,125,0,1175,1176,5,26,0,0,1176, + 1179,3,252,126,0,1177,1179,3,254,127,0,1178,1173,1,0,0,0,1178,1175,1, + 0,0,0,1178,1177,1,0,0,0,1179,249,1,0,0,0,1180,1181,3,256,128,0,1181,251, + 1,0,0,0,1182,1183,3,256,128,0,1183,253,1,0,0,0,1184,1187,3,294,147,0, + 1185,1187,3,296,148,0,1186,1184,1,0,0,0,1186,1185,1,0,0,0,1187,1191,1, + 0,0,0,1188,1190,3,258,129,0,1189,1188,1,0,0,0,1190,1193,1,0,0,0,1191, + 1189,1,0,0,0,1191,1192,1,0,0,0,1192,255,1,0,0,0,1193,1191,1,0,0,0,1194, + 1198,3,264,132,0,1195,1197,3,258,129,0,1196,1195,1,0,0,0,1197,1200,1, + 0,0,0,1198,1196,1,0,0,0,1198,1199,1,0,0,0,1199,257,1,0,0,0,1200,1198, + 1,0,0,0,1201,1204,3,260,130,0,1202,1204,3,262,131,0,1203,1201,1,0,0,0, + 1203,1202,1,0,0,0,1204,259,1,0,0,0,1205,1206,5,1,0,0,1206,1207,3,264, + 132,0,1207,261,1,0,0,0,1208,1209,5,11,0,0,1209,1210,3,264,132,0,1210, + 263,1,0,0,0,1211,1212,5,15,0,0,1212,1219,3,266,133,0,1213,1214,5,13,0, + 0,1214,1219,3,266,133,0,1215,1216,5,26,0,0,1216,1219,3,266,133,0,1217, + 1219,3,266,133,0,1218,1211,1,0,0,0,1218,1213,1,0,0,0,1218,1215,1,0,0, + 0,1218,1217,1,0,0,0,1219,265,1,0,0,0,1220,1228,3,268,134,0,1221,1228, + 3,270,135,0,1222,1228,3,286,143,0,1223,1228,3,288,144,0,1224,1228,3,290, + 145,0,1225,1228,3,298,149,0,1226,1228,3,230,115,0,1227,1220,1,0,0,0,1227, + 1221,1,0,0,0,1227,1222,1,0,0,0,1227,1223,1,0,0,0,1227,1224,1,0,0,0,1227, + 1225,1,0,0,0,1227,1226,1,0,0,0,1228,267,1,0,0,0,1229,1230,5,2,0,0,1230, + 1231,3,234,117,0,1231,1232,5,3,0,0,1232,269,1,0,0,0,1233,1488,3,284,142, + 0,1234,1235,5,80,0,0,1235,1236,5,2,0,0,1236,1237,3,234,117,0,1237,1238, + 5,3,0,0,1238,1488,1,0,0,0,1239,1488,3,274,137,0,1240,1241,5,82,0,0,1241, + 1242,5,2,0,0,1242,1243,3,234,117,0,1243,1244,5,8,0,0,1244,1245,3,234, + 117,0,1245,1246,5,3,0,0,1246,1488,1,0,0,0,1247,1248,5,83,0,0,1248,1249, + 5,2,0,0,1249,1250,3,234,117,0,1250,1251,5,3,0,0,1251,1488,1,0,0,0,1252, + 1253,5,84,0,0,1253,1254,5,2,0,0,1254,1255,3,230,115,0,1255,1256,5,3,0, + 0,1256,1488,1,0,0,0,1257,1258,5,85,0,0,1258,1259,5,2,0,0,1259,1260,3, + 234,117,0,1260,1261,5,3,0,0,1261,1488,1,0,0,0,1262,1263,5,86,0,0,1263, + 1264,5,2,0,0,1264,1265,3,234,117,0,1265,1266,5,3,0,0,1266,1488,1,0,0, + 0,1267,1273,5,87,0,0,1268,1269,5,2,0,0,1269,1270,3,234,117,0,1270,1271, + 5,3,0,0,1271,1274,1,0,0,0,1272,1274,5,165,0,0,1273,1268,1,0,0,0,1273, + 1272,1,0,0,0,1274,1488,1,0,0,0,1275,1276,5,88,0,0,1276,1488,5,165,0,0, + 1277,1278,5,89,0,0,1278,1279,5,2,0,0,1279,1280,3,234,117,0,1280,1281, + 5,3,0,0,1281,1488,1,0,0,0,1282,1283,5,90,0,0,1283,1284,5,2,0,0,1284,1285, + 3,234,117,0,1285,1286,5,3,0,0,1286,1488,1,0,0,0,1287,1288,5,91,0,0,1288, + 1289,5,2,0,0,1289,1290,3,234,117,0,1290,1291,5,3,0,0,1291,1488,1,0,0, + 0,1292,1293,5,92,0,0,1293,1294,5,2,0,0,1294,1295,3,234,117,0,1295,1296, + 5,3,0,0,1296,1488,1,0,0,0,1297,1298,5,93,0,0,1298,1488,3,152,76,0,1299, + 1488,3,276,138,0,1300,1301,5,94,0,0,1301,1302,5,2,0,0,1302,1303,3,234, + 117,0,1303,1304,5,3,0,0,1304,1488,1,0,0,0,1305,1488,3,278,139,0,1306, + 1307,5,95,0,0,1307,1308,5,2,0,0,1308,1309,3,234,117,0,1309,1310,5,3,0, + 0,1310,1488,1,0,0,0,1311,1312,5,96,0,0,1312,1313,5,2,0,0,1313,1314,3, + 234,117,0,1314,1315,5,3,0,0,1315,1488,1,0,0,0,1316,1317,5,97,0,0,1317, + 1318,5,2,0,0,1318,1319,3,234,117,0,1319,1320,5,3,0,0,1320,1488,1,0,0, + 0,1321,1322,5,99,0,0,1322,1323,5,2,0,0,1323,1324,3,234,117,0,1324,1325, + 5,8,0,0,1325,1326,3,234,117,0,1326,1327,5,3,0,0,1327,1488,1,0,0,0,1328, + 1329,5,100,0,0,1329,1330,5,2,0,0,1330,1331,3,234,117,0,1331,1332,5,8, + 0,0,1332,1333,3,234,117,0,1333,1334,5,3,0,0,1334,1488,1,0,0,0,1335,1336, + 5,101,0,0,1336,1337,5,2,0,0,1337,1338,3,234,117,0,1338,1339,5,8,0,0,1339, + 1340,3,234,117,0,1340,1341,5,3,0,0,1341,1488,1,0,0,0,1342,1343,5,102, + 0,0,1343,1344,5,2,0,0,1344,1345,3,234,117,0,1345,1346,5,8,0,0,1346,1347, + 3,234,117,0,1347,1348,5,3,0,0,1348,1488,1,0,0,0,1349,1350,5,103,0,0,1350, + 1351,5,2,0,0,1351,1352,3,234,117,0,1352,1353,5,8,0,0,1353,1354,3,234, + 117,0,1354,1355,5,3,0,0,1355,1488,1,0,0,0,1356,1357,5,104,0,0,1357,1358, + 5,2,0,0,1358,1359,3,234,117,0,1359,1360,5,3,0,0,1360,1488,1,0,0,0,1361, + 1362,5,105,0,0,1362,1363,5,2,0,0,1363,1364,3,234,117,0,1364,1365,5,3, + 0,0,1365,1488,1,0,0,0,1366,1367,5,106,0,0,1367,1368,5,2,0,0,1368,1369, + 3,234,117,0,1369,1370,5,3,0,0,1370,1488,1,0,0,0,1371,1372,5,107,0,0,1372, + 1373,5,2,0,0,1373,1374,3,234,117,0,1374,1375,5,3,0,0,1375,1488,1,0,0, + 0,1376,1377,5,108,0,0,1377,1378,5,2,0,0,1378,1379,3,234,117,0,1379,1380, + 5,3,0,0,1380,1488,1,0,0,0,1381,1382,5,109,0,0,1382,1383,5,2,0,0,1383, + 1384,3,234,117,0,1384,1385,5,3,0,0,1385,1488,1,0,0,0,1386,1387,5,110, + 0,0,1387,1388,5,2,0,0,1388,1389,3,234,117,0,1389,1390,5,3,0,0,1390,1488, + 1,0,0,0,1391,1392,5,111,0,0,1392,1393,5,2,0,0,1393,1394,3,234,117,0,1394, + 1395,5,3,0,0,1395,1488,1,0,0,0,1396,1397,5,112,0,0,1397,1488,5,165,0, + 0,1398,1399,5,113,0,0,1399,1488,5,165,0,0,1400,1401,5,114,0,0,1401,1488, + 5,165,0,0,1402,1403,5,119,0,0,1403,1404,5,2,0,0,1404,1405,3,234,117,0, + 1405,1406,5,3,0,0,1406,1488,1,0,0,0,1407,1408,5,115,0,0,1408,1409,5,2, + 0,0,1409,1410,3,234,117,0,1410,1411,5,3,0,0,1411,1488,1,0,0,0,1412,1413, + 5,116,0,0,1413,1414,5,2,0,0,1414,1415,3,234,117,0,1415,1416,5,3,0,0,1416, + 1488,1,0,0,0,1417,1418,5,117,0,0,1418,1419,5,2,0,0,1419,1420,3,234,117, + 0,1420,1421,5,3,0,0,1421,1488,1,0,0,0,1422,1423,5,118,0,0,1423,1424,5, + 2,0,0,1424,1425,3,234,117,0,1425,1426,5,3,0,0,1426,1488,1,0,0,0,1427, + 1428,5,120,0,0,1428,1488,3,152,76,0,1429,1430,5,121,0,0,1430,1431,5,2, + 0,0,1431,1432,3,234,117,0,1432,1433,5,8,0,0,1433,1434,3,234,117,0,1434, + 1435,5,8,0,0,1435,1436,3,234,117,0,1436,1437,5,3,0,0,1437,1488,1,0,0, + 0,1438,1439,5,122,0,0,1439,1440,5,2,0,0,1440,1441,3,234,117,0,1441,1442, + 5,8,0,0,1442,1443,3,234,117,0,1443,1444,5,3,0,0,1444,1488,1,0,0,0,1445, + 1446,5,123,0,0,1446,1447,5,2,0,0,1447,1448,3,234,117,0,1448,1449,5,8, + 0,0,1449,1450,3,234,117,0,1450,1451,5,3,0,0,1451,1488,1,0,0,0,1452,1453, + 5,124,0,0,1453,1454,5,2,0,0,1454,1455,3,234,117,0,1455,1456,5,8,0,0,1456, + 1457,3,234,117,0,1457,1458,5,3,0,0,1458,1488,1,0,0,0,1459,1460,5,125, + 0,0,1460,1461,5,2,0,0,1461,1462,3,234,117,0,1462,1463,5,3,0,0,1463,1488, + 1,0,0,0,1464,1465,5,126,0,0,1465,1466,5,2,0,0,1466,1467,3,234,117,0,1467, + 1468,5,3,0,0,1468,1488,1,0,0,0,1469,1470,5,127,0,0,1470,1471,5,2,0,0, + 1471,1472,3,234,117,0,1472,1473,5,3,0,0,1473,1488,1,0,0,0,1474,1475,5, + 128,0,0,1475,1476,5,2,0,0,1476,1477,3,234,117,0,1477,1478,5,3,0,0,1478, + 1488,1,0,0,0,1479,1480,5,129,0,0,1480,1481,5,2,0,0,1481,1482,3,234,117, + 0,1482,1483,5,3,0,0,1483,1488,1,0,0,0,1484,1488,3,272,136,0,1485,1488, + 3,280,140,0,1486,1488,3,282,141,0,1487,1233,1,0,0,0,1487,1234,1,0,0,0, + 1487,1239,1,0,0,0,1487,1240,1,0,0,0,1487,1247,1,0,0,0,1487,1252,1,0,0, + 0,1487,1257,1,0,0,0,1487,1262,1,0,0,0,1487,1267,1,0,0,0,1487,1275,1,0, + 0,0,1487,1277,1,0,0,0,1487,1282,1,0,0,0,1487,1287,1,0,0,0,1487,1292,1, + 0,0,0,1487,1297,1,0,0,0,1487,1299,1,0,0,0,1487,1300,1,0,0,0,1487,1305, + 1,0,0,0,1487,1306,1,0,0,0,1487,1311,1,0,0,0,1487,1316,1,0,0,0,1487,1321, + 1,0,0,0,1487,1328,1,0,0,0,1487,1335,1,0,0,0,1487,1342,1,0,0,0,1487,1349, + 1,0,0,0,1487,1356,1,0,0,0,1487,1361,1,0,0,0,1487,1366,1,0,0,0,1487,1371, + 1,0,0,0,1487,1376,1,0,0,0,1487,1381,1,0,0,0,1487,1386,1,0,0,0,1487,1391, + 1,0,0,0,1487,1396,1,0,0,0,1487,1398,1,0,0,0,1487,1400,1,0,0,0,1487,1402, + 1,0,0,0,1487,1407,1,0,0,0,1487,1412,1,0,0,0,1487,1417,1,0,0,0,1487,1422, + 1,0,0,0,1487,1427,1,0,0,0,1487,1429,1,0,0,0,1487,1438,1,0,0,0,1487,1445, + 1,0,0,0,1487,1452,1,0,0,0,1487,1459,1,0,0,0,1487,1464,1,0,0,0,1487,1469, + 1,0,0,0,1487,1474,1,0,0,0,1487,1479,1,0,0,0,1487,1484,1,0,0,0,1487,1485, + 1,0,0,0,1487,1486,1,0,0,0,1488,271,1,0,0,0,1489,1490,5,130,0,0,1490,1491, + 5,2,0,0,1491,1492,3,234,117,0,1492,1493,5,8,0,0,1493,1496,3,234,117,0, + 1494,1495,5,8,0,0,1495,1497,3,234,117,0,1496,1494,1,0,0,0,1496,1497,1, + 0,0,0,1497,1498,1,0,0,0,1498,1499,5,3,0,0,1499,273,1,0,0,0,1500,1501, + 5,81,0,0,1501,1502,5,2,0,0,1502,1503,3,234,117,0,1503,1504,5,3,0,0,1504, + 275,1,0,0,0,1505,1506,5,131,0,0,1506,1507,5,2,0,0,1507,1508,3,234,117, + 0,1508,1509,5,8,0,0,1509,1512,3,234,117,0,1510,1511,5,8,0,0,1511,1513, + 3,234,117,0,1512,1510,1,0,0,0,1512,1513,1,0,0,0,1513,1514,1,0,0,0,1514, + 1515,5,3,0,0,1515,277,1,0,0,0,1516,1517,5,132,0,0,1517,1518,5,2,0,0,1518, + 1519,3,234,117,0,1519,1520,5,8,0,0,1520,1521,3,234,117,0,1521,1522,5, + 8,0,0,1522,1525,3,234,117,0,1523,1524,5,8,0,0,1524,1526,3,234,117,0,1525, + 1523,1,0,0,0,1525,1526,1,0,0,0,1526,1527,1,0,0,0,1527,1528,5,3,0,0,1528, + 279,1,0,0,0,1529,1530,5,133,0,0,1530,1531,3,110,55,0,1531,281,1,0,0,0, + 1532,1533,5,78,0,0,1533,1534,5,133,0,0,1534,1535,3,110,55,0,1535,283, + 1,0,0,0,1536,1537,5,134,0,0,1537,1539,5,2,0,0,1538,1540,5,33,0,0,1539, + 1538,1,0,0,0,1539,1540,1,0,0,0,1540,1543,1,0,0,0,1541,1544,5,1,0,0,1542, + 1544,3,234,117,0,1543,1541,1,0,0,0,1543,1542,1,0,0,0,1544,1545,1,0,0, + 0,1545,1609,5,3,0,0,1546,1547,5,135,0,0,1547,1549,5,2,0,0,1548,1550,5, + 33,0,0,1549,1548,1,0,0,0,1549,1550,1,0,0,0,1550,1551,1,0,0,0,1551,1552, + 3,234,117,0,1552,1553,5,3,0,0,1553,1609,1,0,0,0,1554,1555,5,136,0,0,1555, + 1557,5,2,0,0,1556,1558,5,33,0,0,1557,1556,1,0,0,0,1557,1558,1,0,0,0,1558, + 1559,1,0,0,0,1559,1560,3,234,117,0,1560,1561,5,3,0,0,1561,1609,1,0,0, + 0,1562,1563,5,137,0,0,1563,1565,5,2,0,0,1564,1566,5,33,0,0,1565,1564, + 1,0,0,0,1565,1566,1,0,0,0,1566,1567,1,0,0,0,1567,1568,3,234,117,0,1568, + 1569,5,3,0,0,1569,1609,1,0,0,0,1570,1571,5,138,0,0,1571,1573,5,2,0,0, + 1572,1574,5,33,0,0,1573,1572,1,0,0,0,1573,1574,1,0,0,0,1574,1575,1,0, + 0,0,1575,1576,3,234,117,0,1576,1577,5,3,0,0,1577,1609,1,0,0,0,1578,1579, + 5,139,0,0,1579,1581,5,2,0,0,1580,1582,5,33,0,0,1581,1580,1,0,0,0,1581, + 1582,1,0,0,0,1582,1583,1,0,0,0,1583,1584,3,234,117,0,1584,1585,5,3,0, + 0,1585,1609,1,0,0,0,1586,1587,5,140,0,0,1587,1589,5,2,0,0,1588,1590,5, + 33,0,0,1589,1588,1,0,0,0,1589,1590,1,0,0,0,1590,1591,1,0,0,0,1591,1592, + 3,234,117,0,1592,1593,5,3,0,0,1593,1609,1,0,0,0,1594,1595,5,43,0,0,1595, + 1597,5,2,0,0,1596,1598,5,33,0,0,1597,1596,1,0,0,0,1597,1598,1,0,0,0,1598, + 1599,1,0,0,0,1599,1604,3,234,117,0,1600,1601,5,6,0,0,1601,1602,5,141, + 0,0,1602,1603,5,20,0,0,1603,1605,3,300,150,0,1604,1600,1,0,0,0,1604,1605, + 1,0,0,0,1605,1606,1,0,0,0,1606,1607,5,3,0,0,1607,1609,1,0,0,0,1608,1536, + 1,0,0,0,1608,1546,1,0,0,0,1608,1554,1,0,0,0,1608,1562,1,0,0,0,1608,1570, + 1,0,0,0,1608,1578,1,0,0,0,1608,1586,1,0,0,0,1608,1594,1,0,0,0,1609,285, + 1,0,0,0,1610,1612,3,302,151,0,1611,1613,3,150,75,0,1612,1611,1,0,0,0, + 1612,1613,1,0,0,0,1613,287,1,0,0,0,1614,1618,3,300,150,0,1615,1619,5, + 148,0,0,1616,1617,5,27,0,0,1617,1619,3,302,151,0,1618,1615,1,0,0,0,1618, + 1616,1,0,0,0,1618,1619,1,0,0,0,1619,289,1,0,0,0,1620,1624,3,292,146,0, + 1621,1624,3,294,147,0,1622,1624,3,296,148,0,1623,1620,1,0,0,0,1623,1621, + 1,0,0,0,1623,1622,1,0,0,0,1624,291,1,0,0,0,1625,1626,7,4,0,0,1626,293, + 1,0,0,0,1627,1628,7,5,0,0,1628,295,1,0,0,0,1629,1630,7,6,0,0,1630,297, + 1,0,0,0,1631,1632,7,7,0,0,1632,299,1,0,0,0,1633,1634,7,8,0,0,1634,301, + 1,0,0,0,1635,1637,5,149,0,0,1636,1635,1,0,0,0,1636,1637,1,0,0,0,1637, + 1640,1,0,0,0,1638,1641,3,308,154,0,1639,1641,3,304,152,0,1640,1638,1, + 0,0,0,1640,1639,1,0,0,0,1641,303,1,0,0,0,1642,1645,3,310,155,0,1643,1645, + 3,312,156,0,1644,1642,1,0,0,0,1644,1643,1,0,0,0,1645,305,1,0,0,0,1646, + 1647,7,9,0,0,1647,307,1,0,0,0,1648,1649,5,142,0,0,1649,309,1,0,0,0,1650, + 1651,5,144,0,0,1651,311,1,0,0,0,1652,1653,5,143,0,0,1653,313,1,0,0,0, + 162,316,325,331,333,347,360,365,368,372,387,396,402,406,412,415,420,424, + 432,441,451,456,459,462,465,471,479,484,490,496,501,507,509,513,516,520, + 523,527,530,534,537,541,544,548,551,553,566,572,574,587,591,596,600,606, + 612,618,626,634,654,658,661,666,682,687,696,707,711,714,718,725,732,734, + 739,744,749,754,757,762,764,774,785,802,809,819,823,829,838,843,850,860, + 869,877,884,889,898,903,907,914,916,924,927,935,939,944,951,962,965,970, + 974,989,996,1008,1016,1021,1026,1038,1047,1050,1053,1060,1062,1068,1076, + 1086,1094,1100,1104,1108,1112,1122,1131,1139,1162,1170,1178,1186,1191, + 1198,1203,1218,1227,1273,1487,1496,1512,1525,1539,1543,1549,1557,1565, + 1573,1581,1589,1597,1604,1608,1612,1618,1623,1636,1640,1644 + }; + staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); antlr4::atn::ATNDeserializer deserializer; staticData->atn = deserializer.deserialize(staticData->serializedATN); const size_t count = staticData->atn->getNumberOfDecisions(); staticData->decisionToDFA.reserve(count); - for (size_t i = 0; i < count; i++) { - staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), - i); + for (size_t i = 0; i < count; i++) { + staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), i); } sparqlautomaticParserStaticData = staticData.release(); } -} // namespace +} -SparqlAutomaticParser::SparqlAutomaticParser(TokenStream* input) - : SparqlAutomaticParser(input, antlr4::atn::ParserATNSimulatorOptions()) {} +SparqlAutomaticParser::SparqlAutomaticParser(TokenStream *input) : SparqlAutomaticParser(input, antlr4::atn::ParserATNSimulatorOptions()) {} -SparqlAutomaticParser::SparqlAutomaticParser( - TokenStream* input, const antlr4::atn::ParserATNSimulatorOptions& options) - : Parser(input) { +SparqlAutomaticParser::SparqlAutomaticParser(TokenStream *input, const antlr4::atn::ParserATNSimulatorOptions &options) : Parser(input) { SparqlAutomaticParser::initialize(); - _interpreter = new atn::ParserATNSimulator( - this, *sparqlautomaticParserStaticData->atn, - sparqlautomaticParserStaticData->decisionToDFA, - sparqlautomaticParserStaticData->sharedContextCache, options); + _interpreter = new atn::ParserATNSimulator(this, *sparqlautomaticParserStaticData->atn, sparqlautomaticParserStaticData->decisionToDFA, sparqlautomaticParserStaticData->sharedContextCache, options); } -SparqlAutomaticParser::~SparqlAutomaticParser() { delete _interpreter; } +SparqlAutomaticParser::~SparqlAutomaticParser() { + delete _interpreter; +} const atn::ATN& SparqlAutomaticParser::getATN() const { return *sparqlautomaticParserStaticData->atn; @@ -1643,55 +767,52 @@ antlr4::atn::SerializedATNView SparqlAutomaticParser::getSerializedATN() const { return sparqlautomaticParserStaticData->serializedATN; } -//----------------- QueryOrUpdateContext -//------------------------------------------------------------------ -SparqlAutomaticParser::QueryOrUpdateContext::QueryOrUpdateContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +//----------------- QueryOrUpdateContext ------------------------------------------------------------------ + +SparqlAutomaticParser::QueryOrUpdateContext::QueryOrUpdateContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::QueryOrUpdateContext::EOF() { return getToken(SparqlAutomaticParser::EOF, 0); } -SparqlAutomaticParser::QueryContext* -SparqlAutomaticParser::QueryOrUpdateContext::query() { +SparqlAutomaticParser::QueryContext* SparqlAutomaticParser::QueryOrUpdateContext::query() { return getRuleContext(0); } -SparqlAutomaticParser::UpdateContext* -SparqlAutomaticParser::QueryOrUpdateContext::update() { +SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::QueryOrUpdateContext::update() { return getRuleContext(0); } + size_t SparqlAutomaticParser::QueryOrUpdateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQueryOrUpdate; } -void SparqlAutomaticParser::QueryOrUpdateContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterQueryOrUpdate(this); +void SparqlAutomaticParser::QueryOrUpdateContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterQueryOrUpdate(this); } -void SparqlAutomaticParser::QueryOrUpdateContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitQueryOrUpdate(this); +void SparqlAutomaticParser::QueryOrUpdateContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitQueryOrUpdate(this); } -std::any SparqlAutomaticParser::QueryOrUpdateContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::QueryOrUpdateContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQueryOrUpdate(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::QueryOrUpdateContext* -SparqlAutomaticParser::queryOrUpdate() { - QueryOrUpdateContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::QueryOrUpdateContext* SparqlAutomaticParser::queryOrUpdate() { + QueryOrUpdateContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 0, SparqlAutomaticParser::RuleQueryOrUpdate); #if __cplusplus > 201703L @@ -1705,27 +826,27 @@ SparqlAutomaticParser::queryOrUpdate() { enterOuterAlt(_localctx, 1); setState(316); _errHandler->sync(this); - switch (getInterpreter()->adaptivePredict( - _input, 0, _ctx)) { - case 1: { - setState(314); - query(); - break; - } + switch (getInterpreter()->adaptivePredict(_input, 0, _ctx)) { + case 1: { + setState(314); + query(); + break; + } - case 2: { - setState(315); - update(); - break; - } + case 2: { + setState(315); + update(); + break; + } - default: - break; + default: + break; } setState(318); match(SparqlAutomaticParser::EOF); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1734,61 +855,55 @@ SparqlAutomaticParser::queryOrUpdate() { return _localctx; } -//----------------- QueryContext -//------------------------------------------------------------------ +//----------------- QueryContext ------------------------------------------------------------------ -SparqlAutomaticParser::QueryContext::QueryContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::QueryContext::QueryContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PrologueContext* -SparqlAutomaticParser::QueryContext::prologue() { +SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::QueryContext::prologue() { return getRuleContext(0); } -SparqlAutomaticParser::ValuesClauseContext* -SparqlAutomaticParser::QueryContext::valuesClause() { +SparqlAutomaticParser::ValuesClauseContext* SparqlAutomaticParser::QueryContext::valuesClause() { return getRuleContext(0); } -SparqlAutomaticParser::SelectQueryContext* -SparqlAutomaticParser::QueryContext::selectQuery() { +SparqlAutomaticParser::SelectQueryContext* SparqlAutomaticParser::QueryContext::selectQuery() { return getRuleContext(0); } -SparqlAutomaticParser::ConstructQueryContext* -SparqlAutomaticParser::QueryContext::constructQuery() { +SparqlAutomaticParser::ConstructQueryContext* SparqlAutomaticParser::QueryContext::constructQuery() { return getRuleContext(0); } -SparqlAutomaticParser::DescribeQueryContext* -SparqlAutomaticParser::QueryContext::describeQuery() { +SparqlAutomaticParser::DescribeQueryContext* SparqlAutomaticParser::QueryContext::describeQuery() { return getRuleContext(0); } -SparqlAutomaticParser::AskQueryContext* -SparqlAutomaticParser::QueryContext::askQuery() { +SparqlAutomaticParser::AskQueryContext* SparqlAutomaticParser::QueryContext::askQuery() { return getRuleContext(0); } + size_t SparqlAutomaticParser::QueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuery; } -void SparqlAutomaticParser::QueryContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterQuery(this); +void SparqlAutomaticParser::QueryContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterQuery(this); } -void SparqlAutomaticParser::QueryContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitQuery(this); +void SparqlAutomaticParser::QueryContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitQuery(this); } -std::any SparqlAutomaticParser::QueryContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::QueryContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuery(this); else @@ -1796,8 +911,7 @@ std::any SparqlAutomaticParser::QueryContext::accept( } SparqlAutomaticParser::QueryContext* SparqlAutomaticParser::query() { - QueryContext* _localctx = - _tracker.createInstance(_ctx, getState()); + QueryContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 2, SparqlAutomaticParser::RuleQuery); #if __cplusplus > 201703L @@ -1838,13 +952,14 @@ SparqlAutomaticParser::QueryContext* SparqlAutomaticParser::query() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(327); valuesClause(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1853,51 +968,47 @@ SparqlAutomaticParser::QueryContext* SparqlAutomaticParser::query() { return _localctx; } -//----------------- PrologueContext -//------------------------------------------------------------------ +//----------------- PrologueContext ------------------------------------------------------------------ -SparqlAutomaticParser::PrologueContext::PrologueContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PrologueContext::PrologueContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::PrologueContext::baseDecl() { +std::vector SparqlAutomaticParser::PrologueContext::baseDecl() { return getRuleContexts(); } -SparqlAutomaticParser::BaseDeclContext* -SparqlAutomaticParser::PrologueContext::baseDecl(size_t i) { +SparqlAutomaticParser::BaseDeclContext* SparqlAutomaticParser::PrologueContext::baseDecl(size_t i) { return getRuleContext(i); } -std::vector -SparqlAutomaticParser::PrologueContext::prefixDecl() { +std::vector SparqlAutomaticParser::PrologueContext::prefixDecl() { return getRuleContexts(); } -SparqlAutomaticParser::PrefixDeclContext* -SparqlAutomaticParser::PrologueContext::prefixDecl(size_t i) { +SparqlAutomaticParser::PrefixDeclContext* SparqlAutomaticParser::PrologueContext::prefixDecl(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::PrologueContext::getRuleIndex() const { return SparqlAutomaticParser::RulePrologue; } -void SparqlAutomaticParser::PrologueContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPrologue(this); +void SparqlAutomaticParser::PrologueContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPrologue(this); } -void SparqlAutomaticParser::PrologueContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPrologue(this); +void SparqlAutomaticParser::PrologueContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPrologue(this); } -std::any SparqlAutomaticParser::PrologueContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PrologueContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPrologue(this); else @@ -1905,8 +1016,7 @@ std::any SparqlAutomaticParser::PrologueContext::accept( } SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::prologue() { - PrologueContext* _localctx = - _tracker.createInstance(_ctx, getState()); + PrologueContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 4, SparqlAutomaticParser::RulePrologue); size_t _la = 0; @@ -1924,7 +1034,7 @@ SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::prologue() { _la = _input->LA(1); while (_la == SparqlAutomaticParser::BASE - || _la == SparqlAutomaticParser::PREFIX) { + || _la == SparqlAutomaticParser::PREFIX) { setState(331); _errHandler->sync(this); switch (_input->LA(1)) { @@ -1940,15 +1050,16 @@ SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::prologue() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(335); _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1957,40 +1068,39 @@ SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::prologue() { return _localctx; } -//----------------- BaseDeclContext -//------------------------------------------------------------------ +//----------------- BaseDeclContext ------------------------------------------------------------------ -SparqlAutomaticParser::BaseDeclContext::BaseDeclContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::BaseDeclContext::BaseDeclContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::BaseDeclContext::BASE() { return getToken(SparqlAutomaticParser::BASE, 0); } -SparqlAutomaticParser::IrirefContext* -SparqlAutomaticParser::BaseDeclContext::iriref() { +SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::BaseDeclContext::iriref() { return getRuleContext(0); } + size_t SparqlAutomaticParser::BaseDeclContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBaseDecl; } -void SparqlAutomaticParser::BaseDeclContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterBaseDecl(this); +void SparqlAutomaticParser::BaseDeclContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterBaseDecl(this); } -void SparqlAutomaticParser::BaseDeclContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitBaseDecl(this); +void SparqlAutomaticParser::BaseDeclContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitBaseDecl(this); } -std::any SparqlAutomaticParser::BaseDeclContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::BaseDeclContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBaseDecl(this); else @@ -1998,8 +1108,7 @@ std::any SparqlAutomaticParser::BaseDeclContext::accept( } SparqlAutomaticParser::BaseDeclContext* SparqlAutomaticParser::baseDecl() { - BaseDeclContext* _localctx = - _tracker.createInstance(_ctx, getState()); + BaseDeclContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 6, SparqlAutomaticParser::RuleBaseDecl); #if __cplusplus > 201703L @@ -2015,8 +1124,9 @@ SparqlAutomaticParser::BaseDeclContext* SparqlAutomaticParser::baseDecl() { match(SparqlAutomaticParser::BASE); setState(337); iriref(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2025,12 +1135,11 @@ SparqlAutomaticParser::BaseDeclContext* SparqlAutomaticParser::baseDecl() { return _localctx; } -//----------------- PrefixDeclContext -//------------------------------------------------------------------ +//----------------- PrefixDeclContext ------------------------------------------------------------------ -SparqlAutomaticParser::PrefixDeclContext::PrefixDeclContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PrefixDeclContext::PrefixDeclContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::PrefixDeclContext::PREFIX() { return getToken(SparqlAutomaticParser::PREFIX, 0); @@ -2040,29 +1149,29 @@ tree::TerminalNode* SparqlAutomaticParser::PrefixDeclContext::PNAME_NS() { return getToken(SparqlAutomaticParser::PNAME_NS, 0); } -SparqlAutomaticParser::IrirefContext* -SparqlAutomaticParser::PrefixDeclContext::iriref() { +SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::PrefixDeclContext::iriref() { return getRuleContext(0); } + size_t SparqlAutomaticParser::PrefixDeclContext::getRuleIndex() const { return SparqlAutomaticParser::RulePrefixDecl; } -void SparqlAutomaticParser::PrefixDeclContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPrefixDecl(this); +void SparqlAutomaticParser::PrefixDeclContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPrefixDecl(this); } -void SparqlAutomaticParser::PrefixDeclContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPrefixDecl(this); +void SparqlAutomaticParser::PrefixDeclContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPrefixDecl(this); } -std::any SparqlAutomaticParser::PrefixDeclContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PrefixDeclContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPrefixDecl(this); else @@ -2070,8 +1179,7 @@ std::any SparqlAutomaticParser::PrefixDeclContext::accept( } SparqlAutomaticParser::PrefixDeclContext* SparqlAutomaticParser::prefixDecl() { - PrefixDeclContext* _localctx = - _tracker.createInstance(_ctx, getState()); + PrefixDeclContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 8, SparqlAutomaticParser::RulePrefixDecl); #if __cplusplus > 201703L @@ -2089,8 +1197,9 @@ SparqlAutomaticParser::PrefixDeclContext* SparqlAutomaticParser::prefixDecl() { match(SparqlAutomaticParser::PNAME_NS); setState(341); iriref(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2099,66 +1208,59 @@ SparqlAutomaticParser::PrefixDeclContext* SparqlAutomaticParser::prefixDecl() { return _localctx; } -//----------------- SelectQueryContext -//------------------------------------------------------------------ +//----------------- SelectQueryContext ------------------------------------------------------------------ -SparqlAutomaticParser::SelectQueryContext::SelectQueryContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::SelectQueryContext::SelectQueryContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::SelectClauseContext* -SparqlAutomaticParser::SelectQueryContext::selectClause() { +SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::SelectQueryContext::selectClause() { return getRuleContext(0); } -SparqlAutomaticParser::WhereClauseContext* -SparqlAutomaticParser::SelectQueryContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::SelectQueryContext::whereClause() { return getRuleContext(0); } -SparqlAutomaticParser::SolutionModifierContext* -SparqlAutomaticParser::SelectQueryContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::SelectQueryContext::solutionModifier() { return getRuleContext(0); } -std::vector -SparqlAutomaticParser::SelectQueryContext::datasetClause() { +std::vector SparqlAutomaticParser::SelectQueryContext::datasetClause() { return getRuleContexts(); } -SparqlAutomaticParser::DatasetClauseContext* -SparqlAutomaticParser::SelectQueryContext::datasetClause(size_t i) { +SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::SelectQueryContext::datasetClause(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::SelectQueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSelectQuery; } -void SparqlAutomaticParser::SelectQueryContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterSelectQuery(this); +void SparqlAutomaticParser::SelectQueryContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterSelectQuery(this); } -void SparqlAutomaticParser::SelectQueryContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitSelectQuery(this); +void SparqlAutomaticParser::SelectQueryContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitSelectQuery(this); } -std::any SparqlAutomaticParser::SelectQueryContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::SelectQueryContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSelectQuery(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SelectQueryContext* -SparqlAutomaticParser::selectQuery() { - SelectQueryContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SelectQueryContext* SparqlAutomaticParser::selectQuery() { + SelectQueryContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 10, SparqlAutomaticParser::RuleSelectQuery); size_t _la = 0; @@ -2187,8 +1289,9 @@ SparqlAutomaticParser::selectQuery() { whereClause(); setState(351); solutionModifier(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2197,51 +1300,47 @@ SparqlAutomaticParser::selectQuery() { return _localctx; } -//----------------- SubSelectContext -//------------------------------------------------------------------ +//----------------- SubSelectContext ------------------------------------------------------------------ -SparqlAutomaticParser::SubSelectContext::SubSelectContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::SubSelectContext::SubSelectContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::SelectClauseContext* -SparqlAutomaticParser::SubSelectContext::selectClause() { +SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::SubSelectContext::selectClause() { return getRuleContext(0); } -SparqlAutomaticParser::WhereClauseContext* -SparqlAutomaticParser::SubSelectContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::SubSelectContext::whereClause() { return getRuleContext(0); } -SparqlAutomaticParser::SolutionModifierContext* -SparqlAutomaticParser::SubSelectContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::SubSelectContext::solutionModifier() { return getRuleContext(0); } -SparqlAutomaticParser::ValuesClauseContext* -SparqlAutomaticParser::SubSelectContext::valuesClause() { +SparqlAutomaticParser::ValuesClauseContext* SparqlAutomaticParser::SubSelectContext::valuesClause() { return getRuleContext(0); } + size_t SparqlAutomaticParser::SubSelectContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSubSelect; } -void SparqlAutomaticParser::SubSelectContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterSubSelect(this); +void SparqlAutomaticParser::SubSelectContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterSubSelect(this); } -void SparqlAutomaticParser::SubSelectContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitSubSelect(this); +void SparqlAutomaticParser::SubSelectContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitSubSelect(this); } -std::any SparqlAutomaticParser::SubSelectContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::SubSelectContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSubSelect(this); else @@ -2249,8 +1348,7 @@ std::any SparqlAutomaticParser::SubSelectContext::accept( } SparqlAutomaticParser::SubSelectContext* SparqlAutomaticParser::subSelect() { - SubSelectContext* _localctx = - _tracker.createInstance(_ctx, getState()); + SubSelectContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 12, SparqlAutomaticParser::RuleSubSelect); #if __cplusplus > 201703L @@ -2270,8 +1368,9 @@ SparqlAutomaticParser::SubSelectContext* SparqlAutomaticParser::subSelect() { solutionModifier(); setState(356); valuesClause(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2280,12 +1379,11 @@ SparqlAutomaticParser::SubSelectContext* SparqlAutomaticParser::subSelect() { return _localctx; } -//----------------- SelectClauseContext -//------------------------------------------------------------------ +//----------------- SelectClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::SelectClauseContext::SelectClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::SelectClauseContext::SelectClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::SelectClauseContext::SELECT() { return getToken(SparqlAutomaticParser::SELECT, 0); @@ -2299,44 +1397,41 @@ tree::TerminalNode* SparqlAutomaticParser::SelectClauseContext::REDUCED() { return getToken(SparqlAutomaticParser::REDUCED, 0); } -std::vector -SparqlAutomaticParser::SelectClauseContext::varOrAlias() { +std::vector SparqlAutomaticParser::SelectClauseContext::varOrAlias() { return getRuleContexts(); } -SparqlAutomaticParser::VarOrAliasContext* -SparqlAutomaticParser::SelectClauseContext::varOrAlias(size_t i) { +SparqlAutomaticParser::VarOrAliasContext* SparqlAutomaticParser::SelectClauseContext::varOrAlias(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::SelectClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSelectClause; } -void SparqlAutomaticParser::SelectClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterSelectClause(this); +void SparqlAutomaticParser::SelectClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterSelectClause(this); } -void SparqlAutomaticParser::SelectClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitSelectClause(this); +void SparqlAutomaticParser::SelectClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitSelectClause(this); } -std::any SparqlAutomaticParser::SelectClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::SelectClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSelectClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SelectClauseContext* -SparqlAutomaticParser::selectClause() { - SelectClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::selectClause() { + SelectClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 14, SparqlAutomaticParser::RuleSelectClause); size_t _la = 0; @@ -2357,14 +1452,15 @@ SparqlAutomaticParser::selectClause() { _la = _input->LA(1); if (_la == SparqlAutomaticParser::DISTINCT - || _la == SparqlAutomaticParser::REDUCED) { + || _la == SparqlAutomaticParser::REDUCED) { setState(359); _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::DISTINCT - || _la == SparqlAutomaticParser::REDUCED)) { - _errHandler->recoverInline(this); - } else { + || _la == SparqlAutomaticParser::REDUCED)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } @@ -2375,34 +1471,33 @@ SparqlAutomaticParser::selectClause() { case SparqlAutomaticParser::T__1: case SparqlAutomaticParser::VAR1: case SparqlAutomaticParser::VAR2: { - setState(363); + setState(363); _errHandler->sync(this); _la = _input->LA(1); do { setState(362); varOrAlias(); - setState(365); + setState(365); _errHandler->sync(this); _la = _input->LA(1); - } while (_la == SparqlAutomaticParser::T__1 || - _la == SparqlAutomaticParser::VAR1 + } while (_la == SparqlAutomaticParser::T__1 || _la == SparqlAutomaticParser::VAR1 - || _la == SparqlAutomaticParser::VAR2); + || _la == SparqlAutomaticParser::VAR2); break; } case SparqlAutomaticParser::T__0: { setState(367); - antlrcpp::downCast(_localctx)->asterisk = - match(SparqlAutomaticParser::T__0); + antlrcpp::downCast(_localctx)->asterisk = match(SparqlAutomaticParser::T__0); break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2411,41 +1506,39 @@ SparqlAutomaticParser::selectClause() { return _localctx; } -//----------------- VarOrAliasContext -//------------------------------------------------------------------ +//----------------- VarOrAliasContext ------------------------------------------------------------------ -SparqlAutomaticParser::VarOrAliasContext::VarOrAliasContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::VarOrAliasContext::VarOrAliasContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::VarOrAliasContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::VarOrAliasContext::var() { return getRuleContext(0); } -SparqlAutomaticParser::AliasContext* -SparqlAutomaticParser::VarOrAliasContext::alias() { +SparqlAutomaticParser::AliasContext* SparqlAutomaticParser::VarOrAliasContext::alias() { return getRuleContext(0); } + size_t SparqlAutomaticParser::VarOrAliasContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVarOrAlias; } -void SparqlAutomaticParser::VarOrAliasContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterVarOrAlias(this); +void SparqlAutomaticParser::VarOrAliasContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterVarOrAlias(this); } -void SparqlAutomaticParser::VarOrAliasContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitVarOrAlias(this); +void SparqlAutomaticParser::VarOrAliasContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitVarOrAlias(this); } -std::any SparqlAutomaticParser::VarOrAliasContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::VarOrAliasContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVarOrAlias(this); else @@ -2453,8 +1546,7 @@ std::any SparqlAutomaticParser::VarOrAliasContext::accept( } SparqlAutomaticParser::VarOrAliasContext* SparqlAutomaticParser::varOrAlias() { - VarOrAliasContext* _localctx = - _tracker.createInstance(_ctx, getState()); + VarOrAliasContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 16, SparqlAutomaticParser::RuleVarOrAlias); #if __cplusplus > 201703L @@ -2483,11 +1575,12 @@ SparqlAutomaticParser::VarOrAliasContext* SparqlAutomaticParser::varOrAlias() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2496,36 +1589,35 @@ SparqlAutomaticParser::VarOrAliasContext* SparqlAutomaticParser::varOrAlias() { return _localctx; } -//----------------- AliasContext -//------------------------------------------------------------------ +//----------------- AliasContext ------------------------------------------------------------------ -SparqlAutomaticParser::AliasContext::AliasContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::AliasContext::AliasContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::AliasWithoutBracketsContext* -SparqlAutomaticParser::AliasContext::aliasWithoutBrackets() { +SparqlAutomaticParser::AliasWithoutBracketsContext* SparqlAutomaticParser::AliasContext::aliasWithoutBrackets() { return getRuleContext(0); } + size_t SparqlAutomaticParser::AliasContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAlias; } -void SparqlAutomaticParser::AliasContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterAlias(this); +void SparqlAutomaticParser::AliasContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterAlias(this); } -void SparqlAutomaticParser::AliasContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitAlias(this); +void SparqlAutomaticParser::AliasContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitAlias(this); } -std::any SparqlAutomaticParser::AliasContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::AliasContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAlias(this); else @@ -2533,8 +1625,7 @@ std::any SparqlAutomaticParser::AliasContext::accept( } SparqlAutomaticParser::AliasContext* SparqlAutomaticParser::alias() { - AliasContext* _localctx = - _tracker.createInstance(_ctx, getState()); + AliasContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 18, SparqlAutomaticParser::RuleAlias); #if __cplusplus > 201703L @@ -2552,8 +1643,9 @@ SparqlAutomaticParser::AliasContext* SparqlAutomaticParser::alias() { aliasWithoutBrackets(); setState(376); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2562,15 +1654,13 @@ SparqlAutomaticParser::AliasContext* SparqlAutomaticParser::alias() { return _localctx; } -//----------------- AliasWithoutBracketsContext -//------------------------------------------------------------------ +//----------------- AliasWithoutBracketsContext ------------------------------------------------------------------ -SparqlAutomaticParser::AliasWithoutBracketsContext::AliasWithoutBracketsContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::AliasWithoutBracketsContext::AliasWithoutBracketsContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::AliasWithoutBracketsContext::expression() { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::AliasWithoutBracketsContext::expression() { return getRuleContext(0); } @@ -2578,41 +1668,37 @@ tree::TerminalNode* SparqlAutomaticParser::AliasWithoutBracketsContext::AS() { return getToken(SparqlAutomaticParser::AS, 0); } -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::AliasWithoutBracketsContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::AliasWithoutBracketsContext::var() { return getRuleContext(0); } -size_t SparqlAutomaticParser::AliasWithoutBracketsContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::AliasWithoutBracketsContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAliasWithoutBrackets; } -void SparqlAutomaticParser::AliasWithoutBracketsContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::AliasWithoutBracketsContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterAliasWithoutBrackets(this); } -void SparqlAutomaticParser::AliasWithoutBracketsContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitAliasWithoutBrackets(this); +void SparqlAutomaticParser::AliasWithoutBracketsContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitAliasWithoutBrackets(this); } -std::any SparqlAutomaticParser::AliasWithoutBracketsContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::AliasWithoutBracketsContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAliasWithoutBrackets(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::AliasWithoutBracketsContext* -SparqlAutomaticParser::aliasWithoutBrackets() { - AliasWithoutBracketsContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::AliasWithoutBracketsContext* SparqlAutomaticParser::aliasWithoutBrackets() { + AliasWithoutBracketsContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 20, SparqlAutomaticParser::RuleAliasWithoutBrackets); #if __cplusplus > 201703L @@ -2630,8 +1716,9 @@ SparqlAutomaticParser::aliasWithoutBrackets() { match(SparqlAutomaticParser::AS); setState(380); var(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2640,29 +1727,25 @@ SparqlAutomaticParser::aliasWithoutBrackets() { return _localctx; } -//----------------- ConstructQueryContext -//------------------------------------------------------------------ +//----------------- ConstructQueryContext ------------------------------------------------------------------ -SparqlAutomaticParser::ConstructQueryContext::ConstructQueryContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ConstructQueryContext::ConstructQueryContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::ConstructQueryContext::CONSTRUCT() { return getToken(SparqlAutomaticParser::CONSTRUCT, 0); } -SparqlAutomaticParser::ConstructTemplateContext* -SparqlAutomaticParser::ConstructQueryContext::constructTemplate() { +SparqlAutomaticParser::ConstructTemplateContext* SparqlAutomaticParser::ConstructQueryContext::constructTemplate() { return getRuleContext(0); } -SparqlAutomaticParser::WhereClauseContext* -SparqlAutomaticParser::ConstructQueryContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::ConstructQueryContext::whereClause() { return getRuleContext(0); } -SparqlAutomaticParser::SolutionModifierContext* -SparqlAutomaticParser::ConstructQueryContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::ConstructQueryContext::solutionModifier() { return getRuleContext(0); } @@ -2670,49 +1753,45 @@ tree::TerminalNode* SparqlAutomaticParser::ConstructQueryContext::WHERE() { return getToken(SparqlAutomaticParser::WHERE, 0); } -std::vector -SparqlAutomaticParser::ConstructQueryContext::datasetClause() { +std::vector SparqlAutomaticParser::ConstructQueryContext::datasetClause() { return getRuleContexts(); } -SparqlAutomaticParser::DatasetClauseContext* -SparqlAutomaticParser::ConstructQueryContext::datasetClause(size_t i) { +SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::ConstructQueryContext::datasetClause(size_t i) { return getRuleContext(i); } -SparqlAutomaticParser::TriplesTemplateContext* -SparqlAutomaticParser::ConstructQueryContext::triplesTemplate() { +SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::ConstructQueryContext::triplesTemplate() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ConstructQueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConstructQuery; } -void SparqlAutomaticParser::ConstructQueryContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterConstructQuery(this); +void SparqlAutomaticParser::ConstructQueryContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterConstructQuery(this); } -void SparqlAutomaticParser::ConstructQueryContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitConstructQuery(this); +void SparqlAutomaticParser::ConstructQueryContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitConstructQuery(this); } -std::any SparqlAutomaticParser::ConstructQueryContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ConstructQueryContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConstructQuery(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConstructQueryContext* -SparqlAutomaticParser::constructQuery() { - ConstructQueryContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ConstructQueryContext* SparqlAutomaticParser::constructQuery() { + ConstructQueryContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 22, SparqlAutomaticParser::RuleConstructQuery); size_t _la = 0; @@ -2770,9 +1849,9 @@ SparqlAutomaticParser::constructQuery() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(401); triplesTemplate(); } @@ -2783,11 +1862,12 @@ SparqlAutomaticParser::constructQuery() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2796,75 +1876,67 @@ SparqlAutomaticParser::constructQuery() { return _localctx; } -//----------------- DescribeQueryContext -//------------------------------------------------------------------ +//----------------- DescribeQueryContext ------------------------------------------------------------------ -SparqlAutomaticParser::DescribeQueryContext::DescribeQueryContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DescribeQueryContext::DescribeQueryContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::DescribeQueryContext::DESCRIBE() { return getToken(SparqlAutomaticParser::DESCRIBE, 0); } -SparqlAutomaticParser::SolutionModifierContext* -SparqlAutomaticParser::DescribeQueryContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::DescribeQueryContext::solutionModifier() { return getRuleContext(0); } -std::vector -SparqlAutomaticParser::DescribeQueryContext::datasetClause() { +std::vector SparqlAutomaticParser::DescribeQueryContext::datasetClause() { return getRuleContexts(); } -SparqlAutomaticParser::DatasetClauseContext* -SparqlAutomaticParser::DescribeQueryContext::datasetClause(size_t i) { +SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::DescribeQueryContext::datasetClause(size_t i) { return getRuleContext(i); } -SparqlAutomaticParser::WhereClauseContext* -SparqlAutomaticParser::DescribeQueryContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::DescribeQueryContext::whereClause() { return getRuleContext(0); } -std::vector -SparqlAutomaticParser::DescribeQueryContext::varOrIri() { +std::vector SparqlAutomaticParser::DescribeQueryContext::varOrIri() { return getRuleContexts(); } -SparqlAutomaticParser::VarOrIriContext* -SparqlAutomaticParser::DescribeQueryContext::varOrIri(size_t i) { +SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::DescribeQueryContext::varOrIri(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::DescribeQueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDescribeQuery; } -void SparqlAutomaticParser::DescribeQueryContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDescribeQuery(this); +void SparqlAutomaticParser::DescribeQueryContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDescribeQuery(this); } -void SparqlAutomaticParser::DescribeQueryContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDescribeQuery(this); +void SparqlAutomaticParser::DescribeQueryContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDescribeQuery(this); } -std::any SparqlAutomaticParser::DescribeQueryContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DescribeQueryContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDescribeQuery(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DescribeQueryContext* -SparqlAutomaticParser::describeQuery() { - DescribeQueryContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DescribeQueryContext* SparqlAutomaticParser::describeQuery() { + DescribeQueryContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 24, SparqlAutomaticParser::RuleDescribeQuery); size_t _la = 0; @@ -2888,17 +1960,17 @@ SparqlAutomaticParser::describeQuery() { case SparqlAutomaticParser::VAR1: case SparqlAutomaticParser::VAR2: case SparqlAutomaticParser::PREFIX_LANGTAG: { - setState(410); + setState(410); _errHandler->sync(this); _la = _input->LA(1); do { setState(409); varOrIri(); - setState(412); + setState(412); _errHandler->sync(this); _la = _input->LA(1); - } while ((((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0); + } while ((((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0); break; } @@ -2908,8 +1980,8 @@ SparqlAutomaticParser::describeQuery() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(420); _errHandler->sync(this); @@ -2927,14 +1999,15 @@ SparqlAutomaticParser::describeQuery() { _la = _input->LA(1); if (_la == SparqlAutomaticParser::T__3 - || _la == SparqlAutomaticParser::WHERE) { + || _la == SparqlAutomaticParser::WHERE) { setState(423); whereClause(); } setState(426); solutionModifier(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2943,55 +2016,51 @@ SparqlAutomaticParser::describeQuery() { return _localctx; } -//----------------- AskQueryContext -//------------------------------------------------------------------ +//----------------- AskQueryContext ------------------------------------------------------------------ -SparqlAutomaticParser::AskQueryContext::AskQueryContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::AskQueryContext::AskQueryContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::AskQueryContext::ASK() { return getToken(SparqlAutomaticParser::ASK, 0); } -SparqlAutomaticParser::WhereClauseContext* -SparqlAutomaticParser::AskQueryContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::AskQueryContext::whereClause() { return getRuleContext(0); } -SparqlAutomaticParser::SolutionModifierContext* -SparqlAutomaticParser::AskQueryContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::AskQueryContext::solutionModifier() { return getRuleContext(0); } -std::vector -SparqlAutomaticParser::AskQueryContext::datasetClause() { +std::vector SparqlAutomaticParser::AskQueryContext::datasetClause() { return getRuleContexts(); } -SparqlAutomaticParser::DatasetClauseContext* -SparqlAutomaticParser::AskQueryContext::datasetClause(size_t i) { +SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::AskQueryContext::datasetClause(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::AskQueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAskQuery; } -void SparqlAutomaticParser::AskQueryContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterAskQuery(this); +void SparqlAutomaticParser::AskQueryContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterAskQuery(this); } -void SparqlAutomaticParser::AskQueryContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitAskQuery(this); +void SparqlAutomaticParser::AskQueryContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitAskQuery(this); } -std::any SparqlAutomaticParser::AskQueryContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::AskQueryContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAskQuery(this); else @@ -2999,8 +2068,7 @@ std::any SparqlAutomaticParser::AskQueryContext::accept( } SparqlAutomaticParser::AskQueryContext* SparqlAutomaticParser::askQuery() { - AskQueryContext* _localctx = - _tracker.createInstance(_ctx, getState()); + AskQueryContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 26, SparqlAutomaticParser::RuleAskQuery); size_t _la = 0; @@ -3029,8 +2097,9 @@ SparqlAutomaticParser::AskQueryContext* SparqlAutomaticParser::askQuery() { whereClause(); setState(436); solutionModifier(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3039,55 +2108,51 @@ SparqlAutomaticParser::AskQueryContext* SparqlAutomaticParser::askQuery() { return _localctx; } -//----------------- DatasetClauseContext -//------------------------------------------------------------------ +//----------------- DatasetClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::DatasetClauseContext::DatasetClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DatasetClauseContext::DatasetClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::DatasetClauseContext::FROM() { return getToken(SparqlAutomaticParser::FROM, 0); } -SparqlAutomaticParser::DefaultGraphClauseContext* -SparqlAutomaticParser::DatasetClauseContext::defaultGraphClause() { +SparqlAutomaticParser::DefaultGraphClauseContext* SparqlAutomaticParser::DatasetClauseContext::defaultGraphClause() { return getRuleContext(0); } -SparqlAutomaticParser::NamedGraphClauseContext* -SparqlAutomaticParser::DatasetClauseContext::namedGraphClause() { +SparqlAutomaticParser::NamedGraphClauseContext* SparqlAutomaticParser::DatasetClauseContext::namedGraphClause() { return getRuleContext(0); } + size_t SparqlAutomaticParser::DatasetClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDatasetClause; } -void SparqlAutomaticParser::DatasetClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDatasetClause(this); +void SparqlAutomaticParser::DatasetClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDatasetClause(this); } -void SparqlAutomaticParser::DatasetClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDatasetClause(this); +void SparqlAutomaticParser::DatasetClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDatasetClause(this); } -std::any SparqlAutomaticParser::DatasetClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DatasetClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDatasetClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DatasetClauseContext* -SparqlAutomaticParser::datasetClause() { - DatasetClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::datasetClause() { + DatasetClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 28, SparqlAutomaticParser::RuleDatasetClause); #if __cplusplus > 201703L @@ -3119,11 +2184,12 @@ SparqlAutomaticParser::datasetClause() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3132,46 +2198,43 @@ SparqlAutomaticParser::datasetClause() { return _localctx; } -//----------------- DefaultGraphClauseContext -//------------------------------------------------------------------ +//----------------- DefaultGraphClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::DefaultGraphClauseContext::DefaultGraphClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DefaultGraphClauseContext::DefaultGraphClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::SourceSelectorContext* -SparqlAutomaticParser::DefaultGraphClauseContext::sourceSelector() { +SparqlAutomaticParser::SourceSelectorContext* SparqlAutomaticParser::DefaultGraphClauseContext::sourceSelector() { return getRuleContext(0); } + size_t SparqlAutomaticParser::DefaultGraphClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDefaultGraphClause; } -void SparqlAutomaticParser::DefaultGraphClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDefaultGraphClause(this); +void SparqlAutomaticParser::DefaultGraphClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDefaultGraphClause(this); } -void SparqlAutomaticParser::DefaultGraphClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDefaultGraphClause(this); +void SparqlAutomaticParser::DefaultGraphClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDefaultGraphClause(this); } -std::any SparqlAutomaticParser::DefaultGraphClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DefaultGraphClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDefaultGraphClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DefaultGraphClauseContext* -SparqlAutomaticParser::defaultGraphClause() { - DefaultGraphClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DefaultGraphClauseContext* SparqlAutomaticParser::defaultGraphClause() { + DefaultGraphClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 30, SparqlAutomaticParser::RuleDefaultGraphClause); #if __cplusplus > 201703L @@ -3185,8 +2248,9 @@ SparqlAutomaticParser::defaultGraphClause() { enterOuterAlt(_localctx, 1); setState(443); sourceSelector(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3195,50 +2259,47 @@ SparqlAutomaticParser::defaultGraphClause() { return _localctx; } -//----------------- NamedGraphClauseContext -//------------------------------------------------------------------ +//----------------- NamedGraphClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::NamedGraphClauseContext::NamedGraphClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::NamedGraphClauseContext::NamedGraphClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::NamedGraphClauseContext::NAMED() { return getToken(SparqlAutomaticParser::NAMED, 0); } -SparqlAutomaticParser::SourceSelectorContext* -SparqlAutomaticParser::NamedGraphClauseContext::sourceSelector() { +SparqlAutomaticParser::SourceSelectorContext* SparqlAutomaticParser::NamedGraphClauseContext::sourceSelector() { return getRuleContext(0); } + size_t SparqlAutomaticParser::NamedGraphClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNamedGraphClause; } -void SparqlAutomaticParser::NamedGraphClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterNamedGraphClause(this); +void SparqlAutomaticParser::NamedGraphClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterNamedGraphClause(this); } -void SparqlAutomaticParser::NamedGraphClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitNamedGraphClause(this); +void SparqlAutomaticParser::NamedGraphClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitNamedGraphClause(this); } -std::any SparqlAutomaticParser::NamedGraphClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::NamedGraphClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNamedGraphClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NamedGraphClauseContext* -SparqlAutomaticParser::namedGraphClause() { - NamedGraphClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NamedGraphClauseContext* SparqlAutomaticParser::namedGraphClause() { + NamedGraphClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 32, SparqlAutomaticParser::RuleNamedGraphClause); #if __cplusplus > 201703L @@ -3254,8 +2315,9 @@ SparqlAutomaticParser::namedGraphClause() { match(SparqlAutomaticParser::NAMED); setState(446); sourceSelector(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3264,46 +2326,43 @@ SparqlAutomaticParser::namedGraphClause() { return _localctx; } -//----------------- SourceSelectorContext -//------------------------------------------------------------------ +//----------------- SourceSelectorContext ------------------------------------------------------------------ -SparqlAutomaticParser::SourceSelectorContext::SourceSelectorContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::SourceSelectorContext::SourceSelectorContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::SourceSelectorContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::SourceSelectorContext::iri() { return getRuleContext(0); } + size_t SparqlAutomaticParser::SourceSelectorContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSourceSelector; } -void SparqlAutomaticParser::SourceSelectorContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterSourceSelector(this); +void SparqlAutomaticParser::SourceSelectorContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterSourceSelector(this); } -void SparqlAutomaticParser::SourceSelectorContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitSourceSelector(this); +void SparqlAutomaticParser::SourceSelectorContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitSourceSelector(this); } -std::any SparqlAutomaticParser::SourceSelectorContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::SourceSelectorContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSourceSelector(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SourceSelectorContext* -SparqlAutomaticParser::sourceSelector() { - SourceSelectorContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SourceSelectorContext* SparqlAutomaticParser::sourceSelector() { + SourceSelectorContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 34, SparqlAutomaticParser::RuleSourceSelector); #if __cplusplus > 201703L @@ -3317,8 +2376,9 @@ SparqlAutomaticParser::sourceSelector() { enterOuterAlt(_localctx, 1); setState(448); iri(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3327,15 +2387,13 @@ SparqlAutomaticParser::sourceSelector() { return _localctx; } -//----------------- WhereClauseContext -//------------------------------------------------------------------ +//----------------- WhereClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::WhereClauseContext::WhereClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::WhereClauseContext::WhereClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::WhereClauseContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::WhereClauseContext::groupGraphPattern() { return getRuleContext(0); } @@ -3343,34 +2401,33 @@ tree::TerminalNode* SparqlAutomaticParser::WhereClauseContext::WHERE() { return getToken(SparqlAutomaticParser::WHERE, 0); } + size_t SparqlAutomaticParser::WhereClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleWhereClause; } -void SparqlAutomaticParser::WhereClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterWhereClause(this); +void SparqlAutomaticParser::WhereClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterWhereClause(this); } -void SparqlAutomaticParser::WhereClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitWhereClause(this); +void SparqlAutomaticParser::WhereClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitWhereClause(this); } -std::any SparqlAutomaticParser::WhereClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::WhereClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitWhereClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::WhereClauseContext* -SparqlAutomaticParser::whereClause() { - WhereClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::whereClause() { + WhereClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 36, SparqlAutomaticParser::RuleWhereClause); size_t _la = 0; @@ -3393,8 +2450,9 @@ SparqlAutomaticParser::whereClause() { } setState(453); groupGraphPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3403,61 +2461,55 @@ SparqlAutomaticParser::whereClause() { return _localctx; } -//----------------- SolutionModifierContext -//------------------------------------------------------------------ +//----------------- SolutionModifierContext ------------------------------------------------------------------ -SparqlAutomaticParser::SolutionModifierContext::SolutionModifierContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::SolutionModifierContext::SolutionModifierContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::GroupClauseContext* -SparqlAutomaticParser::SolutionModifierContext::groupClause() { +SparqlAutomaticParser::GroupClauseContext* SparqlAutomaticParser::SolutionModifierContext::groupClause() { return getRuleContext(0); } -SparqlAutomaticParser::HavingClauseContext* -SparqlAutomaticParser::SolutionModifierContext::havingClause() { +SparqlAutomaticParser::HavingClauseContext* SparqlAutomaticParser::SolutionModifierContext::havingClause() { return getRuleContext(0); } -SparqlAutomaticParser::OrderClauseContext* -SparqlAutomaticParser::SolutionModifierContext::orderClause() { +SparqlAutomaticParser::OrderClauseContext* SparqlAutomaticParser::SolutionModifierContext::orderClause() { return getRuleContext(0); } -SparqlAutomaticParser::LimitOffsetClausesContext* -SparqlAutomaticParser::SolutionModifierContext::limitOffsetClauses() { +SparqlAutomaticParser::LimitOffsetClausesContext* SparqlAutomaticParser::SolutionModifierContext::limitOffsetClauses() { return getRuleContext(0); } + size_t SparqlAutomaticParser::SolutionModifierContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSolutionModifier; } -void SparqlAutomaticParser::SolutionModifierContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterSolutionModifier(this); +void SparqlAutomaticParser::SolutionModifierContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterSolutionModifier(this); } -void SparqlAutomaticParser::SolutionModifierContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitSolutionModifier(this); +void SparqlAutomaticParser::SolutionModifierContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitSolutionModifier(this); } -std::any SparqlAutomaticParser::SolutionModifierContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::SolutionModifierContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSolutionModifier(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SolutionModifierContext* -SparqlAutomaticParser::solutionModifier() { - SolutionModifierContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::solutionModifier() { + SolutionModifierContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 38, SparqlAutomaticParser::RuleSolutionModifier); size_t _la = 0; @@ -3492,7 +2544,7 @@ SparqlAutomaticParser::solutionModifier() { _la = _input->LA(1); if (_la == SparqlAutomaticParser::ORDERBY - || _la == SparqlAutomaticParser::INTERNALSORTBY) { + || _la == SparqlAutomaticParser::INTERNALSORTBY) { setState(461); orderClause(); } @@ -3500,12 +2552,14 @@ SparqlAutomaticParser::solutionModifier() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 3940649673949184) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 3940649673949184) != 0) { setState(464); limitOffsetClauses(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3514,55 +2568,51 @@ SparqlAutomaticParser::solutionModifier() { return _localctx; } -//----------------- GroupClauseContext -//------------------------------------------------------------------ +//----------------- GroupClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::GroupClauseContext::GroupClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GroupClauseContext::GroupClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::GroupClauseContext::GROUPBY() { return getToken(SparqlAutomaticParser::GROUPBY, 0); } -std::vector -SparqlAutomaticParser::GroupClauseContext::groupCondition() { +std::vector SparqlAutomaticParser::GroupClauseContext::groupCondition() { return getRuleContexts(); } -SparqlAutomaticParser::GroupConditionContext* -SparqlAutomaticParser::GroupClauseContext::groupCondition(size_t i) { +SparqlAutomaticParser::GroupConditionContext* SparqlAutomaticParser::GroupClauseContext::groupCondition(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::GroupClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGroupClause; } -void SparqlAutomaticParser::GroupClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGroupClause(this); +void SparqlAutomaticParser::GroupClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGroupClause(this); } -void SparqlAutomaticParser::GroupClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGroupClause(this); +void SparqlAutomaticParser::GroupClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGroupClause(this); } -std::any SparqlAutomaticParser::GroupClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GroupClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupClauseContext* -SparqlAutomaticParser::groupClause() { - GroupClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GroupClauseContext* SparqlAutomaticParser::groupClause() { + GroupClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 40, SparqlAutomaticParser::RuleGroupClause); size_t _la = 0; @@ -3577,24 +2627,23 @@ SparqlAutomaticParser::groupClause() { enterOuterAlt(_localctx, 1); setState(467); match(SparqlAutomaticParser::GROUPBY); - setState(469); + setState(469); _errHandler->sync(this); _la = _input->LA(1); do { setState(468); groupCondition(); - setState(471); + setState(471); _errHandler->sync(this); _la = _input->LA(1); } while (_la == SparqlAutomaticParser::T__1 - || _la == SparqlAutomaticParser::GROUP_CONCAT || - (((_la - 78) & ~0x3fULL) == 0) && - ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0); - - } catch (RecognitionException& e) { + || _la == SparqlAutomaticParser::GROUP_CONCAT || (((_la - 78) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0); + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3603,25 +2652,21 @@ SparqlAutomaticParser::groupClause() { return _localctx; } -//----------------- GroupConditionContext -//------------------------------------------------------------------ +//----------------- GroupConditionContext ------------------------------------------------------------------ -SparqlAutomaticParser::GroupConditionContext::GroupConditionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GroupConditionContext::GroupConditionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::BuiltInCallContext* -SparqlAutomaticParser::GroupConditionContext::builtInCall() { +SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::GroupConditionContext::builtInCall() { return getRuleContext(0); } -SparqlAutomaticParser::FunctionCallContext* -SparqlAutomaticParser::GroupConditionContext::functionCall() { +SparqlAutomaticParser::FunctionCallContext* SparqlAutomaticParser::GroupConditionContext::functionCall() { return getRuleContext(0); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::GroupConditionContext::expression() { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::GroupConditionContext::expression() { return getRuleContext(0); } @@ -3629,39 +2674,37 @@ tree::TerminalNode* SparqlAutomaticParser::GroupConditionContext::AS() { return getToken(SparqlAutomaticParser::AS, 0); } -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::GroupConditionContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::GroupConditionContext::var() { return getRuleContext(0); } + size_t SparqlAutomaticParser::GroupConditionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGroupCondition; } -void SparqlAutomaticParser::GroupConditionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGroupCondition(this); +void SparqlAutomaticParser::GroupConditionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGroupCondition(this); } -void SparqlAutomaticParser::GroupConditionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGroupCondition(this); +void SparqlAutomaticParser::GroupConditionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGroupCondition(this); } -std::any SparqlAutomaticParser::GroupConditionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GroupConditionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupCondition(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupConditionContext* -SparqlAutomaticParser::groupCondition() { - GroupConditionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GroupConditionContext* SparqlAutomaticParser::groupCondition() { + GroupConditionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 42, SparqlAutomaticParser::RuleGroupCondition); size_t _la = 0; @@ -3783,11 +2826,12 @@ SparqlAutomaticParser::groupCondition() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3796,55 +2840,51 @@ SparqlAutomaticParser::groupCondition() { return _localctx; } -//----------------- HavingClauseContext -//------------------------------------------------------------------ +//----------------- HavingClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::HavingClauseContext::HavingClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::HavingClauseContext::HavingClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::HavingClauseContext::HAVING() { return getToken(SparqlAutomaticParser::HAVING, 0); } -std::vector -SparqlAutomaticParser::HavingClauseContext::havingCondition() { +std::vector SparqlAutomaticParser::HavingClauseContext::havingCondition() { return getRuleContexts(); } -SparqlAutomaticParser::HavingConditionContext* -SparqlAutomaticParser::HavingClauseContext::havingCondition(size_t i) { +SparqlAutomaticParser::HavingConditionContext* SparqlAutomaticParser::HavingClauseContext::havingCondition(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::HavingClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleHavingClause; } -void SparqlAutomaticParser::HavingClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterHavingClause(this); +void SparqlAutomaticParser::HavingClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterHavingClause(this); } -void SparqlAutomaticParser::HavingClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitHavingClause(this); +void SparqlAutomaticParser::HavingClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitHavingClause(this); } -std::any SparqlAutomaticParser::HavingClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::HavingClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitHavingClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::HavingClauseContext* -SparqlAutomaticParser::havingClause() { - HavingClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::HavingClauseContext* SparqlAutomaticParser::havingClause() { + HavingClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 44, SparqlAutomaticParser::RuleHavingClause); size_t _la = 0; @@ -3859,24 +2899,23 @@ SparqlAutomaticParser::havingClause() { enterOuterAlt(_localctx, 1); setState(486); match(SparqlAutomaticParser::HAVING); - setState(488); + setState(488); _errHandler->sync(this); _la = _input->LA(1); do { setState(487); havingCondition(); - setState(490); + setState(490); _errHandler->sync(this); _la = _input->LA(1); } while (_la == SparqlAutomaticParser::T__1 - || _la == SparqlAutomaticParser::GROUP_CONCAT || - (((_la - 78) & ~0x3fULL) == 0) && - ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 135) != 0); - - } catch (RecognitionException& e) { + || _la == SparqlAutomaticParser::GROUP_CONCAT || (((_la - 78) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 135) != 0); + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3885,46 +2924,43 @@ SparqlAutomaticParser::havingClause() { return _localctx; } -//----------------- HavingConditionContext -//------------------------------------------------------------------ +//----------------- HavingConditionContext ------------------------------------------------------------------ -SparqlAutomaticParser::HavingConditionContext::HavingConditionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::HavingConditionContext::HavingConditionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::ConstraintContext* -SparqlAutomaticParser::HavingConditionContext::constraint() { +SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::HavingConditionContext::constraint() { return getRuleContext(0); } + size_t SparqlAutomaticParser::HavingConditionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleHavingCondition; } -void SparqlAutomaticParser::HavingConditionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterHavingCondition(this); +void SparqlAutomaticParser::HavingConditionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterHavingCondition(this); } -void SparqlAutomaticParser::HavingConditionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitHavingCondition(this); +void SparqlAutomaticParser::HavingConditionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitHavingCondition(this); } -std::any SparqlAutomaticParser::HavingConditionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::HavingConditionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitHavingCondition(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::HavingConditionContext* -SparqlAutomaticParser::havingCondition() { - HavingConditionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::HavingConditionContext* SparqlAutomaticParser::havingCondition() { + HavingConditionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 46, SparqlAutomaticParser::RuleHavingCondition); #if __cplusplus > 201703L @@ -3938,8 +2974,9 @@ SparqlAutomaticParser::havingCondition() { enterOuterAlt(_localctx, 1); setState(492); constraint(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3948,60 +2985,55 @@ SparqlAutomaticParser::havingCondition() { return _localctx; } -//----------------- OrderClauseContext -//------------------------------------------------------------------ +//----------------- OrderClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::OrderClauseContext::OrderClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::OrderClauseContext::OrderClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::OrderClauseContext::ORDERBY() { return getToken(SparqlAutomaticParser::ORDERBY, 0); } -tree::TerminalNode* -SparqlAutomaticParser::OrderClauseContext::INTERNALSORTBY() { +tree::TerminalNode* SparqlAutomaticParser::OrderClauseContext::INTERNALSORTBY() { return getToken(SparqlAutomaticParser::INTERNALSORTBY, 0); } -std::vector -SparqlAutomaticParser::OrderClauseContext::orderCondition() { +std::vector SparqlAutomaticParser::OrderClauseContext::orderCondition() { return getRuleContexts(); } -SparqlAutomaticParser::OrderConditionContext* -SparqlAutomaticParser::OrderClauseContext::orderCondition(size_t i) { +SparqlAutomaticParser::OrderConditionContext* SparqlAutomaticParser::OrderClauseContext::orderCondition(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::OrderClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleOrderClause; } -void SparqlAutomaticParser::OrderClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterOrderClause(this); +void SparqlAutomaticParser::OrderClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterOrderClause(this); } -void SparqlAutomaticParser::OrderClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitOrderClause(this); +void SparqlAutomaticParser::OrderClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitOrderClause(this); } -std::any SparqlAutomaticParser::OrderClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::OrderClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitOrderClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::OrderClauseContext* -SparqlAutomaticParser::orderClause() { - OrderClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::OrderClauseContext* SparqlAutomaticParser::orderClause() { + OrderClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 48, SparqlAutomaticParser::RuleOrderClause); size_t _la = 0; @@ -4019,37 +3051,35 @@ SparqlAutomaticParser::orderClause() { switch (_input->LA(1)) { case SparqlAutomaticParser::ORDERBY: { setState(494); - antlrcpp::downCast(_localctx)->orderBy = - match(SparqlAutomaticParser::ORDERBY); + antlrcpp::downCast(_localctx)->orderBy = match(SparqlAutomaticParser::ORDERBY); break; } case SparqlAutomaticParser::INTERNALSORTBY: { setState(495); - antlrcpp::downCast(_localctx)->internalSortBy = - match(SparqlAutomaticParser::INTERNALSORTBY); + antlrcpp::downCast(_localctx)->internalSortBy = match(SparqlAutomaticParser::INTERNALSORTBY); break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - setState(499); + setState(499); _errHandler->sync(this); _la = _input->LA(1); do { setState(498); orderCondition(); - setState(501); + setState(501); _errHandler->sync(this); _la = _input->LA(1); - } while ( - ((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 431008558088196) != 0 || - (((_la - 78) & ~0x3fULL) == 0) && - ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0); - - } catch (RecognitionException& e) { + } while (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 431008558088196) != 0 || (((_la - 78) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0); + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4058,15 +3088,13 @@ SparqlAutomaticParser::orderClause() { return _localctx; } -//----------------- OrderConditionContext -//------------------------------------------------------------------ +//----------------- OrderConditionContext ------------------------------------------------------------------ -SparqlAutomaticParser::OrderConditionContext::OrderConditionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::OrderConditionContext::OrderConditionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::BrackettedExpressionContext* -SparqlAutomaticParser::OrderConditionContext::brackettedExpression() { +SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::OrderConditionContext::brackettedExpression() { return getRuleContext(0); } @@ -4078,44 +3106,41 @@ tree::TerminalNode* SparqlAutomaticParser::OrderConditionContext::DESC() { return getToken(SparqlAutomaticParser::DESC, 0); } -SparqlAutomaticParser::ConstraintContext* -SparqlAutomaticParser::OrderConditionContext::constraint() { +SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::OrderConditionContext::constraint() { return getRuleContext(0); } -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::OrderConditionContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::OrderConditionContext::var() { return getRuleContext(0); } + size_t SparqlAutomaticParser::OrderConditionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleOrderCondition; } -void SparqlAutomaticParser::OrderConditionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterOrderCondition(this); +void SparqlAutomaticParser::OrderConditionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterOrderCondition(this); } -void SparqlAutomaticParser::OrderConditionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitOrderCondition(this); +void SparqlAutomaticParser::OrderConditionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitOrderCondition(this); } -std::any SparqlAutomaticParser::OrderConditionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::OrderConditionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitOrderCondition(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::OrderConditionContext* -SparqlAutomaticParser::orderCondition() { - OrderConditionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::OrderConditionContext* SparqlAutomaticParser::orderCondition() { + OrderConditionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 50, SparqlAutomaticParser::RuleOrderCondition); size_t _la = 0; @@ -4137,9 +3162,10 @@ SparqlAutomaticParser::orderCondition() { _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::ASC - || _la == SparqlAutomaticParser::DESC)) { - _errHandler->recoverInline(this); - } else { + || _la == SparqlAutomaticParser::DESC)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } @@ -4300,17 +3326,18 @@ SparqlAutomaticParser::orderCondition() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4319,56 +3346,51 @@ SparqlAutomaticParser::orderCondition() { return _localctx; } -//----------------- LimitOffsetClausesContext -//------------------------------------------------------------------ +//----------------- LimitOffsetClausesContext ------------------------------------------------------------------ -SparqlAutomaticParser::LimitOffsetClausesContext::LimitOffsetClausesContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::LimitOffsetClausesContext::LimitOffsetClausesContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::LimitClauseContext* -SparqlAutomaticParser::LimitOffsetClausesContext::limitClause() { +SparqlAutomaticParser::LimitClauseContext* SparqlAutomaticParser::LimitOffsetClausesContext::limitClause() { return getRuleContext(0); } -SparqlAutomaticParser::OffsetClauseContext* -SparqlAutomaticParser::LimitOffsetClausesContext::offsetClause() { +SparqlAutomaticParser::OffsetClauseContext* SparqlAutomaticParser::LimitOffsetClausesContext::offsetClause() { return getRuleContext(0); } -SparqlAutomaticParser::TextLimitClauseContext* -SparqlAutomaticParser::LimitOffsetClausesContext::textLimitClause() { +SparqlAutomaticParser::TextLimitClauseContext* SparqlAutomaticParser::LimitOffsetClausesContext::textLimitClause() { return getRuleContext(0); } + size_t SparqlAutomaticParser::LimitOffsetClausesContext::getRuleIndex() const { return SparqlAutomaticParser::RuleLimitOffsetClauses; } -void SparqlAutomaticParser::LimitOffsetClausesContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterLimitOffsetClauses(this); +void SparqlAutomaticParser::LimitOffsetClausesContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterLimitOffsetClauses(this); } -void SparqlAutomaticParser::LimitOffsetClausesContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitLimitOffsetClauses(this); +void SparqlAutomaticParser::LimitOffsetClausesContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitLimitOffsetClauses(this); } -std::any SparqlAutomaticParser::LimitOffsetClausesContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::LimitOffsetClausesContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitLimitOffsetClauses(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::LimitOffsetClausesContext* -SparqlAutomaticParser::limitOffsetClauses() { - LimitOffsetClausesContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::LimitOffsetClausesContext* SparqlAutomaticParser::limitOffsetClauses() { + LimitOffsetClausesContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 52, SparqlAutomaticParser::RuleLimitOffsetClauses); size_t _la = 0; @@ -4382,151 +3404,151 @@ SparqlAutomaticParser::limitOffsetClauses() { try { setState(553); _errHandler->sync(this); - switch (getInterpreter()->adaptivePredict( - _input, 44, _ctx)) { - case 1: { - enterOuterAlt(_localctx, 1); - setState(511); - limitClause(); - setState(513); - _errHandler->sync(this); + switch (getInterpreter()->adaptivePredict(_input, 44, _ctx)) { + case 1: { + enterOuterAlt(_localctx, 1); + setState(511); + limitClause(); + setState(513); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::OFFSET) { - setState(512); - offsetClause(); - } - setState(516); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::OFFSET) { + setState(512); + offsetClause(); + } + setState(516); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::TEXTLIMIT) { - setState(515); - textLimitClause(); - } - break; + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::TEXTLIMIT) { + setState(515); + textLimitClause(); } + break; + } - case 2: { - enterOuterAlt(_localctx, 2); - setState(518); - limitClause(); - setState(520); - _errHandler->sync(this); + case 2: { + enterOuterAlt(_localctx, 2); + setState(518); + limitClause(); + setState(520); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::TEXTLIMIT) { - setState(519); - textLimitClause(); - } - setState(523); - _errHandler->sync(this); - - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::OFFSET) { - setState(522); - offsetClause(); - } - break; + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::TEXTLIMIT) { + setState(519); + textLimitClause(); } + setState(523); + _errHandler->sync(this); - case 3: { - enterOuterAlt(_localctx, 3); - setState(525); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::OFFSET) { + setState(522); offsetClause(); - setState(527); - _errHandler->sync(this); + } + break; + } - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::LIMIT) { - setState(526); - limitClause(); - } - setState(530); - _errHandler->sync(this); + case 3: { + enterOuterAlt(_localctx, 3); + setState(525); + offsetClause(); + setState(527); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::TEXTLIMIT) { - setState(529); - textLimitClause(); - } - break; + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::LIMIT) { + setState(526); + limitClause(); } + setState(530); + _errHandler->sync(this); - case 4: { - enterOuterAlt(_localctx, 4); - setState(532); - offsetClause(); - setState(534); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::TEXTLIMIT) { + setState(529); + textLimitClause(); + } + break; + } - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::TEXTLIMIT) { - setState(533); - textLimitClause(); - } - setState(537); - _errHandler->sync(this); + case 4: { + enterOuterAlt(_localctx, 4); + setState(532); + offsetClause(); + setState(534); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::LIMIT) { - setState(536); - limitClause(); - } - break; + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::TEXTLIMIT) { + setState(533); + textLimitClause(); } + setState(537); + _errHandler->sync(this); - case 5: { - enterOuterAlt(_localctx, 5); - setState(539); - textLimitClause(); - setState(541); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::LIMIT) { + setState(536); + limitClause(); + } + break; + } - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::OFFSET) { - setState(540); - offsetClause(); - } - setState(544); - _errHandler->sync(this); + case 5: { + enterOuterAlt(_localctx, 5); + setState(539); + textLimitClause(); + setState(541); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::LIMIT) { - setState(543); - limitClause(); - } - break; + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::OFFSET) { + setState(540); + offsetClause(); } + setState(544); + _errHandler->sync(this); - case 6: { - enterOuterAlt(_localctx, 6); - setState(546); - textLimitClause(); - setState(548); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::LIMIT) { + setState(543); + limitClause(); + } + break; + } - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::LIMIT) { - setState(547); - limitClause(); - } - setState(551); - _errHandler->sync(this); + case 6: { + enterOuterAlt(_localctx, 6); + setState(546); + textLimitClause(); + setState(548); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::OFFSET) { - setState(550); - offsetClause(); - } - break; + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::LIMIT) { + setState(547); + limitClause(); } + setState(551); + _errHandler->sync(this); - default: - break; + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::OFFSET) { + setState(550); + offsetClause(); + } + break; } - } catch (RecognitionException& e) { + default: + break; + } + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4535,50 +3557,47 @@ SparqlAutomaticParser::limitOffsetClauses() { return _localctx; } -//----------------- LimitClauseContext -//------------------------------------------------------------------ +//----------------- LimitClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::LimitClauseContext::LimitClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::LimitClauseContext::LimitClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::LimitClauseContext::LIMIT() { return getToken(SparqlAutomaticParser::LIMIT, 0); } -SparqlAutomaticParser::IntegerContext* -SparqlAutomaticParser::LimitClauseContext::integer() { +SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::LimitClauseContext::integer() { return getRuleContext(0); } + size_t SparqlAutomaticParser::LimitClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleLimitClause; } -void SparqlAutomaticParser::LimitClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterLimitClause(this); +void SparqlAutomaticParser::LimitClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterLimitClause(this); } -void SparqlAutomaticParser::LimitClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitLimitClause(this); +void SparqlAutomaticParser::LimitClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitLimitClause(this); } -std::any SparqlAutomaticParser::LimitClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::LimitClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitLimitClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::LimitClauseContext* -SparqlAutomaticParser::limitClause() { - LimitClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::LimitClauseContext* SparqlAutomaticParser::limitClause() { + LimitClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 54, SparqlAutomaticParser::RuleLimitClause); #if __cplusplus > 201703L @@ -4594,8 +3613,9 @@ SparqlAutomaticParser::limitClause() { match(SparqlAutomaticParser::LIMIT); setState(556); integer(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4604,50 +3624,47 @@ SparqlAutomaticParser::limitClause() { return _localctx; } -//----------------- OffsetClauseContext -//------------------------------------------------------------------ +//----------------- OffsetClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::OffsetClauseContext::OffsetClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::OffsetClauseContext::OffsetClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::OffsetClauseContext::OFFSET() { return getToken(SparqlAutomaticParser::OFFSET, 0); } -SparqlAutomaticParser::IntegerContext* -SparqlAutomaticParser::OffsetClauseContext::integer() { +SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::OffsetClauseContext::integer() { return getRuleContext(0); } + size_t SparqlAutomaticParser::OffsetClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleOffsetClause; } -void SparqlAutomaticParser::OffsetClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterOffsetClause(this); +void SparqlAutomaticParser::OffsetClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterOffsetClause(this); } -void SparqlAutomaticParser::OffsetClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitOffsetClause(this); +void SparqlAutomaticParser::OffsetClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitOffsetClause(this); } -std::any SparqlAutomaticParser::OffsetClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::OffsetClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitOffsetClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::OffsetClauseContext* -SparqlAutomaticParser::offsetClause() { - OffsetClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::OffsetClauseContext* SparqlAutomaticParser::offsetClause() { + OffsetClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 56, SparqlAutomaticParser::RuleOffsetClause); #if __cplusplus > 201703L @@ -4663,8 +3680,9 @@ SparqlAutomaticParser::offsetClause() { match(SparqlAutomaticParser::OFFSET); setState(559); integer(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4673,50 +3691,47 @@ SparqlAutomaticParser::offsetClause() { return _localctx; } -//----------------- TextLimitClauseContext -//------------------------------------------------------------------ +//----------------- TextLimitClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::TextLimitClauseContext::TextLimitClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TextLimitClauseContext::TextLimitClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::TextLimitClauseContext::TEXTLIMIT() { return getToken(SparqlAutomaticParser::TEXTLIMIT, 0); } -SparqlAutomaticParser::IntegerContext* -SparqlAutomaticParser::TextLimitClauseContext::integer() { +SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::TextLimitClauseContext::integer() { return getRuleContext(0); } + size_t SparqlAutomaticParser::TextLimitClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTextLimitClause; } -void SparqlAutomaticParser::TextLimitClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterTextLimitClause(this); +void SparqlAutomaticParser::TextLimitClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterTextLimitClause(this); } -void SparqlAutomaticParser::TextLimitClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitTextLimitClause(this); +void SparqlAutomaticParser::TextLimitClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitTextLimitClause(this); } -std::any SparqlAutomaticParser::TextLimitClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TextLimitClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTextLimitClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TextLimitClauseContext* -SparqlAutomaticParser::textLimitClause() { - TextLimitClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TextLimitClauseContext* SparqlAutomaticParser::textLimitClause() { + TextLimitClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 58, SparqlAutomaticParser::RuleTextLimitClause); #if __cplusplus > 201703L @@ -4732,8 +3747,9 @@ SparqlAutomaticParser::textLimitClause() { match(SparqlAutomaticParser::TEXTLIMIT); setState(562); integer(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4742,50 +3758,47 @@ SparqlAutomaticParser::textLimitClause() { return _localctx; } -//----------------- ValuesClauseContext -//------------------------------------------------------------------ +//----------------- ValuesClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::ValuesClauseContext::ValuesClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ValuesClauseContext::ValuesClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::ValuesClauseContext::VALUES() { return getToken(SparqlAutomaticParser::VALUES, 0); } -SparqlAutomaticParser::DataBlockContext* -SparqlAutomaticParser::ValuesClauseContext::dataBlock() { +SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::ValuesClauseContext::dataBlock() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ValuesClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleValuesClause; } -void SparqlAutomaticParser::ValuesClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterValuesClause(this); +void SparqlAutomaticParser::ValuesClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterValuesClause(this); } -void SparqlAutomaticParser::ValuesClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitValuesClause(this); +void SparqlAutomaticParser::ValuesClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitValuesClause(this); } -std::any SparqlAutomaticParser::ValuesClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ValuesClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitValuesClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ValuesClauseContext* -SparqlAutomaticParser::valuesClause() { - ValuesClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ValuesClauseContext* SparqlAutomaticParser::valuesClause() { + ValuesClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 60, SparqlAutomaticParser::RuleValuesClause); size_t _la = 0; @@ -4808,8 +3821,9 @@ SparqlAutomaticParser::valuesClause() { setState(565); dataBlock(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4818,46 +3832,43 @@ SparqlAutomaticParser::valuesClause() { return _localctx; } -//----------------- UpdateContext -//------------------------------------------------------------------ +//----------------- UpdateContext ------------------------------------------------------------------ -SparqlAutomaticParser::UpdateContext::UpdateContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::UpdateContext::UpdateContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PrologueContext* -SparqlAutomaticParser::UpdateContext::prologue() { +SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::UpdateContext::prologue() { return getRuleContext(0); } -SparqlAutomaticParser::Update1Context* -SparqlAutomaticParser::UpdateContext::update1() { +SparqlAutomaticParser::Update1Context* SparqlAutomaticParser::UpdateContext::update1() { return getRuleContext(0); } -SparqlAutomaticParser::UpdateContext* -SparqlAutomaticParser::UpdateContext::update() { +SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::UpdateContext::update() { return getRuleContext(0); } + size_t SparqlAutomaticParser::UpdateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleUpdate; } -void SparqlAutomaticParser::UpdateContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterUpdate(this); +void SparqlAutomaticParser::UpdateContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterUpdate(this); } -void SparqlAutomaticParser::UpdateContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitUpdate(this); +void SparqlAutomaticParser::UpdateContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitUpdate(this); } -std::any SparqlAutomaticParser::UpdateContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::UpdateContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitUpdate(this); else @@ -4865,8 +3876,7 @@ std::any SparqlAutomaticParser::UpdateContext::accept( } SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::update() { - UpdateContext* _localctx = - _tracker.createInstance(_ctx, getState()); + UpdateContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 62, SparqlAutomaticParser::RuleUpdate); size_t _la = 0; @@ -4885,7 +3895,8 @@ SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::update() { _errHandler->sync(this); _la = _input->LA(1); - if ((((_la - 53) & ~0x3fULL) == 0) && ((1ULL << (_la - 53)) & 15993) != 0) { + if ((((_la - 53) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 53)) & 15993) != 0) { setState(569); update1(); setState(572); @@ -4899,8 +3910,9 @@ SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::update() { update(); } } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4909,86 +3921,75 @@ SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::update() { return _localctx; } -//----------------- Update1Context -//------------------------------------------------------------------ +//----------------- Update1Context ------------------------------------------------------------------ -SparqlAutomaticParser::Update1Context::Update1Context(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::Update1Context::Update1Context(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::LoadContext* -SparqlAutomaticParser::Update1Context::load() { +SparqlAutomaticParser::LoadContext* SparqlAutomaticParser::Update1Context::load() { return getRuleContext(0); } -SparqlAutomaticParser::ClearContext* -SparqlAutomaticParser::Update1Context::clear() { +SparqlAutomaticParser::ClearContext* SparqlAutomaticParser::Update1Context::clear() { return getRuleContext(0); } -SparqlAutomaticParser::DropContext* -SparqlAutomaticParser::Update1Context::drop() { +SparqlAutomaticParser::DropContext* SparqlAutomaticParser::Update1Context::drop() { return getRuleContext(0); } -SparqlAutomaticParser::AddContext* -SparqlAutomaticParser::Update1Context::add() { +SparqlAutomaticParser::AddContext* SparqlAutomaticParser::Update1Context::add() { return getRuleContext(0); } -SparqlAutomaticParser::MoveContext* -SparqlAutomaticParser::Update1Context::move() { +SparqlAutomaticParser::MoveContext* SparqlAutomaticParser::Update1Context::move() { return getRuleContext(0); } -SparqlAutomaticParser::CopyContext* -SparqlAutomaticParser::Update1Context::copy() { +SparqlAutomaticParser::CopyContext* SparqlAutomaticParser::Update1Context::copy() { return getRuleContext(0); } -SparqlAutomaticParser::CreateContext* -SparqlAutomaticParser::Update1Context::create() { +SparqlAutomaticParser::CreateContext* SparqlAutomaticParser::Update1Context::create() { return getRuleContext(0); } -SparqlAutomaticParser::InsertDataContext* -SparqlAutomaticParser::Update1Context::insertData() { +SparqlAutomaticParser::InsertDataContext* SparqlAutomaticParser::Update1Context::insertData() { return getRuleContext(0); } -SparqlAutomaticParser::DeleteDataContext* -SparqlAutomaticParser::Update1Context::deleteData() { +SparqlAutomaticParser::DeleteDataContext* SparqlAutomaticParser::Update1Context::deleteData() { return getRuleContext(0); } -SparqlAutomaticParser::DeleteWhereContext* -SparqlAutomaticParser::Update1Context::deleteWhere() { +SparqlAutomaticParser::DeleteWhereContext* SparqlAutomaticParser::Update1Context::deleteWhere() { return getRuleContext(0); } -SparqlAutomaticParser::ModifyContext* -SparqlAutomaticParser::Update1Context::modify() { +SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::Update1Context::modify() { return getRuleContext(0); } + size_t SparqlAutomaticParser::Update1Context::getRuleIndex() const { return SparqlAutomaticParser::RuleUpdate1; } -void SparqlAutomaticParser::Update1Context::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterUpdate1(this); +void SparqlAutomaticParser::Update1Context::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterUpdate1(this); } -void SparqlAutomaticParser::Update1Context::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitUpdate1(this); +void SparqlAutomaticParser::Update1Context::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitUpdate1(this); } -std::any SparqlAutomaticParser::Update1Context::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::Update1Context::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitUpdate1(this); else @@ -4996,8 +3997,7 @@ std::any SparqlAutomaticParser::Update1Context::accept( } SparqlAutomaticParser::Update1Context* SparqlAutomaticParser::update1() { - Update1Context* _localctx = - _tracker.createInstance(_ctx, getState()); + Update1Context *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 64, SparqlAutomaticParser::RuleUpdate1); #if __cplusplus > 201703L @@ -5010,90 +4010,90 @@ SparqlAutomaticParser::Update1Context* SparqlAutomaticParser::update1() { try { setState(587); _errHandler->sync(this); - switch (getInterpreter()->adaptivePredict( - _input, 48, _ctx)) { - case 1: { - enterOuterAlt(_localctx, 1); - setState(576); - load(); - break; - } - - case 2: { - enterOuterAlt(_localctx, 2); - setState(577); - clear(); - break; - } + switch (getInterpreter()->adaptivePredict(_input, 48, _ctx)) { + case 1: { + enterOuterAlt(_localctx, 1); + setState(576); + load(); + break; + } - case 3: { - enterOuterAlt(_localctx, 3); - setState(578); - drop(); - break; - } + case 2: { + enterOuterAlt(_localctx, 2); + setState(577); + clear(); + break; + } - case 4: { - enterOuterAlt(_localctx, 4); - setState(579); - add(); - break; - } + case 3: { + enterOuterAlt(_localctx, 3); + setState(578); + drop(); + break; + } - case 5: { - enterOuterAlt(_localctx, 5); - setState(580); - move(); - break; - } + case 4: { + enterOuterAlt(_localctx, 4); + setState(579); + add(); + break; + } - case 6: { - enterOuterAlt(_localctx, 6); - setState(581); - copy(); - break; - } + case 5: { + enterOuterAlt(_localctx, 5); + setState(580); + move(); + break; + } - case 7: { - enterOuterAlt(_localctx, 7); - setState(582); - create(); - break; - } + case 6: { + enterOuterAlt(_localctx, 6); + setState(581); + copy(); + break; + } - case 8: { - enterOuterAlt(_localctx, 8); - setState(583); - insertData(); - break; - } + case 7: { + enterOuterAlt(_localctx, 7); + setState(582); + create(); + break; + } - case 9: { - enterOuterAlt(_localctx, 9); - setState(584); - deleteData(); - break; - } + case 8: { + enterOuterAlt(_localctx, 8); + setState(583); + insertData(); + break; + } - case 10: { - enterOuterAlt(_localctx, 10); - setState(585); - deleteWhere(); - break; - } + case 9: { + enterOuterAlt(_localctx, 9); + setState(584); + deleteData(); + break; + } - case 11: { - enterOuterAlt(_localctx, 11); - setState(586); - modify(); - break; - } + case 10: { + enterOuterAlt(_localctx, 10); + setState(585); + deleteWhere(); + break; + } - default: - break; + case 11: { + enterOuterAlt(_localctx, 11); + setState(586); + modify(); + break; } - } catch (RecognitionException& e) { + default: + break; + } + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5102,12 +4102,11 @@ SparqlAutomaticParser::Update1Context* SparqlAutomaticParser::update1() { return _localctx; } -//----------------- LoadContext -//------------------------------------------------------------------ +//----------------- LoadContext ------------------------------------------------------------------ -SparqlAutomaticParser::LoadContext::LoadContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::LoadContext::LoadContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::LoadContext::LOAD() { return getToken(SparqlAutomaticParser::LOAD, 0); @@ -5125,29 +4124,29 @@ tree::TerminalNode* SparqlAutomaticParser::LoadContext::INTO() { return getToken(SparqlAutomaticParser::INTO, 0); } -SparqlAutomaticParser::GraphRefContext* -SparqlAutomaticParser::LoadContext::graphRef() { +SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::LoadContext::graphRef() { return getRuleContext(0); } + size_t SparqlAutomaticParser::LoadContext::getRuleIndex() const { return SparqlAutomaticParser::RuleLoad; } -void SparqlAutomaticParser::LoadContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterLoad(this); +void SparqlAutomaticParser::LoadContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterLoad(this); } -void SparqlAutomaticParser::LoadContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitLoad(this); +void SparqlAutomaticParser::LoadContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitLoad(this); } -std::any SparqlAutomaticParser::LoadContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::LoadContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitLoad(this); else @@ -5155,8 +4154,7 @@ std::any SparqlAutomaticParser::LoadContext::accept( } SparqlAutomaticParser::LoadContext* SparqlAutomaticParser::load() { - LoadContext* _localctx = - _tracker.createInstance(_ctx, getState()); + LoadContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 66, SparqlAutomaticParser::RuleLoad); size_t _la = 0; @@ -5191,8 +4189,9 @@ SparqlAutomaticParser::LoadContext* SparqlAutomaticParser::load() { setState(595); graphRef(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5201,19 +4200,17 @@ SparqlAutomaticParser::LoadContext* SparqlAutomaticParser::load() { return _localctx; } -//----------------- ClearContext -//------------------------------------------------------------------ +//----------------- ClearContext ------------------------------------------------------------------ -SparqlAutomaticParser::ClearContext::ClearContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ClearContext::ClearContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::ClearContext::CLEAR() { return getToken(SparqlAutomaticParser::CLEAR, 0); } -SparqlAutomaticParser::GraphRefAllContext* -SparqlAutomaticParser::ClearContext::graphRefAll() { +SparqlAutomaticParser::GraphRefAllContext* SparqlAutomaticParser::ClearContext::graphRefAll() { return getRuleContext(0); } @@ -5221,24 +4218,25 @@ tree::TerminalNode* SparqlAutomaticParser::ClearContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } + size_t SparqlAutomaticParser::ClearContext::getRuleIndex() const { return SparqlAutomaticParser::RuleClear; } -void SparqlAutomaticParser::ClearContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterClear(this); +void SparqlAutomaticParser::ClearContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterClear(this); } -void SparqlAutomaticParser::ClearContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitClear(this); +void SparqlAutomaticParser::ClearContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitClear(this); } -std::any SparqlAutomaticParser::ClearContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ClearContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitClear(this); else @@ -5246,8 +4244,7 @@ std::any SparqlAutomaticParser::ClearContext::accept( } SparqlAutomaticParser::ClearContext* SparqlAutomaticParser::clear() { - ClearContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ClearContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 68, SparqlAutomaticParser::RuleClear); size_t _la = 0; @@ -5272,8 +4269,9 @@ SparqlAutomaticParser::ClearContext* SparqlAutomaticParser::clear() { } setState(602); graphRefAll(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5282,19 +4280,17 @@ SparqlAutomaticParser::ClearContext* SparqlAutomaticParser::clear() { return _localctx; } -//----------------- DropContext -//------------------------------------------------------------------ +//----------------- DropContext ------------------------------------------------------------------ -SparqlAutomaticParser::DropContext::DropContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DropContext::DropContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::DropContext::DROP() { return getToken(SparqlAutomaticParser::DROP, 0); } -SparqlAutomaticParser::GraphRefAllContext* -SparqlAutomaticParser::DropContext::graphRefAll() { +SparqlAutomaticParser::GraphRefAllContext* SparqlAutomaticParser::DropContext::graphRefAll() { return getRuleContext(0); } @@ -5302,24 +4298,25 @@ tree::TerminalNode* SparqlAutomaticParser::DropContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } + size_t SparqlAutomaticParser::DropContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDrop; } -void SparqlAutomaticParser::DropContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDrop(this); +void SparqlAutomaticParser::DropContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDrop(this); } -void SparqlAutomaticParser::DropContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDrop(this); +void SparqlAutomaticParser::DropContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDrop(this); } -std::any SparqlAutomaticParser::DropContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DropContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDrop(this); else @@ -5327,8 +4324,7 @@ std::any SparqlAutomaticParser::DropContext::accept( } SparqlAutomaticParser::DropContext* SparqlAutomaticParser::drop() { - DropContext* _localctx = - _tracker.createInstance(_ctx, getState()); + DropContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 70, SparqlAutomaticParser::RuleDrop); size_t _la = 0; @@ -5353,8 +4349,9 @@ SparqlAutomaticParser::DropContext* SparqlAutomaticParser::drop() { } setState(608); graphRefAll(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5363,19 +4360,17 @@ SparqlAutomaticParser::DropContext* SparqlAutomaticParser::drop() { return _localctx; } -//----------------- CreateContext -//------------------------------------------------------------------ +//----------------- CreateContext ------------------------------------------------------------------ -SparqlAutomaticParser::CreateContext::CreateContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::CreateContext::CreateContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::CreateContext::CREATE() { return getToken(SparqlAutomaticParser::CREATE, 0); } -SparqlAutomaticParser::GraphRefContext* -SparqlAutomaticParser::CreateContext::graphRef() { +SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::CreateContext::graphRef() { return getRuleContext(0); } @@ -5383,24 +4378,25 @@ tree::TerminalNode* SparqlAutomaticParser::CreateContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } + size_t SparqlAutomaticParser::CreateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleCreate; } -void SparqlAutomaticParser::CreateContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterCreate(this); +void SparqlAutomaticParser::CreateContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterCreate(this); } -void SparqlAutomaticParser::CreateContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitCreate(this); +void SparqlAutomaticParser::CreateContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitCreate(this); } -std::any SparqlAutomaticParser::CreateContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::CreateContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitCreate(this); else @@ -5408,8 +4404,7 @@ std::any SparqlAutomaticParser::CreateContext::accept( } SparqlAutomaticParser::CreateContext* SparqlAutomaticParser::create() { - CreateContext* _localctx = - _tracker.createInstance(_ctx, getState()); + CreateContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 72, SparqlAutomaticParser::RuleCreate); size_t _la = 0; @@ -5434,8 +4429,9 @@ SparqlAutomaticParser::CreateContext* SparqlAutomaticParser::create() { } setState(614); graphRef(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5444,24 +4440,21 @@ SparqlAutomaticParser::CreateContext* SparqlAutomaticParser::create() { return _localctx; } -//----------------- AddContext -//------------------------------------------------------------------ +//----------------- AddContext ------------------------------------------------------------------ -SparqlAutomaticParser::AddContext::AddContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::AddContext::AddContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::AddContext::ADD() { return getToken(SparqlAutomaticParser::ADD, 0); } -std::vector -SparqlAutomaticParser::AddContext::graphOrDefault() { +std::vector SparqlAutomaticParser::AddContext::graphOrDefault() { return getRuleContexts(); } -SparqlAutomaticParser::GraphOrDefaultContext* -SparqlAutomaticParser::AddContext::graphOrDefault(size_t i) { +SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::AddContext::graphOrDefault(size_t i) { return getRuleContext(i); } @@ -5473,24 +4466,25 @@ tree::TerminalNode* SparqlAutomaticParser::AddContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } + size_t SparqlAutomaticParser::AddContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAdd; } -void SparqlAutomaticParser::AddContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterAdd(this); +void SparqlAutomaticParser::AddContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterAdd(this); } -void SparqlAutomaticParser::AddContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitAdd(this); +void SparqlAutomaticParser::AddContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitAdd(this); } -std::any SparqlAutomaticParser::AddContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::AddContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAdd(this); else @@ -5498,7 +4492,7 @@ std::any SparqlAutomaticParser::AddContext::accept( } SparqlAutomaticParser::AddContext* SparqlAutomaticParser::add() { - AddContext* _localctx = _tracker.createInstance(_ctx, getState()); + AddContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 74, SparqlAutomaticParser::RuleAdd); size_t _la = 0; @@ -5527,8 +4521,9 @@ SparqlAutomaticParser::AddContext* SparqlAutomaticParser::add() { match(SparqlAutomaticParser::TO); setState(622); graphOrDefault(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5537,24 +4532,21 @@ SparqlAutomaticParser::AddContext* SparqlAutomaticParser::add() { return _localctx; } -//----------------- MoveContext -//------------------------------------------------------------------ +//----------------- MoveContext ------------------------------------------------------------------ -SparqlAutomaticParser::MoveContext::MoveContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::MoveContext::MoveContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::MoveContext::MOVE() { return getToken(SparqlAutomaticParser::MOVE, 0); } -std::vector -SparqlAutomaticParser::MoveContext::graphOrDefault() { +std::vector SparqlAutomaticParser::MoveContext::graphOrDefault() { return getRuleContexts(); } -SparqlAutomaticParser::GraphOrDefaultContext* -SparqlAutomaticParser::MoveContext::graphOrDefault(size_t i) { +SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::MoveContext::graphOrDefault(size_t i) { return getRuleContext(i); } @@ -5566,24 +4558,25 @@ tree::TerminalNode* SparqlAutomaticParser::MoveContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } + size_t SparqlAutomaticParser::MoveContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMove; } -void SparqlAutomaticParser::MoveContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterMove(this); +void SparqlAutomaticParser::MoveContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterMove(this); } -void SparqlAutomaticParser::MoveContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitMove(this); +void SparqlAutomaticParser::MoveContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitMove(this); } -std::any SparqlAutomaticParser::MoveContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::MoveContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMove(this); else @@ -5591,8 +4584,7 @@ std::any SparqlAutomaticParser::MoveContext::accept( } SparqlAutomaticParser::MoveContext* SparqlAutomaticParser::move() { - MoveContext* _localctx = - _tracker.createInstance(_ctx, getState()); + MoveContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 76, SparqlAutomaticParser::RuleMove); size_t _la = 0; @@ -5621,8 +4613,9 @@ SparqlAutomaticParser::MoveContext* SparqlAutomaticParser::move() { match(SparqlAutomaticParser::TO); setState(630); graphOrDefault(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5631,24 +4624,21 @@ SparqlAutomaticParser::MoveContext* SparqlAutomaticParser::move() { return _localctx; } -//----------------- CopyContext -//------------------------------------------------------------------ +//----------------- CopyContext ------------------------------------------------------------------ -SparqlAutomaticParser::CopyContext::CopyContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::CopyContext::CopyContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::CopyContext::COPY() { return getToken(SparqlAutomaticParser::COPY, 0); } -std::vector -SparqlAutomaticParser::CopyContext::graphOrDefault() { +std::vector SparqlAutomaticParser::CopyContext::graphOrDefault() { return getRuleContexts(); } -SparqlAutomaticParser::GraphOrDefaultContext* -SparqlAutomaticParser::CopyContext::graphOrDefault(size_t i) { +SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::CopyContext::graphOrDefault(size_t i) { return getRuleContext(i); } @@ -5660,24 +4650,25 @@ tree::TerminalNode* SparqlAutomaticParser::CopyContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } + size_t SparqlAutomaticParser::CopyContext::getRuleIndex() const { return SparqlAutomaticParser::RuleCopy; } -void SparqlAutomaticParser::CopyContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterCopy(this); +void SparqlAutomaticParser::CopyContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterCopy(this); } -void SparqlAutomaticParser::CopyContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitCopy(this); +void SparqlAutomaticParser::CopyContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitCopy(this); } -std::any SparqlAutomaticParser::CopyContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::CopyContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitCopy(this); else @@ -5685,8 +4676,7 @@ std::any SparqlAutomaticParser::CopyContext::accept( } SparqlAutomaticParser::CopyContext* SparqlAutomaticParser::copy() { - CopyContext* _localctx = - _tracker.createInstance(_ctx, getState()); + CopyContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 78, SparqlAutomaticParser::RuleCopy); size_t _la = 0; @@ -5715,8 +4705,9 @@ SparqlAutomaticParser::CopyContext* SparqlAutomaticParser::copy() { match(SparqlAutomaticParser::TO); setState(638); graphOrDefault(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5725,12 +4716,11 @@ SparqlAutomaticParser::CopyContext* SparqlAutomaticParser::copy() { return _localctx; } -//----------------- InsertDataContext -//------------------------------------------------------------------ +//----------------- InsertDataContext ------------------------------------------------------------------ -SparqlAutomaticParser::InsertDataContext::InsertDataContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::InsertDataContext::InsertDataContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::InsertDataContext::INSERT() { return getToken(SparqlAutomaticParser::INSERT, 0); @@ -5740,29 +4730,29 @@ tree::TerminalNode* SparqlAutomaticParser::InsertDataContext::DATA() { return getToken(SparqlAutomaticParser::DATA, 0); } -SparqlAutomaticParser::QuadDataContext* -SparqlAutomaticParser::InsertDataContext::quadData() { +SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::InsertDataContext::quadData() { return getRuleContext(0); } + size_t SparqlAutomaticParser::InsertDataContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInsertData; } -void SparqlAutomaticParser::InsertDataContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterInsertData(this); +void SparqlAutomaticParser::InsertDataContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterInsertData(this); } -void SparqlAutomaticParser::InsertDataContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitInsertData(this); +void SparqlAutomaticParser::InsertDataContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitInsertData(this); } -std::any SparqlAutomaticParser::InsertDataContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::InsertDataContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInsertData(this); else @@ -5770,8 +4760,7 @@ std::any SparqlAutomaticParser::InsertDataContext::accept( } SparqlAutomaticParser::InsertDataContext* SparqlAutomaticParser::insertData() { - InsertDataContext* _localctx = - _tracker.createInstance(_ctx, getState()); + InsertDataContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 80, SparqlAutomaticParser::RuleInsertData); #if __cplusplus > 201703L @@ -5789,8 +4778,9 @@ SparqlAutomaticParser::InsertDataContext* SparqlAutomaticParser::insertData() { match(SparqlAutomaticParser::DATA); setState(642); quadData(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5799,12 +4789,11 @@ SparqlAutomaticParser::InsertDataContext* SparqlAutomaticParser::insertData() { return _localctx; } -//----------------- DeleteDataContext -//------------------------------------------------------------------ +//----------------- DeleteDataContext ------------------------------------------------------------------ -SparqlAutomaticParser::DeleteDataContext::DeleteDataContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DeleteDataContext::DeleteDataContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::DeleteDataContext::DELETE() { return getToken(SparqlAutomaticParser::DELETE, 0); @@ -5814,29 +4803,29 @@ tree::TerminalNode* SparqlAutomaticParser::DeleteDataContext::DATA() { return getToken(SparqlAutomaticParser::DATA, 0); } -SparqlAutomaticParser::QuadDataContext* -SparqlAutomaticParser::DeleteDataContext::quadData() { +SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::DeleteDataContext::quadData() { return getRuleContext(0); } + size_t SparqlAutomaticParser::DeleteDataContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDeleteData; } -void SparqlAutomaticParser::DeleteDataContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDeleteData(this); +void SparqlAutomaticParser::DeleteDataContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDeleteData(this); } -void SparqlAutomaticParser::DeleteDataContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDeleteData(this); +void SparqlAutomaticParser::DeleteDataContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDeleteData(this); } -std::any SparqlAutomaticParser::DeleteDataContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DeleteDataContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDeleteData(this); else @@ -5844,8 +4833,7 @@ std::any SparqlAutomaticParser::DeleteDataContext::accept( } SparqlAutomaticParser::DeleteDataContext* SparqlAutomaticParser::deleteData() { - DeleteDataContext* _localctx = - _tracker.createInstance(_ctx, getState()); + DeleteDataContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 82, SparqlAutomaticParser::RuleDeleteData); #if __cplusplus > 201703L @@ -5863,8 +4851,9 @@ SparqlAutomaticParser::DeleteDataContext* SparqlAutomaticParser::deleteData() { match(SparqlAutomaticParser::DATA); setState(646); quadData(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5873,12 +4862,11 @@ SparqlAutomaticParser::DeleteDataContext* SparqlAutomaticParser::deleteData() { return _localctx; } -//----------------- DeleteWhereContext -//------------------------------------------------------------------ +//----------------- DeleteWhereContext ------------------------------------------------------------------ -SparqlAutomaticParser::DeleteWhereContext::DeleteWhereContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DeleteWhereContext::DeleteWhereContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::DeleteWhereContext::DELETE() { return getToken(SparqlAutomaticParser::DELETE, 0); @@ -5888,39 +4876,37 @@ tree::TerminalNode* SparqlAutomaticParser::DeleteWhereContext::WHERE() { return getToken(SparqlAutomaticParser::WHERE, 0); } -SparqlAutomaticParser::QuadPatternContext* -SparqlAutomaticParser::DeleteWhereContext::quadPattern() { +SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::DeleteWhereContext::quadPattern() { return getRuleContext(0); } + size_t SparqlAutomaticParser::DeleteWhereContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDeleteWhere; } -void SparqlAutomaticParser::DeleteWhereContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDeleteWhere(this); +void SparqlAutomaticParser::DeleteWhereContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDeleteWhere(this); } -void SparqlAutomaticParser::DeleteWhereContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDeleteWhere(this); +void SparqlAutomaticParser::DeleteWhereContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDeleteWhere(this); } -std::any SparqlAutomaticParser::DeleteWhereContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DeleteWhereContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDeleteWhere(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DeleteWhereContext* -SparqlAutomaticParser::deleteWhere() { - DeleteWhereContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DeleteWhereContext* SparqlAutomaticParser::deleteWhere() { + DeleteWhereContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 84, SparqlAutomaticParser::RuleDeleteWhere); #if __cplusplus > 201703L @@ -5938,8 +4924,9 @@ SparqlAutomaticParser::deleteWhere() { match(SparqlAutomaticParser::WHERE); setState(650); quadPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5948,29 +4935,25 @@ SparqlAutomaticParser::deleteWhere() { return _localctx; } -//----------------- ModifyContext -//------------------------------------------------------------------ +//----------------- ModifyContext ------------------------------------------------------------------ -SparqlAutomaticParser::ModifyContext::ModifyContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ModifyContext::ModifyContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::ModifyContext::WHERE() { return getToken(SparqlAutomaticParser::WHERE, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::ModifyContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::ModifyContext::groupGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::DeleteClauseContext* -SparqlAutomaticParser::ModifyContext::deleteClause() { +SparqlAutomaticParser::DeleteClauseContext* SparqlAutomaticParser::ModifyContext::deleteClause() { return getRuleContext(0); } -SparqlAutomaticParser::InsertClauseContext* -SparqlAutomaticParser::ModifyContext::insertClause() { +SparqlAutomaticParser::InsertClauseContext* SparqlAutomaticParser::ModifyContext::insertClause() { return getRuleContext(0); } @@ -5982,34 +4965,33 @@ SparqlAutomaticParser::IriContext* SparqlAutomaticParser::ModifyContext::iri() { return getRuleContext(0); } -std::vector -SparqlAutomaticParser::ModifyContext::usingClause() { +std::vector SparqlAutomaticParser::ModifyContext::usingClause() { return getRuleContexts(); } -SparqlAutomaticParser::UsingClauseContext* -SparqlAutomaticParser::ModifyContext::usingClause(size_t i) { +SparqlAutomaticParser::UsingClauseContext* SparqlAutomaticParser::ModifyContext::usingClause(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::ModifyContext::getRuleIndex() const { return SparqlAutomaticParser::RuleModify; } -void SparqlAutomaticParser::ModifyContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterModify(this); +void SparqlAutomaticParser::ModifyContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterModify(this); } -void SparqlAutomaticParser::ModifyContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitModify(this); +void SparqlAutomaticParser::ModifyContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitModify(this); } -std::any SparqlAutomaticParser::ModifyContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ModifyContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitModify(this); else @@ -6017,8 +4999,7 @@ std::any SparqlAutomaticParser::ModifyContext::accept( } SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::modify() { - ModifyContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ModifyContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 86, SparqlAutomaticParser::RuleModify); size_t _la = 0; @@ -6064,8 +5045,8 @@ SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::modify() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(666); _errHandler->sync(this); @@ -6081,8 +5062,9 @@ SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::modify() { match(SparqlAutomaticParser::WHERE); setState(670); groupGraphPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6091,50 +5073,47 @@ SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::modify() { return _localctx; } -//----------------- DeleteClauseContext -//------------------------------------------------------------------ +//----------------- DeleteClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::DeleteClauseContext::DeleteClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DeleteClauseContext::DeleteClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::DeleteClauseContext::DELETE() { return getToken(SparqlAutomaticParser::DELETE, 0); } -SparqlAutomaticParser::QuadPatternContext* -SparqlAutomaticParser::DeleteClauseContext::quadPattern() { +SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::DeleteClauseContext::quadPattern() { return getRuleContext(0); } + size_t SparqlAutomaticParser::DeleteClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDeleteClause; } -void SparqlAutomaticParser::DeleteClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDeleteClause(this); +void SparqlAutomaticParser::DeleteClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDeleteClause(this); } -void SparqlAutomaticParser::DeleteClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDeleteClause(this); +void SparqlAutomaticParser::DeleteClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDeleteClause(this); } -std::any SparqlAutomaticParser::DeleteClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DeleteClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDeleteClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DeleteClauseContext* -SparqlAutomaticParser::deleteClause() { - DeleteClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DeleteClauseContext* SparqlAutomaticParser::deleteClause() { + DeleteClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 88, SparqlAutomaticParser::RuleDeleteClause); #if __cplusplus > 201703L @@ -6150,8 +5129,9 @@ SparqlAutomaticParser::deleteClause() { match(SparqlAutomaticParser::DELETE); setState(673); quadPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6160,50 +5140,47 @@ SparqlAutomaticParser::deleteClause() { return _localctx; } -//----------------- InsertClauseContext -//------------------------------------------------------------------ +//----------------- InsertClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::InsertClauseContext::InsertClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::InsertClauseContext::InsertClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::InsertClauseContext::INSERT() { return getToken(SparqlAutomaticParser::INSERT, 0); } -SparqlAutomaticParser::QuadPatternContext* -SparqlAutomaticParser::InsertClauseContext::quadPattern() { +SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::InsertClauseContext::quadPattern() { return getRuleContext(0); } + size_t SparqlAutomaticParser::InsertClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInsertClause; } -void SparqlAutomaticParser::InsertClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterInsertClause(this); +void SparqlAutomaticParser::InsertClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterInsertClause(this); } -void SparqlAutomaticParser::InsertClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitInsertClause(this); +void SparqlAutomaticParser::InsertClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitInsertClause(this); } -std::any SparqlAutomaticParser::InsertClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::InsertClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInsertClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::InsertClauseContext* -SparqlAutomaticParser::insertClause() { - InsertClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::InsertClauseContext* SparqlAutomaticParser::insertClause() { + InsertClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 90, SparqlAutomaticParser::RuleInsertClause); #if __cplusplus > 201703L @@ -6219,8 +5196,9 @@ SparqlAutomaticParser::insertClause() { match(SparqlAutomaticParser::INSERT); setState(676); quadPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6229,19 +5207,17 @@ SparqlAutomaticParser::insertClause() { return _localctx; } -//----------------- UsingClauseContext -//------------------------------------------------------------------ +//----------------- UsingClauseContext ------------------------------------------------------------------ -SparqlAutomaticParser::UsingClauseContext::UsingClauseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::UsingClauseContext::UsingClauseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::UsingClauseContext::USING() { return getToken(SparqlAutomaticParser::USING, 0); } -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::UsingClauseContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::UsingClauseContext::iri() { return getRuleContext(0); } @@ -6249,34 +5225,33 @@ tree::TerminalNode* SparqlAutomaticParser::UsingClauseContext::NAMED() { return getToken(SparqlAutomaticParser::NAMED, 0); } + size_t SparqlAutomaticParser::UsingClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleUsingClause; } -void SparqlAutomaticParser::UsingClauseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterUsingClause(this); +void SparqlAutomaticParser::UsingClauseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterUsingClause(this); } -void SparqlAutomaticParser::UsingClauseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitUsingClause(this); +void SparqlAutomaticParser::UsingClauseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitUsingClause(this); } -std::any SparqlAutomaticParser::UsingClauseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::UsingClauseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitUsingClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::UsingClauseContext* -SparqlAutomaticParser::usingClause() { - UsingClauseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::UsingClauseContext* SparqlAutomaticParser::usingClause() { + UsingClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 92, SparqlAutomaticParser::RuleUsingClause); #if __cplusplus > 201703L @@ -6310,11 +5285,12 @@ SparqlAutomaticParser::usingClause() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6323,12 +5299,11 @@ SparqlAutomaticParser::usingClause() { return _localctx; } -//----------------- GraphOrDefaultContext -//------------------------------------------------------------------ +//----------------- GraphOrDefaultContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphOrDefaultContext::GraphOrDefaultContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphOrDefaultContext::GraphOrDefaultContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::GraphOrDefaultContext::DEFAULT() { return getToken(SparqlAutomaticParser::DEFAULT, 0); @@ -6338,39 +5313,37 @@ tree::TerminalNode* SparqlAutomaticParser::GraphOrDefaultContext::GRAPH() { return getToken(SparqlAutomaticParser::GRAPH, 0); } -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::GraphOrDefaultContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::GraphOrDefaultContext::iri() { return getRuleContext(0); } + size_t SparqlAutomaticParser::GraphOrDefaultContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphOrDefault; } -void SparqlAutomaticParser::GraphOrDefaultContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGraphOrDefault(this); +void SparqlAutomaticParser::GraphOrDefaultContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGraphOrDefault(this); } -void SparqlAutomaticParser::GraphOrDefaultContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGraphOrDefault(this); +void SparqlAutomaticParser::GraphOrDefaultContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGraphOrDefault(this); } -std::any SparqlAutomaticParser::GraphOrDefaultContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphOrDefaultContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphOrDefault(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphOrDefaultContext* -SparqlAutomaticParser::graphOrDefault() { - GraphOrDefaultContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::graphOrDefault() { + GraphOrDefaultContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 94, SparqlAutomaticParser::RuleGraphOrDefault); #if __cplusplus > 201703L @@ -6400,11 +5373,12 @@ SparqlAutomaticParser::graphOrDefault() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6413,40 +5387,39 @@ SparqlAutomaticParser::graphOrDefault() { return _localctx; } -//----------------- GraphRefContext -//------------------------------------------------------------------ +//----------------- GraphRefContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphRefContext::GraphRefContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphRefContext::GraphRefContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::GraphRefContext::GRAPH() { return getToken(SparqlAutomaticParser::GRAPH, 0); } -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::GraphRefContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::GraphRefContext::iri() { return getRuleContext(0); } + size_t SparqlAutomaticParser::GraphRefContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphRef; } -void SparqlAutomaticParser::GraphRefContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGraphRef(this); +void SparqlAutomaticParser::GraphRefContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGraphRef(this); } -void SparqlAutomaticParser::GraphRefContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGraphRef(this); +void SparqlAutomaticParser::GraphRefContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGraphRef(this); } -std::any SparqlAutomaticParser::GraphRefContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphRefContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphRef(this); else @@ -6454,8 +5427,7 @@ std::any SparqlAutomaticParser::GraphRefContext::accept( } SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::graphRef() { - GraphRefContext* _localctx = - _tracker.createInstance(_ctx, getState()); + GraphRefContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 96, SparqlAutomaticParser::RuleGraphRef); #if __cplusplus > 201703L @@ -6471,8 +5443,9 @@ SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::graphRef() { match(SparqlAutomaticParser::GRAPH); setState(690); iri(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6481,15 +5454,13 @@ SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::graphRef() { return _localctx; } -//----------------- GraphRefAllContext -//------------------------------------------------------------------ +//----------------- GraphRefAllContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphRefAllContext::GraphRefAllContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphRefAllContext::GraphRefAllContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::GraphRefContext* -SparqlAutomaticParser::GraphRefAllContext::graphRef() { +SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::GraphRefAllContext::graphRef() { return getRuleContext(0); } @@ -6505,34 +5476,33 @@ tree::TerminalNode* SparqlAutomaticParser::GraphRefAllContext::ALL() { return getToken(SparqlAutomaticParser::ALL, 0); } + size_t SparqlAutomaticParser::GraphRefAllContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphRefAll; } -void SparqlAutomaticParser::GraphRefAllContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGraphRefAll(this); +void SparqlAutomaticParser::GraphRefAllContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGraphRefAll(this); } -void SparqlAutomaticParser::GraphRefAllContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGraphRefAll(this); +void SparqlAutomaticParser::GraphRefAllContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGraphRefAll(this); } -std::any SparqlAutomaticParser::GraphRefAllContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphRefAllContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphRefAll(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphRefAllContext* -SparqlAutomaticParser::graphRefAll() { - GraphRefAllContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphRefAllContext* SparqlAutomaticParser::graphRefAll() { + GraphRefAllContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 98, SparqlAutomaticParser::RuleGraphRefAll); #if __cplusplus > 201703L @@ -6574,11 +5544,12 @@ SparqlAutomaticParser::graphRefAll() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6587,46 +5558,43 @@ SparqlAutomaticParser::graphRefAll() { return _localctx; } -//----------------- QuadPatternContext -//------------------------------------------------------------------ +//----------------- QuadPatternContext ------------------------------------------------------------------ -SparqlAutomaticParser::QuadPatternContext::QuadPatternContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::QuadPatternContext::QuadPatternContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::QuadsContext* -SparqlAutomaticParser::QuadPatternContext::quads() { +SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::QuadPatternContext::quads() { return getRuleContext(0); } + size_t SparqlAutomaticParser::QuadPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuadPattern; } -void SparqlAutomaticParser::QuadPatternContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterQuadPattern(this); +void SparqlAutomaticParser::QuadPatternContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterQuadPattern(this); } -void SparqlAutomaticParser::QuadPatternContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitQuadPattern(this); +void SparqlAutomaticParser::QuadPatternContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitQuadPattern(this); } -std::any SparqlAutomaticParser::QuadPatternContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::QuadPatternContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuadPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::QuadPatternContext* -SparqlAutomaticParser::quadPattern() { - QuadPatternContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::quadPattern() { + QuadPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 100, SparqlAutomaticParser::RuleQuadPattern); #if __cplusplus > 201703L @@ -6644,8 +5612,9 @@ SparqlAutomaticParser::quadPattern() { quads(); setState(700); match(SparqlAutomaticParser::T__4); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6654,36 +5623,35 @@ SparqlAutomaticParser::quadPattern() { return _localctx; } -//----------------- QuadDataContext -//------------------------------------------------------------------ +//----------------- QuadDataContext ------------------------------------------------------------------ -SparqlAutomaticParser::QuadDataContext::QuadDataContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::QuadDataContext::QuadDataContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::QuadsContext* -SparqlAutomaticParser::QuadDataContext::quads() { +SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::QuadDataContext::quads() { return getRuleContext(0); } + size_t SparqlAutomaticParser::QuadDataContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuadData; } -void SparqlAutomaticParser::QuadDataContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterQuadData(this); +void SparqlAutomaticParser::QuadDataContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterQuadData(this); } -void SparqlAutomaticParser::QuadDataContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitQuadData(this); +void SparqlAutomaticParser::QuadDataContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitQuadData(this); } -std::any SparqlAutomaticParser::QuadDataContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::QuadDataContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuadData(this); else @@ -6691,8 +5659,7 @@ std::any SparqlAutomaticParser::QuadDataContext::accept( } SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::quadData() { - QuadDataContext* _localctx = - _tracker.createInstance(_ctx, getState()); + QuadDataContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 102, SparqlAutomaticParser::RuleQuadData); #if __cplusplus > 201703L @@ -6710,8 +5677,9 @@ SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::quadData() { quads(); setState(704); match(SparqlAutomaticParser::T__4); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6720,51 +5688,47 @@ SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::quadData() { return _localctx; } -//----------------- QuadsContext -//------------------------------------------------------------------ +//----------------- QuadsContext ------------------------------------------------------------------ -SparqlAutomaticParser::QuadsContext::QuadsContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::QuadsContext::QuadsContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::QuadsContext::triplesTemplate() { +std::vector SparqlAutomaticParser::QuadsContext::triplesTemplate() { return getRuleContexts(); } -SparqlAutomaticParser::TriplesTemplateContext* -SparqlAutomaticParser::QuadsContext::triplesTemplate(size_t i) { +SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::QuadsContext::triplesTemplate(size_t i) { return getRuleContext(i); } -std::vector -SparqlAutomaticParser::QuadsContext::quadsNotTriples() { +std::vector SparqlAutomaticParser::QuadsContext::quadsNotTriples() { return getRuleContexts(); } -SparqlAutomaticParser::QuadsNotTriplesContext* -SparqlAutomaticParser::QuadsContext::quadsNotTriples(size_t i) { +SparqlAutomaticParser::QuadsNotTriplesContext* SparqlAutomaticParser::QuadsContext::quadsNotTriples(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::QuadsContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuads; } -void SparqlAutomaticParser::QuadsContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterQuads(this); +void SparqlAutomaticParser::QuadsContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterQuads(this); } -void SparqlAutomaticParser::QuadsContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitQuads(this); +void SparqlAutomaticParser::QuadsContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitQuads(this); } -std::any SparqlAutomaticParser::QuadsContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::QuadsContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuads(this); else @@ -6772,8 +5736,7 @@ std::any SparqlAutomaticParser::QuadsContext::accept( } SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { - QuadsContext* _localctx = - _tracker.createInstance(_ctx, getState()); + QuadsContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 104, SparqlAutomaticParser::RuleQuads); size_t _la = 0; @@ -6790,9 +5753,9 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(706); triplesTemplate(); } @@ -6814,9 +5777,9 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(713); triplesTemplate(); } @@ -6824,8 +5787,9 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6834,55 +5798,51 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { return _localctx; } -//----------------- QuadsNotTriplesContext -//------------------------------------------------------------------ +//----------------- QuadsNotTriplesContext ------------------------------------------------------------------ -SparqlAutomaticParser::QuadsNotTriplesContext::QuadsNotTriplesContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::QuadsNotTriplesContext::QuadsNotTriplesContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::QuadsNotTriplesContext::GRAPH() { return getToken(SparqlAutomaticParser::GRAPH, 0); } -SparqlAutomaticParser::VarOrIriContext* -SparqlAutomaticParser::QuadsNotTriplesContext::varOrIri() { +SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::QuadsNotTriplesContext::varOrIri() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesTemplateContext* -SparqlAutomaticParser::QuadsNotTriplesContext::triplesTemplate() { +SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::QuadsNotTriplesContext::triplesTemplate() { return getRuleContext(0); } + size_t SparqlAutomaticParser::QuadsNotTriplesContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuadsNotTriples; } -void SparqlAutomaticParser::QuadsNotTriplesContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterQuadsNotTriples(this); +void SparqlAutomaticParser::QuadsNotTriplesContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterQuadsNotTriples(this); } -void SparqlAutomaticParser::QuadsNotTriplesContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitQuadsNotTriples(this); +void SparqlAutomaticParser::QuadsNotTriplesContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitQuadsNotTriples(this); } -std::any SparqlAutomaticParser::QuadsNotTriplesContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::QuadsNotTriplesContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuadsNotTriples(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::QuadsNotTriplesContext* -SparqlAutomaticParser::quadsNotTriples() { - QuadsNotTriplesContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::QuadsNotTriplesContext* SparqlAutomaticParser::quadsNotTriples() { + QuadsNotTriplesContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 106, SparqlAutomaticParser::RuleQuadsNotTriples); size_t _la = 0; @@ -6905,16 +5865,17 @@ SparqlAutomaticParser::quadsNotTriples() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(724); triplesTemplate(); } setState(727); match(SparqlAutomaticParser::T__4); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6923,51 +5884,47 @@ SparqlAutomaticParser::quadsNotTriples() { return _localctx; } -//----------------- TriplesTemplateContext -//------------------------------------------------------------------ +//----------------- TriplesTemplateContext ------------------------------------------------------------------ -SparqlAutomaticParser::TriplesTemplateContext::TriplesTemplateContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TriplesTemplateContext::TriplesTemplateContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::TriplesSameSubjectContext* -SparqlAutomaticParser::TriplesTemplateContext::triplesSameSubject() { +SparqlAutomaticParser::TriplesSameSubjectContext* SparqlAutomaticParser::TriplesTemplateContext::triplesSameSubject() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesTemplateContext* -SparqlAutomaticParser::TriplesTemplateContext::triplesTemplate() { +SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::TriplesTemplateContext::triplesTemplate() { return getRuleContext(0); } + size_t SparqlAutomaticParser::TriplesTemplateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesTemplate; } -void SparqlAutomaticParser::TriplesTemplateContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterTriplesTemplate(this); +void SparqlAutomaticParser::TriplesTemplateContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterTriplesTemplate(this); } -void SparqlAutomaticParser::TriplesTemplateContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitTriplesTemplate(this); +void SparqlAutomaticParser::TriplesTemplateContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitTriplesTemplate(this); } -std::any SparqlAutomaticParser::TriplesTemplateContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TriplesTemplateContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesTemplate(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesTemplateContext* -SparqlAutomaticParser::triplesTemplate() { - TriplesTemplateContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::triplesTemplate() { + TriplesTemplateContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 108, SparqlAutomaticParser::RuleTriplesTemplate); size_t _la = 0; @@ -6993,15 +5950,16 @@ SparqlAutomaticParser::triplesTemplate() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(731); triplesTemplate(); } } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7010,51 +5968,47 @@ SparqlAutomaticParser::triplesTemplate() { return _localctx; } -//----------------- GroupGraphPatternContext -//------------------------------------------------------------------ +//----------------- GroupGraphPatternContext ------------------------------------------------------------------ -SparqlAutomaticParser::GroupGraphPatternContext::GroupGraphPatternContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GroupGraphPatternContext::GroupGraphPatternContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::SubSelectContext* -SparqlAutomaticParser::GroupGraphPatternContext::subSelect() { +SparqlAutomaticParser::SubSelectContext* SparqlAutomaticParser::GroupGraphPatternContext::subSelect() { return getRuleContext(0); } -SparqlAutomaticParser::GroupGraphPatternSubContext* -SparqlAutomaticParser::GroupGraphPatternContext::groupGraphPatternSub() { +SparqlAutomaticParser::GroupGraphPatternSubContext* SparqlAutomaticParser::GroupGraphPatternContext::groupGraphPatternSub() { return getRuleContext(0); } + size_t SparqlAutomaticParser::GroupGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGroupGraphPattern; } -void SparqlAutomaticParser::GroupGraphPatternContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGroupGraphPattern(this); +void SparqlAutomaticParser::GroupGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGroupGraphPattern(this); } -void SparqlAutomaticParser::GroupGraphPatternContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGroupGraphPattern(this); +void SparqlAutomaticParser::GroupGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGroupGraphPattern(this); } -std::any SparqlAutomaticParser::GroupGraphPatternContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GroupGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::groupGraphPattern() { - GroupGraphPatternContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::groupGraphPattern() { + GroupGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 110, SparqlAutomaticParser::RuleGroupGraphPattern); #if __cplusplus > 201703L @@ -7117,13 +6071,14 @@ SparqlAutomaticParser::groupGraphPattern() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(741); match(SparqlAutomaticParser::T__4); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7132,63 +6087,51 @@ SparqlAutomaticParser::groupGraphPattern() { return _localctx; } -//----------------- GroupGraphPatternSubContext -//------------------------------------------------------------------ +//----------------- GroupGraphPatternSubContext ------------------------------------------------------------------ -SparqlAutomaticParser::GroupGraphPatternSubContext::GroupGraphPatternSubContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GroupGraphPatternSubContext::GroupGraphPatternSubContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::TriplesBlockContext* -SparqlAutomaticParser::GroupGraphPatternSubContext::triplesBlock() { +SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::GroupGraphPatternSubContext::triplesBlock() { return getRuleContext(0); } -std::vector< - SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext*> -SparqlAutomaticParser::GroupGraphPatternSubContext:: - graphPatternNotTriplesAndMaybeTriples() { - return getRuleContexts< - SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext>(); +std::vector SparqlAutomaticParser::GroupGraphPatternSubContext::graphPatternNotTriplesAndMaybeTriples() { + return getRuleContexts(); } -SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* -SparqlAutomaticParser::GroupGraphPatternSubContext:: - graphPatternNotTriplesAndMaybeTriples(size_t i) { - return getRuleContext< - SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext>(i); +SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* SparqlAutomaticParser::GroupGraphPatternSubContext::graphPatternNotTriplesAndMaybeTriples(size_t i) { + return getRuleContext(i); } -size_t SparqlAutomaticParser::GroupGraphPatternSubContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::GroupGraphPatternSubContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGroupGraphPatternSub; } -void SparqlAutomaticParser::GroupGraphPatternSubContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GroupGraphPatternSubContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterGroupGraphPatternSub(this); } -void SparqlAutomaticParser::GroupGraphPatternSubContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGroupGraphPatternSub(this); +void SparqlAutomaticParser::GroupGraphPatternSubContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGroupGraphPatternSub(this); } -std::any SparqlAutomaticParser::GroupGraphPatternSubContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GroupGraphPatternSubContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupGraphPatternSub(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupGraphPatternSubContext* -SparqlAutomaticParser::groupGraphPatternSub() { - GroupGraphPatternSubContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GroupGraphPatternSubContext* SparqlAutomaticParser::groupGraphPatternSub() { + GroupGraphPatternSubContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 112, SparqlAutomaticParser::RuleGroupGraphPatternSub); size_t _la = 0; @@ -7205,9 +6148,9 @@ SparqlAutomaticParser::groupGraphPatternSub() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(743); triplesBlock(); } @@ -7216,17 +6159,17 @@ SparqlAutomaticParser::groupGraphPatternSub() { _la = _input->LA(1); while (_la == SparqlAutomaticParser::T__3 - || _la == SparqlAutomaticParser::VALUES || - (((_la - 69) & ~0x3fULL) == 0) && - ((1ULL << (_la - 69)) & 349) != 0) { + || _la == SparqlAutomaticParser::VALUES || (((_la - 69) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 69)) & 349) != 0) { setState(746); graphPatternNotTriplesAndMaybeTriples(); setState(751); _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7235,60 +6178,48 @@ SparqlAutomaticParser::groupGraphPatternSub() { return _localctx; } -//----------------- GraphPatternNotTriplesAndMaybeTriplesContext -//------------------------------------------------------------------ +//----------------- GraphPatternNotTriplesAndMaybeTriplesContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext:: - GraphPatternNotTriplesAndMaybeTriplesContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::GraphPatternNotTriplesAndMaybeTriplesContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::GraphPatternNotTriplesContext* SparqlAutomaticParser:: - GraphPatternNotTriplesAndMaybeTriplesContext::graphPatternNotTriples() { - return getRuleContext( - 0); +SparqlAutomaticParser::GraphPatternNotTriplesContext* SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::graphPatternNotTriples() { + return getRuleContext(0); } -SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser:: - GraphPatternNotTriplesAndMaybeTriplesContext::triplesBlock() { +SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::triplesBlock() { return getRuleContext(0); } -size_t SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext:: - getRuleIndex() const { + +size_t SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphPatternNotTriplesAndMaybeTriples; } -void SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext:: - enterRule(tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterGraphPatternNotTriplesAndMaybeTriples(this); } -void SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext:: - exitRule(tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitGraphPatternNotTriplesAndMaybeTriples(this); } -std::any -SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphPatternNotTriplesAndMaybeTriples(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* -SparqlAutomaticParser::graphPatternNotTriplesAndMaybeTriples() { - GraphPatternNotTriplesAndMaybeTriplesContext* _localctx = - _tracker.createInstance( - _ctx, getState()); - enterRule(_localctx, 114, - SparqlAutomaticParser::RuleGraphPatternNotTriplesAndMaybeTriples); +SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* SparqlAutomaticParser::graphPatternNotTriplesAndMaybeTriples() { + GraphPatternNotTriplesAndMaybeTriplesContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 114, SparqlAutomaticParser::RuleGraphPatternNotTriplesAndMaybeTriples); size_t _la = 0; #if __cplusplus > 201703L @@ -7314,14 +6245,15 @@ SparqlAutomaticParser::graphPatternNotTriplesAndMaybeTriples() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(756); triplesBlock(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7330,52 +6262,47 @@ SparqlAutomaticParser::graphPatternNotTriplesAndMaybeTriples() { return _localctx; } -//----------------- TriplesBlockContext -//------------------------------------------------------------------ +//----------------- TriplesBlockContext ------------------------------------------------------------------ -SparqlAutomaticParser::TriplesBlockContext::TriplesBlockContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TriplesBlockContext::TriplesBlockContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::TriplesSameSubjectPathContext* -SparqlAutomaticParser::TriplesBlockContext::triplesSameSubjectPath() { - return getRuleContext( - 0); +SparqlAutomaticParser::TriplesSameSubjectPathContext* SparqlAutomaticParser::TriplesBlockContext::triplesSameSubjectPath() { + return getRuleContext(0); } -SparqlAutomaticParser::TriplesBlockContext* -SparqlAutomaticParser::TriplesBlockContext::triplesBlock() { +SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::TriplesBlockContext::triplesBlock() { return getRuleContext(0); } + size_t SparqlAutomaticParser::TriplesBlockContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesBlock; } -void SparqlAutomaticParser::TriplesBlockContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterTriplesBlock(this); +void SparqlAutomaticParser::TriplesBlockContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterTriplesBlock(this); } -void SparqlAutomaticParser::TriplesBlockContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitTriplesBlock(this); +void SparqlAutomaticParser::TriplesBlockContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitTriplesBlock(this); } -std::any SparqlAutomaticParser::TriplesBlockContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TriplesBlockContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesBlock(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesBlockContext* -SparqlAutomaticParser::triplesBlock() { - TriplesBlockContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::triplesBlock() { + TriplesBlockContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 116, SparqlAutomaticParser::RuleTriplesBlock); size_t _la = 0; @@ -7401,15 +6328,16 @@ SparqlAutomaticParser::triplesBlock() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(761); triplesBlock(); } } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7418,86 +6346,71 @@ SparqlAutomaticParser::triplesBlock() { return _localctx; } -//----------------- GraphPatternNotTriplesContext -//------------------------------------------------------------------ +//----------------- GraphPatternNotTriplesContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphPatternNotTriplesContext:: - GraphPatternNotTriplesContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphPatternNotTriplesContext::GraphPatternNotTriplesContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::GroupOrUnionGraphPatternContext* SparqlAutomaticParser:: - GraphPatternNotTriplesContext::groupOrUnionGraphPattern() { - return getRuleContext( - 0); +SparqlAutomaticParser::GroupOrUnionGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::groupOrUnionGraphPattern() { + return getRuleContext(0); } -SparqlAutomaticParser::OptionalGraphPatternContext* -SparqlAutomaticParser::GraphPatternNotTriplesContext::optionalGraphPattern() { +SparqlAutomaticParser::OptionalGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::optionalGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::MinusGraphPatternContext* -SparqlAutomaticParser::GraphPatternNotTriplesContext::minusGraphPattern() { +SparqlAutomaticParser::MinusGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::minusGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::GraphGraphPatternContext* -SparqlAutomaticParser::GraphPatternNotTriplesContext::graphGraphPattern() { +SparqlAutomaticParser::GraphGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::graphGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::ServiceGraphPatternContext* -SparqlAutomaticParser::GraphPatternNotTriplesContext::serviceGraphPattern() { +SparqlAutomaticParser::ServiceGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::serviceGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::FilterRContext* -SparqlAutomaticParser::GraphPatternNotTriplesContext::filterR() { +SparqlAutomaticParser::FilterRContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::filterR() { return getRuleContext(0); } -SparqlAutomaticParser::BindContext* -SparqlAutomaticParser::GraphPatternNotTriplesContext::bind() { +SparqlAutomaticParser::BindContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::bind() { return getRuleContext(0); } -SparqlAutomaticParser::InlineDataContext* -SparqlAutomaticParser::GraphPatternNotTriplesContext::inlineData() { +SparqlAutomaticParser::InlineDataContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::inlineData() { return getRuleContext(0); } -size_t SparqlAutomaticParser::GraphPatternNotTriplesContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::GraphPatternNotTriplesContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphPatternNotTriples; } -void SparqlAutomaticParser::GraphPatternNotTriplesContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GraphPatternNotTriplesContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterGraphPatternNotTriples(this); } -void SparqlAutomaticParser::GraphPatternNotTriplesContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GraphPatternNotTriplesContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitGraphPatternNotTriples(this); } -std::any SparqlAutomaticParser::GraphPatternNotTriplesContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphPatternNotTriplesContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphPatternNotTriples(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphPatternNotTriplesContext* -SparqlAutomaticParser::graphPatternNotTriples() { - GraphPatternNotTriplesContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphPatternNotTriplesContext* SparqlAutomaticParser::graphPatternNotTriples() { + GraphPatternNotTriplesContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 118, SparqlAutomaticParser::RuleGraphPatternNotTriples); #if __cplusplus > 201703L @@ -7567,11 +6480,12 @@ SparqlAutomaticParser::graphPatternNotTriples() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7580,53 +6494,47 @@ SparqlAutomaticParser::graphPatternNotTriples() { return _localctx; } -//----------------- OptionalGraphPatternContext -//------------------------------------------------------------------ +//----------------- OptionalGraphPatternContext ------------------------------------------------------------------ -SparqlAutomaticParser::OptionalGraphPatternContext::OptionalGraphPatternContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::OptionalGraphPatternContext::OptionalGraphPatternContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -tree::TerminalNode* -SparqlAutomaticParser::OptionalGraphPatternContext::OPTIONAL() { +tree::TerminalNode* SparqlAutomaticParser::OptionalGraphPatternContext::OPTIONAL() { return getToken(SparqlAutomaticParser::OPTIONAL, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::OptionalGraphPatternContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::OptionalGraphPatternContext::groupGraphPattern() { return getRuleContext(0); } -size_t SparqlAutomaticParser::OptionalGraphPatternContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::OptionalGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleOptionalGraphPattern; } -void SparqlAutomaticParser::OptionalGraphPatternContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::OptionalGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterOptionalGraphPattern(this); } -void SparqlAutomaticParser::OptionalGraphPatternContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitOptionalGraphPattern(this); +void SparqlAutomaticParser::OptionalGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitOptionalGraphPattern(this); } -std::any SparqlAutomaticParser::OptionalGraphPatternContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::OptionalGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitOptionalGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::OptionalGraphPatternContext* -SparqlAutomaticParser::optionalGraphPattern() { - OptionalGraphPatternContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::OptionalGraphPatternContext* SparqlAutomaticParser::optionalGraphPattern() { + OptionalGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 120, SparqlAutomaticParser::RuleOptionalGraphPattern); #if __cplusplus > 201703L @@ -7642,8 +6550,9 @@ SparqlAutomaticParser::optionalGraphPattern() { match(SparqlAutomaticParser::OPTIONAL); setState(777); groupGraphPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7652,55 +6561,51 @@ SparqlAutomaticParser::optionalGraphPattern() { return _localctx; } -//----------------- GraphGraphPatternContext -//------------------------------------------------------------------ +//----------------- GraphGraphPatternContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphGraphPatternContext::GraphGraphPatternContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphGraphPatternContext::GraphGraphPatternContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::GraphGraphPatternContext::GRAPH() { return getToken(SparqlAutomaticParser::GRAPH, 0); } -SparqlAutomaticParser::VarOrIriContext* -SparqlAutomaticParser::GraphGraphPatternContext::varOrIri() { +SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::GraphGraphPatternContext::varOrIri() { return getRuleContext(0); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::GraphGraphPatternContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::GraphGraphPatternContext::groupGraphPattern() { return getRuleContext(0); } + size_t SparqlAutomaticParser::GraphGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphGraphPattern; } -void SparqlAutomaticParser::GraphGraphPatternContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGraphGraphPattern(this); +void SparqlAutomaticParser::GraphGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGraphGraphPattern(this); } -void SparqlAutomaticParser::GraphGraphPatternContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGraphGraphPattern(this); +void SparqlAutomaticParser::GraphGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGraphGraphPattern(this); } -std::any SparqlAutomaticParser::GraphGraphPatternContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphGraphPatternContext* -SparqlAutomaticParser::graphGraphPattern() { - GraphGraphPatternContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphGraphPatternContext* SparqlAutomaticParser::graphGraphPattern() { + GraphGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 122, SparqlAutomaticParser::RuleGraphGraphPattern); #if __cplusplus > 201703L @@ -7718,8 +6623,9 @@ SparqlAutomaticParser::graphGraphPattern() { varOrIri(); setState(781); groupGraphPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7728,61 +6634,55 @@ SparqlAutomaticParser::graphGraphPattern() { return _localctx; } -//----------------- ServiceGraphPatternContext -//------------------------------------------------------------------ +//----------------- ServiceGraphPatternContext ------------------------------------------------------------------ -SparqlAutomaticParser::ServiceGraphPatternContext::ServiceGraphPatternContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ServiceGraphPatternContext::ServiceGraphPatternContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -tree::TerminalNode* -SparqlAutomaticParser::ServiceGraphPatternContext::SERVICE() { +tree::TerminalNode* SparqlAutomaticParser::ServiceGraphPatternContext::SERVICE() { return getToken(SparqlAutomaticParser::SERVICE, 0); } -SparqlAutomaticParser::VarOrIriContext* -SparqlAutomaticParser::ServiceGraphPatternContext::varOrIri() { +SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::ServiceGraphPatternContext::varOrIri() { return getRuleContext(0); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::ServiceGraphPatternContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::ServiceGraphPatternContext::groupGraphPattern() { return getRuleContext(0); } -tree::TerminalNode* -SparqlAutomaticParser::ServiceGraphPatternContext::SILENT() { +tree::TerminalNode* SparqlAutomaticParser::ServiceGraphPatternContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } + size_t SparqlAutomaticParser::ServiceGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleServiceGraphPattern; } -void SparqlAutomaticParser::ServiceGraphPatternContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterServiceGraphPattern(this); +void SparqlAutomaticParser::ServiceGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterServiceGraphPattern(this); } -void SparqlAutomaticParser::ServiceGraphPatternContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitServiceGraphPattern(this); +void SparqlAutomaticParser::ServiceGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitServiceGraphPattern(this); } -std::any SparqlAutomaticParser::ServiceGraphPatternContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ServiceGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitServiceGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ServiceGraphPatternContext* -SparqlAutomaticParser::serviceGraphPattern() { - ServiceGraphPatternContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ServiceGraphPatternContext* SparqlAutomaticParser::serviceGraphPattern() { + ServiceGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 124, SparqlAutomaticParser::RuleServiceGraphPattern); size_t _la = 0; @@ -7809,8 +6709,9 @@ SparqlAutomaticParser::serviceGraphPattern() { varOrIri(); setState(788); groupGraphPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7819,19 +6720,17 @@ SparqlAutomaticParser::serviceGraphPattern() { return _localctx; } -//----------------- BindContext -//------------------------------------------------------------------ +//----------------- BindContext ------------------------------------------------------------------ -SparqlAutomaticParser::BindContext::BindContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::BindContext::BindContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::BindContext::BIND() { return getToken(SparqlAutomaticParser::BIND, 0); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::BindContext::expression() { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::BindContext::expression() { return getRuleContext(0); } @@ -7843,24 +6742,25 @@ SparqlAutomaticParser::VarContext* SparqlAutomaticParser::BindContext::var() { return getRuleContext(0); } + size_t SparqlAutomaticParser::BindContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBind; } -void SparqlAutomaticParser::BindContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterBind(this); +void SparqlAutomaticParser::BindContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterBind(this); } -void SparqlAutomaticParser::BindContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitBind(this); +void SparqlAutomaticParser::BindContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitBind(this); } -std::any SparqlAutomaticParser::BindContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::BindContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBind(this); else @@ -7868,8 +6768,7 @@ std::any SparqlAutomaticParser::BindContext::accept( } SparqlAutomaticParser::BindContext* SparqlAutomaticParser::bind() { - BindContext* _localctx = - _tracker.createInstance(_ctx, getState()); + BindContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 126, SparqlAutomaticParser::RuleBind); #if __cplusplus > 201703L @@ -7893,8 +6792,9 @@ SparqlAutomaticParser::BindContext* SparqlAutomaticParser::bind() { var(); setState(795); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7903,40 +6803,39 @@ SparqlAutomaticParser::BindContext* SparqlAutomaticParser::bind() { return _localctx; } -//----------------- InlineDataContext -//------------------------------------------------------------------ +//----------------- InlineDataContext ------------------------------------------------------------------ -SparqlAutomaticParser::InlineDataContext::InlineDataContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::InlineDataContext::InlineDataContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::InlineDataContext::VALUES() { return getToken(SparqlAutomaticParser::VALUES, 0); } -SparqlAutomaticParser::DataBlockContext* -SparqlAutomaticParser::InlineDataContext::dataBlock() { +SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::InlineDataContext::dataBlock() { return getRuleContext(0); } + size_t SparqlAutomaticParser::InlineDataContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInlineData; } -void SparqlAutomaticParser::InlineDataContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterInlineData(this); +void SparqlAutomaticParser::InlineDataContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterInlineData(this); } -void SparqlAutomaticParser::InlineDataContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitInlineData(this); +void SparqlAutomaticParser::InlineDataContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitInlineData(this); } -std::any SparqlAutomaticParser::InlineDataContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::InlineDataContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInlineData(this); else @@ -7944,8 +6843,7 @@ std::any SparqlAutomaticParser::InlineDataContext::accept( } SparqlAutomaticParser::InlineDataContext* SparqlAutomaticParser::inlineData() { - InlineDataContext* _localctx = - _tracker.createInstance(_ctx, getState()); + InlineDataContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 128, SparqlAutomaticParser::RuleInlineData); #if __cplusplus > 201703L @@ -7961,8 +6859,9 @@ SparqlAutomaticParser::InlineDataContext* SparqlAutomaticParser::inlineData() { match(SparqlAutomaticParser::VALUES); setState(798); dataBlock(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7971,41 +6870,39 @@ SparqlAutomaticParser::InlineDataContext* SparqlAutomaticParser::inlineData() { return _localctx; } -//----------------- DataBlockContext -//------------------------------------------------------------------ +//----------------- DataBlockContext ------------------------------------------------------------------ -SparqlAutomaticParser::DataBlockContext::DataBlockContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DataBlockContext::DataBlockContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::InlineDataOneVarContext* -SparqlAutomaticParser::DataBlockContext::inlineDataOneVar() { +SparqlAutomaticParser::InlineDataOneVarContext* SparqlAutomaticParser::DataBlockContext::inlineDataOneVar() { return getRuleContext(0); } -SparqlAutomaticParser::InlineDataFullContext* -SparqlAutomaticParser::DataBlockContext::inlineDataFull() { +SparqlAutomaticParser::InlineDataFullContext* SparqlAutomaticParser::DataBlockContext::inlineDataFull() { return getRuleContext(0); } + size_t SparqlAutomaticParser::DataBlockContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDataBlock; } -void SparqlAutomaticParser::DataBlockContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDataBlock(this); +void SparqlAutomaticParser::DataBlockContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDataBlock(this); } -void SparqlAutomaticParser::DataBlockContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDataBlock(this); +void SparqlAutomaticParser::DataBlockContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDataBlock(this); } -std::any SparqlAutomaticParser::DataBlockContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DataBlockContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDataBlock(this); else @@ -8013,8 +6910,7 @@ std::any SparqlAutomaticParser::DataBlockContext::accept( } SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::dataBlock() { - DataBlockContext* _localctx = - _tracker.createInstance(_ctx, getState()); + DataBlockContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 130, SparqlAutomaticParser::RuleDataBlock); #if __cplusplus > 201703L @@ -8044,11 +6940,12 @@ SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::dataBlock() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8057,56 +6954,51 @@ SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::dataBlock() { return _localctx; } -//----------------- InlineDataOneVarContext -//------------------------------------------------------------------ +//----------------- InlineDataOneVarContext ------------------------------------------------------------------ -SparqlAutomaticParser::InlineDataOneVarContext::InlineDataOneVarContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::InlineDataOneVarContext::InlineDataOneVarContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::InlineDataOneVarContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::InlineDataOneVarContext::var() { return getRuleContext(0); } -std::vector -SparqlAutomaticParser::InlineDataOneVarContext::dataBlockValue() { +std::vector SparqlAutomaticParser::InlineDataOneVarContext::dataBlockValue() { return getRuleContexts(); } -SparqlAutomaticParser::DataBlockValueContext* -SparqlAutomaticParser::InlineDataOneVarContext::dataBlockValue(size_t i) { +SparqlAutomaticParser::DataBlockValueContext* SparqlAutomaticParser::InlineDataOneVarContext::dataBlockValue(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::InlineDataOneVarContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInlineDataOneVar; } -void SparqlAutomaticParser::InlineDataOneVarContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterInlineDataOneVar(this); +void SparqlAutomaticParser::InlineDataOneVarContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterInlineDataOneVar(this); } -void SparqlAutomaticParser::InlineDataOneVarContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitInlineDataOneVar(this); +void SparqlAutomaticParser::InlineDataOneVarContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitInlineDataOneVar(this); } -std::any SparqlAutomaticParser::InlineDataOneVarContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::InlineDataOneVarContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInlineDataOneVar(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::InlineDataOneVarContext* -SparqlAutomaticParser::inlineDataOneVar() { - InlineDataOneVarContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::InlineDataOneVarContext* SparqlAutomaticParser::inlineDataOneVar() { + InlineDataOneVarContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 132, SparqlAutomaticParser::RuleInlineDataOneVar); size_t _la = 0; @@ -8126,10 +7018,9 @@ SparqlAutomaticParser::inlineDataOneVar() { setState(809); _errHandler->sync(this); _la = _input->LA(1); - while ((((_la - 28) & ~0x3fULL) == 0) && - ((1ULL << (_la - 28)) & 70368744177667) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 4063111) != 0) { + while ((((_la - 28) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 28)) & 70368744177667) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 4063111) != 0) { setState(806); dataBlockValue(); setState(811); @@ -8138,8 +7029,9 @@ SparqlAutomaticParser::inlineDataOneVar() { } setState(812); match(SparqlAutomaticParser::T__4); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8148,65 +7040,59 @@ SparqlAutomaticParser::inlineDataOneVar() { return _localctx; } -//----------------- InlineDataFullContext -//------------------------------------------------------------------ +//----------------- InlineDataFullContext ------------------------------------------------------------------ -SparqlAutomaticParser::InlineDataFullContext::InlineDataFullContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::InlineDataFullContext::InlineDataFullContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::InlineDataFullContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } -std::vector -SparqlAutomaticParser::InlineDataFullContext::dataBlockSingle() { +std::vector SparqlAutomaticParser::InlineDataFullContext::dataBlockSingle() { return getRuleContexts(); } -SparqlAutomaticParser::DataBlockSingleContext* -SparqlAutomaticParser::InlineDataFullContext::dataBlockSingle(size_t i) { +SparqlAutomaticParser::DataBlockSingleContext* SparqlAutomaticParser::InlineDataFullContext::dataBlockSingle(size_t i) { return getRuleContext(i); } -std::vector -SparqlAutomaticParser::InlineDataFullContext::var() { +std::vector SparqlAutomaticParser::InlineDataFullContext::var() { return getRuleContexts(); } -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::InlineDataFullContext::var(size_t i) { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::InlineDataFullContext::var(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::InlineDataFullContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInlineDataFull; } -void SparqlAutomaticParser::InlineDataFullContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterInlineDataFull(this); +void SparqlAutomaticParser::InlineDataFullContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterInlineDataFull(this); } -void SparqlAutomaticParser::InlineDataFullContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitInlineDataFull(this); +void SparqlAutomaticParser::InlineDataFullContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitInlineDataFull(this); } -std::any SparqlAutomaticParser::InlineDataFullContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::InlineDataFullContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInlineDataFull(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::InlineDataFullContext* -SparqlAutomaticParser::inlineDataFull() { - InlineDataFullContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::InlineDataFullContext* SparqlAutomaticParser::inlineDataFull() { + InlineDataFullContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 134, SparqlAutomaticParser::RuleInlineDataFull); size_t _la = 0; @@ -8236,7 +7122,7 @@ SparqlAutomaticParser::inlineDataFull() { _la = _input->LA(1); while (_la == SparqlAutomaticParser::VAR1 - || _la == SparqlAutomaticParser::VAR2) { + || _la == SparqlAutomaticParser::VAR2) { setState(816); var(); setState(821); @@ -8248,16 +7134,15 @@ SparqlAutomaticParser::inlineDataFull() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(825); match(SparqlAutomaticParser::T__3); setState(829); _errHandler->sync(this); _la = _input->LA(1); - while (_la == SparqlAutomaticParser::T__1 || - _la == SparqlAutomaticParser::NIL) { + while (_la == SparqlAutomaticParser::T__1 || _la == SparqlAutomaticParser::NIL) { setState(826); dataBlockSingle(); setState(831); @@ -8266,8 +7151,9 @@ SparqlAutomaticParser::inlineDataFull() { } setState(832); match(SparqlAutomaticParser::T__4); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8276,55 +7162,51 @@ SparqlAutomaticParser::inlineDataFull() { return _localctx; } -//----------------- DataBlockSingleContext -//------------------------------------------------------------------ +//----------------- DataBlockSingleContext ------------------------------------------------------------------ -SparqlAutomaticParser::DataBlockSingleContext::DataBlockSingleContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DataBlockSingleContext::DataBlockSingleContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::DataBlockSingleContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } -std::vector -SparqlAutomaticParser::DataBlockSingleContext::dataBlockValue() { +std::vector SparqlAutomaticParser::DataBlockSingleContext::dataBlockValue() { return getRuleContexts(); } -SparqlAutomaticParser::DataBlockValueContext* -SparqlAutomaticParser::DataBlockSingleContext::dataBlockValue(size_t i) { +SparqlAutomaticParser::DataBlockValueContext* SparqlAutomaticParser::DataBlockSingleContext::dataBlockValue(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::DataBlockSingleContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDataBlockSingle; } -void SparqlAutomaticParser::DataBlockSingleContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDataBlockSingle(this); +void SparqlAutomaticParser::DataBlockSingleContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDataBlockSingle(this); } -void SparqlAutomaticParser::DataBlockSingleContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDataBlockSingle(this); +void SparqlAutomaticParser::DataBlockSingleContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDataBlockSingle(this); } -std::any SparqlAutomaticParser::DataBlockSingleContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DataBlockSingleContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDataBlockSingle(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DataBlockSingleContext* -SparqlAutomaticParser::dataBlockSingle() { - DataBlockSingleContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DataBlockSingleContext* SparqlAutomaticParser::dataBlockSingle() { + DataBlockSingleContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 136, SparqlAutomaticParser::RuleDataBlockSingle); size_t _la = 0; @@ -8346,10 +7228,9 @@ SparqlAutomaticParser::dataBlockSingle() { setState(838); _errHandler->sync(this); _la = _input->LA(1); - while ((((_la - 28) & ~0x3fULL) == 0) && - ((1ULL << (_la - 28)) & 70368744177667) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 4063111) != 0) { + while ((((_la - 28) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 28)) & 70368744177667) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 4063111) != 0) { setState(835); dataBlockValue(); setState(840); @@ -8367,11 +7248,12 @@ SparqlAutomaticParser::dataBlockSingle() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8380,30 +7262,25 @@ SparqlAutomaticParser::dataBlockSingle() { return _localctx; } -//----------------- DataBlockValueContext -//------------------------------------------------------------------ +//----------------- DataBlockValueContext ------------------------------------------------------------------ -SparqlAutomaticParser::DataBlockValueContext::DataBlockValueContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DataBlockValueContext::DataBlockValueContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::DataBlockValueContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::DataBlockValueContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::RdfLiteralContext* -SparqlAutomaticParser::DataBlockValueContext::rdfLiteral() { +SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::DataBlockValueContext::rdfLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralContext* -SparqlAutomaticParser::DataBlockValueContext::numericLiteral() { +SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::DataBlockValueContext::numericLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::BooleanLiteralContext* -SparqlAutomaticParser::DataBlockValueContext::booleanLiteral() { +SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::DataBlockValueContext::booleanLiteral() { return getRuleContext(0); } @@ -8411,34 +7288,33 @@ tree::TerminalNode* SparqlAutomaticParser::DataBlockValueContext::UNDEF() { return getToken(SparqlAutomaticParser::UNDEF, 0); } + size_t SparqlAutomaticParser::DataBlockValueContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDataBlockValue; } -void SparqlAutomaticParser::DataBlockValueContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDataBlockValue(this); +void SparqlAutomaticParser::DataBlockValueContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDataBlockValue(this); } -void SparqlAutomaticParser::DataBlockValueContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDataBlockValue(this); +void SparqlAutomaticParser::DataBlockValueContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDataBlockValue(this); } -std::any SparqlAutomaticParser::DataBlockValueContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DataBlockValueContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDataBlockValue(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DataBlockValueContext* -SparqlAutomaticParser::dataBlockValue() { - DataBlockValueContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DataBlockValueContext* SparqlAutomaticParser::dataBlockValue() { + DataBlockValueContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 138, SparqlAutomaticParser::RuleDataBlockValue); #if __cplusplus > 201703L @@ -8502,11 +7378,12 @@ SparqlAutomaticParser::dataBlockValue() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8515,50 +7392,47 @@ SparqlAutomaticParser::dataBlockValue() { return _localctx; } -//----------------- MinusGraphPatternContext -//------------------------------------------------------------------ +//----------------- MinusGraphPatternContext ------------------------------------------------------------------ -SparqlAutomaticParser::MinusGraphPatternContext::MinusGraphPatternContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::MinusGraphPatternContext::MinusGraphPatternContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::MinusGraphPatternContext::MINUS() { return getToken(SparqlAutomaticParser::MINUS, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::MinusGraphPatternContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::MinusGraphPatternContext::groupGraphPattern() { return getRuleContext(0); } + size_t SparqlAutomaticParser::MinusGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMinusGraphPattern; } -void SparqlAutomaticParser::MinusGraphPatternContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterMinusGraphPattern(this); +void SparqlAutomaticParser::MinusGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterMinusGraphPattern(this); } -void SparqlAutomaticParser::MinusGraphPatternContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitMinusGraphPattern(this); +void SparqlAutomaticParser::MinusGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitMinusGraphPattern(this); } -std::any SparqlAutomaticParser::MinusGraphPatternContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::MinusGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMinusGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MinusGraphPatternContext* -SparqlAutomaticParser::minusGraphPattern() { - MinusGraphPatternContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::MinusGraphPatternContext* SparqlAutomaticParser::minusGraphPattern() { + MinusGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 140, SparqlAutomaticParser::RuleMinusGraphPattern); #if __cplusplus > 201703L @@ -8574,8 +7448,9 @@ SparqlAutomaticParser::minusGraphPattern() { match(SparqlAutomaticParser::MINUS); setState(853); groupGraphPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8584,69 +7459,56 @@ SparqlAutomaticParser::minusGraphPattern() { return _localctx; } -//----------------- GroupOrUnionGraphPatternContext -//------------------------------------------------------------------ +//----------------- GroupOrUnionGraphPatternContext ------------------------------------------------------------------ -SparqlAutomaticParser::GroupOrUnionGraphPatternContext:: - GroupOrUnionGraphPatternContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GroupOrUnionGraphPatternContext::GroupOrUnionGraphPatternContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::GroupOrUnionGraphPatternContext::groupGraphPattern() { +std::vector SparqlAutomaticParser::GroupOrUnionGraphPatternContext::groupGraphPattern() { return getRuleContexts(); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::GroupOrUnionGraphPatternContext::groupGraphPattern( - size_t i) { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::GroupOrUnionGraphPatternContext::groupGraphPattern(size_t i) { return getRuleContext(i); } -std::vector -SparqlAutomaticParser::GroupOrUnionGraphPatternContext::UNION() { +std::vector SparqlAutomaticParser::GroupOrUnionGraphPatternContext::UNION() { return getTokens(SparqlAutomaticParser::UNION); } -tree::TerminalNode* -SparqlAutomaticParser::GroupOrUnionGraphPatternContext::UNION(size_t i) { +tree::TerminalNode* SparqlAutomaticParser::GroupOrUnionGraphPatternContext::UNION(size_t i) { return getToken(SparqlAutomaticParser::UNION, i); } -size_t SparqlAutomaticParser::GroupOrUnionGraphPatternContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::GroupOrUnionGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGroupOrUnionGraphPattern; } -void SparqlAutomaticParser::GroupOrUnionGraphPatternContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GroupOrUnionGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterGroupOrUnionGraphPattern(this); } -void SparqlAutomaticParser::GroupOrUnionGraphPatternContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GroupOrUnionGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitGroupOrUnionGraphPattern(this); } -std::any SparqlAutomaticParser::GroupOrUnionGraphPatternContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GroupOrUnionGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupOrUnionGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupOrUnionGraphPatternContext* -SparqlAutomaticParser::groupOrUnionGraphPattern() { - GroupOrUnionGraphPatternContext* _localctx = - _tracker.createInstance(_ctx, - getState()); - enterRule(_localctx, 142, - SparqlAutomaticParser::RuleGroupOrUnionGraphPattern); +SparqlAutomaticParser::GroupOrUnionGraphPatternContext* SparqlAutomaticParser::groupOrUnionGraphPattern() { + GroupOrUnionGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 142, SparqlAutomaticParser::RuleGroupOrUnionGraphPattern); size_t _la = 0; #if __cplusplus > 201703L @@ -8672,8 +7534,9 @@ SparqlAutomaticParser::groupOrUnionGraphPattern() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8682,40 +7545,39 @@ SparqlAutomaticParser::groupOrUnionGraphPattern() { return _localctx; } -//----------------- FilterRContext -//------------------------------------------------------------------ +//----------------- FilterRContext ------------------------------------------------------------------ -SparqlAutomaticParser::FilterRContext::FilterRContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::FilterRContext::FilterRContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::FilterRContext::FILTER() { return getToken(SparqlAutomaticParser::FILTER, 0); } -SparqlAutomaticParser::ConstraintContext* -SparqlAutomaticParser::FilterRContext::constraint() { +SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::FilterRContext::constraint() { return getRuleContext(0); } + size_t SparqlAutomaticParser::FilterRContext::getRuleIndex() const { return SparqlAutomaticParser::RuleFilterR; } -void SparqlAutomaticParser::FilterRContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterFilterR(this); +void SparqlAutomaticParser::FilterRContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterFilterR(this); } -void SparqlAutomaticParser::FilterRContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitFilterR(this); +void SparqlAutomaticParser::FilterRContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitFilterR(this); } -std::any SparqlAutomaticParser::FilterRContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::FilterRContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitFilterR(this); else @@ -8723,8 +7585,7 @@ std::any SparqlAutomaticParser::FilterRContext::accept( } SparqlAutomaticParser::FilterRContext* SparqlAutomaticParser::filterR() { - FilterRContext* _localctx = - _tracker.createInstance(_ctx, getState()); + FilterRContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 144, SparqlAutomaticParser::RuleFilterR); #if __cplusplus > 201703L @@ -8740,8 +7601,9 @@ SparqlAutomaticParser::FilterRContext* SparqlAutomaticParser::filterR() { match(SparqlAutomaticParser::FILTER); setState(864); constraint(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8750,46 +7612,43 @@ SparqlAutomaticParser::FilterRContext* SparqlAutomaticParser::filterR() { return _localctx; } -//----------------- ConstraintContext -//------------------------------------------------------------------ +//----------------- ConstraintContext ------------------------------------------------------------------ -SparqlAutomaticParser::ConstraintContext::ConstraintContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ConstraintContext::ConstraintContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::BrackettedExpressionContext* -SparqlAutomaticParser::ConstraintContext::brackettedExpression() { +SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::ConstraintContext::brackettedExpression() { return getRuleContext(0); } -SparqlAutomaticParser::BuiltInCallContext* -SparqlAutomaticParser::ConstraintContext::builtInCall() { +SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::ConstraintContext::builtInCall() { return getRuleContext(0); } -SparqlAutomaticParser::FunctionCallContext* -SparqlAutomaticParser::ConstraintContext::functionCall() { +SparqlAutomaticParser::FunctionCallContext* SparqlAutomaticParser::ConstraintContext::functionCall() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ConstraintContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConstraint; } -void SparqlAutomaticParser::ConstraintContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterConstraint(this); +void SparqlAutomaticParser::ConstraintContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterConstraint(this); } -void SparqlAutomaticParser::ConstraintContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitConstraint(this); +void SparqlAutomaticParser::ConstraintContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitConstraint(this); } -std::any SparqlAutomaticParser::ConstraintContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ConstraintContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConstraint(this); else @@ -8797,8 +7656,7 @@ std::any SparqlAutomaticParser::ConstraintContext::accept( } SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::constraint() { - ConstraintContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ConstraintContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 146, SparqlAutomaticParser::RuleConstraint); #if __cplusplus > 201703L @@ -8897,11 +7755,12 @@ SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::constraint() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8910,51 +7769,47 @@ SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::constraint() { return _localctx; } -//----------------- FunctionCallContext -//------------------------------------------------------------------ +//----------------- FunctionCallContext ------------------------------------------------------------------ -SparqlAutomaticParser::FunctionCallContext::FunctionCallContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::FunctionCallContext::FunctionCallContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::FunctionCallContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::FunctionCallContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::ArgListContext* -SparqlAutomaticParser::FunctionCallContext::argList() { +SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::FunctionCallContext::argList() { return getRuleContext(0); } + size_t SparqlAutomaticParser::FunctionCallContext::getRuleIndex() const { return SparqlAutomaticParser::RuleFunctionCall; } -void SparqlAutomaticParser::FunctionCallContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterFunctionCall(this); +void SparqlAutomaticParser::FunctionCallContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterFunctionCall(this); } -void SparqlAutomaticParser::FunctionCallContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitFunctionCall(this); +void SparqlAutomaticParser::FunctionCallContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitFunctionCall(this); } -std::any SparqlAutomaticParser::FunctionCallContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::FunctionCallContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitFunctionCall(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::FunctionCallContext* -SparqlAutomaticParser::functionCall() { - FunctionCallContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::FunctionCallContext* SparqlAutomaticParser::functionCall() { + FunctionCallContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 148, SparqlAutomaticParser::RuleFunctionCall); #if __cplusplus > 201703L @@ -8970,8 +7825,9 @@ SparqlAutomaticParser::functionCall() { iri(); setState(872); argList(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8980,24 +7836,21 @@ SparqlAutomaticParser::functionCall() { return _localctx; } -//----------------- ArgListContext -//------------------------------------------------------------------ +//----------------- ArgListContext ------------------------------------------------------------------ -SparqlAutomaticParser::ArgListContext::ArgListContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ArgListContext::ArgListContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::ArgListContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } -std::vector -SparqlAutomaticParser::ArgListContext::expression() { +std::vector SparqlAutomaticParser::ArgListContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::ArgListContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::ArgListContext::expression(size_t i) { return getRuleContext(i); } @@ -9005,24 +7858,25 @@ tree::TerminalNode* SparqlAutomaticParser::ArgListContext::DISTINCT() { return getToken(SparqlAutomaticParser::DISTINCT, 0); } + size_t SparqlAutomaticParser::ArgListContext::getRuleIndex() const { return SparqlAutomaticParser::RuleArgList; } -void SparqlAutomaticParser::ArgListContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterArgList(this); +void SparqlAutomaticParser::ArgListContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterArgList(this); } -void SparqlAutomaticParser::ArgListContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitArgList(this); +void SparqlAutomaticParser::ArgListContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitArgList(this); } -std::any SparqlAutomaticParser::ArgListContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ArgListContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitArgList(this); else @@ -9030,8 +7884,7 @@ std::any SparqlAutomaticParser::ArgListContext::accept( } SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::argList() { - ArgListContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ArgListContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 150, SparqlAutomaticParser::RuleArgList); size_t _la = 0; @@ -9084,11 +7937,12 @@ SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::argList() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9097,55 +7951,51 @@ SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::argList() { return _localctx; } -//----------------- ExpressionListContext -//------------------------------------------------------------------ +//----------------- ExpressionListContext ------------------------------------------------------------------ -SparqlAutomaticParser::ExpressionListContext::ExpressionListContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ExpressionListContext::ExpressionListContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::ExpressionListContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } -std::vector -SparqlAutomaticParser::ExpressionListContext::expression() { +std::vector SparqlAutomaticParser::ExpressionListContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::ExpressionListContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::ExpressionListContext::expression(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::ExpressionListContext::getRuleIndex() const { return SparqlAutomaticParser::RuleExpressionList; } -void SparqlAutomaticParser::ExpressionListContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterExpressionList(this); +void SparqlAutomaticParser::ExpressionListContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterExpressionList(this); } -void SparqlAutomaticParser::ExpressionListContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitExpressionList(this); +void SparqlAutomaticParser::ExpressionListContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitExpressionList(this); } -std::any SparqlAutomaticParser::ExpressionListContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ExpressionListContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitExpressionList(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ExpressionListContext* -SparqlAutomaticParser::expressionList() { - ExpressionListContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ExpressionListContext* SparqlAutomaticParser::expressionList() { + ExpressionListContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 152, SparqlAutomaticParser::RuleExpressionList); size_t _la = 0; @@ -9190,11 +8040,12 @@ SparqlAutomaticParser::expressionList() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9203,46 +8054,43 @@ SparqlAutomaticParser::expressionList() { return _localctx; } -//----------------- ConstructTemplateContext -//------------------------------------------------------------------ +//----------------- ConstructTemplateContext ------------------------------------------------------------------ -SparqlAutomaticParser::ConstructTemplateContext::ConstructTemplateContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ConstructTemplateContext::ConstructTemplateContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::ConstructTriplesContext* -SparqlAutomaticParser::ConstructTemplateContext::constructTriples() { +SparqlAutomaticParser::ConstructTriplesContext* SparqlAutomaticParser::ConstructTemplateContext::constructTriples() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ConstructTemplateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConstructTemplate; } -void SparqlAutomaticParser::ConstructTemplateContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterConstructTemplate(this); +void SparqlAutomaticParser::ConstructTemplateContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterConstructTemplate(this); } -void SparqlAutomaticParser::ConstructTemplateContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitConstructTemplate(this); +void SparqlAutomaticParser::ConstructTemplateContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitConstructTemplate(this); } -std::any SparqlAutomaticParser::ConstructTemplateContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ConstructTemplateContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConstructTemplate(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConstructTemplateContext* -SparqlAutomaticParser::constructTemplate() { - ConstructTemplateContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ConstructTemplateContext* SparqlAutomaticParser::constructTemplate() { + ConstructTemplateContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 154, SparqlAutomaticParser::RuleConstructTemplate); size_t _la = 0; @@ -9261,16 +8109,17 @@ SparqlAutomaticParser::constructTemplate() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(906); constructTriples(); } setState(909); match(SparqlAutomaticParser::T__4); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9279,51 +8128,47 @@ SparqlAutomaticParser::constructTemplate() { return _localctx; } -//----------------- ConstructTriplesContext -//------------------------------------------------------------------ +//----------------- ConstructTriplesContext ------------------------------------------------------------------ -SparqlAutomaticParser::ConstructTriplesContext::ConstructTriplesContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ConstructTriplesContext::ConstructTriplesContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::TriplesSameSubjectContext* -SparqlAutomaticParser::ConstructTriplesContext::triplesSameSubject() { +SparqlAutomaticParser::TriplesSameSubjectContext* SparqlAutomaticParser::ConstructTriplesContext::triplesSameSubject() { return getRuleContext(0); } -SparqlAutomaticParser::ConstructTriplesContext* -SparqlAutomaticParser::ConstructTriplesContext::constructTriples() { +SparqlAutomaticParser::ConstructTriplesContext* SparqlAutomaticParser::ConstructTriplesContext::constructTriples() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ConstructTriplesContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConstructTriples; } -void SparqlAutomaticParser::ConstructTriplesContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterConstructTriples(this); +void SparqlAutomaticParser::ConstructTriplesContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterConstructTriples(this); } -void SparqlAutomaticParser::ConstructTriplesContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitConstructTriples(this); +void SparqlAutomaticParser::ConstructTriplesContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitConstructTriples(this); } -std::any SparqlAutomaticParser::ConstructTriplesContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ConstructTriplesContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConstructTriples(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConstructTriplesContext* -SparqlAutomaticParser::constructTriples() { - ConstructTriplesContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ConstructTriplesContext* SparqlAutomaticParser::constructTriples() { + ConstructTriplesContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 156, SparqlAutomaticParser::RuleConstructTriples); size_t _la = 0; @@ -9349,15 +8194,16 @@ SparqlAutomaticParser::constructTriples() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(913); constructTriples(); } } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9366,61 +8212,55 @@ SparqlAutomaticParser::constructTriples() { return _localctx; } -//----------------- TriplesSameSubjectContext -//------------------------------------------------------------------ +//----------------- TriplesSameSubjectContext ------------------------------------------------------------------ -SparqlAutomaticParser::TriplesSameSubjectContext::TriplesSameSubjectContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TriplesSameSubjectContext::TriplesSameSubjectContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarOrTermContext* -SparqlAutomaticParser::TriplesSameSubjectContext::varOrTerm() { +SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::TriplesSameSubjectContext::varOrTerm() { return getRuleContext(0); } -SparqlAutomaticParser::PropertyListNotEmptyContext* -SparqlAutomaticParser::TriplesSameSubjectContext::propertyListNotEmpty() { +SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::TriplesSameSubjectContext::propertyListNotEmpty() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesNodeContext* -SparqlAutomaticParser::TriplesSameSubjectContext::triplesNode() { +SparqlAutomaticParser::TriplesNodeContext* SparqlAutomaticParser::TriplesSameSubjectContext::triplesNode() { return getRuleContext(0); } -SparqlAutomaticParser::PropertyListContext* -SparqlAutomaticParser::TriplesSameSubjectContext::propertyList() { +SparqlAutomaticParser::PropertyListContext* SparqlAutomaticParser::TriplesSameSubjectContext::propertyList() { return getRuleContext(0); } + size_t SparqlAutomaticParser::TriplesSameSubjectContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesSameSubject; } -void SparqlAutomaticParser::TriplesSameSubjectContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterTriplesSameSubject(this); +void SparqlAutomaticParser::TriplesSameSubjectContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterTriplesSameSubject(this); } -void SparqlAutomaticParser::TriplesSameSubjectContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitTriplesSameSubject(this); +void SparqlAutomaticParser::TriplesSameSubjectContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitTriplesSameSubject(this); } -std::any SparqlAutomaticParser::TriplesSameSubjectContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TriplesSameSubjectContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesSameSubject(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesSameSubjectContext* -SparqlAutomaticParser::triplesSameSubject() { - TriplesSameSubjectContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesSameSubjectContext* SparqlAutomaticParser::triplesSameSubject() { + TriplesSameSubjectContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 158, SparqlAutomaticParser::RuleTriplesSameSubject); #if __cplusplus > 201703L @@ -9476,11 +8316,12 @@ SparqlAutomaticParser::triplesSameSubject() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9489,46 +8330,43 @@ SparqlAutomaticParser::triplesSameSubject() { return _localctx; } -//----------------- PropertyListContext -//------------------------------------------------------------------ +//----------------- PropertyListContext ------------------------------------------------------------------ -SparqlAutomaticParser::PropertyListContext::PropertyListContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PropertyListContext::PropertyListContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PropertyListNotEmptyContext* -SparqlAutomaticParser::PropertyListContext::propertyListNotEmpty() { +SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::PropertyListContext::propertyListNotEmpty() { return getRuleContext(0); } + size_t SparqlAutomaticParser::PropertyListContext::getRuleIndex() const { return SparqlAutomaticParser::RulePropertyList; } -void SparqlAutomaticParser::PropertyListContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPropertyList(this); +void SparqlAutomaticParser::PropertyListContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPropertyList(this); } -void SparqlAutomaticParser::PropertyListContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPropertyList(this); +void SparqlAutomaticParser::PropertyListContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPropertyList(this); } -std::any SparqlAutomaticParser::PropertyListContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PropertyListContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPropertyList(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PropertyListContext* -SparqlAutomaticParser::propertyList() { - PropertyListContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PropertyListContext* SparqlAutomaticParser::propertyList() { + PropertyListContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 160, SparqlAutomaticParser::RulePropertyList); size_t _la = 0; @@ -9545,13 +8383,14 @@ SparqlAutomaticParser::propertyList() { _errHandler->sync(this); _la = _input->LA(1); - if (_la == SparqlAutomaticParser::T__8 || - (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0) { + if (_la == SparqlAutomaticParser::T__8 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0) { setState(926); propertyListNotEmpty(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9560,63 +8399,55 @@ SparqlAutomaticParser::propertyList() { return _localctx; } -//----------------- PropertyListNotEmptyContext -//------------------------------------------------------------------ +//----------------- PropertyListNotEmptyContext ------------------------------------------------------------------ -SparqlAutomaticParser::PropertyListNotEmptyContext::PropertyListNotEmptyContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PropertyListNotEmptyContext::PropertyListNotEmptyContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::PropertyListNotEmptyContext::verb() { +std::vector SparqlAutomaticParser::PropertyListNotEmptyContext::verb() { return getRuleContexts(); } -SparqlAutomaticParser::VerbContext* -SparqlAutomaticParser::PropertyListNotEmptyContext::verb(size_t i) { +SparqlAutomaticParser::VerbContext* SparqlAutomaticParser::PropertyListNotEmptyContext::verb(size_t i) { return getRuleContext(i); } -std::vector -SparqlAutomaticParser::PropertyListNotEmptyContext::objectList() { +std::vector SparqlAutomaticParser::PropertyListNotEmptyContext::objectList() { return getRuleContexts(); } -SparqlAutomaticParser::ObjectListContext* -SparqlAutomaticParser::PropertyListNotEmptyContext::objectList(size_t i) { +SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::PropertyListNotEmptyContext::objectList(size_t i) { return getRuleContext(i); } -size_t SparqlAutomaticParser::PropertyListNotEmptyContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::PropertyListNotEmptyContext::getRuleIndex() const { return SparqlAutomaticParser::RulePropertyListNotEmpty; } -void SparqlAutomaticParser::PropertyListNotEmptyContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PropertyListNotEmptyContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterPropertyListNotEmpty(this); } -void SparqlAutomaticParser::PropertyListNotEmptyContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPropertyListNotEmpty(this); +void SparqlAutomaticParser::PropertyListNotEmptyContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPropertyListNotEmpty(this); } -std::any SparqlAutomaticParser::PropertyListNotEmptyContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PropertyListNotEmptyContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPropertyListNotEmpty(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PropertyListNotEmptyContext* -SparqlAutomaticParser::propertyListNotEmpty() { - PropertyListNotEmptyContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::propertyListNotEmpty() { + PropertyListNotEmptyContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 162, SparqlAutomaticParser::RulePropertyListNotEmpty); size_t _la = 0; @@ -9643,9 +8474,8 @@ SparqlAutomaticParser::propertyListNotEmpty() { _errHandler->sync(this); _la = _input->LA(1); - if (_la == SparqlAutomaticParser::T__8 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0) { + if (_la == SparqlAutomaticParser::T__8 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0) { setState(932); verb(); setState(933); @@ -9655,8 +8485,9 @@ SparqlAutomaticParser::propertyListNotEmpty() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9665,36 +8496,35 @@ SparqlAutomaticParser::propertyListNotEmpty() { return _localctx; } -//----------------- VerbContext -//------------------------------------------------------------------ +//----------------- VerbContext ------------------------------------------------------------------ -SparqlAutomaticParser::VerbContext::VerbContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::VerbContext::VerbContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarOrIriContext* -SparqlAutomaticParser::VerbContext::varOrIri() { +SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::VerbContext::varOrIri() { return getRuleContext(0); } + size_t SparqlAutomaticParser::VerbContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVerb; } -void SparqlAutomaticParser::VerbContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterVerb(this); +void SparqlAutomaticParser::VerbContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterVerb(this); } -void SparqlAutomaticParser::VerbContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitVerb(this); +void SparqlAutomaticParser::VerbContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitVerb(this); } -std::any SparqlAutomaticParser::VerbContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::VerbContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVerb(this); else @@ -9702,8 +8532,7 @@ std::any SparqlAutomaticParser::VerbContext::accept( } SparqlAutomaticParser::VerbContext* SparqlAutomaticParser::verb() { - VerbContext* _localctx = - _tracker.createInstance(_ctx, getState()); + VerbContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 164, SparqlAutomaticParser::RuleVerb); #if __cplusplus > 201703L @@ -9736,11 +8565,12 @@ SparqlAutomaticParser::VerbContext* SparqlAutomaticParser::verb() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9749,41 +8579,39 @@ SparqlAutomaticParser::VerbContext* SparqlAutomaticParser::verb() { return _localctx; } -//----------------- ObjectListContext -//------------------------------------------------------------------ +//----------------- ObjectListContext ------------------------------------------------------------------ -SparqlAutomaticParser::ObjectListContext::ObjectListContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ObjectListContext::ObjectListContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::ObjectListContext::objectR() { +std::vector SparqlAutomaticParser::ObjectListContext::objectR() { return getRuleContexts(); } -SparqlAutomaticParser::ObjectRContext* -SparqlAutomaticParser::ObjectListContext::objectR(size_t i) { +SparqlAutomaticParser::ObjectRContext* SparqlAutomaticParser::ObjectListContext::objectR(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::ObjectListContext::getRuleIndex() const { return SparqlAutomaticParser::RuleObjectList; } -void SparqlAutomaticParser::ObjectListContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterObjectList(this); +void SparqlAutomaticParser::ObjectListContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterObjectList(this); } -void SparqlAutomaticParser::ObjectListContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitObjectList(this); +void SparqlAutomaticParser::ObjectListContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitObjectList(this); } -std::any SparqlAutomaticParser::ObjectListContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ObjectListContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitObjectList(this); else @@ -9791,8 +8619,7 @@ std::any SparqlAutomaticParser::ObjectListContext::accept( } SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::objectList() { - ObjectListContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ObjectListContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 166, SparqlAutomaticParser::RuleObjectList); size_t _la = 0; @@ -9819,8 +8646,9 @@ SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::objectList() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9829,36 +8657,35 @@ SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::objectList() { return _localctx; } -//----------------- ObjectRContext -//------------------------------------------------------------------ +//----------------- ObjectRContext ------------------------------------------------------------------ -SparqlAutomaticParser::ObjectRContext::ObjectRContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ObjectRContext::ObjectRContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::GraphNodeContext* -SparqlAutomaticParser::ObjectRContext::graphNode() { +SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::ObjectRContext::graphNode() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ObjectRContext::getRuleIndex() const { return SparqlAutomaticParser::RuleObjectR; } -void SparqlAutomaticParser::ObjectRContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterObjectR(this); +void SparqlAutomaticParser::ObjectRContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterObjectR(this); } -void SparqlAutomaticParser::ObjectRContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitObjectR(this); +void SparqlAutomaticParser::ObjectRContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitObjectR(this); } -std::any SparqlAutomaticParser::ObjectRContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ObjectRContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitObjectR(this); else @@ -9866,8 +8693,7 @@ std::any SparqlAutomaticParser::ObjectRContext::accept( } SparqlAutomaticParser::ObjectRContext* SparqlAutomaticParser::objectR() { - ObjectRContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ObjectRContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 168, SparqlAutomaticParser::RuleObjectR); #if __cplusplus > 201703L @@ -9881,8 +8707,9 @@ SparqlAutomaticParser::ObjectRContext* SparqlAutomaticParser::objectR() { enterOuterAlt(_localctx, 1); setState(954); graphNode(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9891,66 +8718,55 @@ SparqlAutomaticParser::ObjectRContext* SparqlAutomaticParser::objectR() { return _localctx; } -//----------------- TriplesSameSubjectPathContext -//------------------------------------------------------------------ +//----------------- TriplesSameSubjectPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::TriplesSameSubjectPathContext:: - TriplesSameSubjectPathContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TriplesSameSubjectPathContext::TriplesSameSubjectPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarOrTermContext* -SparqlAutomaticParser::TriplesSameSubjectPathContext::varOrTerm() { +SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::TriplesSameSubjectPathContext::varOrTerm() { return getRuleContext(0); } -SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser:: - TriplesSameSubjectPathContext::propertyListPathNotEmpty() { - return getRuleContext( - 0); +SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::TriplesSameSubjectPathContext::propertyListPathNotEmpty() { + return getRuleContext(0); } -SparqlAutomaticParser::TriplesNodePathContext* -SparqlAutomaticParser::TriplesSameSubjectPathContext::triplesNodePath() { +SparqlAutomaticParser::TriplesNodePathContext* SparqlAutomaticParser::TriplesSameSubjectPathContext::triplesNodePath() { return getRuleContext(0); } -SparqlAutomaticParser::PropertyListPathContext* -SparqlAutomaticParser::TriplesSameSubjectPathContext::propertyListPath() { +SparqlAutomaticParser::PropertyListPathContext* SparqlAutomaticParser::TriplesSameSubjectPathContext::propertyListPath() { return getRuleContext(0); } -size_t SparqlAutomaticParser::TriplesSameSubjectPathContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::TriplesSameSubjectPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesSameSubjectPath; } -void SparqlAutomaticParser::TriplesSameSubjectPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::TriplesSameSubjectPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterTriplesSameSubjectPath(this); } -void SparqlAutomaticParser::TriplesSameSubjectPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::TriplesSameSubjectPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitTriplesSameSubjectPath(this); } -std::any SparqlAutomaticParser::TriplesSameSubjectPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TriplesSameSubjectPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesSameSubjectPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesSameSubjectPathContext* -SparqlAutomaticParser::triplesSameSubjectPath() { - TriplesSameSubjectPathContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesSameSubjectPathContext* SparqlAutomaticParser::triplesSameSubjectPath() { + TriplesSameSubjectPathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 170, SparqlAutomaticParser::RuleTriplesSameSubjectPath); #if __cplusplus > 201703L @@ -10006,11 +8822,12 @@ SparqlAutomaticParser::triplesSameSubjectPath() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10019,47 +8836,43 @@ SparqlAutomaticParser::triplesSameSubjectPath() { return _localctx; } -//----------------- PropertyListPathContext -//------------------------------------------------------------------ +//----------------- PropertyListPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::PropertyListPathContext::PropertyListPathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PropertyListPathContext::PropertyListPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PropertyListPathNotEmptyContext* -SparqlAutomaticParser::PropertyListPathContext::propertyListPathNotEmpty() { - return getRuleContext( - 0); +SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::PropertyListPathContext::propertyListPathNotEmpty() { + return getRuleContext(0); } + size_t SparqlAutomaticParser::PropertyListPathContext::getRuleIndex() const { return SparqlAutomaticParser::RulePropertyListPath; } -void SparqlAutomaticParser::PropertyListPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPropertyListPath(this); +void SparqlAutomaticParser::PropertyListPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPropertyListPath(this); } -void SparqlAutomaticParser::PropertyListPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPropertyListPath(this); +void SparqlAutomaticParser::PropertyListPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPropertyListPath(this); } -std::any SparqlAutomaticParser::PropertyListPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PropertyListPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPropertyListPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PropertyListPathContext* -SparqlAutomaticParser::propertyListPath() { - PropertyListPathContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PropertyListPathContext* SparqlAutomaticParser::propertyListPath() { + PropertyListPathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 172, SparqlAutomaticParser::RulePropertyListPath); size_t _la = 0; @@ -10076,13 +8889,15 @@ SparqlAutomaticParser::propertyListPath() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 37380) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 37380) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0) { setState(964); propertyListPathNotEmpty(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10091,64 +8906,52 @@ SparqlAutomaticParser::propertyListPath() { return _localctx; } -//----------------- PropertyListPathNotEmptyContext -//------------------------------------------------------------------ +//----------------- PropertyListPathNotEmptyContext ------------------------------------------------------------------ -SparqlAutomaticParser::PropertyListPathNotEmptyContext:: - PropertyListPathNotEmptyContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PropertyListPathNotEmptyContext::PropertyListPathNotEmptyContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::TupleWithPathContext* -SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithPath() { +SparqlAutomaticParser::TupleWithPathContext* SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithPath() { return getRuleContext(0); } -std::vector -SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithoutPath() { +std::vector SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithoutPath() { return getRuleContexts(); } -SparqlAutomaticParser::TupleWithoutPathContext* -SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithoutPath( - size_t i) { +SparqlAutomaticParser::TupleWithoutPathContext* SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithoutPath(size_t i) { return getRuleContext(i); } -size_t SparqlAutomaticParser::PropertyListPathNotEmptyContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::PropertyListPathNotEmptyContext::getRuleIndex() const { return SparqlAutomaticParser::RulePropertyListPathNotEmpty; } -void SparqlAutomaticParser::PropertyListPathNotEmptyContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PropertyListPathNotEmptyContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterPropertyListPathNotEmpty(this); } -void SparqlAutomaticParser::PropertyListPathNotEmptyContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PropertyListPathNotEmptyContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitPropertyListPathNotEmpty(this); } -std::any SparqlAutomaticParser::PropertyListPathNotEmptyContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PropertyListPathNotEmptyContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPropertyListPathNotEmpty(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PropertyListPathNotEmptyContext* -SparqlAutomaticParser::propertyListPathNotEmpty() { - PropertyListPathNotEmptyContext* _localctx = - _tracker.createInstance(_ctx, - getState()); - enterRule(_localctx, 174, - SparqlAutomaticParser::RulePropertyListPathNotEmpty); +SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::propertyListPathNotEmpty() { + PropertyListPathNotEmptyContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 174, SparqlAutomaticParser::RulePropertyListPathNotEmpty); size_t _la = 0; #if __cplusplus > 201703L @@ -10172,9 +8975,9 @@ SparqlAutomaticParser::propertyListPathNotEmpty() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 37380) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 37380) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0) { setState(969); tupleWithoutPath(); } @@ -10182,8 +8985,9 @@ SparqlAutomaticParser::propertyListPathNotEmpty() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10192,36 +8996,35 @@ SparqlAutomaticParser::propertyListPathNotEmpty() { return _localctx; } -//----------------- VerbPathContext -//------------------------------------------------------------------ +//----------------- VerbPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::VerbPathContext::VerbPathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::VerbPathContext::VerbPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PathContext* -SparqlAutomaticParser::VerbPathContext::path() { +SparqlAutomaticParser::PathContext* SparqlAutomaticParser::VerbPathContext::path() { return getRuleContext(0); } + size_t SparqlAutomaticParser::VerbPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVerbPath; } -void SparqlAutomaticParser::VerbPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterVerbPath(this); +void SparqlAutomaticParser::VerbPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterVerbPath(this); } -void SparqlAutomaticParser::VerbPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitVerbPath(this); +void SparqlAutomaticParser::VerbPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitVerbPath(this); } -std::any SparqlAutomaticParser::VerbPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::VerbPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVerbPath(this); else @@ -10229,8 +9032,7 @@ std::any SparqlAutomaticParser::VerbPathContext::accept( } SparqlAutomaticParser::VerbPathContext* SparqlAutomaticParser::verbPath() { - VerbPathContext* _localctx = - _tracker.createInstance(_ctx, getState()); + VerbPathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 176, SparqlAutomaticParser::RuleVerbPath); #if __cplusplus > 201703L @@ -10244,8 +9046,9 @@ SparqlAutomaticParser::VerbPathContext* SparqlAutomaticParser::verbPath() { enterOuterAlt(_localctx, 1); setState(977); path(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10254,36 +9057,35 @@ SparqlAutomaticParser::VerbPathContext* SparqlAutomaticParser::verbPath() { return _localctx; } -//----------------- VerbSimpleContext -//------------------------------------------------------------------ +//----------------- VerbSimpleContext ------------------------------------------------------------------ -SparqlAutomaticParser::VerbSimpleContext::VerbSimpleContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::VerbSimpleContext::VerbSimpleContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::VerbSimpleContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::VerbSimpleContext::var() { return getRuleContext(0); } + size_t SparqlAutomaticParser::VerbSimpleContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVerbSimple; } -void SparqlAutomaticParser::VerbSimpleContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterVerbSimple(this); +void SparqlAutomaticParser::VerbSimpleContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterVerbSimple(this); } -void SparqlAutomaticParser::VerbSimpleContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitVerbSimple(this); +void SparqlAutomaticParser::VerbSimpleContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitVerbSimple(this); } -std::any SparqlAutomaticParser::VerbSimpleContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::VerbSimpleContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVerbSimple(this); else @@ -10291,8 +9093,7 @@ std::any SparqlAutomaticParser::VerbSimpleContext::accept( } SparqlAutomaticParser::VerbSimpleContext* SparqlAutomaticParser::verbSimple() { - VerbSimpleContext* _localctx = - _tracker.createInstance(_ctx, getState()); + VerbSimpleContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 178, SparqlAutomaticParser::RuleVerbSimple); #if __cplusplus > 201703L @@ -10306,8 +9107,9 @@ SparqlAutomaticParser::VerbSimpleContext* SparqlAutomaticParser::verbSimple() { enterOuterAlt(_localctx, 1); setState(979); var(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10316,51 +9118,47 @@ SparqlAutomaticParser::VerbSimpleContext* SparqlAutomaticParser::verbSimple() { return _localctx; } -//----------------- TupleWithoutPathContext -//------------------------------------------------------------------ +//----------------- TupleWithoutPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::TupleWithoutPathContext::TupleWithoutPathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TupleWithoutPathContext::TupleWithoutPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VerbPathOrSimpleContext* -SparqlAutomaticParser::TupleWithoutPathContext::verbPathOrSimple() { +SparqlAutomaticParser::VerbPathOrSimpleContext* SparqlAutomaticParser::TupleWithoutPathContext::verbPathOrSimple() { return getRuleContext(0); } -SparqlAutomaticParser::ObjectListContext* -SparqlAutomaticParser::TupleWithoutPathContext::objectList() { +SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::TupleWithoutPathContext::objectList() { return getRuleContext(0); } + size_t SparqlAutomaticParser::TupleWithoutPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTupleWithoutPath; } -void SparqlAutomaticParser::TupleWithoutPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterTupleWithoutPath(this); +void SparqlAutomaticParser::TupleWithoutPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterTupleWithoutPath(this); } -void SparqlAutomaticParser::TupleWithoutPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitTupleWithoutPath(this); +void SparqlAutomaticParser::TupleWithoutPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitTupleWithoutPath(this); } -std::any SparqlAutomaticParser::TupleWithoutPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TupleWithoutPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTupleWithoutPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TupleWithoutPathContext* -SparqlAutomaticParser::tupleWithoutPath() { - TupleWithoutPathContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TupleWithoutPathContext* SparqlAutomaticParser::tupleWithoutPath() { + TupleWithoutPathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 180, SparqlAutomaticParser::RuleTupleWithoutPath); #if __cplusplus > 201703L @@ -10376,8 +9174,9 @@ SparqlAutomaticParser::tupleWithoutPath() { verbPathOrSimple(); setState(982); objectList(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10386,51 +9185,47 @@ SparqlAutomaticParser::tupleWithoutPath() { return _localctx; } -//----------------- TupleWithPathContext -//------------------------------------------------------------------ +//----------------- TupleWithPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::TupleWithPathContext::TupleWithPathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TupleWithPathContext::TupleWithPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VerbPathOrSimpleContext* -SparqlAutomaticParser::TupleWithPathContext::verbPathOrSimple() { +SparqlAutomaticParser::VerbPathOrSimpleContext* SparqlAutomaticParser::TupleWithPathContext::verbPathOrSimple() { return getRuleContext(0); } -SparqlAutomaticParser::ObjectListPathContext* -SparqlAutomaticParser::TupleWithPathContext::objectListPath() { +SparqlAutomaticParser::ObjectListPathContext* SparqlAutomaticParser::TupleWithPathContext::objectListPath() { return getRuleContext(0); } + size_t SparqlAutomaticParser::TupleWithPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTupleWithPath; } -void SparqlAutomaticParser::TupleWithPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterTupleWithPath(this); +void SparqlAutomaticParser::TupleWithPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterTupleWithPath(this); } -void SparqlAutomaticParser::TupleWithPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitTupleWithPath(this); +void SparqlAutomaticParser::TupleWithPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitTupleWithPath(this); } -std::any SparqlAutomaticParser::TupleWithPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TupleWithPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTupleWithPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TupleWithPathContext* -SparqlAutomaticParser::tupleWithPath() { - TupleWithPathContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TupleWithPathContext* SparqlAutomaticParser::tupleWithPath() { + TupleWithPathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 182, SparqlAutomaticParser::RuleTupleWithPath); #if __cplusplus > 201703L @@ -10446,8 +9241,9 @@ SparqlAutomaticParser::tupleWithPath() { verbPathOrSimple(); setState(985); objectListPath(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10456,51 +9252,47 @@ SparqlAutomaticParser::tupleWithPath() { return _localctx; } -//----------------- VerbPathOrSimpleContext -//------------------------------------------------------------------ +//----------------- VerbPathOrSimpleContext ------------------------------------------------------------------ -SparqlAutomaticParser::VerbPathOrSimpleContext::VerbPathOrSimpleContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::VerbPathOrSimpleContext::VerbPathOrSimpleContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VerbPathContext* -SparqlAutomaticParser::VerbPathOrSimpleContext::verbPath() { +SparqlAutomaticParser::VerbPathContext* SparqlAutomaticParser::VerbPathOrSimpleContext::verbPath() { return getRuleContext(0); } -SparqlAutomaticParser::VerbSimpleContext* -SparqlAutomaticParser::VerbPathOrSimpleContext::verbSimple() { +SparqlAutomaticParser::VerbSimpleContext* SparqlAutomaticParser::VerbPathOrSimpleContext::verbSimple() { return getRuleContext(0); } + size_t SparqlAutomaticParser::VerbPathOrSimpleContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVerbPathOrSimple; } -void SparqlAutomaticParser::VerbPathOrSimpleContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterVerbPathOrSimple(this); +void SparqlAutomaticParser::VerbPathOrSimpleContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterVerbPathOrSimple(this); } -void SparqlAutomaticParser::VerbPathOrSimpleContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitVerbPathOrSimple(this); +void SparqlAutomaticParser::VerbPathOrSimpleContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitVerbPathOrSimple(this); } -std::any SparqlAutomaticParser::VerbPathOrSimpleContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::VerbPathOrSimpleContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVerbPathOrSimple(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::VerbPathOrSimpleContext* -SparqlAutomaticParser::verbPathOrSimple() { - VerbPathOrSimpleContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::VerbPathOrSimpleContext* SparqlAutomaticParser::verbPathOrSimple() { + VerbPathOrSimpleContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 184, SparqlAutomaticParser::RuleVerbPathOrSimple); #if __cplusplus > 201703L @@ -10535,11 +9327,12 @@ SparqlAutomaticParser::verbPathOrSimple() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10548,51 +9341,47 @@ SparqlAutomaticParser::verbPathOrSimple() { return _localctx; } -//----------------- ObjectListPathContext -//------------------------------------------------------------------ +//----------------- ObjectListPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::ObjectListPathContext::ObjectListPathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ObjectListPathContext::ObjectListPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::ObjectListPathContext::objectPath() { +std::vector SparqlAutomaticParser::ObjectListPathContext::objectPath() { return getRuleContexts(); } -SparqlAutomaticParser::ObjectPathContext* -SparqlAutomaticParser::ObjectListPathContext::objectPath(size_t i) { +SparqlAutomaticParser::ObjectPathContext* SparqlAutomaticParser::ObjectListPathContext::objectPath(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::ObjectListPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleObjectListPath; } -void SparqlAutomaticParser::ObjectListPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterObjectListPath(this); +void SparqlAutomaticParser::ObjectListPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterObjectListPath(this); } -void SparqlAutomaticParser::ObjectListPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitObjectListPath(this); +void SparqlAutomaticParser::ObjectListPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitObjectListPath(this); } -std::any SparqlAutomaticParser::ObjectListPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ObjectListPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitObjectListPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ObjectListPathContext* -SparqlAutomaticParser::objectListPath() { - ObjectListPathContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ObjectListPathContext* SparqlAutomaticParser::objectListPath() { + ObjectListPathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 186, SparqlAutomaticParser::RuleObjectListPath); size_t _la = 0; @@ -10619,8 +9408,9 @@ SparqlAutomaticParser::objectListPath() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10629,36 +9419,35 @@ SparqlAutomaticParser::objectListPath() { return _localctx; } -//----------------- ObjectPathContext -//------------------------------------------------------------------ +//----------------- ObjectPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::ObjectPathContext::ObjectPathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ObjectPathContext::ObjectPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::GraphNodePathContext* -SparqlAutomaticParser::ObjectPathContext::graphNodePath() { +SparqlAutomaticParser::GraphNodePathContext* SparqlAutomaticParser::ObjectPathContext::graphNodePath() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ObjectPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleObjectPath; } -void SparqlAutomaticParser::ObjectPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterObjectPath(this); +void SparqlAutomaticParser::ObjectPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterObjectPath(this); } -void SparqlAutomaticParser::ObjectPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitObjectPath(this); +void SparqlAutomaticParser::ObjectPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitObjectPath(this); } -std::any SparqlAutomaticParser::ObjectPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ObjectPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitObjectPath(this); else @@ -10666,8 +9455,7 @@ std::any SparqlAutomaticParser::ObjectPathContext::accept( } SparqlAutomaticParser::ObjectPathContext* SparqlAutomaticParser::objectPath() { - ObjectPathContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ObjectPathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 188, SparqlAutomaticParser::RuleObjectPath); #if __cplusplus > 201703L @@ -10681,8 +9469,9 @@ SparqlAutomaticParser::ObjectPathContext* SparqlAutomaticParser::objectPath() { enterOuterAlt(_localctx, 1); setState(999); graphNodePath(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10691,36 +9480,35 @@ SparqlAutomaticParser::ObjectPathContext* SparqlAutomaticParser::objectPath() { return _localctx; } -//----------------- PathContext -//------------------------------------------------------------------ +//----------------- PathContext ------------------------------------------------------------------ -SparqlAutomaticParser::PathContext::PathContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PathContext::PathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PathAlternativeContext* -SparqlAutomaticParser::PathContext::pathAlternative() { +SparqlAutomaticParser::PathAlternativeContext* SparqlAutomaticParser::PathContext::pathAlternative() { return getRuleContext(0); } + size_t SparqlAutomaticParser::PathContext::getRuleIndex() const { return SparqlAutomaticParser::RulePath; } -void SparqlAutomaticParser::PathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPath(this); +void SparqlAutomaticParser::PathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPath(this); } -void SparqlAutomaticParser::PathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPath(this); +void SparqlAutomaticParser::PathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPath(this); } -std::any SparqlAutomaticParser::PathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPath(this); else @@ -10728,8 +9516,7 @@ std::any SparqlAutomaticParser::PathContext::accept( } SparqlAutomaticParser::PathContext* SparqlAutomaticParser::path() { - PathContext* _localctx = - _tracker.createInstance(_ctx, getState()); + PathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 190, SparqlAutomaticParser::RulePath); #if __cplusplus > 201703L @@ -10743,8 +9530,9 @@ SparqlAutomaticParser::PathContext* SparqlAutomaticParser::path() { enterOuterAlt(_localctx, 1); setState(1001); pathAlternative(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10753,51 +9541,47 @@ SparqlAutomaticParser::PathContext* SparqlAutomaticParser::path() { return _localctx; } -//----------------- PathAlternativeContext -//------------------------------------------------------------------ +//----------------- PathAlternativeContext ------------------------------------------------------------------ -SparqlAutomaticParser::PathAlternativeContext::PathAlternativeContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PathAlternativeContext::PathAlternativeContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::PathAlternativeContext::pathSequence() { +std::vector SparqlAutomaticParser::PathAlternativeContext::pathSequence() { return getRuleContexts(); } -SparqlAutomaticParser::PathSequenceContext* -SparqlAutomaticParser::PathAlternativeContext::pathSequence(size_t i) { +SparqlAutomaticParser::PathSequenceContext* SparqlAutomaticParser::PathAlternativeContext::pathSequence(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::PathAlternativeContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathAlternative; } -void SparqlAutomaticParser::PathAlternativeContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPathAlternative(this); +void SparqlAutomaticParser::PathAlternativeContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPathAlternative(this); } -void SparqlAutomaticParser::PathAlternativeContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPathAlternative(this); +void SparqlAutomaticParser::PathAlternativeContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPathAlternative(this); } -std::any SparqlAutomaticParser::PathAlternativeContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathAlternativeContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathAlternative(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathAlternativeContext* -SparqlAutomaticParser::pathAlternative() { - PathAlternativeContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathAlternativeContext* SparqlAutomaticParser::pathAlternative() { + PathAlternativeContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 192, SparqlAutomaticParser::RulePathAlternative); size_t _la = 0; @@ -10824,8 +9608,9 @@ SparqlAutomaticParser::pathAlternative() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10834,51 +9619,47 @@ SparqlAutomaticParser::pathAlternative() { return _localctx; } -//----------------- PathSequenceContext -//------------------------------------------------------------------ +//----------------- PathSequenceContext ------------------------------------------------------------------ -SparqlAutomaticParser::PathSequenceContext::PathSequenceContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PathSequenceContext::PathSequenceContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::PathSequenceContext::pathEltOrInverse() { +std::vector SparqlAutomaticParser::PathSequenceContext::pathEltOrInverse() { return getRuleContexts(); } -SparqlAutomaticParser::PathEltOrInverseContext* -SparqlAutomaticParser::PathSequenceContext::pathEltOrInverse(size_t i) { +SparqlAutomaticParser::PathEltOrInverseContext* SparqlAutomaticParser::PathSequenceContext::pathEltOrInverse(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::PathSequenceContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathSequence; } -void SparqlAutomaticParser::PathSequenceContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPathSequence(this); +void SparqlAutomaticParser::PathSequenceContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPathSequence(this); } -void SparqlAutomaticParser::PathSequenceContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPathSequence(this); +void SparqlAutomaticParser::PathSequenceContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPathSequence(this); } -std::any SparqlAutomaticParser::PathSequenceContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathSequenceContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathSequence(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathSequenceContext* -SparqlAutomaticParser::pathSequence() { - PathSequenceContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathSequenceContext* SparqlAutomaticParser::pathSequence() { + PathSequenceContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 194, SparqlAutomaticParser::RulePathSequence); size_t _la = 0; @@ -10905,8 +9686,9 @@ SparqlAutomaticParser::pathSequence() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10915,41 +9697,39 @@ SparqlAutomaticParser::pathSequence() { return _localctx; } -//----------------- PathEltContext -//------------------------------------------------------------------ +//----------------- PathEltContext ------------------------------------------------------------------ -SparqlAutomaticParser::PathEltContext::PathEltContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PathEltContext::PathEltContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PathPrimaryContext* -SparqlAutomaticParser::PathEltContext::pathPrimary() { +SparqlAutomaticParser::PathPrimaryContext* SparqlAutomaticParser::PathEltContext::pathPrimary() { return getRuleContext(0); } -SparqlAutomaticParser::PathModContext* -SparqlAutomaticParser::PathEltContext::pathMod() { +SparqlAutomaticParser::PathModContext* SparqlAutomaticParser::PathEltContext::pathMod() { return getRuleContext(0); } + size_t SparqlAutomaticParser::PathEltContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathElt; } -void SparqlAutomaticParser::PathEltContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPathElt(this); +void SparqlAutomaticParser::PathEltContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPathElt(this); } -void SparqlAutomaticParser::PathEltContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPathElt(this); +void SparqlAutomaticParser::PathEltContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPathElt(this); } -std::any SparqlAutomaticParser::PathEltContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathEltContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathElt(this); else @@ -10957,8 +9737,7 @@ std::any SparqlAutomaticParser::PathEltContext::accept( } SparqlAutomaticParser::PathEltContext* SparqlAutomaticParser::pathElt() { - PathEltContext* _localctx = - _tracker.createInstance(_ctx, getState()); + PathEltContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 196, SparqlAutomaticParser::RulePathElt); size_t _la = 0; @@ -10977,12 +9756,14 @@ SparqlAutomaticParser::PathEltContext* SparqlAutomaticParser::pathElt() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 24578) != 0) { + if (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 24578) != 0) { setState(1020); pathMod(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10991,46 +9772,43 @@ SparqlAutomaticParser::PathEltContext* SparqlAutomaticParser::pathElt() { return _localctx; } -//----------------- PathEltOrInverseContext -//------------------------------------------------------------------ +//----------------- PathEltOrInverseContext ------------------------------------------------------------------ -SparqlAutomaticParser::PathEltOrInverseContext::PathEltOrInverseContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PathEltOrInverseContext::PathEltOrInverseContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PathEltContext* -SparqlAutomaticParser::PathEltOrInverseContext::pathElt() { +SparqlAutomaticParser::PathEltContext* SparqlAutomaticParser::PathEltOrInverseContext::pathElt() { return getRuleContext(0); } + size_t SparqlAutomaticParser::PathEltOrInverseContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathEltOrInverse; } -void SparqlAutomaticParser::PathEltOrInverseContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPathEltOrInverse(this); +void SparqlAutomaticParser::PathEltOrInverseContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPathEltOrInverse(this); } -void SparqlAutomaticParser::PathEltOrInverseContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPathEltOrInverse(this); +void SparqlAutomaticParser::PathEltOrInverseContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPathEltOrInverse(this); } -std::any SparqlAutomaticParser::PathEltOrInverseContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathEltOrInverseContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathEltOrInverse(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathEltOrInverseContext* -SparqlAutomaticParser::pathEltOrInverse() { - PathEltOrInverseContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathEltOrInverseContext* SparqlAutomaticParser::pathEltOrInverse() { + PathEltOrInverseContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 198, SparqlAutomaticParser::RulePathEltOrInverse); #if __cplusplus > 201703L @@ -11060,18 +9838,18 @@ SparqlAutomaticParser::pathEltOrInverse() { case SparqlAutomaticParser::T__11: { enterOuterAlt(_localctx, 2); setState(1024); - antlrcpp::downCast(_localctx) - ->negationOperator = match(SparqlAutomaticParser::T__11); + antlrcpp::downCast(_localctx)->negationOperator = match(SparqlAutomaticParser::T__11); setState(1025); pathElt(); break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11080,31 +9858,31 @@ SparqlAutomaticParser::pathEltOrInverse() { return _localctx; } -//----------------- PathModContext -//------------------------------------------------------------------ +//----------------- PathModContext ------------------------------------------------------------------ + +SparqlAutomaticParser::PathModContext::PathModContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PathModContext::PathModContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} size_t SparqlAutomaticParser::PathModContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathMod; } -void SparqlAutomaticParser::PathModContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPathMod(this); +void SparqlAutomaticParser::PathModContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPathMod(this); } -void SparqlAutomaticParser::PathModContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPathMod(this); +void SparqlAutomaticParser::PathModContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPathMod(this); } -std::any SparqlAutomaticParser::PathModContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathModContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathMod(this); else @@ -11112,8 +9890,7 @@ std::any SparqlAutomaticParser::PathModContext::accept( } SparqlAutomaticParser::PathModContext* SparqlAutomaticParser::pathMod() { - PathModContext* _localctx = - _tracker.createInstance(_ctx, getState()); + PathModContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 200, SparqlAutomaticParser::RulePathMod); size_t _la = 0; @@ -11128,14 +9905,17 @@ SparqlAutomaticParser::PathModContext* SparqlAutomaticParser::pathMod() { enterOuterAlt(_localctx, 1); setState(1028); _la = _input->LA(1); - if (!(((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 24578) != 0)) { - _errHandler->recoverInline(this); - } else { + if (!(((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 24578) != 0)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11144,57 +9924,51 @@ SparqlAutomaticParser::PathModContext* SparqlAutomaticParser::pathMod() { return _localctx; } -//----------------- PathPrimaryContext -//------------------------------------------------------------------ +//----------------- PathPrimaryContext ------------------------------------------------------------------ -SparqlAutomaticParser::PathPrimaryContext::PathPrimaryContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PathPrimaryContext::PathPrimaryContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::PathPrimaryContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::PathPrimaryContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::PathNegatedPropertySetContext* -SparqlAutomaticParser::PathPrimaryContext::pathNegatedPropertySet() { - return getRuleContext( - 0); +SparqlAutomaticParser::PathNegatedPropertySetContext* SparqlAutomaticParser::PathPrimaryContext::pathNegatedPropertySet() { + return getRuleContext(0); } -SparqlAutomaticParser::PathContext* -SparqlAutomaticParser::PathPrimaryContext::path() { +SparqlAutomaticParser::PathContext* SparqlAutomaticParser::PathPrimaryContext::path() { return getRuleContext(0); } + size_t SparqlAutomaticParser::PathPrimaryContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathPrimary; } -void SparqlAutomaticParser::PathPrimaryContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPathPrimary(this); +void SparqlAutomaticParser::PathPrimaryContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPathPrimary(this); } -void SparqlAutomaticParser::PathPrimaryContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPathPrimary(this); +void SparqlAutomaticParser::PathPrimaryContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPathPrimary(this); } -std::any SparqlAutomaticParser::PathPrimaryContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathPrimaryContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathPrimary(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathPrimaryContext* -SparqlAutomaticParser::pathPrimary() { - PathPrimaryContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathPrimaryContext* SparqlAutomaticParser::pathPrimary() { + PathPrimaryContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 202, SparqlAutomaticParser::RulePathPrimary); #if __cplusplus > 201703L @@ -11245,11 +10019,12 @@ SparqlAutomaticParser::pathPrimary() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11258,56 +10033,47 @@ SparqlAutomaticParser::pathPrimary() { return _localctx; } -//----------------- PathNegatedPropertySetContext -//------------------------------------------------------------------ +//----------------- PathNegatedPropertySetContext ------------------------------------------------------------------ -SparqlAutomaticParser::PathNegatedPropertySetContext:: - PathNegatedPropertySetContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PathNegatedPropertySetContext::PathNegatedPropertySetContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::PathNegatedPropertySetContext::pathOneInPropertySet() { +std::vector SparqlAutomaticParser::PathNegatedPropertySetContext::pathOneInPropertySet() { return getRuleContexts(); } -SparqlAutomaticParser::PathOneInPropertySetContext* -SparqlAutomaticParser::PathNegatedPropertySetContext::pathOneInPropertySet( - size_t i) { +SparqlAutomaticParser::PathOneInPropertySetContext* SparqlAutomaticParser::PathNegatedPropertySetContext::pathOneInPropertySet(size_t i) { return getRuleContext(i); } -size_t SparqlAutomaticParser::PathNegatedPropertySetContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::PathNegatedPropertySetContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathNegatedPropertySet; } -void SparqlAutomaticParser::PathNegatedPropertySetContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PathNegatedPropertySetContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterPathNegatedPropertySet(this); } -void SparqlAutomaticParser::PathNegatedPropertySetContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PathNegatedPropertySetContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitPathNegatedPropertySet(this); } -std::any SparqlAutomaticParser::PathNegatedPropertySetContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathNegatedPropertySetContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathNegatedPropertySet(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathNegatedPropertySetContext* -SparqlAutomaticParser::pathNegatedPropertySet() { - PathNegatedPropertySetContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathNegatedPropertySetContext* SparqlAutomaticParser::pathNegatedPropertySet() { + PathNegatedPropertySetContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 204, SparqlAutomaticParser::RulePathNegatedPropertySet); size_t _la = 0; @@ -11344,9 +10110,8 @@ SparqlAutomaticParser::pathNegatedPropertySet() { _la = _input->LA(1); if (_la == SparqlAutomaticParser::T__8 - || _la == SparqlAutomaticParser::T__11 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 135) != 0) { + || _la == SparqlAutomaticParser::T__11 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 135) != 0) { setState(1042); pathOneInPropertySet(); setState(1047); @@ -11367,11 +10132,12 @@ SparqlAutomaticParser::pathNegatedPropertySet() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11380,48 +10146,43 @@ SparqlAutomaticParser::pathNegatedPropertySet() { return _localctx; } -//----------------- PathOneInPropertySetContext -//------------------------------------------------------------------ +//----------------- PathOneInPropertySetContext ------------------------------------------------------------------ -SparqlAutomaticParser::PathOneInPropertySetContext::PathOneInPropertySetContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PathOneInPropertySetContext::PathOneInPropertySetContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::PathOneInPropertySetContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::PathOneInPropertySetContext::iri() { return getRuleContext(0); } -size_t SparqlAutomaticParser::PathOneInPropertySetContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::PathOneInPropertySetContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathOneInPropertySet; } -void SparqlAutomaticParser::PathOneInPropertySetContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PathOneInPropertySetContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterPathOneInPropertySet(this); } -void SparqlAutomaticParser::PathOneInPropertySetContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPathOneInPropertySet(this); +void SparqlAutomaticParser::PathOneInPropertySetContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPathOneInPropertySet(this); } -std::any SparqlAutomaticParser::PathOneInPropertySetContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PathOneInPropertySetContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathOneInPropertySet(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathOneInPropertySetContext* -SparqlAutomaticParser::pathOneInPropertySet() { - PathOneInPropertySetContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathOneInPropertySetContext* SparqlAutomaticParser::pathOneInPropertySet() { + PathOneInPropertySetContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 206, SparqlAutomaticParser::RulePathOneInPropertySet); #if __cplusplus > 201703L @@ -11474,17 +10235,18 @@ SparqlAutomaticParser::pathOneInPropertySet() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11493,35 +10255,35 @@ SparqlAutomaticParser::pathOneInPropertySet() { return _localctx; } -//----------------- IntegerContext -//------------------------------------------------------------------ +//----------------- IntegerContext ------------------------------------------------------------------ -SparqlAutomaticParser::IntegerContext::IntegerContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::IntegerContext::IntegerContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::IntegerContext::INTEGER() { return getToken(SparqlAutomaticParser::INTEGER, 0); } + size_t SparqlAutomaticParser::IntegerContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInteger; } -void SparqlAutomaticParser::IntegerContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterInteger(this); +void SparqlAutomaticParser::IntegerContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterInteger(this); } -void SparqlAutomaticParser::IntegerContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitInteger(this); +void SparqlAutomaticParser::IntegerContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitInteger(this); } -std::any SparqlAutomaticParser::IntegerContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::IntegerContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInteger(this); else @@ -11529,8 +10291,7 @@ std::any SparqlAutomaticParser::IntegerContext::accept( } SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::integer() { - IntegerContext* _localctx = - _tracker.createInstance(_ctx, getState()); + IntegerContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 208, SparqlAutomaticParser::RuleInteger); #if __cplusplus > 201703L @@ -11544,8 +10305,9 @@ SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::integer() { enterOuterAlt(_localctx, 1); setState(1064); match(SparqlAutomaticParser::INTEGER); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11554,51 +10316,47 @@ SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::integer() { return _localctx; } -//----------------- TriplesNodeContext -//------------------------------------------------------------------ +//----------------- TriplesNodeContext ------------------------------------------------------------------ -SparqlAutomaticParser::TriplesNodeContext::TriplesNodeContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TriplesNodeContext::TriplesNodeContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::CollectionContext* -SparqlAutomaticParser::TriplesNodeContext::collection() { +SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::TriplesNodeContext::collection() { return getRuleContext(0); } -SparqlAutomaticParser::BlankNodePropertyListContext* -SparqlAutomaticParser::TriplesNodeContext::blankNodePropertyList() { +SparqlAutomaticParser::BlankNodePropertyListContext* SparqlAutomaticParser::TriplesNodeContext::blankNodePropertyList() { return getRuleContext(0); } + size_t SparqlAutomaticParser::TriplesNodeContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesNode; } -void SparqlAutomaticParser::TriplesNodeContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterTriplesNode(this); +void SparqlAutomaticParser::TriplesNodeContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterTriplesNode(this); } -void SparqlAutomaticParser::TriplesNodeContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitTriplesNode(this); +void SparqlAutomaticParser::TriplesNodeContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitTriplesNode(this); } -std::any SparqlAutomaticParser::TriplesNodeContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TriplesNodeContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesNode(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesNodeContext* -SparqlAutomaticParser::triplesNode() { - TriplesNodeContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesNodeContext* SparqlAutomaticParser::triplesNode() { + TriplesNodeContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 210, SparqlAutomaticParser::RuleTriplesNode); #if __cplusplus > 201703L @@ -11626,11 +10384,12 @@ SparqlAutomaticParser::triplesNode() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11639,50 +10398,43 @@ SparqlAutomaticParser::triplesNode() { return _localctx; } -//----------------- BlankNodePropertyListContext -//------------------------------------------------------------------ +//----------------- BlankNodePropertyListContext ------------------------------------------------------------------ -SparqlAutomaticParser::BlankNodePropertyListContext:: - BlankNodePropertyListContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::BlankNodePropertyListContext::BlankNodePropertyListContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PropertyListNotEmptyContext* -SparqlAutomaticParser::BlankNodePropertyListContext::propertyListNotEmpty() { +SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::BlankNodePropertyListContext::propertyListNotEmpty() { return getRuleContext(0); } -size_t SparqlAutomaticParser::BlankNodePropertyListContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::BlankNodePropertyListContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBlankNodePropertyList; } -void SparqlAutomaticParser::BlankNodePropertyListContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BlankNodePropertyListContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterBlankNodePropertyList(this); } -void SparqlAutomaticParser::BlankNodePropertyListContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BlankNodePropertyListContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitBlankNodePropertyList(this); } -std::any SparqlAutomaticParser::BlankNodePropertyListContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::BlankNodePropertyListContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBlankNodePropertyList(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BlankNodePropertyListContext* -SparqlAutomaticParser::blankNodePropertyList() { - BlankNodePropertyListContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::BlankNodePropertyListContext* SparqlAutomaticParser::blankNodePropertyList() { + BlankNodePropertyListContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 212, SparqlAutomaticParser::RuleBlankNodePropertyList); #if __cplusplus > 201703L @@ -11700,8 +10452,9 @@ SparqlAutomaticParser::blankNodePropertyList() { propertyListNotEmpty(); setState(1072); match(SparqlAutomaticParser::T__16); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11710,52 +10463,47 @@ SparqlAutomaticParser::blankNodePropertyList() { return _localctx; } -//----------------- TriplesNodePathContext -//------------------------------------------------------------------ +//----------------- TriplesNodePathContext ------------------------------------------------------------------ -SparqlAutomaticParser::TriplesNodePathContext::TriplesNodePathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::TriplesNodePathContext::TriplesNodePathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::CollectionPathContext* -SparqlAutomaticParser::TriplesNodePathContext::collectionPath() { +SparqlAutomaticParser::CollectionPathContext* SparqlAutomaticParser::TriplesNodePathContext::collectionPath() { return getRuleContext(0); } -SparqlAutomaticParser::BlankNodePropertyListPathContext* -SparqlAutomaticParser::TriplesNodePathContext::blankNodePropertyListPath() { - return getRuleContext< - SparqlAutomaticParser::BlankNodePropertyListPathContext>(0); +SparqlAutomaticParser::BlankNodePropertyListPathContext* SparqlAutomaticParser::TriplesNodePathContext::blankNodePropertyListPath() { + return getRuleContext(0); } + size_t SparqlAutomaticParser::TriplesNodePathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesNodePath; } -void SparqlAutomaticParser::TriplesNodePathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterTriplesNodePath(this); +void SparqlAutomaticParser::TriplesNodePathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterTriplesNodePath(this); } -void SparqlAutomaticParser::TriplesNodePathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitTriplesNodePath(this); +void SparqlAutomaticParser::TriplesNodePathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitTriplesNodePath(this); } -std::any SparqlAutomaticParser::TriplesNodePathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::TriplesNodePathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesNodePath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesNodePathContext* -SparqlAutomaticParser::triplesNodePath() { - TriplesNodePathContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesNodePathContext* SparqlAutomaticParser::triplesNodePath() { + TriplesNodePathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 214, SparqlAutomaticParser::RuleTriplesNodePath); #if __cplusplus > 201703L @@ -11783,11 +10531,12 @@ SparqlAutomaticParser::triplesNodePath() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11796,54 +10545,44 @@ SparqlAutomaticParser::triplesNodePath() { return _localctx; } -//----------------- BlankNodePropertyListPathContext -//------------------------------------------------------------------ +//----------------- BlankNodePropertyListPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::BlankNodePropertyListPathContext:: - BlankNodePropertyListPathContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::BlankNodePropertyListPathContext::BlankNodePropertyListPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser:: - BlankNodePropertyListPathContext::propertyListPathNotEmpty() { - return getRuleContext( - 0); +SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::BlankNodePropertyListPathContext::propertyListPathNotEmpty() { + return getRuleContext(0); } -size_t SparqlAutomaticParser::BlankNodePropertyListPathContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::BlankNodePropertyListPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBlankNodePropertyListPath; } -void SparqlAutomaticParser::BlankNodePropertyListPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BlankNodePropertyListPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterBlankNodePropertyListPath(this); } -void SparqlAutomaticParser::BlankNodePropertyListPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BlankNodePropertyListPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitBlankNodePropertyListPath(this); } -std::any SparqlAutomaticParser::BlankNodePropertyListPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::BlankNodePropertyListPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBlankNodePropertyListPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BlankNodePropertyListPathContext* -SparqlAutomaticParser::blankNodePropertyListPath() { - BlankNodePropertyListPathContext* _localctx = - _tracker.createInstance(_ctx, - getState()); - enterRule(_localctx, 216, - SparqlAutomaticParser::RuleBlankNodePropertyListPath); +SparqlAutomaticParser::BlankNodePropertyListPathContext* SparqlAutomaticParser::blankNodePropertyListPath() { + BlankNodePropertyListPathContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 216, SparqlAutomaticParser::RuleBlankNodePropertyListPath); #if __cplusplus > 201703L auto onExit = finally([=, this] { @@ -11860,8 +10599,9 @@ SparqlAutomaticParser::blankNodePropertyListPath() { propertyListPathNotEmpty(); setState(1080); match(SparqlAutomaticParser::T__16); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11870,41 +10610,39 @@ SparqlAutomaticParser::blankNodePropertyListPath() { return _localctx; } -//----------------- CollectionContext -//------------------------------------------------------------------ +//----------------- CollectionContext ------------------------------------------------------------------ -SparqlAutomaticParser::CollectionContext::CollectionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::CollectionContext::CollectionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::CollectionContext::graphNode() { +std::vector SparqlAutomaticParser::CollectionContext::graphNode() { return getRuleContexts(); } -SparqlAutomaticParser::GraphNodeContext* -SparqlAutomaticParser::CollectionContext::graphNode(size_t i) { +SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::CollectionContext::graphNode(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::CollectionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleCollection; } -void SparqlAutomaticParser::CollectionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterCollection(this); +void SparqlAutomaticParser::CollectionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterCollection(this); } -void SparqlAutomaticParser::CollectionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitCollection(this); +void SparqlAutomaticParser::CollectionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitCollection(this); } -std::any SparqlAutomaticParser::CollectionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::CollectionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitCollection(this); else @@ -11912,8 +10650,7 @@ std::any SparqlAutomaticParser::CollectionContext::accept( } SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::collection() { - CollectionContext* _localctx = - _tracker.createInstance(_ctx, getState()); + CollectionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 218, SparqlAutomaticParser::RuleCollection); size_t _la = 0; @@ -11928,22 +10665,23 @@ SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::collection() { enterOuterAlt(_localctx, 1); setState(1082); match(SparqlAutomaticParser::T__1); - setState(1084); + setState(1084); _errHandler->sync(this); _la = _input->LA(1); do { setState(1083); graphNode(); - setState(1086); + setState(1086); _errHandler->sync(this); _la = _input->LA(1); - } while (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0); + } while (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0); setState(1088); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11952,51 +10690,47 @@ SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::collection() { return _localctx; } -//----------------- CollectionPathContext -//------------------------------------------------------------------ +//----------------- CollectionPathContext ------------------------------------------------------------------ -SparqlAutomaticParser::CollectionPathContext::CollectionPathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::CollectionPathContext::CollectionPathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::CollectionPathContext::graphNodePath() { +std::vector SparqlAutomaticParser::CollectionPathContext::graphNodePath() { return getRuleContexts(); } -SparqlAutomaticParser::GraphNodePathContext* -SparqlAutomaticParser::CollectionPathContext::graphNodePath(size_t i) { +SparqlAutomaticParser::GraphNodePathContext* SparqlAutomaticParser::CollectionPathContext::graphNodePath(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::CollectionPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleCollectionPath; } -void SparqlAutomaticParser::CollectionPathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterCollectionPath(this); +void SparqlAutomaticParser::CollectionPathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterCollectionPath(this); } -void SparqlAutomaticParser::CollectionPathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitCollectionPath(this); +void SparqlAutomaticParser::CollectionPathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitCollectionPath(this); } -std::any SparqlAutomaticParser::CollectionPathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::CollectionPathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitCollectionPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::CollectionPathContext* -SparqlAutomaticParser::collectionPath() { - CollectionPathContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::CollectionPathContext* SparqlAutomaticParser::collectionPath() { + CollectionPathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 220, SparqlAutomaticParser::RuleCollectionPath); size_t _la = 0; @@ -12011,22 +10745,23 @@ SparqlAutomaticParser::collectionPath() { enterOuterAlt(_localctx, 1); setState(1090); match(SparqlAutomaticParser::T__1); - setState(1092); + setState(1092); _errHandler->sync(this); _la = _input->LA(1); do { setState(1091); graphNodePath(); - setState(1094); + setState(1094); _errHandler->sync(this); _la = _input->LA(1); - } while (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || - (((_la - 142) & ~0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0); + } while (((_la & ~ 0x3fULL) == 0) && + ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0); setState(1096); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12035,41 +10770,39 @@ SparqlAutomaticParser::collectionPath() { return _localctx; } -//----------------- GraphNodeContext -//------------------------------------------------------------------ +//----------------- GraphNodeContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphNodeContext::GraphNodeContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphNodeContext::GraphNodeContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarOrTermContext* -SparqlAutomaticParser::GraphNodeContext::varOrTerm() { +SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::GraphNodeContext::varOrTerm() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesNodeContext* -SparqlAutomaticParser::GraphNodeContext::triplesNode() { +SparqlAutomaticParser::TriplesNodeContext* SparqlAutomaticParser::GraphNodeContext::triplesNode() { return getRuleContext(0); } + size_t SparqlAutomaticParser::GraphNodeContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphNode; } -void SparqlAutomaticParser::GraphNodeContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGraphNode(this); +void SparqlAutomaticParser::GraphNodeContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGraphNode(this); } -void SparqlAutomaticParser::GraphNodeContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGraphNode(this); +void SparqlAutomaticParser::GraphNodeContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGraphNode(this); } -std::any SparqlAutomaticParser::GraphNodeContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphNodeContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphNode(this); else @@ -12077,8 +10810,7 @@ std::any SparqlAutomaticParser::GraphNodeContext::accept( } SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::graphNode() { - GraphNodeContext* _localctx = - _tracker.createInstance(_ctx, getState()); + GraphNodeContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 222, SparqlAutomaticParser::RuleGraphNode); #if __cplusplus > 201703L @@ -12130,11 +10862,12 @@ SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::graphNode() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12143,51 +10876,47 @@ SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::graphNode() { return _localctx; } -//----------------- GraphNodePathContext -//------------------------------------------------------------------ +//----------------- GraphNodePathContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphNodePathContext::GraphNodePathContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphNodePathContext::GraphNodePathContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarOrTermContext* -SparqlAutomaticParser::GraphNodePathContext::varOrTerm() { +SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::GraphNodePathContext::varOrTerm() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesNodePathContext* -SparqlAutomaticParser::GraphNodePathContext::triplesNodePath() { +SparqlAutomaticParser::TriplesNodePathContext* SparqlAutomaticParser::GraphNodePathContext::triplesNodePath() { return getRuleContext(0); } + size_t SparqlAutomaticParser::GraphNodePathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphNodePath; } -void SparqlAutomaticParser::GraphNodePathContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGraphNodePath(this); +void SparqlAutomaticParser::GraphNodePathContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGraphNodePath(this); } -void SparqlAutomaticParser::GraphNodePathContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGraphNodePath(this); +void SparqlAutomaticParser::GraphNodePathContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGraphNodePath(this); } -std::any SparqlAutomaticParser::GraphNodePathContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphNodePathContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphNodePath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphNodePathContext* -SparqlAutomaticParser::graphNodePath() { - GraphNodePathContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphNodePathContext* SparqlAutomaticParser::graphNodePath() { + GraphNodePathContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 224, SparqlAutomaticParser::RuleGraphNodePath); #if __cplusplus > 201703L @@ -12239,11 +10968,12 @@ SparqlAutomaticParser::graphNodePath() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12252,41 +10982,39 @@ SparqlAutomaticParser::graphNodePath() { return _localctx; } -//----------------- VarOrTermContext -//------------------------------------------------------------------ +//----------------- VarOrTermContext ------------------------------------------------------------------ -SparqlAutomaticParser::VarOrTermContext::VarOrTermContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::VarOrTermContext::VarOrTermContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::VarOrTermContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::VarOrTermContext::var() { return getRuleContext(0); } -SparqlAutomaticParser::GraphTermContext* -SparqlAutomaticParser::VarOrTermContext::graphTerm() { +SparqlAutomaticParser::GraphTermContext* SparqlAutomaticParser::VarOrTermContext::graphTerm() { return getRuleContext(0); } + size_t SparqlAutomaticParser::VarOrTermContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVarOrTerm; } -void SparqlAutomaticParser::VarOrTermContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterVarOrTerm(this); +void SparqlAutomaticParser::VarOrTermContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterVarOrTerm(this); } -void SparqlAutomaticParser::VarOrTermContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitVarOrTerm(this); +void SparqlAutomaticParser::VarOrTermContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitVarOrTerm(this); } -std::any SparqlAutomaticParser::VarOrTermContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::VarOrTermContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVarOrTerm(this); else @@ -12294,8 +11022,7 @@ std::any SparqlAutomaticParser::VarOrTermContext::accept( } SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::varOrTerm() { - VarOrTermContext* _localctx = - _tracker.createInstance(_ctx, getState()); + VarOrTermContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 226, SparqlAutomaticParser::RuleVarOrTerm); #if __cplusplus > 201703L @@ -12345,11 +11072,12 @@ SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::varOrTerm() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12358,41 +11086,39 @@ SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::varOrTerm() { return _localctx; } -//----------------- VarOrIriContext -//------------------------------------------------------------------ +//----------------- VarOrIriContext ------------------------------------------------------------------ -SparqlAutomaticParser::VarOrIriContext::VarOrIriContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::VarOrIriContext::VarOrIriContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::VarOrIriContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::VarOrIriContext::var() { return getRuleContext(0); } -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::VarOrIriContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::VarOrIriContext::iri() { return getRuleContext(0); } + size_t SparqlAutomaticParser::VarOrIriContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVarOrIri; } -void SparqlAutomaticParser::VarOrIriContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterVarOrIri(this); +void SparqlAutomaticParser::VarOrIriContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterVarOrIri(this); } -void SparqlAutomaticParser::VarOrIriContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitVarOrIri(this); +void SparqlAutomaticParser::VarOrIriContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitVarOrIri(this); } -std::any SparqlAutomaticParser::VarOrIriContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::VarOrIriContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVarOrIri(this); else @@ -12400,8 +11126,7 @@ std::any SparqlAutomaticParser::VarOrIriContext::accept( } SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::varOrIri() { - VarOrIriContext* _localctx = - _tracker.createInstance(_ctx, getState()); + VarOrIriContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 228, SparqlAutomaticParser::RuleVarOrIri); #if __cplusplus > 201703L @@ -12433,11 +11158,12 @@ SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::varOrIri() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12446,12 +11172,11 @@ SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::varOrIri() { return _localctx; } -//----------------- VarContext -//------------------------------------------------------------------ +//----------------- VarContext ------------------------------------------------------------------ -SparqlAutomaticParser::VarContext::VarContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::VarContext::VarContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::VarContext::VAR1() { return getToken(SparqlAutomaticParser::VAR1, 0); @@ -12461,24 +11186,25 @@ tree::TerminalNode* SparqlAutomaticParser::VarContext::VAR2() { return getToken(SparqlAutomaticParser::VAR2, 0); } + size_t SparqlAutomaticParser::VarContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVar; } -void SparqlAutomaticParser::VarContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterVar(this); +void SparqlAutomaticParser::VarContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterVar(this); } -void SparqlAutomaticParser::VarContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitVar(this); +void SparqlAutomaticParser::VarContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitVar(this); } -std::any SparqlAutomaticParser::VarContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::VarContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVar(this); else @@ -12486,7 +11212,7 @@ std::any SparqlAutomaticParser::VarContext::accept( } SparqlAutomaticParser::VarContext* SparqlAutomaticParser::var() { - VarContext* _localctx = _tracker.createInstance(_ctx, getState()); + VarContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 230, SparqlAutomaticParser::RuleVar); size_t _la = 0; @@ -12503,14 +11229,16 @@ SparqlAutomaticParser::VarContext* SparqlAutomaticParser::var() { _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::VAR1 - || _la == SparqlAutomaticParser::VAR2)) { - _errHandler->recoverInline(this); - } else { + || _la == SparqlAutomaticParser::VAR2)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12519,35 +11247,29 @@ SparqlAutomaticParser::VarContext* SparqlAutomaticParser::var() { return _localctx; } -//----------------- GraphTermContext -//------------------------------------------------------------------ +//----------------- GraphTermContext ------------------------------------------------------------------ -SparqlAutomaticParser::GraphTermContext::GraphTermContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::GraphTermContext::GraphTermContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::GraphTermContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::GraphTermContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::RdfLiteralContext* -SparqlAutomaticParser::GraphTermContext::rdfLiteral() { +SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::GraphTermContext::rdfLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralContext* -SparqlAutomaticParser::GraphTermContext::numericLiteral() { +SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::GraphTermContext::numericLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::BooleanLiteralContext* -SparqlAutomaticParser::GraphTermContext::booleanLiteral() { +SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::GraphTermContext::booleanLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::BlankNodeContext* -SparqlAutomaticParser::GraphTermContext::blankNode() { +SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::GraphTermContext::blankNode() { return getRuleContext(0); } @@ -12555,24 +11277,25 @@ tree::TerminalNode* SparqlAutomaticParser::GraphTermContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } + size_t SparqlAutomaticParser::GraphTermContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphTerm; } -void SparqlAutomaticParser::GraphTermContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterGraphTerm(this); +void SparqlAutomaticParser::GraphTermContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterGraphTerm(this); } -void SparqlAutomaticParser::GraphTermContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitGraphTerm(this); +void SparqlAutomaticParser::GraphTermContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitGraphTerm(this); } -std::any SparqlAutomaticParser::GraphTermContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::GraphTermContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphTerm(this); else @@ -12580,8 +11303,7 @@ std::any SparqlAutomaticParser::GraphTermContext::accept( } SparqlAutomaticParser::GraphTermContext* SparqlAutomaticParser::graphTerm() { - GraphTermContext* _localctx = - _tracker.createInstance(_ctx, getState()); + GraphTermContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 232, SparqlAutomaticParser::RuleGraphTerm); #if __cplusplus > 201703L @@ -12653,11 +11375,12 @@ SparqlAutomaticParser::GraphTermContext* SparqlAutomaticParser::graphTerm() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12666,37 +11389,35 @@ SparqlAutomaticParser::GraphTermContext* SparqlAutomaticParser::graphTerm() { return _localctx; } -//----------------- ExpressionContext -//------------------------------------------------------------------ +//----------------- ExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::ExpressionContext::ExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ExpressionContext::ExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::ConditionalOrExpressionContext* -SparqlAutomaticParser::ExpressionContext::conditionalOrExpression() { - return getRuleContext( - 0); +SparqlAutomaticParser::ConditionalOrExpressionContext* SparqlAutomaticParser::ExpressionContext::conditionalOrExpression() { + return getRuleContext(0); } + size_t SparqlAutomaticParser::ExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleExpression; } -void SparqlAutomaticParser::ExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterExpression(this); +void SparqlAutomaticParser::ExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterExpression(this); } -void SparqlAutomaticParser::ExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitExpression(this); +void SparqlAutomaticParser::ExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitExpression(this); } -std::any SparqlAutomaticParser::ExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitExpression(this); else @@ -12704,8 +11425,7 @@ std::any SparqlAutomaticParser::ExpressionContext::accept( } SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::expression() { - ExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 234, SparqlAutomaticParser::RuleExpression); #if __cplusplus > 201703L @@ -12719,8 +11439,9 @@ SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::expression() { enterOuterAlt(_localctx, 1); setState(1124); conditionalOrExpression(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12729,59 +11450,47 @@ SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::expression() { return _localctx; } -//----------------- ConditionalOrExpressionContext -//------------------------------------------------------------------ +//----------------- ConditionalOrExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::ConditionalOrExpressionContext:: - ConditionalOrExpressionContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ConditionalOrExpressionContext::ConditionalOrExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::ConditionalOrExpressionContext:: - conditionalAndExpression() { - return getRuleContexts< - SparqlAutomaticParser::ConditionalAndExpressionContext>(); +std::vector SparqlAutomaticParser::ConditionalOrExpressionContext::conditionalAndExpression() { + return getRuleContexts(); } -SparqlAutomaticParser::ConditionalAndExpressionContext* -SparqlAutomaticParser::ConditionalOrExpressionContext::conditionalAndExpression( - size_t i) { - return getRuleContext( - i); +SparqlAutomaticParser::ConditionalAndExpressionContext* SparqlAutomaticParser::ConditionalOrExpressionContext::conditionalAndExpression(size_t i) { + return getRuleContext(i); } -size_t SparqlAutomaticParser::ConditionalOrExpressionContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::ConditionalOrExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConditionalOrExpression; } -void SparqlAutomaticParser::ConditionalOrExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::ConditionalOrExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterConditionalOrExpression(this); } -void SparqlAutomaticParser::ConditionalOrExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::ConditionalOrExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitConditionalOrExpression(this); } -std::any SparqlAutomaticParser::ConditionalOrExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ConditionalOrExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConditionalOrExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConditionalOrExpressionContext* -SparqlAutomaticParser::conditionalOrExpression() { - ConditionalOrExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ConditionalOrExpressionContext* SparqlAutomaticParser::conditionalOrExpression() { + ConditionalOrExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 236, SparqlAutomaticParser::RuleConditionalOrExpression); size_t _la = 0; @@ -12808,8 +11517,9 @@ SparqlAutomaticParser::conditionalOrExpression() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12818,58 +11528,48 @@ SparqlAutomaticParser::conditionalOrExpression() { return _localctx; } -//----------------- ConditionalAndExpressionContext -//------------------------------------------------------------------ +//----------------- ConditionalAndExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::ConditionalAndExpressionContext:: - ConditionalAndExpressionContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ConditionalAndExpressionContext::ConditionalAndExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::ConditionalAndExpressionContext::valueLogical() { +std::vector SparqlAutomaticParser::ConditionalAndExpressionContext::valueLogical() { return getRuleContexts(); } -SparqlAutomaticParser::ValueLogicalContext* -SparqlAutomaticParser::ConditionalAndExpressionContext::valueLogical(size_t i) { +SparqlAutomaticParser::ValueLogicalContext* SparqlAutomaticParser::ConditionalAndExpressionContext::valueLogical(size_t i) { return getRuleContext(i); } -size_t SparqlAutomaticParser::ConditionalAndExpressionContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::ConditionalAndExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConditionalAndExpression; } -void SparqlAutomaticParser::ConditionalAndExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::ConditionalAndExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterConditionalAndExpression(this); } -void SparqlAutomaticParser::ConditionalAndExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::ConditionalAndExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitConditionalAndExpression(this); } -std::any SparqlAutomaticParser::ConditionalAndExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ConditionalAndExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConditionalAndExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConditionalAndExpressionContext* -SparqlAutomaticParser::conditionalAndExpression() { - ConditionalAndExpressionContext* _localctx = - _tracker.createInstance(_ctx, - getState()); - enterRule(_localctx, 238, - SparqlAutomaticParser::RuleConditionalAndExpression); +SparqlAutomaticParser::ConditionalAndExpressionContext* SparqlAutomaticParser::conditionalAndExpression() { + ConditionalAndExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 238, SparqlAutomaticParser::RuleConditionalAndExpression); size_t _la = 0; #if __cplusplus > 201703L @@ -12895,8 +11595,9 @@ SparqlAutomaticParser::conditionalAndExpression() { _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12905,46 +11606,43 @@ SparqlAutomaticParser::conditionalAndExpression() { return _localctx; } -//----------------- ValueLogicalContext -//------------------------------------------------------------------ +//----------------- ValueLogicalContext ------------------------------------------------------------------ -SparqlAutomaticParser::ValueLogicalContext::ValueLogicalContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ValueLogicalContext::ValueLogicalContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::RelationalExpressionContext* -SparqlAutomaticParser::ValueLogicalContext::relationalExpression() { +SparqlAutomaticParser::RelationalExpressionContext* SparqlAutomaticParser::ValueLogicalContext::relationalExpression() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ValueLogicalContext::getRuleIndex() const { return SparqlAutomaticParser::RuleValueLogical; } -void SparqlAutomaticParser::ValueLogicalContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterValueLogical(this); +void SparqlAutomaticParser::ValueLogicalContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterValueLogical(this); } -void SparqlAutomaticParser::ValueLogicalContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitValueLogical(this); +void SparqlAutomaticParser::ValueLogicalContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitValueLogical(this); } -std::any SparqlAutomaticParser::ValueLogicalContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ValueLogicalContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitValueLogical(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ValueLogicalContext* -SparqlAutomaticParser::valueLogical() { - ValueLogicalContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ValueLogicalContext* SparqlAutomaticParser::valueLogical() { + ValueLogicalContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 240, SparqlAutomaticParser::RuleValueLogical); #if __cplusplus > 201703L @@ -12958,8 +11656,9 @@ SparqlAutomaticParser::valueLogical() { enterOuterAlt(_localctx, 1); setState(1142); relationalExpression(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12968,21 +11667,17 @@ SparqlAutomaticParser::valueLogical() { return _localctx; } -//----------------- RelationalExpressionContext -//------------------------------------------------------------------ +//----------------- RelationalExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::RelationalExpressionContext::RelationalExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::RelationalExpressionContext::RelationalExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -std::vector -SparqlAutomaticParser::RelationalExpressionContext::numericExpression() { +std::vector SparqlAutomaticParser::RelationalExpressionContext::numericExpression() { return getRuleContexts(); } -SparqlAutomaticParser::NumericExpressionContext* -SparqlAutomaticParser::RelationalExpressionContext::numericExpression( - size_t i) { +SparqlAutomaticParser::NumericExpressionContext* SparqlAutomaticParser::RelationalExpressionContext::numericExpression(size_t i) { return getRuleContext(i); } @@ -12990,8 +11685,7 @@ tree::TerminalNode* SparqlAutomaticParser::RelationalExpressionContext::IN() { return getToken(SparqlAutomaticParser::IN, 0); } -SparqlAutomaticParser::ExpressionListContext* -SparqlAutomaticParser::RelationalExpressionContext::expressionList() { +SparqlAutomaticParser::ExpressionListContext* SparqlAutomaticParser::RelationalExpressionContext::expressionList() { return getRuleContext(0); } @@ -12999,36 +11693,33 @@ tree::TerminalNode* SparqlAutomaticParser::RelationalExpressionContext::NOT() { return getToken(SparqlAutomaticParser::NOT, 0); } -size_t SparqlAutomaticParser::RelationalExpressionContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::RelationalExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleRelationalExpression; } -void SparqlAutomaticParser::RelationalExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::RelationalExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterRelationalExpression(this); } -void SparqlAutomaticParser::RelationalExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitRelationalExpression(this); +void SparqlAutomaticParser::RelationalExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitRelationalExpression(this); } -std::any SparqlAutomaticParser::RelationalExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::RelationalExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitRelationalExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::RelationalExpressionContext* -SparqlAutomaticParser::relationalExpression() { - RelationalExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::RelationalExpressionContext* SparqlAutomaticParser::relationalExpression() { + RelationalExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 242, SparqlAutomaticParser::RuleRelationalExpression); #if __cplusplus > 201703L @@ -13103,8 +11794,7 @@ SparqlAutomaticParser::relationalExpression() { case SparqlAutomaticParser::NOT: { setState(1159); - antlrcpp::downCast(_localctx)->notToken = - match(SparqlAutomaticParser::NOT); + antlrcpp::downCast(_localctx)->notToken = match(SparqlAutomaticParser::NOT); setState(1160); match(SparqlAutomaticParser::IN); setState(1161); @@ -13121,11 +11811,12 @@ SparqlAutomaticParser::relationalExpression() { break; } - default: - break; + default: + break; } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13134,46 +11825,43 @@ SparqlAutomaticParser::relationalExpression() { return _localctx; } -//----------------- NumericExpressionContext -//------------------------------------------------------------------ +//----------------- NumericExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::NumericExpressionContext::NumericExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::NumericExpressionContext::NumericExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::AdditiveExpressionContext* -SparqlAutomaticParser::NumericExpressionContext::additiveExpression() { +SparqlAutomaticParser::AdditiveExpressionContext* SparqlAutomaticParser::NumericExpressionContext::additiveExpression() { return getRuleContext(0); } + size_t SparqlAutomaticParser::NumericExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNumericExpression; } -void SparqlAutomaticParser::NumericExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterNumericExpression(this); +void SparqlAutomaticParser::NumericExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterNumericExpression(this); } -void SparqlAutomaticParser::NumericExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitNumericExpression(this); +void SparqlAutomaticParser::NumericExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitNumericExpression(this); } -std::any SparqlAutomaticParser::NumericExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::NumericExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericExpressionContext* -SparqlAutomaticParser::numericExpression() { - NumericExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericExpressionContext* SparqlAutomaticParser::numericExpression() { + NumericExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 244, SparqlAutomaticParser::RuleNumericExpression); #if __cplusplus > 201703L @@ -13187,8 +11875,9 @@ SparqlAutomaticParser::numericExpression() { enterOuterAlt(_localctx, 1); setState(1164); additiveExpression(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13197,61 +11886,51 @@ SparqlAutomaticParser::numericExpression() { return _localctx; } -//----------------- AdditiveExpressionContext -//------------------------------------------------------------------ +//----------------- AdditiveExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::AdditiveExpressionContext::AdditiveExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::AdditiveExpressionContext::AdditiveExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::MultiplicativeExpressionContext* -SparqlAutomaticParser::AdditiveExpressionContext::multiplicativeExpression() { - return getRuleContext( - 0); +SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::AdditiveExpressionContext::multiplicativeExpression() { + return getRuleContext(0); } -std::vector -SparqlAutomaticParser::AdditiveExpressionContext:: - multiplicativeExpressionWithSign() { - return getRuleContexts< - SparqlAutomaticParser::MultiplicativeExpressionWithSignContext>(); +std::vector SparqlAutomaticParser::AdditiveExpressionContext::multiplicativeExpressionWithSign() { + return getRuleContexts(); } -SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* -SparqlAutomaticParser::AdditiveExpressionContext:: - multiplicativeExpressionWithSign(size_t i) { - return getRuleContext< - SparqlAutomaticParser::MultiplicativeExpressionWithSignContext>(i); +SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* SparqlAutomaticParser::AdditiveExpressionContext::multiplicativeExpressionWithSign(size_t i) { + return getRuleContext(i); } + size_t SparqlAutomaticParser::AdditiveExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAdditiveExpression; } -void SparqlAutomaticParser::AdditiveExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterAdditiveExpression(this); +void SparqlAutomaticParser::AdditiveExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterAdditiveExpression(this); +} + +void SparqlAutomaticParser::AdditiveExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitAdditiveExpression(this); } -void SparqlAutomaticParser::AdditiveExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitAdditiveExpression(this); -} -std::any SparqlAutomaticParser::AdditiveExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { +std::any SparqlAutomaticParser::AdditiveExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAdditiveExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::AdditiveExpressionContext* -SparqlAutomaticParser::additiveExpression() { - AdditiveExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::AdditiveExpressionContext* SparqlAutomaticParser::additiveExpression() { + AdditiveExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 246, SparqlAutomaticParser::RuleAdditiveExpression); size_t _la = 0; @@ -13271,17 +11950,17 @@ SparqlAutomaticParser::additiveExpression() { _la = _input->LA(1); while (_la == SparqlAutomaticParser::T__12 - || _la == SparqlAutomaticParser::T__25 || - (((_la - 153) & ~0x3fULL) == 0) && - ((1ULL << (_la - 153)) & 63) != 0) { + || _la == SparqlAutomaticParser::T__25 || (((_la - 153) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 153)) & 63) != 0) { setState(1167); multiplicativeExpressionWithSign(); setState(1172); _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13290,67 +11969,52 @@ SparqlAutomaticParser::additiveExpression() { return _localctx; } -//----------------- MultiplicativeExpressionWithSignContext -//------------------------------------------------------------------ +//----------------- MultiplicativeExpressionWithSignContext ------------------------------------------------------------------ -SparqlAutomaticParser::MultiplicativeExpressionWithSignContext:: - MultiplicativeExpressionWithSignContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::MultiplicativeExpressionWithSignContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PlusSubexpressionContext* SparqlAutomaticParser:: - MultiplicativeExpressionWithSignContext::plusSubexpression() { +SparqlAutomaticParser::PlusSubexpressionContext* SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::plusSubexpression() { return getRuleContext(0); } -SparqlAutomaticParser::MinusSubexpressionContext* SparqlAutomaticParser:: - MultiplicativeExpressionWithSignContext::minusSubexpression() { +SparqlAutomaticParser::MinusSubexpressionContext* SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::minusSubexpression() { return getRuleContext(0); } -SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* -SparqlAutomaticParser::MultiplicativeExpressionWithSignContext:: - multiplicativeExpressionWithLeadingSignButNoSpace() { - return getRuleContext< - SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext>(0); +SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::multiplicativeExpressionWithLeadingSignButNoSpace() { + return getRuleContext(0); } -size_t -SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMultiplicativeExpressionWithSign; } -void SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterMultiplicativeExpressionWithSign(this); } -void SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitMultiplicativeExpressionWithSign(this); } -std::any SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMultiplicativeExpressionWithSign(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* -SparqlAutomaticParser::multiplicativeExpressionWithSign() { - MultiplicativeExpressionWithSignContext* _localctx = - _tracker.createInstance( - _ctx, getState()); - enterRule(_localctx, 248, - SparqlAutomaticParser::RuleMultiplicativeExpressionWithSign); +SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* SparqlAutomaticParser::multiplicativeExpressionWithSign() { + MultiplicativeExpressionWithSignContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 248, SparqlAutomaticParser::RuleMultiplicativeExpressionWithSign); #if __cplusplus > 201703L auto onExit = finally([=, this] { @@ -13393,11 +12057,12 @@ SparqlAutomaticParser::multiplicativeExpressionWithSign() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13406,47 +12071,43 @@ SparqlAutomaticParser::multiplicativeExpressionWithSign() { return _localctx; } -//----------------- PlusSubexpressionContext -//------------------------------------------------------------------ +//----------------- PlusSubexpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::PlusSubexpressionContext::PlusSubexpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PlusSubexpressionContext::PlusSubexpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::MultiplicativeExpressionContext* -SparqlAutomaticParser::PlusSubexpressionContext::multiplicativeExpression() { - return getRuleContext( - 0); +SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::PlusSubexpressionContext::multiplicativeExpression() { + return getRuleContext(0); } + size_t SparqlAutomaticParser::PlusSubexpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RulePlusSubexpression; } -void SparqlAutomaticParser::PlusSubexpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPlusSubexpression(this); +void SparqlAutomaticParser::PlusSubexpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPlusSubexpression(this); } -void SparqlAutomaticParser::PlusSubexpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPlusSubexpression(this); +void SparqlAutomaticParser::PlusSubexpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPlusSubexpression(this); } -std::any SparqlAutomaticParser::PlusSubexpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PlusSubexpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPlusSubexpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PlusSubexpressionContext* -SparqlAutomaticParser::plusSubexpression() { - PlusSubexpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PlusSubexpressionContext* SparqlAutomaticParser::plusSubexpression() { + PlusSubexpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 250, SparqlAutomaticParser::RulePlusSubexpression); #if __cplusplus > 201703L @@ -13460,8 +12121,9 @@ SparqlAutomaticParser::plusSubexpression() { enterOuterAlt(_localctx, 1); setState(1180); multiplicativeExpression(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13470,47 +12132,43 @@ SparqlAutomaticParser::plusSubexpression() { return _localctx; } -//----------------- MinusSubexpressionContext -//------------------------------------------------------------------ +//----------------- MinusSubexpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::MinusSubexpressionContext::MinusSubexpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::MinusSubexpressionContext::MinusSubexpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::MultiplicativeExpressionContext* -SparqlAutomaticParser::MinusSubexpressionContext::multiplicativeExpression() { - return getRuleContext( - 0); +SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::MinusSubexpressionContext::multiplicativeExpression() { + return getRuleContext(0); } + size_t SparqlAutomaticParser::MinusSubexpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMinusSubexpression; } -void SparqlAutomaticParser::MinusSubexpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterMinusSubexpression(this); +void SparqlAutomaticParser::MinusSubexpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterMinusSubexpression(this); } -void SparqlAutomaticParser::MinusSubexpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitMinusSubexpression(this); +void SparqlAutomaticParser::MinusSubexpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitMinusSubexpression(this); } -std::any SparqlAutomaticParser::MinusSubexpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::MinusSubexpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMinusSubexpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MinusSubexpressionContext* -SparqlAutomaticParser::minusSubexpression() { - MinusSubexpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::MinusSubexpressionContext* SparqlAutomaticParser::minusSubexpression() { + MinusSubexpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 252, SparqlAutomaticParser::RuleMinusSubexpression); #if __cplusplus > 201703L @@ -13524,8 +12182,9 @@ SparqlAutomaticParser::minusSubexpression() { enterOuterAlt(_localctx, 1); setState(1182); multiplicativeExpression(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13534,88 +12193,56 @@ SparqlAutomaticParser::minusSubexpression() { return _localctx; } -//----------------- MultiplicativeExpressionWithLeadingSignButNoSpaceContext -//------------------------------------------------------------------ +//----------------- MultiplicativeExpressionWithLeadingSignButNoSpaceContext ------------------------------------------------------------------ -SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::MultiplicativeExpressionWithLeadingSignButNoSpaceContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: - numericLiteralPositive() { - return getRuleContext( - 0); +SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::numericLiteralPositive() { + return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: - numericLiteralNegative() { - return getRuleContext( - 0); +SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::numericLiteralNegative() { + return getRuleContext(0); } -std::vector -SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: - multiplyOrDivideExpression() { - return getRuleContexts< - SparqlAutomaticParser::MultiplyOrDivideExpressionContext>(); +std::vector SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::multiplyOrDivideExpression() { + return getRuleContexts(); } -SparqlAutomaticParser::MultiplyOrDivideExpressionContext* -SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: - multiplyOrDivideExpression(size_t i) { - return getRuleContext< - SparqlAutomaticParser::MultiplyOrDivideExpressionContext>(i); +SparqlAutomaticParser::MultiplyOrDivideExpressionContext* SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::multiplyOrDivideExpression(size_t i) { + return getRuleContext(i); } -size_t SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext::getRuleIndex() - const { - return SparqlAutomaticParser:: - RuleMultiplicativeExpressionWithLeadingSignButNoSpace; + +size_t SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::getRuleIndex() const { + return SparqlAutomaticParser::RuleMultiplicativeExpressionWithLeadingSignButNoSpace; } -void SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) - parserListener->enterMultiplicativeExpressionWithLeadingSignButNoSpace( - this); + parserListener->enterMultiplicativeExpressionWithLeadingSignButNoSpace(this); } -void SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitMultiplicativeExpressionWithLeadingSignButNoSpace(this); } -std::any SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) - return parserVisitor - ->visitMultiplicativeExpressionWithLeadingSignButNoSpace(this); + return parserVisitor->visitMultiplicativeExpressionWithLeadingSignButNoSpace(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* -SparqlAutomaticParser::multiplicativeExpressionWithLeadingSignButNoSpace() { - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* _localctx = - _tracker.createInstance< - MultiplicativeExpressionWithLeadingSignButNoSpaceContext>(_ctx, - getState()); - enterRule(_localctx, 254, - SparqlAutomaticParser:: - RuleMultiplicativeExpressionWithLeadingSignButNoSpace); +SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* SparqlAutomaticParser::multiplicativeExpressionWithLeadingSignButNoSpace() { + MultiplicativeExpressionWithLeadingSignButNoSpaceContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 254, SparqlAutomaticParser::RuleMultiplicativeExpressionWithLeadingSignButNoSpace); size_t _la = 0; #if __cplusplus > 201703L @@ -13646,23 +12273,24 @@ SparqlAutomaticParser::multiplicativeExpressionWithLeadingSignButNoSpace() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(1191); _errHandler->sync(this); _la = _input->LA(1); while (_la == SparqlAutomaticParser::T__0 - || _la == SparqlAutomaticParser::T__10) { + || _la == SparqlAutomaticParser::T__10) { setState(1188); multiplyOrDivideExpression(); setState(1193); _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13671,67 +12299,52 @@ SparqlAutomaticParser::multiplicativeExpressionWithLeadingSignButNoSpace() { return _localctx; } -//----------------- MultiplicativeExpressionContext -//------------------------------------------------------------------ +//----------------- MultiplicativeExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::MultiplicativeExpressionContext:: - MultiplicativeExpressionContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::MultiplicativeExpressionContext::MultiplicativeExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::UnaryExpressionContext* -SparqlAutomaticParser::MultiplicativeExpressionContext::unaryExpression() { +SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::MultiplicativeExpressionContext::unaryExpression() { return getRuleContext(0); } -std::vector -SparqlAutomaticParser::MultiplicativeExpressionContext:: - multiplyOrDivideExpression() { - return getRuleContexts< - SparqlAutomaticParser::MultiplyOrDivideExpressionContext>(); +std::vector SparqlAutomaticParser::MultiplicativeExpressionContext::multiplyOrDivideExpression() { + return getRuleContexts(); } -SparqlAutomaticParser::MultiplyOrDivideExpressionContext* -SparqlAutomaticParser::MultiplicativeExpressionContext:: - multiplyOrDivideExpression(size_t i) { - return getRuleContext< - SparqlAutomaticParser::MultiplyOrDivideExpressionContext>(i); +SparqlAutomaticParser::MultiplyOrDivideExpressionContext* SparqlAutomaticParser::MultiplicativeExpressionContext::multiplyOrDivideExpression(size_t i) { + return getRuleContext(i); } -size_t SparqlAutomaticParser::MultiplicativeExpressionContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::MultiplicativeExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMultiplicativeExpression; } -void SparqlAutomaticParser::MultiplicativeExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterMultiplicativeExpression(this); } -void SparqlAutomaticParser::MultiplicativeExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitMultiplicativeExpression(this); } -std::any SparqlAutomaticParser::MultiplicativeExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::MultiplicativeExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMultiplicativeExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplicativeExpressionContext* -SparqlAutomaticParser::multiplicativeExpression() { - MultiplicativeExpressionContext* _localctx = - _tracker.createInstance(_ctx, - getState()); - enterRule(_localctx, 256, - SparqlAutomaticParser::RuleMultiplicativeExpression); +SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::multiplicativeExpression() { + MultiplicativeExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 256, SparqlAutomaticParser::RuleMultiplicativeExpression); size_t _la = 0; #if __cplusplus > 201703L @@ -13750,15 +12363,16 @@ SparqlAutomaticParser::multiplicativeExpression() { _la = _input->LA(1); while (_la == SparqlAutomaticParser::T__0 - || _la == SparqlAutomaticParser::T__10) { + || _la == SparqlAutomaticParser::T__10) { setState(1195); multiplyOrDivideExpression(); setState(1200); _errHandler->sync(this); _la = _input->LA(1); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13767,58 +12381,48 @@ SparqlAutomaticParser::multiplicativeExpression() { return _localctx; } -//----------------- MultiplyOrDivideExpressionContext -//------------------------------------------------------------------ +//----------------- MultiplyOrDivideExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::MultiplyOrDivideExpressionContext:: - MultiplyOrDivideExpressionContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::MultiplyOrDivideExpressionContext::MultiplyOrDivideExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::MultiplyExpressionContext* -SparqlAutomaticParser::MultiplyOrDivideExpressionContext::multiplyExpression() { +SparqlAutomaticParser::MultiplyExpressionContext* SparqlAutomaticParser::MultiplyOrDivideExpressionContext::multiplyExpression() { return getRuleContext(0); } -SparqlAutomaticParser::DivideExpressionContext* -SparqlAutomaticParser::MultiplyOrDivideExpressionContext::divideExpression() { +SparqlAutomaticParser::DivideExpressionContext* SparqlAutomaticParser::MultiplyOrDivideExpressionContext::divideExpression() { return getRuleContext(0); } -size_t SparqlAutomaticParser::MultiplyOrDivideExpressionContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::MultiplyOrDivideExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMultiplyOrDivideExpression; } -void SparqlAutomaticParser::MultiplyOrDivideExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplyOrDivideExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterMultiplyOrDivideExpression(this); } -void SparqlAutomaticParser::MultiplyOrDivideExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplyOrDivideExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitMultiplyOrDivideExpression(this); } -std::any SparqlAutomaticParser::MultiplyOrDivideExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::MultiplyOrDivideExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMultiplyOrDivideExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplyOrDivideExpressionContext* -SparqlAutomaticParser::multiplyOrDivideExpression() { - MultiplyOrDivideExpressionContext* _localctx = - _tracker.createInstance(_ctx, - getState()); - enterRule(_localctx, 258, - SparqlAutomaticParser::RuleMultiplyOrDivideExpression); +SparqlAutomaticParser::MultiplyOrDivideExpressionContext* SparqlAutomaticParser::multiplyOrDivideExpression() { + MultiplyOrDivideExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); + enterRule(_localctx, 258, SparqlAutomaticParser::RuleMultiplyOrDivideExpression); #if __cplusplus > 201703L auto onExit = finally([=, this] { @@ -13845,11 +12449,12 @@ SparqlAutomaticParser::multiplyOrDivideExpression() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13858,46 +12463,43 @@ SparqlAutomaticParser::multiplyOrDivideExpression() { return _localctx; } -//----------------- MultiplyExpressionContext -//------------------------------------------------------------------ +//----------------- MultiplyExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::MultiplyExpressionContext::MultiplyExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::MultiplyExpressionContext::MultiplyExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::UnaryExpressionContext* -SparqlAutomaticParser::MultiplyExpressionContext::unaryExpression() { +SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::MultiplyExpressionContext::unaryExpression() { return getRuleContext(0); } + size_t SparqlAutomaticParser::MultiplyExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMultiplyExpression; } -void SparqlAutomaticParser::MultiplyExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterMultiplyExpression(this); +void SparqlAutomaticParser::MultiplyExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterMultiplyExpression(this); } -void SparqlAutomaticParser::MultiplyExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitMultiplyExpression(this); +void SparqlAutomaticParser::MultiplyExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitMultiplyExpression(this); } -std::any SparqlAutomaticParser::MultiplyExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::MultiplyExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMultiplyExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplyExpressionContext* -SparqlAutomaticParser::multiplyExpression() { - MultiplyExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::MultiplyExpressionContext* SparqlAutomaticParser::multiplyExpression() { + MultiplyExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 260, SparqlAutomaticParser::RuleMultiplyExpression); #if __cplusplus > 201703L @@ -13913,8 +12515,9 @@ SparqlAutomaticParser::multiplyExpression() { match(SparqlAutomaticParser::T__0); setState(1206); unaryExpression(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13923,46 +12526,43 @@ SparqlAutomaticParser::multiplyExpression() { return _localctx; } -//----------------- DivideExpressionContext -//------------------------------------------------------------------ +//----------------- DivideExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::DivideExpressionContext::DivideExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::DivideExpressionContext::DivideExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::UnaryExpressionContext* -SparqlAutomaticParser::DivideExpressionContext::unaryExpression() { +SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::DivideExpressionContext::unaryExpression() { return getRuleContext(0); } + size_t SparqlAutomaticParser::DivideExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDivideExpression; } -void SparqlAutomaticParser::DivideExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterDivideExpression(this); +void SparqlAutomaticParser::DivideExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterDivideExpression(this); } -void SparqlAutomaticParser::DivideExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitDivideExpression(this); +void SparqlAutomaticParser::DivideExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitDivideExpression(this); } -std::any SparqlAutomaticParser::DivideExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::DivideExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDivideExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DivideExpressionContext* -SparqlAutomaticParser::divideExpression() { - DivideExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DivideExpressionContext* SparqlAutomaticParser::divideExpression() { + DivideExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 262, SparqlAutomaticParser::RuleDivideExpression); #if __cplusplus > 201703L @@ -13978,8 +12578,9 @@ SparqlAutomaticParser::divideExpression() { match(SparqlAutomaticParser::T__10); setState(1209); unaryExpression(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13988,46 +12589,43 @@ SparqlAutomaticParser::divideExpression() { return _localctx; } -//----------------- UnaryExpressionContext -//------------------------------------------------------------------ +//----------------- UnaryExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::UnaryExpressionContext::UnaryExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::UnaryExpressionContext::UnaryExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PrimaryExpressionContext* -SparqlAutomaticParser::UnaryExpressionContext::primaryExpression() { +SparqlAutomaticParser::PrimaryExpressionContext* SparqlAutomaticParser::UnaryExpressionContext::primaryExpression() { return getRuleContext(0); } + size_t SparqlAutomaticParser::UnaryExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleUnaryExpression; } -void SparqlAutomaticParser::UnaryExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterUnaryExpression(this); +void SparqlAutomaticParser::UnaryExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterUnaryExpression(this); } -void SparqlAutomaticParser::UnaryExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitUnaryExpression(this); +void SparqlAutomaticParser::UnaryExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitUnaryExpression(this); } -std::any SparqlAutomaticParser::UnaryExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::UnaryExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitUnaryExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::UnaryExpressionContext* -SparqlAutomaticParser::unaryExpression() { - UnaryExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::unaryExpression() { + UnaryExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 264, SparqlAutomaticParser::RuleUnaryExpression); #if __cplusplus > 201703L @@ -14158,11 +12756,12 @@ SparqlAutomaticParser::unaryExpression() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14171,76 +12770,67 @@ SparqlAutomaticParser::unaryExpression() { return _localctx; } -//----------------- PrimaryExpressionContext -//------------------------------------------------------------------ +//----------------- PrimaryExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::PrimaryExpressionContext::PrimaryExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PrimaryExpressionContext::PrimaryExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::BrackettedExpressionContext* -SparqlAutomaticParser::PrimaryExpressionContext::brackettedExpression() { +SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::PrimaryExpressionContext::brackettedExpression() { return getRuleContext(0); } -SparqlAutomaticParser::BuiltInCallContext* -SparqlAutomaticParser::PrimaryExpressionContext::builtInCall() { +SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::PrimaryExpressionContext::builtInCall() { return getRuleContext(0); } -SparqlAutomaticParser::IriOrFunctionContext* -SparqlAutomaticParser::PrimaryExpressionContext::iriOrFunction() { +SparqlAutomaticParser::IriOrFunctionContext* SparqlAutomaticParser::PrimaryExpressionContext::iriOrFunction() { return getRuleContext(0); } -SparqlAutomaticParser::RdfLiteralContext* -SparqlAutomaticParser::PrimaryExpressionContext::rdfLiteral() { +SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::PrimaryExpressionContext::rdfLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralContext* -SparqlAutomaticParser::PrimaryExpressionContext::numericLiteral() { +SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::PrimaryExpressionContext::numericLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::BooleanLiteralContext* -SparqlAutomaticParser::PrimaryExpressionContext::booleanLiteral() { +SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::PrimaryExpressionContext::booleanLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::PrimaryExpressionContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::PrimaryExpressionContext::var() { return getRuleContext(0); } + size_t SparqlAutomaticParser::PrimaryExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RulePrimaryExpression; } -void SparqlAutomaticParser::PrimaryExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPrimaryExpression(this); +void SparqlAutomaticParser::PrimaryExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPrimaryExpression(this); } -void SparqlAutomaticParser::PrimaryExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPrimaryExpression(this); +void SparqlAutomaticParser::PrimaryExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPrimaryExpression(this); } -std::any SparqlAutomaticParser::PrimaryExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PrimaryExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPrimaryExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PrimaryExpressionContext* -SparqlAutomaticParser::primaryExpression() { - PrimaryExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PrimaryExpressionContext* SparqlAutomaticParser::primaryExpression() { + PrimaryExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 266, SparqlAutomaticParser::RulePrimaryExpression); #if __cplusplus > 201703L @@ -14380,11 +12970,12 @@ SparqlAutomaticParser::primaryExpression() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14393,48 +12984,43 @@ SparqlAutomaticParser::primaryExpression() { return _localctx; } -//----------------- BrackettedExpressionContext -//------------------------------------------------------------------ +//----------------- BrackettedExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::BrackettedExpressionContext::BrackettedExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::BrackettedExpressionContext::BrackettedExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::BrackettedExpressionContext::expression() { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::BrackettedExpressionContext::expression() { return getRuleContext(0); } -size_t SparqlAutomaticParser::BrackettedExpressionContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::BrackettedExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBrackettedExpression; } -void SparqlAutomaticParser::BrackettedExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BrackettedExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterBrackettedExpression(this); } -void SparqlAutomaticParser::BrackettedExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitBrackettedExpression(this); +void SparqlAutomaticParser::BrackettedExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitBrackettedExpression(this); } -std::any SparqlAutomaticParser::BrackettedExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::BrackettedExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBrackettedExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BrackettedExpressionContext* -SparqlAutomaticParser::brackettedExpression() { - BrackettedExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::brackettedExpression() { + BrackettedExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 268, SparqlAutomaticParser::RuleBrackettedExpression); #if __cplusplus > 201703L @@ -14452,8 +13038,9 @@ SparqlAutomaticParser::brackettedExpression() { expression(); setState(1231); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14462,15 +13049,13 @@ SparqlAutomaticParser::brackettedExpression() { return _localctx; } -//----------------- BuiltInCallContext -//------------------------------------------------------------------ +//----------------- BuiltInCallContext ------------------------------------------------------------------ -SparqlAutomaticParser::BuiltInCallContext::BuiltInCallContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::BuiltInCallContext::BuiltInCallContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::AggregateContext* -SparqlAutomaticParser::BuiltInCallContext::aggregate() { +SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::BuiltInCallContext::aggregate() { return getRuleContext(0); } @@ -14478,18 +13063,15 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::STR() { return getToken(SparqlAutomaticParser::STR, 0); } -std::vector -SparqlAutomaticParser::BuiltInCallContext::expression() { +std::vector SparqlAutomaticParser::BuiltInCallContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::BuiltInCallContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::BuiltInCallContext::expression(size_t i) { return getRuleContext(i); } -SparqlAutomaticParser::LangExpressionContext* -SparqlAutomaticParser::BuiltInCallContext::langExpression() { +SparqlAutomaticParser::LangExpressionContext* SparqlAutomaticParser::BuiltInCallContext::langExpression() { return getRuleContext(0); } @@ -14505,8 +13087,7 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::BOUND() { return getToken(SparqlAutomaticParser::BOUND, 0); } -SparqlAutomaticParser::VarContext* -SparqlAutomaticParser::BuiltInCallContext::var() { +SparqlAutomaticParser::VarContext* SparqlAutomaticParser::BuiltInCallContext::var() { return getRuleContext(0); } @@ -14550,13 +13131,11 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::CONCAT() { return getToken(SparqlAutomaticParser::CONCAT, 0); } -SparqlAutomaticParser::ExpressionListContext* -SparqlAutomaticParser::BuiltInCallContext::expressionList() { +SparqlAutomaticParser::ExpressionListContext* SparqlAutomaticParser::BuiltInCallContext::expressionList() { return getRuleContext(0); } -SparqlAutomaticParser::SubstringExpressionContext* -SparqlAutomaticParser::BuiltInCallContext::substringExpression() { +SparqlAutomaticParser::SubstringExpressionContext* SparqlAutomaticParser::BuiltInCallContext::substringExpression() { return getRuleContext(0); } @@ -14564,8 +13143,7 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::STRLEN() { return getToken(SparqlAutomaticParser::STRLEN, 0); } -SparqlAutomaticParser::StrReplaceExpressionContext* -SparqlAutomaticParser::BuiltInCallContext::strReplaceExpression() { +SparqlAutomaticParser::StrReplaceExpressionContext* SparqlAutomaticParser::BuiltInCallContext::strReplaceExpression() { return getRuleContext(0); } @@ -14577,8 +13155,7 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::LCASE() { return getToken(SparqlAutomaticParser::LCASE, 0); } -tree::TerminalNode* -SparqlAutomaticParser::BuiltInCallContext::ENCODE_FOR_URI() { +tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::ENCODE_FOR_URI() { return getToken(SparqlAutomaticParser::ENCODE_FOR_URI, 0); } @@ -14706,49 +13283,45 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::ISNUMERIC() { return getToken(SparqlAutomaticParser::ISNUMERIC, 0); } -SparqlAutomaticParser::RegexExpressionContext* -SparqlAutomaticParser::BuiltInCallContext::regexExpression() { +SparqlAutomaticParser::RegexExpressionContext* SparqlAutomaticParser::BuiltInCallContext::regexExpression() { return getRuleContext(0); } -SparqlAutomaticParser::ExistsFuncContext* -SparqlAutomaticParser::BuiltInCallContext::existsFunc() { +SparqlAutomaticParser::ExistsFuncContext* SparqlAutomaticParser::BuiltInCallContext::existsFunc() { return getRuleContext(0); } -SparqlAutomaticParser::NotExistsFuncContext* -SparqlAutomaticParser::BuiltInCallContext::notExistsFunc() { +SparqlAutomaticParser::NotExistsFuncContext* SparqlAutomaticParser::BuiltInCallContext::notExistsFunc() { return getRuleContext(0); } + size_t SparqlAutomaticParser::BuiltInCallContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBuiltInCall; } -void SparqlAutomaticParser::BuiltInCallContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterBuiltInCall(this); +void SparqlAutomaticParser::BuiltInCallContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterBuiltInCall(this); } -void SparqlAutomaticParser::BuiltInCallContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitBuiltInCall(this); +void SparqlAutomaticParser::BuiltInCallContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitBuiltInCall(this); } -std::any SparqlAutomaticParser::BuiltInCallContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::BuiltInCallContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBuiltInCall(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BuiltInCallContext* -SparqlAutomaticParser::builtInCall() { - BuiltInCallContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::builtInCall() { + BuiltInCallContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 270, SparqlAutomaticParser::RuleBuiltInCall); #if __cplusplus > 201703L @@ -14888,8 +13461,8 @@ SparqlAutomaticParser::builtInCall() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } break; } @@ -15478,11 +14051,12 @@ SparqlAutomaticParser::builtInCall() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15491,55 +14065,51 @@ SparqlAutomaticParser::builtInCall() { return _localctx; } -//----------------- RegexExpressionContext -//------------------------------------------------------------------ +//----------------- RegexExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::RegexExpressionContext::RegexExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::RegexExpressionContext::RegexExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::RegexExpressionContext::REGEX() { return getToken(SparqlAutomaticParser::REGEX, 0); } -std::vector -SparqlAutomaticParser::RegexExpressionContext::expression() { +std::vector SparqlAutomaticParser::RegexExpressionContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::RegexExpressionContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::RegexExpressionContext::expression(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::RegexExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleRegexExpression; } -void SparqlAutomaticParser::RegexExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterRegexExpression(this); +void SparqlAutomaticParser::RegexExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterRegexExpression(this); } -void SparqlAutomaticParser::RegexExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitRegexExpression(this); +void SparqlAutomaticParser::RegexExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitRegexExpression(this); } -std::any SparqlAutomaticParser::RegexExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::RegexExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitRegexExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::RegexExpressionContext* -SparqlAutomaticParser::regexExpression() { - RegexExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::RegexExpressionContext* SparqlAutomaticParser::regexExpression() { + RegexExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 272, SparqlAutomaticParser::RuleRegexExpression); size_t _la = 0; @@ -15574,8 +14144,9 @@ SparqlAutomaticParser::regexExpression() { } setState(1498); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15584,50 +14155,47 @@ SparqlAutomaticParser::regexExpression() { return _localctx; } -//----------------- LangExpressionContext -//------------------------------------------------------------------ +//----------------- LangExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::LangExpressionContext::LangExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::LangExpressionContext::LangExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::LangExpressionContext::LANG() { return getToken(SparqlAutomaticParser::LANG, 0); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::LangExpressionContext::expression() { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::LangExpressionContext::expression() { return getRuleContext(0); } + size_t SparqlAutomaticParser::LangExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleLangExpression; } -void SparqlAutomaticParser::LangExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterLangExpression(this); +void SparqlAutomaticParser::LangExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterLangExpression(this); } -void SparqlAutomaticParser::LangExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitLangExpression(this); +void SparqlAutomaticParser::LangExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitLangExpression(this); } -std::any SparqlAutomaticParser::LangExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::LangExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitLangExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::LangExpressionContext* -SparqlAutomaticParser::langExpression() { - LangExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::LangExpressionContext* SparqlAutomaticParser::langExpression() { + LangExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 274, SparqlAutomaticParser::RuleLangExpression); #if __cplusplus > 201703L @@ -15647,8 +14215,9 @@ SparqlAutomaticParser::langExpression() { expression(); setState(1503); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15657,56 +14226,51 @@ SparqlAutomaticParser::langExpression() { return _localctx; } -//----------------- SubstringExpressionContext -//------------------------------------------------------------------ +//----------------- SubstringExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::SubstringExpressionContext::SubstringExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::SubstringExpressionContext::SubstringExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -tree::TerminalNode* -SparqlAutomaticParser::SubstringExpressionContext::SUBSTR() { +tree::TerminalNode* SparqlAutomaticParser::SubstringExpressionContext::SUBSTR() { return getToken(SparqlAutomaticParser::SUBSTR, 0); } -std::vector -SparqlAutomaticParser::SubstringExpressionContext::expression() { +std::vector SparqlAutomaticParser::SubstringExpressionContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::SubstringExpressionContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::SubstringExpressionContext::expression(size_t i) { return getRuleContext(i); } + size_t SparqlAutomaticParser::SubstringExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSubstringExpression; } -void SparqlAutomaticParser::SubstringExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterSubstringExpression(this); +void SparqlAutomaticParser::SubstringExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterSubstringExpression(this); } -void SparqlAutomaticParser::SubstringExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitSubstringExpression(this); +void SparqlAutomaticParser::SubstringExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitSubstringExpression(this); } -std::any SparqlAutomaticParser::SubstringExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::SubstringExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSubstringExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SubstringExpressionContext* -SparqlAutomaticParser::substringExpression() { - SubstringExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SubstringExpressionContext* SparqlAutomaticParser::substringExpression() { + SubstringExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 276, SparqlAutomaticParser::RuleSubstringExpression); size_t _la = 0; @@ -15741,8 +14305,9 @@ SparqlAutomaticParser::substringExpression() { } setState(1514); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15751,58 +14316,51 @@ SparqlAutomaticParser::substringExpression() { return _localctx; } -//----------------- StrReplaceExpressionContext -//------------------------------------------------------------------ +//----------------- StrReplaceExpressionContext ------------------------------------------------------------------ -SparqlAutomaticParser::StrReplaceExpressionContext::StrReplaceExpressionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::StrReplaceExpressionContext::StrReplaceExpressionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -tree::TerminalNode* -SparqlAutomaticParser::StrReplaceExpressionContext::REPLACE() { +tree::TerminalNode* SparqlAutomaticParser::StrReplaceExpressionContext::REPLACE() { return getToken(SparqlAutomaticParser::REPLACE, 0); } -std::vector -SparqlAutomaticParser::StrReplaceExpressionContext::expression() { +std::vector SparqlAutomaticParser::StrReplaceExpressionContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::StrReplaceExpressionContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::StrReplaceExpressionContext::expression(size_t i) { return getRuleContext(i); } -size_t SparqlAutomaticParser::StrReplaceExpressionContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::StrReplaceExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleStrReplaceExpression; } -void SparqlAutomaticParser::StrReplaceExpressionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::StrReplaceExpressionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterStrReplaceExpression(this); } -void SparqlAutomaticParser::StrReplaceExpressionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitStrReplaceExpression(this); +void SparqlAutomaticParser::StrReplaceExpressionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitStrReplaceExpression(this); } -std::any SparqlAutomaticParser::StrReplaceExpressionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::StrReplaceExpressionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitStrReplaceExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::StrReplaceExpressionContext* -SparqlAutomaticParser::strReplaceExpression() { - StrReplaceExpressionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::StrReplaceExpressionContext* SparqlAutomaticParser::strReplaceExpression() { + StrReplaceExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 278, SparqlAutomaticParser::RuleStrReplaceExpression); size_t _la = 0; @@ -15841,8 +14399,9 @@ SparqlAutomaticParser::strReplaceExpression() { } setState(1527); match(SparqlAutomaticParser::T__2); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15851,40 +14410,39 @@ SparqlAutomaticParser::strReplaceExpression() { return _localctx; } -//----------------- ExistsFuncContext -//------------------------------------------------------------------ +//----------------- ExistsFuncContext ------------------------------------------------------------------ -SparqlAutomaticParser::ExistsFuncContext::ExistsFuncContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::ExistsFuncContext::ExistsFuncContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::ExistsFuncContext::EXISTS() { return getToken(SparqlAutomaticParser::EXISTS, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::ExistsFuncContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::ExistsFuncContext::groupGraphPattern() { return getRuleContext(0); } + size_t SparqlAutomaticParser::ExistsFuncContext::getRuleIndex() const { return SparqlAutomaticParser::RuleExistsFunc; } -void SparqlAutomaticParser::ExistsFuncContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterExistsFunc(this); +void SparqlAutomaticParser::ExistsFuncContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterExistsFunc(this); } -void SparqlAutomaticParser::ExistsFuncContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitExistsFunc(this); +void SparqlAutomaticParser::ExistsFuncContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitExistsFunc(this); } -std::any SparqlAutomaticParser::ExistsFuncContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::ExistsFuncContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitExistsFunc(this); else @@ -15892,8 +14450,7 @@ std::any SparqlAutomaticParser::ExistsFuncContext::accept( } SparqlAutomaticParser::ExistsFuncContext* SparqlAutomaticParser::existsFunc() { - ExistsFuncContext* _localctx = - _tracker.createInstance(_ctx, getState()); + ExistsFuncContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 280, SparqlAutomaticParser::RuleExistsFunc); #if __cplusplus > 201703L @@ -15909,8 +14466,9 @@ SparqlAutomaticParser::ExistsFuncContext* SparqlAutomaticParser::existsFunc() { match(SparqlAutomaticParser::EXISTS); setState(1530); groupGraphPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15919,12 +14477,11 @@ SparqlAutomaticParser::ExistsFuncContext* SparqlAutomaticParser::existsFunc() { return _localctx; } -//----------------- NotExistsFuncContext -//------------------------------------------------------------------ +//----------------- NotExistsFuncContext ------------------------------------------------------------------ -SparqlAutomaticParser::NotExistsFuncContext::NotExistsFuncContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::NotExistsFuncContext::NotExistsFuncContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::NotExistsFuncContext::NOT() { return getToken(SparqlAutomaticParser::NOT, 0); @@ -15934,39 +14491,37 @@ tree::TerminalNode* SparqlAutomaticParser::NotExistsFuncContext::EXISTS() { return getToken(SparqlAutomaticParser::EXISTS, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* -SparqlAutomaticParser::NotExistsFuncContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::NotExistsFuncContext::groupGraphPattern() { return getRuleContext(0); } + size_t SparqlAutomaticParser::NotExistsFuncContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNotExistsFunc; } -void SparqlAutomaticParser::NotExistsFuncContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterNotExistsFunc(this); +void SparqlAutomaticParser::NotExistsFuncContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterNotExistsFunc(this); } -void SparqlAutomaticParser::NotExistsFuncContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitNotExistsFunc(this); +void SparqlAutomaticParser::NotExistsFuncContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitNotExistsFunc(this); } -std::any SparqlAutomaticParser::NotExistsFuncContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::NotExistsFuncContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNotExistsFunc(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NotExistsFuncContext* -SparqlAutomaticParser::notExistsFunc() { - NotExistsFuncContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NotExistsFuncContext* SparqlAutomaticParser::notExistsFunc() { + NotExistsFuncContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 282, SparqlAutomaticParser::RuleNotExistsFunc); #if __cplusplus > 201703L @@ -15984,8 +14539,9 @@ SparqlAutomaticParser::notExistsFunc() { match(SparqlAutomaticParser::EXISTS); setState(1534); groupGraphPattern(); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15994,19 +14550,17 @@ SparqlAutomaticParser::notExistsFunc() { return _localctx; } -//----------------- AggregateContext -//------------------------------------------------------------------ +//----------------- AggregateContext ------------------------------------------------------------------ -SparqlAutomaticParser::AggregateContext::AggregateContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::AggregateContext::AggregateContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::AggregateContext::COUNT() { return getToken(SparqlAutomaticParser::COUNT, 0); } -SparqlAutomaticParser::ExpressionContext* -SparqlAutomaticParser::AggregateContext::expression() { +SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::AggregateContext::expression() { return getRuleContext(0); } @@ -16046,29 +14600,29 @@ tree::TerminalNode* SparqlAutomaticParser::AggregateContext::SEPARATOR() { return getToken(SparqlAutomaticParser::SEPARATOR, 0); } -SparqlAutomaticParser::StringContext* -SparqlAutomaticParser::AggregateContext::string() { +SparqlAutomaticParser::StringContext* SparqlAutomaticParser::AggregateContext::string() { return getRuleContext(0); } + size_t SparqlAutomaticParser::AggregateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAggregate; } -void SparqlAutomaticParser::AggregateContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterAggregate(this); +void SparqlAutomaticParser::AggregateContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterAggregate(this); } -void SparqlAutomaticParser::AggregateContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitAggregate(this); +void SparqlAutomaticParser::AggregateContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitAggregate(this); } -std::any SparqlAutomaticParser::AggregateContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::AggregateContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAggregate(this); else @@ -16076,8 +14630,7 @@ std::any SparqlAutomaticParser::AggregateContext::accept( } SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { - AggregateContext* _localctx = - _tracker.createInstance(_ctx, getState()); + AggregateContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 284, SparqlAutomaticParser::RuleAggregate); size_t _la = 0; @@ -16207,8 +14760,8 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(1545); match(SparqlAutomaticParser::T__2); @@ -16376,11 +14929,12 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16389,51 +14943,47 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { return _localctx; } -//----------------- IriOrFunctionContext -//------------------------------------------------------------------ +//----------------- IriOrFunctionContext ------------------------------------------------------------------ -SparqlAutomaticParser::IriOrFunctionContext::IriOrFunctionContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::IriOrFunctionContext::IriOrFunctionContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::IriOrFunctionContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::IriOrFunctionContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::ArgListContext* -SparqlAutomaticParser::IriOrFunctionContext::argList() { +SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::IriOrFunctionContext::argList() { return getRuleContext(0); } + size_t SparqlAutomaticParser::IriOrFunctionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleIriOrFunction; } -void SparqlAutomaticParser::IriOrFunctionContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterIriOrFunction(this); +void SparqlAutomaticParser::IriOrFunctionContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterIriOrFunction(this); } -void SparqlAutomaticParser::IriOrFunctionContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitIriOrFunction(this); +void SparqlAutomaticParser::IriOrFunctionContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitIriOrFunction(this); } -std::any SparqlAutomaticParser::IriOrFunctionContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::IriOrFunctionContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitIriOrFunction(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::IriOrFunctionContext* -SparqlAutomaticParser::iriOrFunction() { - IriOrFunctionContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::IriOrFunctionContext* SparqlAutomaticParser::iriOrFunction() { + IriOrFunctionContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 286, SparqlAutomaticParser::RuleIriOrFunction); size_t _la = 0; @@ -16452,13 +15002,13 @@ SparqlAutomaticParser::iriOrFunction() { _errHandler->sync(this); _la = _input->LA(1); - if (_la == SparqlAutomaticParser::T__1 || - _la == SparqlAutomaticParser::NIL) { + if (_la == SparqlAutomaticParser::T__1 || _la == SparqlAutomaticParser::NIL) { setState(1611); argList(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16467,15 +15017,13 @@ SparqlAutomaticParser::iriOrFunction() { return _localctx; } -//----------------- RdfLiteralContext -//------------------------------------------------------------------ +//----------------- RdfLiteralContext ------------------------------------------------------------------ -SparqlAutomaticParser::RdfLiteralContext::RdfLiteralContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::RdfLiteralContext::RdfLiteralContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::StringContext* -SparqlAutomaticParser::RdfLiteralContext::string() { +SparqlAutomaticParser::StringContext* SparqlAutomaticParser::RdfLiteralContext::string() { return getRuleContext(0); } @@ -16483,29 +15031,29 @@ tree::TerminalNode* SparqlAutomaticParser::RdfLiteralContext::LANGTAG() { return getToken(SparqlAutomaticParser::LANGTAG, 0); } -SparqlAutomaticParser::IriContext* -SparqlAutomaticParser::RdfLiteralContext::iri() { +SparqlAutomaticParser::IriContext* SparqlAutomaticParser::RdfLiteralContext::iri() { return getRuleContext(0); } + size_t SparqlAutomaticParser::RdfLiteralContext::getRuleIndex() const { return SparqlAutomaticParser::RuleRdfLiteral; } -void SparqlAutomaticParser::RdfLiteralContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterRdfLiteral(this); +void SparqlAutomaticParser::RdfLiteralContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterRdfLiteral(this); } -void SparqlAutomaticParser::RdfLiteralContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitRdfLiteral(this); +void SparqlAutomaticParser::RdfLiteralContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitRdfLiteral(this); } -std::any SparqlAutomaticParser::RdfLiteralContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::RdfLiteralContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitRdfLiteral(this); else @@ -16513,8 +15061,7 @@ std::any SparqlAutomaticParser::RdfLiteralContext::accept( } SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::rdfLiteral() { - RdfLiteralContext* _localctx = - _tracker.createInstance(_ctx, getState()); + RdfLiteralContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 288, SparqlAutomaticParser::RuleRdfLiteral); #if __cplusplus > 201703L @@ -16607,11 +15154,12 @@ SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::rdfLiteral() { break; } - default: - break; + default: + break; } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16620,59 +15168,51 @@ SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::rdfLiteral() { return _localctx; } -//----------------- NumericLiteralContext -//------------------------------------------------------------------ +//----------------- NumericLiteralContext ------------------------------------------------------------------ -SparqlAutomaticParser::NumericLiteralContext::NumericLiteralContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::NumericLiteralContext::NumericLiteralContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::NumericLiteralUnsignedContext* -SparqlAutomaticParser::NumericLiteralContext::numericLiteralUnsigned() { - return getRuleContext( - 0); +SparqlAutomaticParser::NumericLiteralUnsignedContext* SparqlAutomaticParser::NumericLiteralContext::numericLiteralUnsigned() { + return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralPositiveContext* -SparqlAutomaticParser::NumericLiteralContext::numericLiteralPositive() { - return getRuleContext( - 0); +SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser::NumericLiteralContext::numericLiteralPositive() { + return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralNegativeContext* -SparqlAutomaticParser::NumericLiteralContext::numericLiteralNegative() { - return getRuleContext( - 0); +SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser::NumericLiteralContext::numericLiteralNegative() { + return getRuleContext(0); } + size_t SparqlAutomaticParser::NumericLiteralContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNumericLiteral; } -void SparqlAutomaticParser::NumericLiteralContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterNumericLiteral(this); +void SparqlAutomaticParser::NumericLiteralContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterNumericLiteral(this); } -void SparqlAutomaticParser::NumericLiteralContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitNumericLiteral(this); +void SparqlAutomaticParser::NumericLiteralContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitNumericLiteral(this); } -std::any SparqlAutomaticParser::NumericLiteralContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::NumericLiteralContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericLiteral(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericLiteralContext* -SparqlAutomaticParser::numericLiteral() { - NumericLiteralContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::numericLiteral() { + NumericLiteralContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 290, SparqlAutomaticParser::RuleNumericLiteral); #if __cplusplus > 201703L @@ -16713,11 +15253,12 @@ SparqlAutomaticParser::numericLiteral() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16726,60 +15267,51 @@ SparqlAutomaticParser::numericLiteral() { return _localctx; } -//----------------- NumericLiteralUnsignedContext -//------------------------------------------------------------------ +//----------------- NumericLiteralUnsignedContext ------------------------------------------------------------------ -SparqlAutomaticParser::NumericLiteralUnsignedContext:: - NumericLiteralUnsignedContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::NumericLiteralUnsignedContext::NumericLiteralUnsignedContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralUnsignedContext::INTEGER() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralUnsignedContext::INTEGER() { return getToken(SparqlAutomaticParser::INTEGER, 0); } -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralUnsignedContext::DECIMAL() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralUnsignedContext::DECIMAL() { return getToken(SparqlAutomaticParser::DECIMAL, 0); } -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralUnsignedContext::DOUBLE() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralUnsignedContext::DOUBLE() { return getToken(SparqlAutomaticParser::DOUBLE, 0); } -size_t SparqlAutomaticParser::NumericLiteralUnsignedContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::NumericLiteralUnsignedContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNumericLiteralUnsigned; } -void SparqlAutomaticParser::NumericLiteralUnsignedContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralUnsignedContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterNumericLiteralUnsigned(this); } -void SparqlAutomaticParser::NumericLiteralUnsignedContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralUnsignedContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitNumericLiteralUnsigned(this); } -std::any SparqlAutomaticParser::NumericLiteralUnsignedContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::NumericLiteralUnsignedContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericLiteralUnsigned(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericLiteralUnsignedContext* -SparqlAutomaticParser::numericLiteralUnsigned() { - NumericLiteralUnsignedContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericLiteralUnsignedContext* SparqlAutomaticParser::numericLiteralUnsigned() { + NumericLiteralUnsignedContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 292, SparqlAutomaticParser::RuleNumericLiteralUnsigned); size_t _la = 0; @@ -16794,15 +15326,17 @@ SparqlAutomaticParser::numericLiteralUnsigned() { enterOuterAlt(_localctx, 1); setState(1625); _la = _input->LA(1); - if (!((((_la - 150) & ~0x3fULL) == 0) && - ((1ULL << (_la - 150)) & 7) != 0)) { - _errHandler->recoverInline(this); - } else { + if (!((((_la - 150) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 150)) & 7) != 0)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16811,60 +15345,51 @@ SparqlAutomaticParser::numericLiteralUnsigned() { return _localctx; } -//----------------- NumericLiteralPositiveContext -//------------------------------------------------------------------ +//----------------- NumericLiteralPositiveContext ------------------------------------------------------------------ -SparqlAutomaticParser::NumericLiteralPositiveContext:: - NumericLiteralPositiveContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::NumericLiteralPositiveContext::NumericLiteralPositiveContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralPositiveContext::INTEGER_POSITIVE() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralPositiveContext::INTEGER_POSITIVE() { return getToken(SparqlAutomaticParser::INTEGER_POSITIVE, 0); } -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralPositiveContext::DECIMAL_POSITIVE() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralPositiveContext::DECIMAL_POSITIVE() { return getToken(SparqlAutomaticParser::DECIMAL_POSITIVE, 0); } -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralPositiveContext::DOUBLE_POSITIVE() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralPositiveContext::DOUBLE_POSITIVE() { return getToken(SparqlAutomaticParser::DOUBLE_POSITIVE, 0); } -size_t SparqlAutomaticParser::NumericLiteralPositiveContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::NumericLiteralPositiveContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNumericLiteralPositive; } -void SparqlAutomaticParser::NumericLiteralPositiveContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralPositiveContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterNumericLiteralPositive(this); } -void SparqlAutomaticParser::NumericLiteralPositiveContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralPositiveContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitNumericLiteralPositive(this); } -std::any SparqlAutomaticParser::NumericLiteralPositiveContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::NumericLiteralPositiveContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericLiteralPositive(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericLiteralPositiveContext* -SparqlAutomaticParser::numericLiteralPositive() { - NumericLiteralPositiveContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser::numericLiteralPositive() { + NumericLiteralPositiveContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 294, SparqlAutomaticParser::RuleNumericLiteralPositive); size_t _la = 0; @@ -16879,15 +15404,17 @@ SparqlAutomaticParser::numericLiteralPositive() { enterOuterAlt(_localctx, 1); setState(1627); _la = _input->LA(1); - if (!((((_la - 153) & ~0x3fULL) == 0) && - ((1ULL << (_la - 153)) & 7) != 0)) { - _errHandler->recoverInline(this); - } else { + if (!((((_la - 153) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 153)) & 7) != 0)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16896,60 +15423,51 @@ SparqlAutomaticParser::numericLiteralPositive() { return _localctx; } -//----------------- NumericLiteralNegativeContext -//------------------------------------------------------------------ +//----------------- NumericLiteralNegativeContext ------------------------------------------------------------------ -SparqlAutomaticParser::NumericLiteralNegativeContext:: - NumericLiteralNegativeContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::NumericLiteralNegativeContext::NumericLiteralNegativeContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralNegativeContext::INTEGER_NEGATIVE() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralNegativeContext::INTEGER_NEGATIVE() { return getToken(SparqlAutomaticParser::INTEGER_NEGATIVE, 0); } -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralNegativeContext::DECIMAL_NEGATIVE() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralNegativeContext::DECIMAL_NEGATIVE() { return getToken(SparqlAutomaticParser::DECIMAL_NEGATIVE, 0); } -tree::TerminalNode* -SparqlAutomaticParser::NumericLiteralNegativeContext::DOUBLE_NEGATIVE() { +tree::TerminalNode* SparqlAutomaticParser::NumericLiteralNegativeContext::DOUBLE_NEGATIVE() { return getToken(SparqlAutomaticParser::DOUBLE_NEGATIVE, 0); } -size_t SparqlAutomaticParser::NumericLiteralNegativeContext::getRuleIndex() - const { + +size_t SparqlAutomaticParser::NumericLiteralNegativeContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNumericLiteralNegative; } -void SparqlAutomaticParser::NumericLiteralNegativeContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralNegativeContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterNumericLiteralNegative(this); } -void SparqlAutomaticParser::NumericLiteralNegativeContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralNegativeContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitNumericLiteralNegative(this); } -std::any SparqlAutomaticParser::NumericLiteralNegativeContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::NumericLiteralNegativeContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericLiteralNegative(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericLiteralNegativeContext* -SparqlAutomaticParser::numericLiteralNegative() { - NumericLiteralNegativeContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser::numericLiteralNegative() { + NumericLiteralNegativeContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 296, SparqlAutomaticParser::RuleNumericLiteralNegative); size_t _la = 0; @@ -16964,15 +15482,17 @@ SparqlAutomaticParser::numericLiteralNegative() { enterOuterAlt(_localctx, 1); setState(1629); _la = _input->LA(1); - if (!((((_la - 156) & ~0x3fULL) == 0) && - ((1ULL << (_la - 156)) & 7) != 0)) { - _errHandler->recoverInline(this); - } else { + if (!((((_la - 156) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 156)) & 7) != 0)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16981,41 +15501,39 @@ SparqlAutomaticParser::numericLiteralNegative() { return _localctx; } -//----------------- BooleanLiteralContext -//------------------------------------------------------------------ +//----------------- BooleanLiteralContext ------------------------------------------------------------------ + +SparqlAutomaticParser::BooleanLiteralContext::BooleanLiteralContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::BooleanLiteralContext::BooleanLiteralContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} size_t SparqlAutomaticParser::BooleanLiteralContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBooleanLiteral; } -void SparqlAutomaticParser::BooleanLiteralContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterBooleanLiteral(this); +void SparqlAutomaticParser::BooleanLiteralContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterBooleanLiteral(this); } -void SparqlAutomaticParser::BooleanLiteralContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitBooleanLiteral(this); +void SparqlAutomaticParser::BooleanLiteralContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitBooleanLiteral(this); } -std::any SparqlAutomaticParser::BooleanLiteralContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::BooleanLiteralContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBooleanLiteral(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BooleanLiteralContext* -SparqlAutomaticParser::booleanLiteral() { - BooleanLiteralContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::booleanLiteral() { + BooleanLiteralContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 298, SparqlAutomaticParser::RuleBooleanLiteral); size_t _la = 0; @@ -17032,14 +15550,16 @@ SparqlAutomaticParser::booleanLiteral() { _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::T__27 - || _la == SparqlAutomaticParser::T__28)) { - _errHandler->recoverInline(this); - } else { + || _la == SparqlAutomaticParser::T__28)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -17048,12 +15568,11 @@ SparqlAutomaticParser::booleanLiteral() { return _localctx; } -//----------------- StringContext -//------------------------------------------------------------------ +//----------------- StringContext ------------------------------------------------------------------ -SparqlAutomaticParser::StringContext::StringContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::StringContext::StringContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::StringContext::STRING_LITERAL1() { return getToken(SparqlAutomaticParser::STRING_LITERAL1, 0); @@ -17063,34 +15582,33 @@ tree::TerminalNode* SparqlAutomaticParser::StringContext::STRING_LITERAL2() { return getToken(SparqlAutomaticParser::STRING_LITERAL2, 0); } -tree::TerminalNode* -SparqlAutomaticParser::StringContext::STRING_LITERAL_LONG1() { +tree::TerminalNode* SparqlAutomaticParser::StringContext::STRING_LITERAL_LONG1() { return getToken(SparqlAutomaticParser::STRING_LITERAL_LONG1, 0); } -tree::TerminalNode* -SparqlAutomaticParser::StringContext::STRING_LITERAL_LONG2() { +tree::TerminalNode* SparqlAutomaticParser::StringContext::STRING_LITERAL_LONG2() { return getToken(SparqlAutomaticParser::STRING_LITERAL_LONG2, 0); } + size_t SparqlAutomaticParser::StringContext::getRuleIndex() const { return SparqlAutomaticParser::RuleString; } -void SparqlAutomaticParser::StringContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterString(this); +void SparqlAutomaticParser::StringContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterString(this); } -void SparqlAutomaticParser::StringContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitString(this); +void SparqlAutomaticParser::StringContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitString(this); } -std::any SparqlAutomaticParser::StringContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::StringContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitString(this); else @@ -17098,8 +15616,7 @@ std::any SparqlAutomaticParser::StringContext::accept( } SparqlAutomaticParser::StringContext* SparqlAutomaticParser::string() { - StringContext* _localctx = - _tracker.createInstance(_ctx, getState()); + StringContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 300, SparqlAutomaticParser::RuleString); size_t _la = 0; @@ -17114,15 +15631,17 @@ SparqlAutomaticParser::StringContext* SparqlAutomaticParser::string() { enterOuterAlt(_localctx, 1); setState(1633); _la = _input->LA(1); - if (!((((_la - 160) & ~0x3fULL) == 0) && - ((1ULL << (_la - 160)) & 15) != 0)) { - _errHandler->recoverInline(this); - } else { + if (!((((_la - 160) & ~ 0x3fULL) == 0) && + ((1ULL << (_la - 160)) & 15) != 0)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -17131,20 +15650,17 @@ SparqlAutomaticParser::StringContext* SparqlAutomaticParser::string() { return _localctx; } -//----------------- IriContext -//------------------------------------------------------------------ +//----------------- IriContext ------------------------------------------------------------------ -SparqlAutomaticParser::IriContext::IriContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::IriContext::IriContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::IrirefContext* -SparqlAutomaticParser::IriContext::iriref() { +SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::IriContext::iriref() { return getRuleContext(0); } -SparqlAutomaticParser::PrefixedNameContext* -SparqlAutomaticParser::IriContext::prefixedName() { +SparqlAutomaticParser::PrefixedNameContext* SparqlAutomaticParser::IriContext::prefixedName() { return getRuleContext(0); } @@ -17152,24 +15668,25 @@ tree::TerminalNode* SparqlAutomaticParser::IriContext::PREFIX_LANGTAG() { return getToken(SparqlAutomaticParser::PREFIX_LANGTAG, 0); } + size_t SparqlAutomaticParser::IriContext::getRuleIndex() const { return SparqlAutomaticParser::RuleIri; } -void SparqlAutomaticParser::IriContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterIri(this); +void SparqlAutomaticParser::IriContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterIri(this); } -void SparqlAutomaticParser::IriContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitIri(this); +void SparqlAutomaticParser::IriContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitIri(this); } -std::any SparqlAutomaticParser::IriContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::IriContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitIri(this); else @@ -17177,7 +15694,7 @@ std::any SparqlAutomaticParser::IriContext::accept( } SparqlAutomaticParser::IriContext* SparqlAutomaticParser::iri() { - IriContext* _localctx = _tracker.createInstance(_ctx, getState()); + IriContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 302, SparqlAutomaticParser::RuleIri); size_t _la = 0; @@ -17214,11 +15731,12 @@ SparqlAutomaticParser::IriContext* SparqlAutomaticParser::iri() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -17227,51 +15745,47 @@ SparqlAutomaticParser::IriContext* SparqlAutomaticParser::iri() { return _localctx; } -//----------------- PrefixedNameContext -//------------------------------------------------------------------ +//----------------- PrefixedNameContext ------------------------------------------------------------------ -SparqlAutomaticParser::PrefixedNameContext::PrefixedNameContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PrefixedNameContext::PrefixedNameContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -SparqlAutomaticParser::PnameLnContext* -SparqlAutomaticParser::PrefixedNameContext::pnameLn() { +SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::PrefixedNameContext::pnameLn() { return getRuleContext(0); } -SparqlAutomaticParser::PnameNsContext* -SparqlAutomaticParser::PrefixedNameContext::pnameNs() { +SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::PrefixedNameContext::pnameNs() { return getRuleContext(0); } + size_t SparqlAutomaticParser::PrefixedNameContext::getRuleIndex() const { return SparqlAutomaticParser::RulePrefixedName; } -void SparqlAutomaticParser::PrefixedNameContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPrefixedName(this); +void SparqlAutomaticParser::PrefixedNameContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPrefixedName(this); } -void SparqlAutomaticParser::PrefixedNameContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPrefixedName(this); +void SparqlAutomaticParser::PrefixedNameContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPrefixedName(this); } -std::any SparqlAutomaticParser::PrefixedNameContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PrefixedNameContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPrefixedName(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PrefixedNameContext* -SparqlAutomaticParser::prefixedName() { - PrefixedNameContext* _localctx = - _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PrefixedNameContext* SparqlAutomaticParser::prefixedName() { + PrefixedNameContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 304, SparqlAutomaticParser::RulePrefixedName); #if __cplusplus > 201703L @@ -17299,11 +15813,12 @@ SparqlAutomaticParser::prefixedName() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -17312,15 +15827,13 @@ SparqlAutomaticParser::prefixedName() { return _localctx; } -//----------------- BlankNodeContext -//------------------------------------------------------------------ +//----------------- BlankNodeContext ------------------------------------------------------------------ -SparqlAutomaticParser::BlankNodeContext::BlankNodeContext( - ParserRuleContext* parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::BlankNodeContext::BlankNodeContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} -tree::TerminalNode* -SparqlAutomaticParser::BlankNodeContext::BLANK_NODE_LABEL() { +tree::TerminalNode* SparqlAutomaticParser::BlankNodeContext::BLANK_NODE_LABEL() { return getToken(SparqlAutomaticParser::BLANK_NODE_LABEL, 0); } @@ -17328,24 +15841,25 @@ tree::TerminalNode* SparqlAutomaticParser::BlankNodeContext::ANON() { return getToken(SparqlAutomaticParser::ANON, 0); } + size_t SparqlAutomaticParser::BlankNodeContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBlankNode; } -void SparqlAutomaticParser::BlankNodeContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterBlankNode(this); +void SparqlAutomaticParser::BlankNodeContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterBlankNode(this); } -void SparqlAutomaticParser::BlankNodeContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitBlankNode(this); +void SparqlAutomaticParser::BlankNodeContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitBlankNode(this); } -std::any SparqlAutomaticParser::BlankNodeContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::BlankNodeContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBlankNode(this); else @@ -17353,8 +15867,7 @@ std::any SparqlAutomaticParser::BlankNodeContext::accept( } SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::blankNode() { - BlankNodeContext* _localctx = - _tracker.createInstance(_ctx, getState()); + BlankNodeContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 306, SparqlAutomaticParser::RuleBlankNode); size_t _la = 0; @@ -17371,14 +15884,16 @@ SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::blankNode() { _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::BLANK_NODE_LABEL - || _la == SparqlAutomaticParser::ANON)) { - _errHandler->recoverInline(this); - } else { + || _la == SparqlAutomaticParser::ANON)) { + _errHandler->recoverInline(this); + } + else { _errHandler->reportMatch(this); consume(); } - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -17387,35 +15902,35 @@ SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::blankNode() { return _localctx; } -//----------------- IrirefContext -//------------------------------------------------------------------ +//----------------- IrirefContext ------------------------------------------------------------------ -SparqlAutomaticParser::IrirefContext::IrirefContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::IrirefContext::IrirefContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::IrirefContext::IRI_REF() { return getToken(SparqlAutomaticParser::IRI_REF, 0); } + size_t SparqlAutomaticParser::IrirefContext::getRuleIndex() const { return SparqlAutomaticParser::RuleIriref; } -void SparqlAutomaticParser::IrirefContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterIriref(this); +void SparqlAutomaticParser::IrirefContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterIriref(this); } -void SparqlAutomaticParser::IrirefContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitIriref(this); +void SparqlAutomaticParser::IrirefContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitIriref(this); } -std::any SparqlAutomaticParser::IrirefContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::IrirefContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitIriref(this); else @@ -17423,8 +15938,7 @@ std::any SparqlAutomaticParser::IrirefContext::accept( } SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::iriref() { - IrirefContext* _localctx = - _tracker.createInstance(_ctx, getState()); + IrirefContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 308, SparqlAutomaticParser::RuleIriref); #if __cplusplus > 201703L @@ -17438,8 +15952,9 @@ SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::iriref() { enterOuterAlt(_localctx, 1); setState(1648); match(SparqlAutomaticParser::IRI_REF); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -17448,35 +15963,35 @@ SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::iriref() { return _localctx; } -//----------------- PnameLnContext -//------------------------------------------------------------------ +//----------------- PnameLnContext ------------------------------------------------------------------ -SparqlAutomaticParser::PnameLnContext::PnameLnContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PnameLnContext::PnameLnContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::PnameLnContext::PNAME_LN() { return getToken(SparqlAutomaticParser::PNAME_LN, 0); } + size_t SparqlAutomaticParser::PnameLnContext::getRuleIndex() const { return SparqlAutomaticParser::RulePnameLn; } -void SparqlAutomaticParser::PnameLnContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPnameLn(this); +void SparqlAutomaticParser::PnameLnContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPnameLn(this); } -void SparqlAutomaticParser::PnameLnContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPnameLn(this); +void SparqlAutomaticParser::PnameLnContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPnameLn(this); } -std::any SparqlAutomaticParser::PnameLnContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PnameLnContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPnameLn(this); else @@ -17484,8 +15999,7 @@ std::any SparqlAutomaticParser::PnameLnContext::accept( } SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::pnameLn() { - PnameLnContext* _localctx = - _tracker.createInstance(_ctx, getState()); + PnameLnContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 310, SparqlAutomaticParser::RulePnameLn); #if __cplusplus > 201703L @@ -17499,8 +16013,9 @@ SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::pnameLn() { enterOuterAlt(_localctx, 1); setState(1650); match(SparqlAutomaticParser::PNAME_LN); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -17509,35 +16024,35 @@ SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::pnameLn() { return _localctx; } -//----------------- PnameNsContext -//------------------------------------------------------------------ +//----------------- PnameNsContext ------------------------------------------------------------------ -SparqlAutomaticParser::PnameNsContext::PnameNsContext(ParserRuleContext* parent, - size_t invokingState) - : ParserRuleContext(parent, invokingState) {} +SparqlAutomaticParser::PnameNsContext::PnameNsContext(ParserRuleContext *parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) { +} tree::TerminalNode* SparqlAutomaticParser::PnameNsContext::PNAME_NS() { return getToken(SparqlAutomaticParser::PNAME_NS, 0); } + size_t SparqlAutomaticParser::PnameNsContext::getRuleIndex() const { return SparqlAutomaticParser::RulePnameNs; } -void SparqlAutomaticParser::PnameNsContext::enterRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->enterPnameNs(this); +void SparqlAutomaticParser::PnameNsContext::enterRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->enterPnameNs(this); } -void SparqlAutomaticParser::PnameNsContext::exitRule( - tree::ParseTreeListener* listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) parserListener->exitPnameNs(this); +void SparqlAutomaticParser::PnameNsContext::exitRule(tree::ParseTreeListener *listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) + parserListener->exitPnameNs(this); } -std::any SparqlAutomaticParser::PnameNsContext::accept( - tree::ParseTreeVisitor* visitor) { + +std::any SparqlAutomaticParser::PnameNsContext::accept(tree::ParseTreeVisitor *visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPnameNs(this); else @@ -17545,8 +16060,7 @@ std::any SparqlAutomaticParser::PnameNsContext::accept( } SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::pnameNs() { - PnameNsContext* _localctx = - _tracker.createInstance(_ctx, getState()); + PnameNsContext *_localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 312, SparqlAutomaticParser::RulePnameNs); #if __cplusplus > 201703L @@ -17560,8 +16074,9 @@ SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::pnameNs() { enterOuterAlt(_localctx, 1); setState(1652); match(SparqlAutomaticParser::PNAME_NS); - - } catch (RecognitionException& e) { + + } + catch (RecognitionException &e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -17571,6 +16086,5 @@ SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::pnameNs() { } void SparqlAutomaticParser::initialize() { - ::antlr4::internal::call_once(sparqlautomaticParserOnceFlag, - sparqlautomaticParserInitialize); + ::antlr4::internal::call_once(sparqlautomaticParserOnceFlag, sparqlautomaticParserInitialize); } diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticParser.h b/src/parser/sparqlParser/generated/SparqlAutomaticParser.h index 9b1fce885b..71a3281502 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticParser.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticParser.h @@ -3,353 +3,103 @@ #pragma once + #include "antlr4-runtime.h" -class SparqlAutomaticParser : public antlr4::Parser { - public: + + + +class SparqlAutomaticParser : public antlr4::Parser { +public: enum { - T__0 = 1, - T__1 = 2, - T__2 = 3, - T__3 = 4, - T__4 = 5, - T__5 = 6, - T__6 = 7, - T__7 = 8, - T__8 = 9, - T__9 = 10, - T__10 = 11, - T__11 = 12, - T__12 = 13, - T__13 = 14, - T__14 = 15, - T__15 = 16, - T__16 = 17, - T__17 = 18, - T__18 = 19, - T__19 = 20, - T__20 = 21, - T__21 = 22, - T__22 = 23, - T__23 = 24, - T__24 = 25, - T__25 = 26, - T__26 = 27, - T__27 = 28, - T__28 = 29, - BASE = 30, - PREFIX = 31, - SELECT = 32, - DISTINCT = 33, - REDUCED = 34, - AS = 35, - CONSTRUCT = 36, - WHERE = 37, - DESCRIBE = 38, - ASK = 39, - FROM = 40, - NAMED = 41, - GROUPBY = 42, - GROUP_CONCAT = 43, - HAVING = 44, - ORDERBY = 45, - INTERNALSORTBY = 46, - ASC = 47, - DESC = 48, - LIMIT = 49, - OFFSET = 50, - TEXTLIMIT = 51, - VALUES = 52, - LOAD = 53, - SILENT = 54, - INTO = 55, - CLEAR = 56, - DROP = 57, - CREATE = 58, - ADD = 59, - TO = 60, - DATA = 61, - MOVE = 62, - COPY = 63, - INSERT = 64, - DELETE = 65, - WITH = 66, - USING = 67, - DEFAULT = 68, - GRAPH = 69, - ALL = 70, - OPTIONAL = 71, - SERVICE = 72, - BIND = 73, - UNDEF = 74, - MINUS = 75, - UNION = 76, - FILTER = 77, - NOT = 78, - IN = 79, - STR = 80, - LANG = 81, - LANGMATCHES = 82, - DATATYPE = 83, - BOUND = 84, - IRI = 85, - URI = 86, - BNODE = 87, - RAND = 88, - ABS = 89, - CEIL = 90, - FLOOR = 91, - ROUND = 92, - CONCAT = 93, - STRLEN = 94, - UCASE = 95, - LCASE = 96, - ENCODE_FOR_URI = 97, - FOR = 98, - CONTAINS = 99, - STRSTARTS = 100, - STRENDS = 101, - STRBEFORE = 102, - STRAFTER = 103, - YEAR = 104, - MONTH = 105, - DAY = 106, - HOURS = 107, - MINUTES = 108, - SECONDS = 109, - TIMEZONE = 110, - TZ = 111, - NOW = 112, - UUID = 113, - STRUUID = 114, - SHA1 = 115, - SHA256 = 116, - SHA384 = 117, - SHA512 = 118, - MD5 = 119, - COALESCE = 120, - IF = 121, - STRLANG = 122, - STRDT = 123, - SAMETERM = 124, - ISIRI = 125, - ISURI = 126, - ISBLANK = 127, - ISLITERAL = 128, - ISNUMERIC = 129, - REGEX = 130, - SUBSTR = 131, - REPLACE = 132, - EXISTS = 133, - COUNT = 134, - SUM = 135, - MIN = 136, - MAX = 137, - AVG = 138, - STDEV = 139, - SAMPLE = 140, - SEPARATOR = 141, - IRI_REF = 142, - PNAME_NS = 143, - PNAME_LN = 144, - BLANK_NODE_LABEL = 145, - VAR1 = 146, - VAR2 = 147, - LANGTAG = 148, - PREFIX_LANGTAG = 149, - INTEGER = 150, - DECIMAL = 151, - DOUBLE = 152, - INTEGER_POSITIVE = 153, - DECIMAL_POSITIVE = 154, - DOUBLE_POSITIVE = 155, - INTEGER_NEGATIVE = 156, - DECIMAL_NEGATIVE = 157, - DOUBLE_NEGATIVE = 158, - EXPONENT = 159, - STRING_LITERAL1 = 160, - STRING_LITERAL2 = 161, - STRING_LITERAL_LONG1 = 162, - STRING_LITERAL_LONG2 = 163, - ECHAR = 164, - NIL = 165, - ANON = 166, - PN_CHARS_U = 167, - VARNAME = 168, - PN_PREFIX = 169, - PN_LOCAL = 170, - PLX = 171, - PERCENT = 172, - HEX = 173, - PN_LOCAL_ESC = 174, - WS = 175, - COMMENTS = 176 + T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, + T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, + T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, + T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, T__24 = 25, T__25 = 26, + T__26 = 27, T__27 = 28, T__28 = 29, BASE = 30, PREFIX = 31, SELECT = 32, + DISTINCT = 33, REDUCED = 34, AS = 35, CONSTRUCT = 36, WHERE = 37, DESCRIBE = 38, + ASK = 39, FROM = 40, NAMED = 41, GROUPBY = 42, GROUP_CONCAT = 43, HAVING = 44, + ORDERBY = 45, INTERNALSORTBY = 46, ASC = 47, DESC = 48, LIMIT = 49, + OFFSET = 50, TEXTLIMIT = 51, VALUES = 52, LOAD = 53, SILENT = 54, INTO = 55, + CLEAR = 56, DROP = 57, CREATE = 58, ADD = 59, TO = 60, DATA = 61, MOVE = 62, + COPY = 63, INSERT = 64, DELETE = 65, WITH = 66, USING = 67, DEFAULT = 68, + GRAPH = 69, ALL = 70, OPTIONAL = 71, SERVICE = 72, BIND = 73, UNDEF = 74, + MINUS = 75, UNION = 76, FILTER = 77, NOT = 78, IN = 79, STR = 80, LANG = 81, + LANGMATCHES = 82, DATATYPE = 83, BOUND = 84, IRI = 85, URI = 86, BNODE = 87, + RAND = 88, ABS = 89, CEIL = 90, FLOOR = 91, ROUND = 92, CONCAT = 93, + STRLEN = 94, UCASE = 95, LCASE = 96, ENCODE_FOR_URI = 97, FOR = 98, + CONTAINS = 99, STRSTARTS = 100, STRENDS = 101, STRBEFORE = 102, STRAFTER = 103, + YEAR = 104, MONTH = 105, DAY = 106, HOURS = 107, MINUTES = 108, SECONDS = 109, + TIMEZONE = 110, TZ = 111, NOW = 112, UUID = 113, STRUUID = 114, SHA1 = 115, + SHA256 = 116, SHA384 = 117, SHA512 = 118, MD5 = 119, COALESCE = 120, + IF = 121, STRLANG = 122, STRDT = 123, SAMETERM = 124, ISIRI = 125, ISURI = 126, + ISBLANK = 127, ISLITERAL = 128, ISNUMERIC = 129, REGEX = 130, SUBSTR = 131, + REPLACE = 132, EXISTS = 133, COUNT = 134, SUM = 135, MIN = 136, MAX = 137, + AVG = 138, STDEV = 139, SAMPLE = 140, SEPARATOR = 141, IRI_REF = 142, + PNAME_NS = 143, PNAME_LN = 144, BLANK_NODE_LABEL = 145, VAR1 = 146, + VAR2 = 147, LANGTAG = 148, PREFIX_LANGTAG = 149, INTEGER = 150, DECIMAL = 151, + DOUBLE = 152, INTEGER_POSITIVE = 153, DECIMAL_POSITIVE = 154, DOUBLE_POSITIVE = 155, + INTEGER_NEGATIVE = 156, DECIMAL_NEGATIVE = 157, DOUBLE_NEGATIVE = 158, + EXPONENT = 159, STRING_LITERAL1 = 160, STRING_LITERAL2 = 161, STRING_LITERAL_LONG1 = 162, + STRING_LITERAL_LONG2 = 163, ECHAR = 164, NIL = 165, ANON = 166, PN_CHARS_U = 167, + VARNAME = 168, PN_PREFIX = 169, PN_LOCAL = 170, PLX = 171, PERCENT = 172, + HEX = 173, PN_LOCAL_ESC = 174, WS = 175, COMMENTS = 176 }; enum { - RuleQueryOrUpdate = 0, - RuleQuery = 1, - RulePrologue = 2, - RuleBaseDecl = 3, - RulePrefixDecl = 4, - RuleSelectQuery = 5, - RuleSubSelect = 6, - RuleSelectClause = 7, - RuleVarOrAlias = 8, - RuleAlias = 9, - RuleAliasWithoutBrackets = 10, - RuleConstructQuery = 11, - RuleDescribeQuery = 12, - RuleAskQuery = 13, - RuleDatasetClause = 14, - RuleDefaultGraphClause = 15, - RuleNamedGraphClause = 16, - RuleSourceSelector = 17, - RuleWhereClause = 18, - RuleSolutionModifier = 19, - RuleGroupClause = 20, - RuleGroupCondition = 21, - RuleHavingClause = 22, - RuleHavingCondition = 23, - RuleOrderClause = 24, - RuleOrderCondition = 25, - RuleLimitOffsetClauses = 26, - RuleLimitClause = 27, - RuleOffsetClause = 28, - RuleTextLimitClause = 29, - RuleValuesClause = 30, - RuleUpdate = 31, - RuleUpdate1 = 32, - RuleLoad = 33, - RuleClear = 34, - RuleDrop = 35, - RuleCreate = 36, - RuleAdd = 37, - RuleMove = 38, - RuleCopy = 39, - RuleInsertData = 40, - RuleDeleteData = 41, - RuleDeleteWhere = 42, - RuleModify = 43, - RuleDeleteClause = 44, - RuleInsertClause = 45, - RuleUsingClause = 46, - RuleGraphOrDefault = 47, - RuleGraphRef = 48, - RuleGraphRefAll = 49, - RuleQuadPattern = 50, - RuleQuadData = 51, - RuleQuads = 52, - RuleQuadsNotTriples = 53, - RuleTriplesTemplate = 54, - RuleGroupGraphPattern = 55, - RuleGroupGraphPatternSub = 56, - RuleGraphPatternNotTriplesAndMaybeTriples = 57, - RuleTriplesBlock = 58, - RuleGraphPatternNotTriples = 59, - RuleOptionalGraphPattern = 60, - RuleGraphGraphPattern = 61, - RuleServiceGraphPattern = 62, - RuleBind = 63, - RuleInlineData = 64, - RuleDataBlock = 65, - RuleInlineDataOneVar = 66, - RuleInlineDataFull = 67, - RuleDataBlockSingle = 68, - RuleDataBlockValue = 69, - RuleMinusGraphPattern = 70, - RuleGroupOrUnionGraphPattern = 71, - RuleFilterR = 72, - RuleConstraint = 73, - RuleFunctionCall = 74, - RuleArgList = 75, - RuleExpressionList = 76, - RuleConstructTemplate = 77, - RuleConstructTriples = 78, - RuleTriplesSameSubject = 79, - RulePropertyList = 80, - RulePropertyListNotEmpty = 81, - RuleVerb = 82, - RuleObjectList = 83, - RuleObjectR = 84, - RuleTriplesSameSubjectPath = 85, - RulePropertyListPath = 86, - RulePropertyListPathNotEmpty = 87, - RuleVerbPath = 88, - RuleVerbSimple = 89, - RuleTupleWithoutPath = 90, - RuleTupleWithPath = 91, - RuleVerbPathOrSimple = 92, - RuleObjectListPath = 93, - RuleObjectPath = 94, - RulePath = 95, - RulePathAlternative = 96, - RulePathSequence = 97, - RulePathElt = 98, - RulePathEltOrInverse = 99, - RulePathMod = 100, - RulePathPrimary = 101, - RulePathNegatedPropertySet = 102, - RulePathOneInPropertySet = 103, - RuleInteger = 104, - RuleTriplesNode = 105, - RuleBlankNodePropertyList = 106, - RuleTriplesNodePath = 107, - RuleBlankNodePropertyListPath = 108, - RuleCollection = 109, - RuleCollectionPath = 110, - RuleGraphNode = 111, - RuleGraphNodePath = 112, - RuleVarOrTerm = 113, - RuleVarOrIri = 114, - RuleVar = 115, - RuleGraphTerm = 116, - RuleExpression = 117, - RuleConditionalOrExpression = 118, - RuleConditionalAndExpression = 119, - RuleValueLogical = 120, - RuleRelationalExpression = 121, - RuleNumericExpression = 122, - RuleAdditiveExpression = 123, - RuleMultiplicativeExpressionWithSign = 124, - RulePlusSubexpression = 125, - RuleMinusSubexpression = 126, - RuleMultiplicativeExpressionWithLeadingSignButNoSpace = 127, - RuleMultiplicativeExpression = 128, - RuleMultiplyOrDivideExpression = 129, - RuleMultiplyExpression = 130, - RuleDivideExpression = 131, - RuleUnaryExpression = 132, - RulePrimaryExpression = 133, - RuleBrackettedExpression = 134, - RuleBuiltInCall = 135, - RuleRegexExpression = 136, - RuleLangExpression = 137, - RuleSubstringExpression = 138, - RuleStrReplaceExpression = 139, - RuleExistsFunc = 140, - RuleNotExistsFunc = 141, - RuleAggregate = 142, - RuleIriOrFunction = 143, - RuleRdfLiteral = 144, - RuleNumericLiteral = 145, - RuleNumericLiteralUnsigned = 146, - RuleNumericLiteralPositive = 147, - RuleNumericLiteralNegative = 148, - RuleBooleanLiteral = 149, - RuleString = 150, - RuleIri = 151, - RulePrefixedName = 152, - RuleBlankNode = 153, - RuleIriref = 154, - RulePnameLn = 155, - RulePnameNs = 156 - }; - - explicit SparqlAutomaticParser(antlr4::TokenStream* input); - - SparqlAutomaticParser(antlr4::TokenStream* input, - const antlr4::atn::ParserATNSimulatorOptions& options); + RuleQueryOrUpdate = 0, RuleQuery = 1, RulePrologue = 2, RuleBaseDecl = 3, + RulePrefixDecl = 4, RuleSelectQuery = 5, RuleSubSelect = 6, RuleSelectClause = 7, + RuleVarOrAlias = 8, RuleAlias = 9, RuleAliasWithoutBrackets = 10, RuleConstructQuery = 11, + RuleDescribeQuery = 12, RuleAskQuery = 13, RuleDatasetClause = 14, RuleDefaultGraphClause = 15, + RuleNamedGraphClause = 16, RuleSourceSelector = 17, RuleWhereClause = 18, + RuleSolutionModifier = 19, RuleGroupClause = 20, RuleGroupCondition = 21, + RuleHavingClause = 22, RuleHavingCondition = 23, RuleOrderClause = 24, + RuleOrderCondition = 25, RuleLimitOffsetClauses = 26, RuleLimitClause = 27, + RuleOffsetClause = 28, RuleTextLimitClause = 29, RuleValuesClause = 30, + RuleUpdate = 31, RuleUpdate1 = 32, RuleLoad = 33, RuleClear = 34, RuleDrop = 35, + RuleCreate = 36, RuleAdd = 37, RuleMove = 38, RuleCopy = 39, RuleInsertData = 40, + RuleDeleteData = 41, RuleDeleteWhere = 42, RuleModify = 43, RuleDeleteClause = 44, + RuleInsertClause = 45, RuleUsingClause = 46, RuleGraphOrDefault = 47, + RuleGraphRef = 48, RuleGraphRefAll = 49, RuleQuadPattern = 50, RuleQuadData = 51, + RuleQuads = 52, RuleQuadsNotTriples = 53, RuleTriplesTemplate = 54, + RuleGroupGraphPattern = 55, RuleGroupGraphPatternSub = 56, RuleGraphPatternNotTriplesAndMaybeTriples = 57, + RuleTriplesBlock = 58, RuleGraphPatternNotTriples = 59, RuleOptionalGraphPattern = 60, + RuleGraphGraphPattern = 61, RuleServiceGraphPattern = 62, RuleBind = 63, + RuleInlineData = 64, RuleDataBlock = 65, RuleInlineDataOneVar = 66, + RuleInlineDataFull = 67, RuleDataBlockSingle = 68, RuleDataBlockValue = 69, + RuleMinusGraphPattern = 70, RuleGroupOrUnionGraphPattern = 71, RuleFilterR = 72, + RuleConstraint = 73, RuleFunctionCall = 74, RuleArgList = 75, RuleExpressionList = 76, + RuleConstructTemplate = 77, RuleConstructTriples = 78, RuleTriplesSameSubject = 79, + RulePropertyList = 80, RulePropertyListNotEmpty = 81, RuleVerb = 82, + RuleObjectList = 83, RuleObjectR = 84, RuleTriplesSameSubjectPath = 85, + RulePropertyListPath = 86, RulePropertyListPathNotEmpty = 87, RuleVerbPath = 88, + RuleVerbSimple = 89, RuleTupleWithoutPath = 90, RuleTupleWithPath = 91, + RuleVerbPathOrSimple = 92, RuleObjectListPath = 93, RuleObjectPath = 94, + RulePath = 95, RulePathAlternative = 96, RulePathSequence = 97, RulePathElt = 98, + RulePathEltOrInverse = 99, RulePathMod = 100, RulePathPrimary = 101, + RulePathNegatedPropertySet = 102, RulePathOneInPropertySet = 103, RuleInteger = 104, + RuleTriplesNode = 105, RuleBlankNodePropertyList = 106, RuleTriplesNodePath = 107, + RuleBlankNodePropertyListPath = 108, RuleCollection = 109, RuleCollectionPath = 110, + RuleGraphNode = 111, RuleGraphNodePath = 112, RuleVarOrTerm = 113, RuleVarOrIri = 114, + RuleVar = 115, RuleGraphTerm = 116, RuleExpression = 117, RuleConditionalOrExpression = 118, + RuleConditionalAndExpression = 119, RuleValueLogical = 120, RuleRelationalExpression = 121, + RuleNumericExpression = 122, RuleAdditiveExpression = 123, RuleMultiplicativeExpressionWithSign = 124, + RulePlusSubexpression = 125, RuleMinusSubexpression = 126, RuleMultiplicativeExpressionWithLeadingSignButNoSpace = 127, + RuleMultiplicativeExpression = 128, RuleMultiplyOrDivideExpression = 129, + RuleMultiplyExpression = 130, RuleDivideExpression = 131, RuleUnaryExpression = 132, + RulePrimaryExpression = 133, RuleBrackettedExpression = 134, RuleBuiltInCall = 135, + RuleRegexExpression = 136, RuleLangExpression = 137, RuleSubstringExpression = 138, + RuleStrReplaceExpression = 139, RuleExistsFunc = 140, RuleNotExistsFunc = 141, + RuleAggregate = 142, RuleIriOrFunction = 143, RuleRdfLiteral = 144, + RuleNumericLiteral = 145, RuleNumericLiteralUnsigned = 146, RuleNumericLiteralPositive = 147, + RuleNumericLiteralNegative = 148, RuleBooleanLiteral = 149, RuleString = 150, + RuleIri = 151, RulePrefixedName = 152, RuleBlankNode = 153, RuleIriref = 154, + RulePnameLn = 155, RulePnameNs = 156 + }; + + explicit SparqlAutomaticParser(antlr4::TokenStream *input); + + SparqlAutomaticParser(antlr4::TokenStream *input, const antlr4::atn::ParserATNSimulatorOptions &options); ~SparqlAutomaticParser() override; @@ -363,6 +113,7 @@ class SparqlAutomaticParser : public antlr4::Parser { antlr4::atn::SerializedATNView getSerializedATN() const override; + class QueryOrUpdateContext; class QueryContext; class PrologueContext; @@ -519,2655 +270,2712 @@ class SparqlAutomaticParser : public antlr4::Parser { class BlankNodeContext; class IrirefContext; class PnameLnContext; - class PnameNsContext; + class PnameNsContext; - class QueryOrUpdateContext : public antlr4::ParserRuleContext { - public: - QueryOrUpdateContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class QueryOrUpdateContext : public antlr4::ParserRuleContext { + public: + QueryOrUpdateContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* EOF(); - QueryContext* query(); - UpdateContext* update(); + antlr4::tree::TerminalNode *EOF(); + QueryContext *query(); + UpdateContext *update(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; QueryOrUpdateContext* queryOrUpdate(); - class QueryContext : public antlr4::ParserRuleContext { - public: - QueryContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class QueryContext : public antlr4::ParserRuleContext { + public: + QueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PrologueContext* prologue(); - ValuesClauseContext* valuesClause(); - SelectQueryContext* selectQuery(); - ConstructQueryContext* constructQuery(); - DescribeQueryContext* describeQuery(); - AskQueryContext* askQuery(); + PrologueContext *prologue(); + ValuesClauseContext *valuesClause(); + SelectQueryContext *selectQuery(); + ConstructQueryContext *constructQuery(); + DescribeQueryContext *describeQuery(); + AskQueryContext *askQuery(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; QueryContext* query(); - class PrologueContext : public antlr4::ParserRuleContext { - public: - PrologueContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class PrologueContext : public antlr4::ParserRuleContext { + public: + PrologueContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector baseDecl(); + std::vector baseDecl(); BaseDeclContext* baseDecl(size_t i); - std::vector prefixDecl(); + std::vector prefixDecl(); PrefixDeclContext* prefixDecl(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PrologueContext* prologue(); - class BaseDeclContext : public antlr4::ParserRuleContext { - public: - BaseDeclContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class BaseDeclContext : public antlr4::ParserRuleContext { + public: + BaseDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* BASE(); - IrirefContext* iriref(); + antlr4::tree::TerminalNode *BASE(); + IrirefContext *iriref(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; BaseDeclContext* baseDecl(); - class PrefixDeclContext : public antlr4::ParserRuleContext { - public: - PrefixDeclContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class PrefixDeclContext : public antlr4::ParserRuleContext { + public: + PrefixDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* PREFIX(); - antlr4::tree::TerminalNode* PNAME_NS(); - IrirefContext* iriref(); + antlr4::tree::TerminalNode *PREFIX(); + antlr4::tree::TerminalNode *PNAME_NS(); + IrirefContext *iriref(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PrefixDeclContext* prefixDecl(); - class SelectQueryContext : public antlr4::ParserRuleContext { - public: - SelectQueryContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class SelectQueryContext : public antlr4::ParserRuleContext { + public: + SelectQueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - SelectClauseContext* selectClause(); - WhereClauseContext* whereClause(); - SolutionModifierContext* solutionModifier(); - std::vector datasetClause(); + SelectClauseContext *selectClause(); + WhereClauseContext *whereClause(); + SolutionModifierContext *solutionModifier(); + std::vector datasetClause(); DatasetClauseContext* datasetClause(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; SelectQueryContext* selectQuery(); - class SubSelectContext : public antlr4::ParserRuleContext { - public: - SubSelectContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class SubSelectContext : public antlr4::ParserRuleContext { + public: + SubSelectContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - SelectClauseContext* selectClause(); - WhereClauseContext* whereClause(); - SolutionModifierContext* solutionModifier(); - ValuesClauseContext* valuesClause(); + SelectClauseContext *selectClause(); + WhereClauseContext *whereClause(); + SolutionModifierContext *solutionModifier(); + ValuesClauseContext *valuesClause(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; SubSelectContext* subSelect(); - class SelectClauseContext : public antlr4::ParserRuleContext { - public: - antlr4::Token* asterisk = nullptr; - SelectClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class SelectClauseContext : public antlr4::ParserRuleContext { + public: + antlr4::Token *asterisk = nullptr; + SelectClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* SELECT(); - antlr4::tree::TerminalNode* DISTINCT(); - antlr4::tree::TerminalNode* REDUCED(); - std::vector varOrAlias(); + antlr4::tree::TerminalNode *SELECT(); + antlr4::tree::TerminalNode *DISTINCT(); + antlr4::tree::TerminalNode *REDUCED(); + std::vector varOrAlias(); VarOrAliasContext* varOrAlias(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; SelectClauseContext* selectClause(); - class VarOrAliasContext : public antlr4::ParserRuleContext { - public: - VarOrAliasContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class VarOrAliasContext : public antlr4::ParserRuleContext { + public: + VarOrAliasContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext* var(); - AliasContext* alias(); + VarContext *var(); + AliasContext *alias(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; VarOrAliasContext* varOrAlias(); - class AliasContext : public antlr4::ParserRuleContext { - public: - AliasContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class AliasContext : public antlr4::ParserRuleContext { + public: + AliasContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - AliasWithoutBracketsContext* aliasWithoutBrackets(); + AliasWithoutBracketsContext *aliasWithoutBrackets(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; AliasContext* alias(); - class AliasWithoutBracketsContext : public antlr4::ParserRuleContext { - public: - AliasWithoutBracketsContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class AliasWithoutBracketsContext : public antlr4::ParserRuleContext { + public: + AliasWithoutBracketsContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - ExpressionContext* expression(); - antlr4::tree::TerminalNode* AS(); - VarContext* var(); + ExpressionContext *expression(); + antlr4::tree::TerminalNode *AS(); + VarContext *var(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; AliasWithoutBracketsContext* aliasWithoutBrackets(); - class ConstructQueryContext : public antlr4::ParserRuleContext { - public: - ConstructQueryContext(antlr4::ParserRuleContext* parent, - size_t invokingState); - virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* CONSTRUCT(); - ConstructTemplateContext* constructTemplate(); - WhereClauseContext* whereClause(); - SolutionModifierContext* solutionModifier(); - antlr4::tree::TerminalNode* WHERE(); - std::vector datasetClause(); + class ConstructQueryContext : public antlr4::ParserRuleContext { + public: + ConstructQueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + antlr4::tree::TerminalNode *CONSTRUCT(); + ConstructTemplateContext *constructTemplate(); + WhereClauseContext *whereClause(); + SolutionModifierContext *solutionModifier(); + antlr4::tree::TerminalNode *WHERE(); + std::vector datasetClause(); DatasetClauseContext* datasetClause(size_t i); - TriplesTemplateContext* triplesTemplate(); + TriplesTemplateContext *triplesTemplate(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ConstructQueryContext* constructQuery(); - class DescribeQueryContext : public antlr4::ParserRuleContext { - public: - DescribeQueryContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class DescribeQueryContext : public antlr4::ParserRuleContext { + public: + DescribeQueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* DESCRIBE(); - SolutionModifierContext* solutionModifier(); - std::vector datasetClause(); + antlr4::tree::TerminalNode *DESCRIBE(); + SolutionModifierContext *solutionModifier(); + std::vector datasetClause(); DatasetClauseContext* datasetClause(size_t i); - WhereClauseContext* whereClause(); - std::vector varOrIri(); + WhereClauseContext *whereClause(); + std::vector varOrIri(); VarOrIriContext* varOrIri(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DescribeQueryContext* describeQuery(); - class AskQueryContext : public antlr4::ParserRuleContext { - public: - AskQueryContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class AskQueryContext : public antlr4::ParserRuleContext { + public: + AskQueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* ASK(); - WhereClauseContext* whereClause(); - SolutionModifierContext* solutionModifier(); - std::vector datasetClause(); + antlr4::tree::TerminalNode *ASK(); + WhereClauseContext *whereClause(); + SolutionModifierContext *solutionModifier(); + std::vector datasetClause(); DatasetClauseContext* datasetClause(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; AskQueryContext* askQuery(); - class DatasetClauseContext : public antlr4::ParserRuleContext { - public: - DatasetClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class DatasetClauseContext : public antlr4::ParserRuleContext { + public: + DatasetClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* FROM(); - DefaultGraphClauseContext* defaultGraphClause(); - NamedGraphClauseContext* namedGraphClause(); + antlr4::tree::TerminalNode *FROM(); + DefaultGraphClauseContext *defaultGraphClause(); + NamedGraphClauseContext *namedGraphClause(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DatasetClauseContext* datasetClause(); - class DefaultGraphClauseContext : public antlr4::ParserRuleContext { - public: - DefaultGraphClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class DefaultGraphClauseContext : public antlr4::ParserRuleContext { + public: + DefaultGraphClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - SourceSelectorContext* sourceSelector(); + SourceSelectorContext *sourceSelector(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DefaultGraphClauseContext* defaultGraphClause(); - class NamedGraphClauseContext : public antlr4::ParserRuleContext { - public: - NamedGraphClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class NamedGraphClauseContext : public antlr4::ParserRuleContext { + public: + NamedGraphClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* NAMED(); - SourceSelectorContext* sourceSelector(); + antlr4::tree::TerminalNode *NAMED(); + SourceSelectorContext *sourceSelector(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; NamedGraphClauseContext* namedGraphClause(); - class SourceSelectorContext : public antlr4::ParserRuleContext { - public: - SourceSelectorContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class SourceSelectorContext : public antlr4::ParserRuleContext { + public: + SourceSelectorContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext* iri(); + IriContext *iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; SourceSelectorContext* sourceSelector(); - class WhereClauseContext : public antlr4::ParserRuleContext { - public: - WhereClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class WhereClauseContext : public antlr4::ParserRuleContext { + public: + WhereClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GroupGraphPatternContext* groupGraphPattern(); - antlr4::tree::TerminalNode* WHERE(); + GroupGraphPatternContext *groupGraphPattern(); + antlr4::tree::TerminalNode *WHERE(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; WhereClauseContext* whereClause(); - class SolutionModifierContext : public antlr4::ParserRuleContext { - public: - SolutionModifierContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class SolutionModifierContext : public antlr4::ParserRuleContext { + public: + SolutionModifierContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GroupClauseContext* groupClause(); - HavingClauseContext* havingClause(); - OrderClauseContext* orderClause(); - LimitOffsetClausesContext* limitOffsetClauses(); + GroupClauseContext *groupClause(); + HavingClauseContext *havingClause(); + OrderClauseContext *orderClause(); + LimitOffsetClausesContext *limitOffsetClauses(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; SolutionModifierContext* solutionModifier(); - class GroupClauseContext : public antlr4::ParserRuleContext { - public: - GroupClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class GroupClauseContext : public antlr4::ParserRuleContext { + public: + GroupClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* GROUPBY(); - std::vector groupCondition(); + antlr4::tree::TerminalNode *GROUPBY(); + std::vector groupCondition(); GroupConditionContext* groupCondition(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GroupClauseContext* groupClause(); - class GroupConditionContext : public antlr4::ParserRuleContext { - public: - GroupConditionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class GroupConditionContext : public antlr4::ParserRuleContext { + public: + GroupConditionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - BuiltInCallContext* builtInCall(); - FunctionCallContext* functionCall(); - ExpressionContext* expression(); - antlr4::tree::TerminalNode* AS(); - VarContext* var(); + BuiltInCallContext *builtInCall(); + FunctionCallContext *functionCall(); + ExpressionContext *expression(); + antlr4::tree::TerminalNode *AS(); + VarContext *var(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GroupConditionContext* groupCondition(); - class HavingClauseContext : public antlr4::ParserRuleContext { - public: - HavingClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class HavingClauseContext : public antlr4::ParserRuleContext { + public: + HavingClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* HAVING(); - std::vector havingCondition(); + antlr4::tree::TerminalNode *HAVING(); + std::vector havingCondition(); HavingConditionContext* havingCondition(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; HavingClauseContext* havingClause(); - class HavingConditionContext : public antlr4::ParserRuleContext { - public: - HavingConditionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class HavingConditionContext : public antlr4::ParserRuleContext { + public: + HavingConditionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - ConstraintContext* constraint(); + ConstraintContext *constraint(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; HavingConditionContext* havingCondition(); - class OrderClauseContext : public antlr4::ParserRuleContext { - public: - antlr4::Token* orderBy = nullptr; - antlr4::Token* internalSortBy = nullptr; - OrderClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class OrderClauseContext : public antlr4::ParserRuleContext { + public: + antlr4::Token *orderBy = nullptr; + antlr4::Token *internalSortBy = nullptr; + OrderClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* ORDERBY(); - antlr4::tree::TerminalNode* INTERNALSORTBY(); - std::vector orderCondition(); + antlr4::tree::TerminalNode *ORDERBY(); + antlr4::tree::TerminalNode *INTERNALSORTBY(); + std::vector orderCondition(); OrderConditionContext* orderCondition(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; OrderClauseContext* orderClause(); - class OrderConditionContext : public antlr4::ParserRuleContext { - public: - OrderConditionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class OrderConditionContext : public antlr4::ParserRuleContext { + public: + OrderConditionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - BrackettedExpressionContext* brackettedExpression(); - antlr4::tree::TerminalNode* ASC(); - antlr4::tree::TerminalNode* DESC(); - ConstraintContext* constraint(); - VarContext* var(); + BrackettedExpressionContext *brackettedExpression(); + antlr4::tree::TerminalNode *ASC(); + antlr4::tree::TerminalNode *DESC(); + ConstraintContext *constraint(); + VarContext *var(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; OrderConditionContext* orderCondition(); - class LimitOffsetClausesContext : public antlr4::ParserRuleContext { - public: - LimitOffsetClausesContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class LimitOffsetClausesContext : public antlr4::ParserRuleContext { + public: + LimitOffsetClausesContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - LimitClauseContext* limitClause(); - OffsetClauseContext* offsetClause(); - TextLimitClauseContext* textLimitClause(); + LimitClauseContext *limitClause(); + OffsetClauseContext *offsetClause(); + TextLimitClauseContext *textLimitClause(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; LimitOffsetClausesContext* limitOffsetClauses(); - class LimitClauseContext : public antlr4::ParserRuleContext { - public: - LimitClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class LimitClauseContext : public antlr4::ParserRuleContext { + public: + LimitClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* LIMIT(); - IntegerContext* integer(); + antlr4::tree::TerminalNode *LIMIT(); + IntegerContext *integer(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; LimitClauseContext* limitClause(); - class OffsetClauseContext : public antlr4::ParserRuleContext { - public: - OffsetClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class OffsetClauseContext : public antlr4::ParserRuleContext { + public: + OffsetClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* OFFSET(); - IntegerContext* integer(); + antlr4::tree::TerminalNode *OFFSET(); + IntegerContext *integer(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; OffsetClauseContext* offsetClause(); - class TextLimitClauseContext : public antlr4::ParserRuleContext { - public: - TextLimitClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class TextLimitClauseContext : public antlr4::ParserRuleContext { + public: + TextLimitClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* TEXTLIMIT(); - IntegerContext* integer(); + antlr4::tree::TerminalNode *TEXTLIMIT(); + IntegerContext *integer(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TextLimitClauseContext* textLimitClause(); - class ValuesClauseContext : public antlr4::ParserRuleContext { - public: - ValuesClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ValuesClauseContext : public antlr4::ParserRuleContext { + public: + ValuesClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* VALUES(); - DataBlockContext* dataBlock(); + antlr4::tree::TerminalNode *VALUES(); + DataBlockContext *dataBlock(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ValuesClauseContext* valuesClause(); - class UpdateContext : public antlr4::ParserRuleContext { - public: - UpdateContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class UpdateContext : public antlr4::ParserRuleContext { + public: + UpdateContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PrologueContext* prologue(); - Update1Context* update1(); - UpdateContext* update(); + PrologueContext *prologue(); + Update1Context *update1(); + UpdateContext *update(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; UpdateContext* update(); - class Update1Context : public antlr4::ParserRuleContext { - public: - Update1Context(antlr4::ParserRuleContext* parent, size_t invokingState); + class Update1Context : public antlr4::ParserRuleContext { + public: + Update1Context(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - LoadContext* load(); - ClearContext* clear(); - DropContext* drop(); - AddContext* add(); - MoveContext* move(); - CopyContext* copy(); - CreateContext* create(); - InsertDataContext* insertData(); - DeleteDataContext* deleteData(); - DeleteWhereContext* deleteWhere(); - ModifyContext* modify(); + LoadContext *load(); + ClearContext *clear(); + DropContext *drop(); + AddContext *add(); + MoveContext *move(); + CopyContext *copy(); + CreateContext *create(); + InsertDataContext *insertData(); + DeleteDataContext *deleteData(); + DeleteWhereContext *deleteWhere(); + ModifyContext *modify(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; Update1Context* update1(); - class LoadContext : public antlr4::ParserRuleContext { - public: - LoadContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class LoadContext : public antlr4::ParserRuleContext { + public: + LoadContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* LOAD(); - IriContext* iri(); - antlr4::tree::TerminalNode* SILENT(); - antlr4::tree::TerminalNode* INTO(); - GraphRefContext* graphRef(); + antlr4::tree::TerminalNode *LOAD(); + IriContext *iri(); + antlr4::tree::TerminalNode *SILENT(); + antlr4::tree::TerminalNode *INTO(); + GraphRefContext *graphRef(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; LoadContext* load(); - class ClearContext : public antlr4::ParserRuleContext { - public: - ClearContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class ClearContext : public antlr4::ParserRuleContext { + public: + ClearContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* CLEAR(); - GraphRefAllContext* graphRefAll(); - antlr4::tree::TerminalNode* SILENT(); + antlr4::tree::TerminalNode *CLEAR(); + GraphRefAllContext *graphRefAll(); + antlr4::tree::TerminalNode *SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ClearContext* clear(); - class DropContext : public antlr4::ParserRuleContext { - public: - DropContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class DropContext : public antlr4::ParserRuleContext { + public: + DropContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* DROP(); - GraphRefAllContext* graphRefAll(); - antlr4::tree::TerminalNode* SILENT(); + antlr4::tree::TerminalNode *DROP(); + GraphRefAllContext *graphRefAll(); + antlr4::tree::TerminalNode *SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DropContext* drop(); - class CreateContext : public antlr4::ParserRuleContext { - public: - CreateContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class CreateContext : public antlr4::ParserRuleContext { + public: + CreateContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* CREATE(); - GraphRefContext* graphRef(); - antlr4::tree::TerminalNode* SILENT(); + antlr4::tree::TerminalNode *CREATE(); + GraphRefContext *graphRef(); + antlr4::tree::TerminalNode *SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; CreateContext* create(); - class AddContext : public antlr4::ParserRuleContext { - public: - AddContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class AddContext : public antlr4::ParserRuleContext { + public: + AddContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* ADD(); - std::vector graphOrDefault(); + antlr4::tree::TerminalNode *ADD(); + std::vector graphOrDefault(); GraphOrDefaultContext* graphOrDefault(size_t i); - antlr4::tree::TerminalNode* TO(); - antlr4::tree::TerminalNode* SILENT(); + antlr4::tree::TerminalNode *TO(); + antlr4::tree::TerminalNode *SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; AddContext* add(); - class MoveContext : public antlr4::ParserRuleContext { - public: - MoveContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class MoveContext : public antlr4::ParserRuleContext { + public: + MoveContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* MOVE(); - std::vector graphOrDefault(); + antlr4::tree::TerminalNode *MOVE(); + std::vector graphOrDefault(); GraphOrDefaultContext* graphOrDefault(size_t i); - antlr4::tree::TerminalNode* TO(); - antlr4::tree::TerminalNode* SILENT(); + antlr4::tree::TerminalNode *TO(); + antlr4::tree::TerminalNode *SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; MoveContext* move(); - class CopyContext : public antlr4::ParserRuleContext { - public: - CopyContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class CopyContext : public antlr4::ParserRuleContext { + public: + CopyContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* COPY(); - std::vector graphOrDefault(); + antlr4::tree::TerminalNode *COPY(); + std::vector graphOrDefault(); GraphOrDefaultContext* graphOrDefault(size_t i); - antlr4::tree::TerminalNode* TO(); - antlr4::tree::TerminalNode* SILENT(); + antlr4::tree::TerminalNode *TO(); + antlr4::tree::TerminalNode *SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; CopyContext* copy(); - class InsertDataContext : public antlr4::ParserRuleContext { - public: - InsertDataContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class InsertDataContext : public antlr4::ParserRuleContext { + public: + InsertDataContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* INSERT(); - antlr4::tree::TerminalNode* DATA(); - QuadDataContext* quadData(); + antlr4::tree::TerminalNode *INSERT(); + antlr4::tree::TerminalNode *DATA(); + QuadDataContext *quadData(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; InsertDataContext* insertData(); - class DeleteDataContext : public antlr4::ParserRuleContext { - public: - DeleteDataContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class DeleteDataContext : public antlr4::ParserRuleContext { + public: + DeleteDataContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* DELETE(); - antlr4::tree::TerminalNode* DATA(); - QuadDataContext* quadData(); + antlr4::tree::TerminalNode *DELETE(); + antlr4::tree::TerminalNode *DATA(); + QuadDataContext *quadData(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DeleteDataContext* deleteData(); - class DeleteWhereContext : public antlr4::ParserRuleContext { - public: - DeleteWhereContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class DeleteWhereContext : public antlr4::ParserRuleContext { + public: + DeleteWhereContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* DELETE(); - antlr4::tree::TerminalNode* WHERE(); - QuadPatternContext* quadPattern(); + antlr4::tree::TerminalNode *DELETE(); + antlr4::tree::TerminalNode *WHERE(); + QuadPatternContext *quadPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DeleteWhereContext* deleteWhere(); - class ModifyContext : public antlr4::ParserRuleContext { - public: - ModifyContext(antlr4::ParserRuleContext* parent, size_t invokingState); - virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* WHERE(); - GroupGraphPatternContext* groupGraphPattern(); - DeleteClauseContext* deleteClause(); - InsertClauseContext* insertClause(); - antlr4::tree::TerminalNode* WITH(); - IriContext* iri(); - std::vector usingClause(); + class ModifyContext : public antlr4::ParserRuleContext { + public: + ModifyContext(antlr4::ParserRuleContext *parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + antlr4::tree::TerminalNode *WHERE(); + GroupGraphPatternContext *groupGraphPattern(); + DeleteClauseContext *deleteClause(); + InsertClauseContext *insertClause(); + antlr4::tree::TerminalNode *WITH(); + IriContext *iri(); + std::vector usingClause(); UsingClauseContext* usingClause(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ModifyContext* modify(); - class DeleteClauseContext : public antlr4::ParserRuleContext { - public: - DeleteClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class DeleteClauseContext : public antlr4::ParserRuleContext { + public: + DeleteClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* DELETE(); - QuadPatternContext* quadPattern(); + antlr4::tree::TerminalNode *DELETE(); + QuadPatternContext *quadPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DeleteClauseContext* deleteClause(); - class InsertClauseContext : public antlr4::ParserRuleContext { - public: - InsertClauseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class InsertClauseContext : public antlr4::ParserRuleContext { + public: + InsertClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* INSERT(); - QuadPatternContext* quadPattern(); + antlr4::tree::TerminalNode *INSERT(); + QuadPatternContext *quadPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; InsertClauseContext* insertClause(); - class UsingClauseContext : public antlr4::ParserRuleContext { - public: - UsingClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class UsingClauseContext : public antlr4::ParserRuleContext { + public: + UsingClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* USING(); - IriContext* iri(); - antlr4::tree::TerminalNode* NAMED(); + antlr4::tree::TerminalNode *USING(); + IriContext *iri(); + antlr4::tree::TerminalNode *NAMED(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; UsingClauseContext* usingClause(); - class GraphOrDefaultContext : public antlr4::ParserRuleContext { - public: - GraphOrDefaultContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class GraphOrDefaultContext : public antlr4::ParserRuleContext { + public: + GraphOrDefaultContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* DEFAULT(); - antlr4::tree::TerminalNode* GRAPH(); - IriContext* iri(); + antlr4::tree::TerminalNode *DEFAULT(); + antlr4::tree::TerminalNode *GRAPH(); + IriContext *iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GraphOrDefaultContext* graphOrDefault(); - class GraphRefContext : public antlr4::ParserRuleContext { - public: - GraphRefContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class GraphRefContext : public antlr4::ParserRuleContext { + public: + GraphRefContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* GRAPH(); - IriContext* iri(); + antlr4::tree::TerminalNode *GRAPH(); + IriContext *iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GraphRefContext* graphRef(); - class GraphRefAllContext : public antlr4::ParserRuleContext { - public: - GraphRefAllContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class GraphRefAllContext : public antlr4::ParserRuleContext { + public: + GraphRefAllContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GraphRefContext* graphRef(); - antlr4::tree::TerminalNode* DEFAULT(); - antlr4::tree::TerminalNode* NAMED(); - antlr4::tree::TerminalNode* ALL(); + GraphRefContext *graphRef(); + antlr4::tree::TerminalNode *DEFAULT(); + antlr4::tree::TerminalNode *NAMED(); + antlr4::tree::TerminalNode *ALL(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GraphRefAllContext* graphRefAll(); - class QuadPatternContext : public antlr4::ParserRuleContext { - public: - QuadPatternContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class QuadPatternContext : public antlr4::ParserRuleContext { + public: + QuadPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - QuadsContext* quads(); + QuadsContext *quads(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; QuadPatternContext* quadPattern(); - class QuadDataContext : public antlr4::ParserRuleContext { - public: - QuadDataContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class QuadDataContext : public antlr4::ParserRuleContext { + public: + QuadDataContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - QuadsContext* quads(); + QuadsContext *quads(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; QuadDataContext* quadData(); - class QuadsContext : public antlr4::ParserRuleContext { - public: - QuadsContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class QuadsContext : public antlr4::ParserRuleContext { + public: + QuadsContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector triplesTemplate(); + std::vector triplesTemplate(); TriplesTemplateContext* triplesTemplate(size_t i); - std::vector quadsNotTriples(); + std::vector quadsNotTriples(); QuadsNotTriplesContext* quadsNotTriples(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; QuadsContext* quads(); - class QuadsNotTriplesContext : public antlr4::ParserRuleContext { - public: - QuadsNotTriplesContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class QuadsNotTriplesContext : public antlr4::ParserRuleContext { + public: + QuadsNotTriplesContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* GRAPH(); - VarOrIriContext* varOrIri(); - TriplesTemplateContext* triplesTemplate(); + antlr4::tree::TerminalNode *GRAPH(); + VarOrIriContext *varOrIri(); + TriplesTemplateContext *triplesTemplate(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; QuadsNotTriplesContext* quadsNotTriples(); - class TriplesTemplateContext : public antlr4::ParserRuleContext { - public: - TriplesTemplateContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class TriplesTemplateContext : public antlr4::ParserRuleContext { + public: + TriplesTemplateContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - TriplesSameSubjectContext* triplesSameSubject(); - TriplesTemplateContext* triplesTemplate(); + TriplesSameSubjectContext *triplesSameSubject(); + TriplesTemplateContext *triplesTemplate(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TriplesTemplateContext* triplesTemplate(); - class GroupGraphPatternContext : public antlr4::ParserRuleContext { - public: - GroupGraphPatternContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class GroupGraphPatternContext : public antlr4::ParserRuleContext { + public: + GroupGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - SubSelectContext* subSelect(); - GroupGraphPatternSubContext* groupGraphPatternSub(); + SubSelectContext *subSelect(); + GroupGraphPatternSubContext *groupGraphPatternSub(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GroupGraphPatternContext* groupGraphPattern(); - class GroupGraphPatternSubContext : public antlr4::ParserRuleContext { - public: - GroupGraphPatternSubContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class GroupGraphPatternSubContext : public antlr4::ParserRuleContext { + public: + GroupGraphPatternSubContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - TriplesBlockContext* triplesBlock(); - std::vector - graphPatternNotTriplesAndMaybeTriples(); - GraphPatternNotTriplesAndMaybeTriplesContext* - graphPatternNotTriplesAndMaybeTriples(size_t i); + TriplesBlockContext *triplesBlock(); + std::vector graphPatternNotTriplesAndMaybeTriples(); + GraphPatternNotTriplesAndMaybeTriplesContext* graphPatternNotTriplesAndMaybeTriples(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GroupGraphPatternSubContext* groupGraphPatternSub(); - class GraphPatternNotTriplesAndMaybeTriplesContext - : public antlr4::ParserRuleContext { - public: - GraphPatternNotTriplesAndMaybeTriplesContext( - antlr4::ParserRuleContext* parent, size_t invokingState); + class GraphPatternNotTriplesAndMaybeTriplesContext : public antlr4::ParserRuleContext { + public: + GraphPatternNotTriplesAndMaybeTriplesContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GraphPatternNotTriplesContext* graphPatternNotTriples(); - TriplesBlockContext* triplesBlock(); + GraphPatternNotTriplesContext *graphPatternNotTriples(); + TriplesBlockContext *triplesBlock(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; - GraphPatternNotTriplesAndMaybeTriplesContext* - graphPatternNotTriplesAndMaybeTriples(); + GraphPatternNotTriplesAndMaybeTriplesContext* graphPatternNotTriplesAndMaybeTriples(); - class TriplesBlockContext : public antlr4::ParserRuleContext { - public: - TriplesBlockContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class TriplesBlockContext : public antlr4::ParserRuleContext { + public: + TriplesBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - TriplesSameSubjectPathContext* triplesSameSubjectPath(); - TriplesBlockContext* triplesBlock(); + TriplesSameSubjectPathContext *triplesSameSubjectPath(); + TriplesBlockContext *triplesBlock(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TriplesBlockContext* triplesBlock(); - class GraphPatternNotTriplesContext : public antlr4::ParserRuleContext { - public: - GraphPatternNotTriplesContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class GraphPatternNotTriplesContext : public antlr4::ParserRuleContext { + public: + GraphPatternNotTriplesContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GroupOrUnionGraphPatternContext* groupOrUnionGraphPattern(); - OptionalGraphPatternContext* optionalGraphPattern(); - MinusGraphPatternContext* minusGraphPattern(); - GraphGraphPatternContext* graphGraphPattern(); - ServiceGraphPatternContext* serviceGraphPattern(); - FilterRContext* filterR(); - BindContext* bind(); - InlineDataContext* inlineData(); + GroupOrUnionGraphPatternContext *groupOrUnionGraphPattern(); + OptionalGraphPatternContext *optionalGraphPattern(); + MinusGraphPatternContext *minusGraphPattern(); + GraphGraphPatternContext *graphGraphPattern(); + ServiceGraphPatternContext *serviceGraphPattern(); + FilterRContext *filterR(); + BindContext *bind(); + InlineDataContext *inlineData(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GraphPatternNotTriplesContext* graphPatternNotTriples(); - class OptionalGraphPatternContext : public antlr4::ParserRuleContext { - public: - OptionalGraphPatternContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class OptionalGraphPatternContext : public antlr4::ParserRuleContext { + public: + OptionalGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* OPTIONAL(); - GroupGraphPatternContext* groupGraphPattern(); + antlr4::tree::TerminalNode *OPTIONAL(); + GroupGraphPatternContext *groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; OptionalGraphPatternContext* optionalGraphPattern(); - class GraphGraphPatternContext : public antlr4::ParserRuleContext { - public: - GraphGraphPatternContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class GraphGraphPatternContext : public antlr4::ParserRuleContext { + public: + GraphGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* GRAPH(); - VarOrIriContext* varOrIri(); - GroupGraphPatternContext* groupGraphPattern(); + antlr4::tree::TerminalNode *GRAPH(); + VarOrIriContext *varOrIri(); + GroupGraphPatternContext *groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GraphGraphPatternContext* graphGraphPattern(); - class ServiceGraphPatternContext : public antlr4::ParserRuleContext { - public: - ServiceGraphPatternContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ServiceGraphPatternContext : public antlr4::ParserRuleContext { + public: + ServiceGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* SERVICE(); - VarOrIriContext* varOrIri(); - GroupGraphPatternContext* groupGraphPattern(); - antlr4::tree::TerminalNode* SILENT(); + antlr4::tree::TerminalNode *SERVICE(); + VarOrIriContext *varOrIri(); + GroupGraphPatternContext *groupGraphPattern(); + antlr4::tree::TerminalNode *SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ServiceGraphPatternContext* serviceGraphPattern(); - class BindContext : public antlr4::ParserRuleContext { - public: - BindContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class BindContext : public antlr4::ParserRuleContext { + public: + BindContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* BIND(); - ExpressionContext* expression(); - antlr4::tree::TerminalNode* AS(); - VarContext* var(); + antlr4::tree::TerminalNode *BIND(); + ExpressionContext *expression(); + antlr4::tree::TerminalNode *AS(); + VarContext *var(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; BindContext* bind(); - class InlineDataContext : public antlr4::ParserRuleContext { - public: - InlineDataContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class InlineDataContext : public antlr4::ParserRuleContext { + public: + InlineDataContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* VALUES(); - DataBlockContext* dataBlock(); + antlr4::tree::TerminalNode *VALUES(); + DataBlockContext *dataBlock(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; InlineDataContext* inlineData(); - class DataBlockContext : public antlr4::ParserRuleContext { - public: - DataBlockContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class DataBlockContext : public antlr4::ParserRuleContext { + public: + DataBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - InlineDataOneVarContext* inlineDataOneVar(); - InlineDataFullContext* inlineDataFull(); + InlineDataOneVarContext *inlineDataOneVar(); + InlineDataFullContext *inlineDataFull(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DataBlockContext* dataBlock(); - class InlineDataOneVarContext : public antlr4::ParserRuleContext { - public: - InlineDataOneVarContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class InlineDataOneVarContext : public antlr4::ParserRuleContext { + public: + InlineDataOneVarContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext* var(); - std::vector dataBlockValue(); + VarContext *var(); + std::vector dataBlockValue(); DataBlockValueContext* dataBlockValue(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; InlineDataOneVarContext* inlineDataOneVar(); - class InlineDataFullContext : public antlr4::ParserRuleContext { - public: - InlineDataFullContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class InlineDataFullContext : public antlr4::ParserRuleContext { + public: + InlineDataFullContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* NIL(); - std::vector dataBlockSingle(); + antlr4::tree::TerminalNode *NIL(); + std::vector dataBlockSingle(); DataBlockSingleContext* dataBlockSingle(size_t i); - std::vector var(); + std::vector var(); VarContext* var(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; InlineDataFullContext* inlineDataFull(); - class DataBlockSingleContext : public antlr4::ParserRuleContext { - public: - DataBlockSingleContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class DataBlockSingleContext : public antlr4::ParserRuleContext { + public: + DataBlockSingleContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* NIL(); - std::vector dataBlockValue(); + antlr4::tree::TerminalNode *NIL(); + std::vector dataBlockValue(); DataBlockValueContext* dataBlockValue(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DataBlockSingleContext* dataBlockSingle(); - class DataBlockValueContext : public antlr4::ParserRuleContext { - public: - DataBlockValueContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class DataBlockValueContext : public antlr4::ParserRuleContext { + public: + DataBlockValueContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext* iri(); - RdfLiteralContext* rdfLiteral(); - NumericLiteralContext* numericLiteral(); - BooleanLiteralContext* booleanLiteral(); - antlr4::tree::TerminalNode* UNDEF(); + IriContext *iri(); + RdfLiteralContext *rdfLiteral(); + NumericLiteralContext *numericLiteral(); + BooleanLiteralContext *booleanLiteral(); + antlr4::tree::TerminalNode *UNDEF(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DataBlockValueContext* dataBlockValue(); - class MinusGraphPatternContext : public antlr4::ParserRuleContext { - public: - MinusGraphPatternContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class MinusGraphPatternContext : public antlr4::ParserRuleContext { + public: + MinusGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* MINUS(); - GroupGraphPatternContext* groupGraphPattern(); + antlr4::tree::TerminalNode *MINUS(); + GroupGraphPatternContext *groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; MinusGraphPatternContext* minusGraphPattern(); - class GroupOrUnionGraphPatternContext : public antlr4::ParserRuleContext { - public: - GroupOrUnionGraphPatternContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class GroupOrUnionGraphPatternContext : public antlr4::ParserRuleContext { + public: + GroupOrUnionGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector groupGraphPattern(); + std::vector groupGraphPattern(); GroupGraphPatternContext* groupGraphPattern(size_t i); - std::vector UNION(); + std::vector UNION(); antlr4::tree::TerminalNode* UNION(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GroupOrUnionGraphPatternContext* groupOrUnionGraphPattern(); - class FilterRContext : public antlr4::ParserRuleContext { - public: - FilterRContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class FilterRContext : public antlr4::ParserRuleContext { + public: + FilterRContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* FILTER(); - ConstraintContext* constraint(); + antlr4::tree::TerminalNode *FILTER(); + ConstraintContext *constraint(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; FilterRContext* filterR(); - class ConstraintContext : public antlr4::ParserRuleContext { - public: - ConstraintContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class ConstraintContext : public antlr4::ParserRuleContext { + public: + ConstraintContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - BrackettedExpressionContext* brackettedExpression(); - BuiltInCallContext* builtInCall(); - FunctionCallContext* functionCall(); + BrackettedExpressionContext *brackettedExpression(); + BuiltInCallContext *builtInCall(); + FunctionCallContext *functionCall(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ConstraintContext* constraint(); - class FunctionCallContext : public antlr4::ParserRuleContext { - public: - FunctionCallContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class FunctionCallContext : public antlr4::ParserRuleContext { + public: + FunctionCallContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext* iri(); - ArgListContext* argList(); + IriContext *iri(); + ArgListContext *argList(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; FunctionCallContext* functionCall(); - class ArgListContext : public antlr4::ParserRuleContext { - public: - ArgListContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class ArgListContext : public antlr4::ParserRuleContext { + public: + ArgListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* NIL(); - std::vector expression(); + antlr4::tree::TerminalNode *NIL(); + std::vector expression(); ExpressionContext* expression(size_t i); - antlr4::tree::TerminalNode* DISTINCT(); + antlr4::tree::TerminalNode *DISTINCT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ArgListContext* argList(); - class ExpressionListContext : public antlr4::ParserRuleContext { - public: - ExpressionListContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ExpressionListContext : public antlr4::ParserRuleContext { + public: + ExpressionListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* NIL(); - std::vector expression(); + antlr4::tree::TerminalNode *NIL(); + std::vector expression(); ExpressionContext* expression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ExpressionListContext* expressionList(); - class ConstructTemplateContext : public antlr4::ParserRuleContext { - public: - ConstructTemplateContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ConstructTemplateContext : public antlr4::ParserRuleContext { + public: + ConstructTemplateContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - ConstructTriplesContext* constructTriples(); + ConstructTriplesContext *constructTriples(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ConstructTemplateContext* constructTemplate(); - class ConstructTriplesContext : public antlr4::ParserRuleContext { - public: - ConstructTriplesContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ConstructTriplesContext : public antlr4::ParserRuleContext { + public: + ConstructTriplesContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - TriplesSameSubjectContext* triplesSameSubject(); - ConstructTriplesContext* constructTriples(); + TriplesSameSubjectContext *triplesSameSubject(); + ConstructTriplesContext *constructTriples(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ConstructTriplesContext* constructTriples(); - class TriplesSameSubjectContext : public antlr4::ParserRuleContext { - public: - TriplesSameSubjectContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class TriplesSameSubjectContext : public antlr4::ParserRuleContext { + public: + TriplesSameSubjectContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrTermContext* varOrTerm(); - PropertyListNotEmptyContext* propertyListNotEmpty(); - TriplesNodeContext* triplesNode(); - PropertyListContext* propertyList(); + VarOrTermContext *varOrTerm(); + PropertyListNotEmptyContext *propertyListNotEmpty(); + TriplesNodeContext *triplesNode(); + PropertyListContext *propertyList(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TriplesSameSubjectContext* triplesSameSubject(); - class PropertyListContext : public antlr4::ParserRuleContext { - public: - PropertyListContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PropertyListContext : public antlr4::ParserRuleContext { + public: + PropertyListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PropertyListNotEmptyContext* propertyListNotEmpty(); + PropertyListNotEmptyContext *propertyListNotEmpty(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PropertyListContext* propertyList(); - class PropertyListNotEmptyContext : public antlr4::ParserRuleContext { - public: - PropertyListNotEmptyContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PropertyListNotEmptyContext : public antlr4::ParserRuleContext { + public: + PropertyListNotEmptyContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector verb(); + std::vector verb(); VerbContext* verb(size_t i); - std::vector objectList(); + std::vector objectList(); ObjectListContext* objectList(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PropertyListNotEmptyContext* propertyListNotEmpty(); - class VerbContext : public antlr4::ParserRuleContext { - public: - VerbContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class VerbContext : public antlr4::ParserRuleContext { + public: + VerbContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrIriContext* varOrIri(); + VarOrIriContext *varOrIri(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; VerbContext* verb(); - class ObjectListContext : public antlr4::ParserRuleContext { - public: - ObjectListContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class ObjectListContext : public antlr4::ParserRuleContext { + public: + ObjectListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector objectR(); + std::vector objectR(); ObjectRContext* objectR(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ObjectListContext* objectList(); - class ObjectRContext : public antlr4::ParserRuleContext { - public: - ObjectRContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class ObjectRContext : public antlr4::ParserRuleContext { + public: + ObjectRContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GraphNodeContext* graphNode(); + GraphNodeContext *graphNode(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ObjectRContext* objectR(); - class TriplesSameSubjectPathContext : public antlr4::ParserRuleContext { - public: - TriplesSameSubjectPathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class TriplesSameSubjectPathContext : public antlr4::ParserRuleContext { + public: + TriplesSameSubjectPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrTermContext* varOrTerm(); - PropertyListPathNotEmptyContext* propertyListPathNotEmpty(); - TriplesNodePathContext* triplesNodePath(); - PropertyListPathContext* propertyListPath(); + VarOrTermContext *varOrTerm(); + PropertyListPathNotEmptyContext *propertyListPathNotEmpty(); + TriplesNodePathContext *triplesNodePath(); + PropertyListPathContext *propertyListPath(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TriplesSameSubjectPathContext* triplesSameSubjectPath(); - class PropertyListPathContext : public antlr4::ParserRuleContext { - public: - PropertyListPathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PropertyListPathContext : public antlr4::ParserRuleContext { + public: + PropertyListPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PropertyListPathNotEmptyContext* propertyListPathNotEmpty(); + PropertyListPathNotEmptyContext *propertyListPathNotEmpty(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PropertyListPathContext* propertyListPath(); - class PropertyListPathNotEmptyContext : public antlr4::ParserRuleContext { - public: - PropertyListPathNotEmptyContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PropertyListPathNotEmptyContext : public antlr4::ParserRuleContext { + public: + PropertyListPathNotEmptyContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - TupleWithPathContext* tupleWithPath(); - std::vector tupleWithoutPath(); + TupleWithPathContext *tupleWithPath(); + std::vector tupleWithoutPath(); TupleWithoutPathContext* tupleWithoutPath(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PropertyListPathNotEmptyContext* propertyListPathNotEmpty(); - class VerbPathContext : public antlr4::ParserRuleContext { - public: - VerbPathContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class VerbPathContext : public antlr4::ParserRuleContext { + public: + VerbPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PathContext* path(); + PathContext *path(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; VerbPathContext* verbPath(); - class VerbSimpleContext : public antlr4::ParserRuleContext { - public: - VerbSimpleContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class VerbSimpleContext : public antlr4::ParserRuleContext { + public: + VerbSimpleContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext* var(); + VarContext *var(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; VerbSimpleContext* verbSimple(); - class TupleWithoutPathContext : public antlr4::ParserRuleContext { - public: - TupleWithoutPathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class TupleWithoutPathContext : public antlr4::ParserRuleContext { + public: + TupleWithoutPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VerbPathOrSimpleContext* verbPathOrSimple(); - ObjectListContext* objectList(); + VerbPathOrSimpleContext *verbPathOrSimple(); + ObjectListContext *objectList(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TupleWithoutPathContext* tupleWithoutPath(); - class TupleWithPathContext : public antlr4::ParserRuleContext { - public: - TupleWithPathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class TupleWithPathContext : public antlr4::ParserRuleContext { + public: + TupleWithPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VerbPathOrSimpleContext* verbPathOrSimple(); - ObjectListPathContext* objectListPath(); + VerbPathOrSimpleContext *verbPathOrSimple(); + ObjectListPathContext *objectListPath(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TupleWithPathContext* tupleWithPath(); - class VerbPathOrSimpleContext : public antlr4::ParserRuleContext { - public: - VerbPathOrSimpleContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class VerbPathOrSimpleContext : public antlr4::ParserRuleContext { + public: + VerbPathOrSimpleContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VerbPathContext* verbPath(); - VerbSimpleContext* verbSimple(); + VerbPathContext *verbPath(); + VerbSimpleContext *verbSimple(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; VerbPathOrSimpleContext* verbPathOrSimple(); - class ObjectListPathContext : public antlr4::ParserRuleContext { - public: - ObjectListPathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ObjectListPathContext : public antlr4::ParserRuleContext { + public: + ObjectListPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector objectPath(); + std::vector objectPath(); ObjectPathContext* objectPath(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ObjectListPathContext* objectListPath(); - class ObjectPathContext : public antlr4::ParserRuleContext { - public: - ObjectPathContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class ObjectPathContext : public antlr4::ParserRuleContext { + public: + ObjectPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GraphNodePathContext* graphNodePath(); + GraphNodePathContext *graphNodePath(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ObjectPathContext* objectPath(); - class PathContext : public antlr4::ParserRuleContext { - public: - PathContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class PathContext : public antlr4::ParserRuleContext { + public: + PathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PathAlternativeContext* pathAlternative(); + PathAlternativeContext *pathAlternative(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathContext* path(); - class PathAlternativeContext : public antlr4::ParserRuleContext { - public: - PathAlternativeContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PathAlternativeContext : public antlr4::ParserRuleContext { + public: + PathAlternativeContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector pathSequence(); + std::vector pathSequence(); PathSequenceContext* pathSequence(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathAlternativeContext* pathAlternative(); - class PathSequenceContext : public antlr4::ParserRuleContext { - public: - PathSequenceContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PathSequenceContext : public antlr4::ParserRuleContext { + public: + PathSequenceContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector pathEltOrInverse(); + std::vector pathEltOrInverse(); PathEltOrInverseContext* pathEltOrInverse(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathSequenceContext* pathSequence(); - class PathEltContext : public antlr4::ParserRuleContext { - public: - PathEltContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class PathEltContext : public antlr4::ParserRuleContext { + public: + PathEltContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PathPrimaryContext* pathPrimary(); - PathModContext* pathMod(); + PathPrimaryContext *pathPrimary(); + PathModContext *pathMod(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathEltContext* pathElt(); - class PathEltOrInverseContext : public antlr4::ParserRuleContext { - public: - antlr4::Token* negationOperator = nullptr; - PathEltOrInverseContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PathEltOrInverseContext : public antlr4::ParserRuleContext { + public: + antlr4::Token *negationOperator = nullptr; + PathEltOrInverseContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PathEltContext* pathElt(); + PathEltContext *pathElt(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathEltOrInverseContext* pathEltOrInverse(); - class PathModContext : public antlr4::ParserRuleContext { - public: - PathModContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class PathModContext : public antlr4::ParserRuleContext { + public: + PathModContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathModContext* pathMod(); - class PathPrimaryContext : public antlr4::ParserRuleContext { - public: - PathPrimaryContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class PathPrimaryContext : public antlr4::ParserRuleContext { + public: + PathPrimaryContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext* iri(); - PathNegatedPropertySetContext* pathNegatedPropertySet(); - PathContext* path(); + IriContext *iri(); + PathNegatedPropertySetContext *pathNegatedPropertySet(); + PathContext *path(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathPrimaryContext* pathPrimary(); - class PathNegatedPropertySetContext : public antlr4::ParserRuleContext { - public: - PathNegatedPropertySetContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PathNegatedPropertySetContext : public antlr4::ParserRuleContext { + public: + PathNegatedPropertySetContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector pathOneInPropertySet(); + std::vector pathOneInPropertySet(); PathOneInPropertySetContext* pathOneInPropertySet(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathNegatedPropertySetContext* pathNegatedPropertySet(); - class PathOneInPropertySetContext : public antlr4::ParserRuleContext { - public: - PathOneInPropertySetContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PathOneInPropertySetContext : public antlr4::ParserRuleContext { + public: + PathOneInPropertySetContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext* iri(); + IriContext *iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PathOneInPropertySetContext* pathOneInPropertySet(); - class IntegerContext : public antlr4::ParserRuleContext { - public: - IntegerContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class IntegerContext : public antlr4::ParserRuleContext { + public: + IntegerContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* INTEGER(); + antlr4::tree::TerminalNode *INTEGER(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; IntegerContext* integer(); - class TriplesNodeContext : public antlr4::ParserRuleContext { - public: - TriplesNodeContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class TriplesNodeContext : public antlr4::ParserRuleContext { + public: + TriplesNodeContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - CollectionContext* collection(); - BlankNodePropertyListContext* blankNodePropertyList(); + CollectionContext *collection(); + BlankNodePropertyListContext *blankNodePropertyList(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TriplesNodeContext* triplesNode(); - class BlankNodePropertyListContext : public antlr4::ParserRuleContext { - public: - BlankNodePropertyListContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class BlankNodePropertyListContext : public antlr4::ParserRuleContext { + public: + BlankNodePropertyListContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PropertyListNotEmptyContext* propertyListNotEmpty(); + PropertyListNotEmptyContext *propertyListNotEmpty(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; BlankNodePropertyListContext* blankNodePropertyList(); - class TriplesNodePathContext : public antlr4::ParserRuleContext { - public: - TriplesNodePathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class TriplesNodePathContext : public antlr4::ParserRuleContext { + public: + TriplesNodePathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - CollectionPathContext* collectionPath(); - BlankNodePropertyListPathContext* blankNodePropertyListPath(); + CollectionPathContext *collectionPath(); + BlankNodePropertyListPathContext *blankNodePropertyListPath(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; TriplesNodePathContext* triplesNodePath(); - class BlankNodePropertyListPathContext : public antlr4::ParserRuleContext { - public: - BlankNodePropertyListPathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class BlankNodePropertyListPathContext : public antlr4::ParserRuleContext { + public: + BlankNodePropertyListPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PropertyListPathNotEmptyContext* propertyListPathNotEmpty(); + PropertyListPathNotEmptyContext *propertyListPathNotEmpty(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; BlankNodePropertyListPathContext* blankNodePropertyListPath(); - class CollectionContext : public antlr4::ParserRuleContext { - public: - CollectionContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class CollectionContext : public antlr4::ParserRuleContext { + public: + CollectionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector graphNode(); + std::vector graphNode(); GraphNodeContext* graphNode(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; CollectionContext* collection(); - class CollectionPathContext : public antlr4::ParserRuleContext { - public: - CollectionPathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class CollectionPathContext : public antlr4::ParserRuleContext { + public: + CollectionPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector graphNodePath(); + std::vector graphNodePath(); GraphNodePathContext* graphNodePath(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; CollectionPathContext* collectionPath(); - class GraphNodeContext : public antlr4::ParserRuleContext { - public: - GraphNodeContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class GraphNodeContext : public antlr4::ParserRuleContext { + public: + GraphNodeContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrTermContext* varOrTerm(); - TriplesNodeContext* triplesNode(); + VarOrTermContext *varOrTerm(); + TriplesNodeContext *triplesNode(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GraphNodeContext* graphNode(); - class GraphNodePathContext : public antlr4::ParserRuleContext { - public: - GraphNodePathContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class GraphNodePathContext : public antlr4::ParserRuleContext { + public: + GraphNodePathContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrTermContext* varOrTerm(); - TriplesNodePathContext* triplesNodePath(); + VarOrTermContext *varOrTerm(); + TriplesNodePathContext *triplesNodePath(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GraphNodePathContext* graphNodePath(); - class VarOrTermContext : public antlr4::ParserRuleContext { - public: - VarOrTermContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class VarOrTermContext : public antlr4::ParserRuleContext { + public: + VarOrTermContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext* var(); - GraphTermContext* graphTerm(); + VarContext *var(); + GraphTermContext *graphTerm(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; VarOrTermContext* varOrTerm(); - class VarOrIriContext : public antlr4::ParserRuleContext { - public: - VarOrIriContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class VarOrIriContext : public antlr4::ParserRuleContext { + public: + VarOrIriContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext* var(); - IriContext* iri(); + VarContext *var(); + IriContext *iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; VarOrIriContext* varOrIri(); - class VarContext : public antlr4::ParserRuleContext { - public: - VarContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class VarContext : public antlr4::ParserRuleContext { + public: + VarContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* VAR1(); - antlr4::tree::TerminalNode* VAR2(); + antlr4::tree::TerminalNode *VAR1(); + antlr4::tree::TerminalNode *VAR2(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; VarContext* var(); - class GraphTermContext : public antlr4::ParserRuleContext { - public: - GraphTermContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class GraphTermContext : public antlr4::ParserRuleContext { + public: + GraphTermContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext* iri(); - RdfLiteralContext* rdfLiteral(); - NumericLiteralContext* numericLiteral(); - BooleanLiteralContext* booleanLiteral(); - BlankNodeContext* blankNode(); - antlr4::tree::TerminalNode* NIL(); + IriContext *iri(); + RdfLiteralContext *rdfLiteral(); + NumericLiteralContext *numericLiteral(); + BooleanLiteralContext *booleanLiteral(); + BlankNodeContext *blankNode(); + antlr4::tree::TerminalNode *NIL(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; GraphTermContext* graphTerm(); - class ExpressionContext : public antlr4::ParserRuleContext { - public: - ExpressionContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class ExpressionContext : public antlr4::ParserRuleContext { + public: + ExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - ConditionalOrExpressionContext* conditionalOrExpression(); + ConditionalOrExpressionContext *conditionalOrExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ExpressionContext* expression(); - class ConditionalOrExpressionContext : public antlr4::ParserRuleContext { - public: - ConditionalOrExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ConditionalOrExpressionContext : public antlr4::ParserRuleContext { + public: + ConditionalOrExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector conditionalAndExpression(); + std::vector conditionalAndExpression(); ConditionalAndExpressionContext* conditionalAndExpression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ConditionalOrExpressionContext* conditionalOrExpression(); - class ConditionalAndExpressionContext : public antlr4::ParserRuleContext { - public: - ConditionalAndExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ConditionalAndExpressionContext : public antlr4::ParserRuleContext { + public: + ConditionalAndExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector valueLogical(); + std::vector valueLogical(); ValueLogicalContext* valueLogical(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ConditionalAndExpressionContext* conditionalAndExpression(); - class ValueLogicalContext : public antlr4::ParserRuleContext { - public: - ValueLogicalContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class ValueLogicalContext : public antlr4::ParserRuleContext { + public: + ValueLogicalContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - RelationalExpressionContext* relationalExpression(); + RelationalExpressionContext *relationalExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ValueLogicalContext* valueLogical(); - class RelationalExpressionContext : public antlr4::ParserRuleContext { - public: - antlr4::Token* notToken = nullptr; - RelationalExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class RelationalExpressionContext : public antlr4::ParserRuleContext { + public: + antlr4::Token *notToken = nullptr; + RelationalExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector numericExpression(); + std::vector numericExpression(); NumericExpressionContext* numericExpression(size_t i); - antlr4::tree::TerminalNode* IN(); - ExpressionListContext* expressionList(); - antlr4::tree::TerminalNode* NOT(); + antlr4::tree::TerminalNode *IN(); + ExpressionListContext *expressionList(); + antlr4::tree::TerminalNode *NOT(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; RelationalExpressionContext* relationalExpression(); - class NumericExpressionContext : public antlr4::ParserRuleContext { - public: - NumericExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class NumericExpressionContext : public antlr4::ParserRuleContext { + public: + NumericExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - AdditiveExpressionContext* additiveExpression(); + AdditiveExpressionContext *additiveExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; NumericExpressionContext* numericExpression(); - class AdditiveExpressionContext : public antlr4::ParserRuleContext { - public: - AdditiveExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class AdditiveExpressionContext : public antlr4::ParserRuleContext { + public: + AdditiveExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - MultiplicativeExpressionContext* multiplicativeExpression(); - std::vector - multiplicativeExpressionWithSign(); - MultiplicativeExpressionWithSignContext* multiplicativeExpressionWithSign( - size_t i); + MultiplicativeExpressionContext *multiplicativeExpression(); + std::vector multiplicativeExpressionWithSign(); + MultiplicativeExpressionWithSignContext* multiplicativeExpressionWithSign(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; AdditiveExpressionContext* additiveExpression(); - class MultiplicativeExpressionWithSignContext - : public antlr4::ParserRuleContext { - public: - MultiplicativeExpressionWithSignContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class MultiplicativeExpressionWithSignContext : public antlr4::ParserRuleContext { + public: + MultiplicativeExpressionWithSignContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PlusSubexpressionContext* plusSubexpression(); - MinusSubexpressionContext* minusSubexpression(); - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* - multiplicativeExpressionWithLeadingSignButNoSpace(); + PlusSubexpressionContext *plusSubexpression(); + MinusSubexpressionContext *minusSubexpression(); + MultiplicativeExpressionWithLeadingSignButNoSpaceContext *multiplicativeExpressionWithLeadingSignButNoSpace(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; MultiplicativeExpressionWithSignContext* multiplicativeExpressionWithSign(); - class PlusSubexpressionContext : public antlr4::ParserRuleContext { - public: - PlusSubexpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PlusSubexpressionContext : public antlr4::ParserRuleContext { + public: + PlusSubexpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - MultiplicativeExpressionContext* multiplicativeExpression(); + MultiplicativeExpressionContext *multiplicativeExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PlusSubexpressionContext* plusSubexpression(); - class MinusSubexpressionContext : public antlr4::ParserRuleContext { - public: - MinusSubexpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class MinusSubexpressionContext : public antlr4::ParserRuleContext { + public: + MinusSubexpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - MultiplicativeExpressionContext* multiplicativeExpression(); + MultiplicativeExpressionContext *multiplicativeExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; MinusSubexpressionContext* minusSubexpression(); - class MultiplicativeExpressionWithLeadingSignButNoSpaceContext - : public antlr4::ParserRuleContext { - public: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext( - antlr4::ParserRuleContext* parent, size_t invokingState); + class MultiplicativeExpressionWithLeadingSignButNoSpaceContext : public antlr4::ParserRuleContext { + public: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - NumericLiteralPositiveContext* numericLiteralPositive(); - NumericLiteralNegativeContext* numericLiteralNegative(); - std::vector - multiplyOrDivideExpression(); + NumericLiteralPositiveContext *numericLiteralPositive(); + NumericLiteralNegativeContext *numericLiteralNegative(); + std::vector multiplyOrDivideExpression(); MultiplyOrDivideExpressionContext* multiplyOrDivideExpression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* - multiplicativeExpressionWithLeadingSignButNoSpace(); + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* multiplicativeExpressionWithLeadingSignButNoSpace(); - class MultiplicativeExpressionContext : public antlr4::ParserRuleContext { - public: - MultiplicativeExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class MultiplicativeExpressionContext : public antlr4::ParserRuleContext { + public: + MultiplicativeExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - UnaryExpressionContext* unaryExpression(); - std::vector - multiplyOrDivideExpression(); + UnaryExpressionContext *unaryExpression(); + std::vector multiplyOrDivideExpression(); MultiplyOrDivideExpressionContext* multiplyOrDivideExpression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; MultiplicativeExpressionContext* multiplicativeExpression(); - class MultiplyOrDivideExpressionContext : public antlr4::ParserRuleContext { - public: - MultiplyOrDivideExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class MultiplyOrDivideExpressionContext : public antlr4::ParserRuleContext { + public: + MultiplyOrDivideExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - MultiplyExpressionContext* multiplyExpression(); - DivideExpressionContext* divideExpression(); + MultiplyExpressionContext *multiplyExpression(); + DivideExpressionContext *divideExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; MultiplyOrDivideExpressionContext* multiplyOrDivideExpression(); - class MultiplyExpressionContext : public antlr4::ParserRuleContext { - public: - MultiplyExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class MultiplyExpressionContext : public antlr4::ParserRuleContext { + public: + MultiplyExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - UnaryExpressionContext* unaryExpression(); + UnaryExpressionContext *unaryExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; MultiplyExpressionContext* multiplyExpression(); - class DivideExpressionContext : public antlr4::ParserRuleContext { - public: - DivideExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class DivideExpressionContext : public antlr4::ParserRuleContext { + public: + DivideExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - UnaryExpressionContext* unaryExpression(); + UnaryExpressionContext *unaryExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; DivideExpressionContext* divideExpression(); - class UnaryExpressionContext : public antlr4::ParserRuleContext { - public: - UnaryExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class UnaryExpressionContext : public antlr4::ParserRuleContext { + public: + UnaryExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PrimaryExpressionContext* primaryExpression(); + PrimaryExpressionContext *primaryExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; UnaryExpressionContext* unaryExpression(); - class PrimaryExpressionContext : public antlr4::ParserRuleContext { - public: - PrimaryExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PrimaryExpressionContext : public antlr4::ParserRuleContext { + public: + PrimaryExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - BrackettedExpressionContext* brackettedExpression(); - BuiltInCallContext* builtInCall(); - IriOrFunctionContext* iriOrFunction(); - RdfLiteralContext* rdfLiteral(); - NumericLiteralContext* numericLiteral(); - BooleanLiteralContext* booleanLiteral(); - VarContext* var(); + BrackettedExpressionContext *brackettedExpression(); + BuiltInCallContext *builtInCall(); + IriOrFunctionContext *iriOrFunction(); + RdfLiteralContext *rdfLiteral(); + NumericLiteralContext *numericLiteral(); + BooleanLiteralContext *booleanLiteral(); + VarContext *var(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PrimaryExpressionContext* primaryExpression(); - class BrackettedExpressionContext : public antlr4::ParserRuleContext { - public: - BrackettedExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class BrackettedExpressionContext : public antlr4::ParserRuleContext { + public: + BrackettedExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - ExpressionContext* expression(); + ExpressionContext *expression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; BrackettedExpressionContext* brackettedExpression(); - class BuiltInCallContext : public antlr4::ParserRuleContext { - public: - BuiltInCallContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class BuiltInCallContext : public antlr4::ParserRuleContext { + public: + BuiltInCallContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - AggregateContext* aggregate(); - antlr4::tree::TerminalNode* STR(); - std::vector expression(); + AggregateContext *aggregate(); + antlr4::tree::TerminalNode *STR(); + std::vector expression(); ExpressionContext* expression(size_t i); - LangExpressionContext* langExpression(); - antlr4::tree::TerminalNode* LANGMATCHES(); - antlr4::tree::TerminalNode* DATATYPE(); - antlr4::tree::TerminalNode* BOUND(); - VarContext* var(); - antlr4::tree::TerminalNode* IRI(); - antlr4::tree::TerminalNode* URI(); - antlr4::tree::TerminalNode* BNODE(); - antlr4::tree::TerminalNode* NIL(); - antlr4::tree::TerminalNode* RAND(); - antlr4::tree::TerminalNode* ABS(); - antlr4::tree::TerminalNode* CEIL(); - antlr4::tree::TerminalNode* FLOOR(); - antlr4::tree::TerminalNode* ROUND(); - antlr4::tree::TerminalNode* CONCAT(); - ExpressionListContext* expressionList(); - SubstringExpressionContext* substringExpression(); - antlr4::tree::TerminalNode* STRLEN(); - StrReplaceExpressionContext* strReplaceExpression(); - antlr4::tree::TerminalNode* UCASE(); - antlr4::tree::TerminalNode* LCASE(); - antlr4::tree::TerminalNode* ENCODE_FOR_URI(); - antlr4::tree::TerminalNode* CONTAINS(); - antlr4::tree::TerminalNode* STRSTARTS(); - antlr4::tree::TerminalNode* STRENDS(); - antlr4::tree::TerminalNode* STRBEFORE(); - antlr4::tree::TerminalNode* STRAFTER(); - antlr4::tree::TerminalNode* YEAR(); - antlr4::tree::TerminalNode* MONTH(); - antlr4::tree::TerminalNode* DAY(); - antlr4::tree::TerminalNode* HOURS(); - antlr4::tree::TerminalNode* MINUTES(); - antlr4::tree::TerminalNode* SECONDS(); - antlr4::tree::TerminalNode* TIMEZONE(); - antlr4::tree::TerminalNode* TZ(); - antlr4::tree::TerminalNode* NOW(); - antlr4::tree::TerminalNode* UUID(); - antlr4::tree::TerminalNode* STRUUID(); - antlr4::tree::TerminalNode* MD5(); - antlr4::tree::TerminalNode* SHA1(); - antlr4::tree::TerminalNode* SHA256(); - antlr4::tree::TerminalNode* SHA384(); - antlr4::tree::TerminalNode* SHA512(); - antlr4::tree::TerminalNode* COALESCE(); - antlr4::tree::TerminalNode* IF(); - antlr4::tree::TerminalNode* STRLANG(); - antlr4::tree::TerminalNode* STRDT(); - antlr4::tree::TerminalNode* SAMETERM(); - antlr4::tree::TerminalNode* ISIRI(); - antlr4::tree::TerminalNode* ISURI(); - antlr4::tree::TerminalNode* ISBLANK(); - antlr4::tree::TerminalNode* ISLITERAL(); - antlr4::tree::TerminalNode* ISNUMERIC(); - RegexExpressionContext* regexExpression(); - ExistsFuncContext* existsFunc(); - NotExistsFuncContext* notExistsFunc(); - - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + LangExpressionContext *langExpression(); + antlr4::tree::TerminalNode *LANGMATCHES(); + antlr4::tree::TerminalNode *DATATYPE(); + antlr4::tree::TerminalNode *BOUND(); + VarContext *var(); + antlr4::tree::TerminalNode *IRI(); + antlr4::tree::TerminalNode *URI(); + antlr4::tree::TerminalNode *BNODE(); + antlr4::tree::TerminalNode *NIL(); + antlr4::tree::TerminalNode *RAND(); + antlr4::tree::TerminalNode *ABS(); + antlr4::tree::TerminalNode *CEIL(); + antlr4::tree::TerminalNode *FLOOR(); + antlr4::tree::TerminalNode *ROUND(); + antlr4::tree::TerminalNode *CONCAT(); + ExpressionListContext *expressionList(); + SubstringExpressionContext *substringExpression(); + antlr4::tree::TerminalNode *STRLEN(); + StrReplaceExpressionContext *strReplaceExpression(); + antlr4::tree::TerminalNode *UCASE(); + antlr4::tree::TerminalNode *LCASE(); + antlr4::tree::TerminalNode *ENCODE_FOR_URI(); + antlr4::tree::TerminalNode *CONTAINS(); + antlr4::tree::TerminalNode *STRSTARTS(); + antlr4::tree::TerminalNode *STRENDS(); + antlr4::tree::TerminalNode *STRBEFORE(); + antlr4::tree::TerminalNode *STRAFTER(); + antlr4::tree::TerminalNode *YEAR(); + antlr4::tree::TerminalNode *MONTH(); + antlr4::tree::TerminalNode *DAY(); + antlr4::tree::TerminalNode *HOURS(); + antlr4::tree::TerminalNode *MINUTES(); + antlr4::tree::TerminalNode *SECONDS(); + antlr4::tree::TerminalNode *TIMEZONE(); + antlr4::tree::TerminalNode *TZ(); + antlr4::tree::TerminalNode *NOW(); + antlr4::tree::TerminalNode *UUID(); + antlr4::tree::TerminalNode *STRUUID(); + antlr4::tree::TerminalNode *MD5(); + antlr4::tree::TerminalNode *SHA1(); + antlr4::tree::TerminalNode *SHA256(); + antlr4::tree::TerminalNode *SHA384(); + antlr4::tree::TerminalNode *SHA512(); + antlr4::tree::TerminalNode *COALESCE(); + antlr4::tree::TerminalNode *IF(); + antlr4::tree::TerminalNode *STRLANG(); + antlr4::tree::TerminalNode *STRDT(); + antlr4::tree::TerminalNode *SAMETERM(); + antlr4::tree::TerminalNode *ISIRI(); + antlr4::tree::TerminalNode *ISURI(); + antlr4::tree::TerminalNode *ISBLANK(); + antlr4::tree::TerminalNode *ISLITERAL(); + antlr4::tree::TerminalNode *ISNUMERIC(); + RegexExpressionContext *regexExpression(); + ExistsFuncContext *existsFunc(); + NotExistsFuncContext *notExistsFunc(); + + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; BuiltInCallContext* builtInCall(); - class RegexExpressionContext : public antlr4::ParserRuleContext { - public: - RegexExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class RegexExpressionContext : public antlr4::ParserRuleContext { + public: + RegexExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* REGEX(); - std::vector expression(); + antlr4::tree::TerminalNode *REGEX(); + std::vector expression(); ExpressionContext* expression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; RegexExpressionContext* regexExpression(); - class LangExpressionContext : public antlr4::ParserRuleContext { - public: - LangExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class LangExpressionContext : public antlr4::ParserRuleContext { + public: + LangExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* LANG(); - ExpressionContext* expression(); + antlr4::tree::TerminalNode *LANG(); + ExpressionContext *expression(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; LangExpressionContext* langExpression(); - class SubstringExpressionContext : public antlr4::ParserRuleContext { - public: - SubstringExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class SubstringExpressionContext : public antlr4::ParserRuleContext { + public: + SubstringExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* SUBSTR(); - std::vector expression(); + antlr4::tree::TerminalNode *SUBSTR(); + std::vector expression(); ExpressionContext* expression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; SubstringExpressionContext* substringExpression(); - class StrReplaceExpressionContext : public antlr4::ParserRuleContext { - public: - StrReplaceExpressionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class StrReplaceExpressionContext : public antlr4::ParserRuleContext { + public: + StrReplaceExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* REPLACE(); - std::vector expression(); + antlr4::tree::TerminalNode *REPLACE(); + std::vector expression(); ExpressionContext* expression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; StrReplaceExpressionContext* strReplaceExpression(); - class ExistsFuncContext : public antlr4::ParserRuleContext { - public: - ExistsFuncContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class ExistsFuncContext : public antlr4::ParserRuleContext { + public: + ExistsFuncContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* EXISTS(); - GroupGraphPatternContext* groupGraphPattern(); + antlr4::tree::TerminalNode *EXISTS(); + GroupGraphPatternContext *groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; ExistsFuncContext* existsFunc(); - class NotExistsFuncContext : public antlr4::ParserRuleContext { - public: - NotExistsFuncContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class NotExistsFuncContext : public antlr4::ParserRuleContext { + public: + NotExistsFuncContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* NOT(); - antlr4::tree::TerminalNode* EXISTS(); - GroupGraphPatternContext* groupGraphPattern(); + antlr4::tree::TerminalNode *NOT(); + antlr4::tree::TerminalNode *EXISTS(); + GroupGraphPatternContext *groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; NotExistsFuncContext* notExistsFunc(); - class AggregateContext : public antlr4::ParserRuleContext { - public: - AggregateContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class AggregateContext : public antlr4::ParserRuleContext { + public: + AggregateContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* COUNT(); - ExpressionContext* expression(); - antlr4::tree::TerminalNode* DISTINCT(); - antlr4::tree::TerminalNode* SUM(); - antlr4::tree::TerminalNode* MIN(); - antlr4::tree::TerminalNode* MAX(); - antlr4::tree::TerminalNode* AVG(); - antlr4::tree::TerminalNode* STDEV(); - antlr4::tree::TerminalNode* SAMPLE(); - antlr4::tree::TerminalNode* GROUP_CONCAT(); - antlr4::tree::TerminalNode* SEPARATOR(); - StringContext* string(); + antlr4::tree::TerminalNode *COUNT(); + ExpressionContext *expression(); + antlr4::tree::TerminalNode *DISTINCT(); + antlr4::tree::TerminalNode *SUM(); + antlr4::tree::TerminalNode *MIN(); + antlr4::tree::TerminalNode *MAX(); + antlr4::tree::TerminalNode *AVG(); + antlr4::tree::TerminalNode *STDEV(); + antlr4::tree::TerminalNode *SAMPLE(); + antlr4::tree::TerminalNode *GROUP_CONCAT(); + antlr4::tree::TerminalNode *SEPARATOR(); + StringContext *string(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; AggregateContext* aggregate(); - class IriOrFunctionContext : public antlr4::ParserRuleContext { - public: - IriOrFunctionContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class IriOrFunctionContext : public antlr4::ParserRuleContext { + public: + IriOrFunctionContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext* iri(); - ArgListContext* argList(); + IriContext *iri(); + ArgListContext *argList(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; IriOrFunctionContext* iriOrFunction(); - class RdfLiteralContext : public antlr4::ParserRuleContext { - public: - RdfLiteralContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class RdfLiteralContext : public antlr4::ParserRuleContext { + public: + RdfLiteralContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - StringContext* string(); - antlr4::tree::TerminalNode* LANGTAG(); - IriContext* iri(); + StringContext *string(); + antlr4::tree::TerminalNode *LANGTAG(); + IriContext *iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; RdfLiteralContext* rdfLiteral(); - class NumericLiteralContext : public antlr4::ParserRuleContext { - public: - NumericLiteralContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class NumericLiteralContext : public antlr4::ParserRuleContext { + public: + NumericLiteralContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - NumericLiteralUnsignedContext* numericLiteralUnsigned(); - NumericLiteralPositiveContext* numericLiteralPositive(); - NumericLiteralNegativeContext* numericLiteralNegative(); + NumericLiteralUnsignedContext *numericLiteralUnsigned(); + NumericLiteralPositiveContext *numericLiteralPositive(); + NumericLiteralNegativeContext *numericLiteralNegative(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; NumericLiteralContext* numericLiteral(); - class NumericLiteralUnsignedContext : public antlr4::ParserRuleContext { - public: - NumericLiteralUnsignedContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class NumericLiteralUnsignedContext : public antlr4::ParserRuleContext { + public: + NumericLiteralUnsignedContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* INTEGER(); - antlr4::tree::TerminalNode* DECIMAL(); - antlr4::tree::TerminalNode* DOUBLE(); + antlr4::tree::TerminalNode *INTEGER(); + antlr4::tree::TerminalNode *DECIMAL(); + antlr4::tree::TerminalNode *DOUBLE(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; NumericLiteralUnsignedContext* numericLiteralUnsigned(); - class NumericLiteralPositiveContext : public antlr4::ParserRuleContext { - public: - NumericLiteralPositiveContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class NumericLiteralPositiveContext : public antlr4::ParserRuleContext { + public: + NumericLiteralPositiveContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* INTEGER_POSITIVE(); - antlr4::tree::TerminalNode* DECIMAL_POSITIVE(); - antlr4::tree::TerminalNode* DOUBLE_POSITIVE(); + antlr4::tree::TerminalNode *INTEGER_POSITIVE(); + antlr4::tree::TerminalNode *DECIMAL_POSITIVE(); + antlr4::tree::TerminalNode *DOUBLE_POSITIVE(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; NumericLiteralPositiveContext* numericLiteralPositive(); - class NumericLiteralNegativeContext : public antlr4::ParserRuleContext { - public: - NumericLiteralNegativeContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class NumericLiteralNegativeContext : public antlr4::ParserRuleContext { + public: + NumericLiteralNegativeContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* INTEGER_NEGATIVE(); - antlr4::tree::TerminalNode* DECIMAL_NEGATIVE(); - antlr4::tree::TerminalNode* DOUBLE_NEGATIVE(); + antlr4::tree::TerminalNode *INTEGER_NEGATIVE(); + antlr4::tree::TerminalNode *DECIMAL_NEGATIVE(); + antlr4::tree::TerminalNode *DOUBLE_NEGATIVE(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; NumericLiteralNegativeContext* numericLiteralNegative(); - class BooleanLiteralContext : public antlr4::ParserRuleContext { - public: - BooleanLiteralContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class BooleanLiteralContext : public antlr4::ParserRuleContext { + public: + BooleanLiteralContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; BooleanLiteralContext* booleanLiteral(); - class StringContext : public antlr4::ParserRuleContext { - public: - StringContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class StringContext : public antlr4::ParserRuleContext { + public: + StringContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* STRING_LITERAL1(); - antlr4::tree::TerminalNode* STRING_LITERAL2(); - antlr4::tree::TerminalNode* STRING_LITERAL_LONG1(); - antlr4::tree::TerminalNode* STRING_LITERAL_LONG2(); + antlr4::tree::TerminalNode *STRING_LITERAL1(); + antlr4::tree::TerminalNode *STRING_LITERAL2(); + antlr4::tree::TerminalNode *STRING_LITERAL_LONG1(); + antlr4::tree::TerminalNode *STRING_LITERAL_LONG2(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; StringContext* string(); - class IriContext : public antlr4::ParserRuleContext { - public: - IriContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class IriContext : public antlr4::ParserRuleContext { + public: + IriContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IrirefContext* iriref(); - PrefixedNameContext* prefixedName(); - antlr4::tree::TerminalNode* PREFIX_LANGTAG(); + IrirefContext *iriref(); + PrefixedNameContext *prefixedName(); + antlr4::tree::TerminalNode *PREFIX_LANGTAG(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; IriContext* iri(); - class PrefixedNameContext : public antlr4::ParserRuleContext { - public: - PrefixedNameContext(antlr4::ParserRuleContext* parent, - size_t invokingState); + class PrefixedNameContext : public antlr4::ParserRuleContext { + public: + PrefixedNameContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PnameLnContext* pnameLn(); - PnameNsContext* pnameNs(); + PnameLnContext *pnameLn(); + PnameNsContext *pnameNs(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PrefixedNameContext* prefixedName(); - class BlankNodeContext : public antlr4::ParserRuleContext { - public: - BlankNodeContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class BlankNodeContext : public antlr4::ParserRuleContext { + public: + BlankNodeContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* BLANK_NODE_LABEL(); - antlr4::tree::TerminalNode* ANON(); + antlr4::tree::TerminalNode *BLANK_NODE_LABEL(); + antlr4::tree::TerminalNode *ANON(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; BlankNodeContext* blankNode(); - class IrirefContext : public antlr4::ParserRuleContext { - public: - IrirefContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class IrirefContext : public antlr4::ParserRuleContext { + public: + IrirefContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* IRI_REF(); + antlr4::tree::TerminalNode *IRI_REF(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; IrirefContext* iriref(); - class PnameLnContext : public antlr4::ParserRuleContext { - public: - PnameLnContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class PnameLnContext : public antlr4::ParserRuleContext { + public: + PnameLnContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* PNAME_LN(); + antlr4::tree::TerminalNode *PNAME_LN(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PnameLnContext* pnameLn(); - class PnameNsContext : public antlr4::ParserRuleContext { - public: - PnameNsContext(antlr4::ParserRuleContext* parent, size_t invokingState); + class PnameNsContext : public antlr4::ParserRuleContext { + public: + PnameNsContext(antlr4::ParserRuleContext *parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode* PNAME_NS(); + antlr4::tree::TerminalNode *PNAME_NS(); - virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; + virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; + }; PnameNsContext* pnameNs(); - // By default the static state used to implement the parser is lazily - // initialized during the first call to the constructor. You can call this - // function if you wish to initialize the static state ahead of time. + + // By default the static state used to implement the parser is lazily initialized during the first + // call to the constructor. You can call this function if you wish to initialize the static state + // ahead of time. static void initialize(); - private: +private: }; + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.cpp index de64a4a426..0c89624f68 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.cpp @@ -1,4 +1,7 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 + #include "SparqlAutomaticVisitor.h" + + diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.h b/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.h index 338b434ebe..beb6ac204f 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.h @@ -3,476 +3,336 @@ #pragma once -#include "SparqlAutomaticParser.h" + #include "antlr4-runtime.h" +#include "SparqlAutomaticParser.h" + + /** * This class defines an abstract visitor for a parse tree * produced by SparqlAutomaticParser. */ -class SparqlAutomaticVisitor : public antlr4::tree::AbstractParseTreeVisitor { - public: +class SparqlAutomaticVisitor : public antlr4::tree::AbstractParseTreeVisitor { +public: + /** * Visit parse trees produced by SparqlAutomaticParser. */ - virtual std::any visitQueryOrUpdate( - SparqlAutomaticParser::QueryOrUpdateContext* context) = 0; + virtual std::any visitQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext *context) = 0; + + virtual std::any visitQuery(SparqlAutomaticParser::QueryContext *context) = 0; - virtual std::any visitQuery(SparqlAutomaticParser::QueryContext* context) = 0; + virtual std::any visitPrologue(SparqlAutomaticParser::PrologueContext *context) = 0; - virtual std::any visitPrologue( - SparqlAutomaticParser::PrologueContext* context) = 0; + virtual std::any visitBaseDecl(SparqlAutomaticParser::BaseDeclContext *context) = 0; - virtual std::any visitBaseDecl( - SparqlAutomaticParser::BaseDeclContext* context) = 0; + virtual std::any visitPrefixDecl(SparqlAutomaticParser::PrefixDeclContext *context) = 0; - virtual std::any visitPrefixDecl( - SparqlAutomaticParser::PrefixDeclContext* context) = 0; + virtual std::any visitSelectQuery(SparqlAutomaticParser::SelectQueryContext *context) = 0; - virtual std::any visitSelectQuery( - SparqlAutomaticParser::SelectQueryContext* context) = 0; + virtual std::any visitSubSelect(SparqlAutomaticParser::SubSelectContext *context) = 0; - virtual std::any visitSubSelect( - SparqlAutomaticParser::SubSelectContext* context) = 0; + virtual std::any visitSelectClause(SparqlAutomaticParser::SelectClauseContext *context) = 0; - virtual std::any visitSelectClause( - SparqlAutomaticParser::SelectClauseContext* context) = 0; + virtual std::any visitVarOrAlias(SparqlAutomaticParser::VarOrAliasContext *context) = 0; - virtual std::any visitVarOrAlias( - SparqlAutomaticParser::VarOrAliasContext* context) = 0; + virtual std::any visitAlias(SparqlAutomaticParser::AliasContext *context) = 0; - virtual std::any visitAlias(SparqlAutomaticParser::AliasContext* context) = 0; + virtual std::any visitAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext *context) = 0; - virtual std::any visitAliasWithoutBrackets( - SparqlAutomaticParser::AliasWithoutBracketsContext* context) = 0; + virtual std::any visitConstructQuery(SparqlAutomaticParser::ConstructQueryContext *context) = 0; - virtual std::any visitConstructQuery( - SparqlAutomaticParser::ConstructQueryContext* context) = 0; + virtual std::any visitDescribeQuery(SparqlAutomaticParser::DescribeQueryContext *context) = 0; - virtual std::any visitDescribeQuery( - SparqlAutomaticParser::DescribeQueryContext* context) = 0; + virtual std::any visitAskQuery(SparqlAutomaticParser::AskQueryContext *context) = 0; - virtual std::any visitAskQuery( - SparqlAutomaticParser::AskQueryContext* context) = 0; + virtual std::any visitDatasetClause(SparqlAutomaticParser::DatasetClauseContext *context) = 0; - virtual std::any visitDatasetClause( - SparqlAutomaticParser::DatasetClauseContext* context) = 0; + virtual std::any visitDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext *context) = 0; - virtual std::any visitDefaultGraphClause( - SparqlAutomaticParser::DefaultGraphClauseContext* context) = 0; + virtual std::any visitNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext *context) = 0; - virtual std::any visitNamedGraphClause( - SparqlAutomaticParser::NamedGraphClauseContext* context) = 0; + virtual std::any visitSourceSelector(SparqlAutomaticParser::SourceSelectorContext *context) = 0; - virtual std::any visitSourceSelector( - SparqlAutomaticParser::SourceSelectorContext* context) = 0; + virtual std::any visitWhereClause(SparqlAutomaticParser::WhereClauseContext *context) = 0; - virtual std::any visitWhereClause( - SparqlAutomaticParser::WhereClauseContext* context) = 0; + virtual std::any visitSolutionModifier(SparqlAutomaticParser::SolutionModifierContext *context) = 0; - virtual std::any visitSolutionModifier( - SparqlAutomaticParser::SolutionModifierContext* context) = 0; + virtual std::any visitGroupClause(SparqlAutomaticParser::GroupClauseContext *context) = 0; - virtual std::any visitGroupClause( - SparqlAutomaticParser::GroupClauseContext* context) = 0; + virtual std::any visitGroupCondition(SparqlAutomaticParser::GroupConditionContext *context) = 0; - virtual std::any visitGroupCondition( - SparqlAutomaticParser::GroupConditionContext* context) = 0; + virtual std::any visitHavingClause(SparqlAutomaticParser::HavingClauseContext *context) = 0; - virtual std::any visitHavingClause( - SparqlAutomaticParser::HavingClauseContext* context) = 0; + virtual std::any visitHavingCondition(SparqlAutomaticParser::HavingConditionContext *context) = 0; - virtual std::any visitHavingCondition( - SparqlAutomaticParser::HavingConditionContext* context) = 0; + virtual std::any visitOrderClause(SparqlAutomaticParser::OrderClauseContext *context) = 0; - virtual std::any visitOrderClause( - SparqlAutomaticParser::OrderClauseContext* context) = 0; + virtual std::any visitOrderCondition(SparqlAutomaticParser::OrderConditionContext *context) = 0; - virtual std::any visitOrderCondition( - SparqlAutomaticParser::OrderConditionContext* context) = 0; + virtual std::any visitLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext *context) = 0; - virtual std::any visitLimitOffsetClauses( - SparqlAutomaticParser::LimitOffsetClausesContext* context) = 0; + virtual std::any visitLimitClause(SparqlAutomaticParser::LimitClauseContext *context) = 0; - virtual std::any visitLimitClause( - SparqlAutomaticParser::LimitClauseContext* context) = 0; + virtual std::any visitOffsetClause(SparqlAutomaticParser::OffsetClauseContext *context) = 0; - virtual std::any visitOffsetClause( - SparqlAutomaticParser::OffsetClauseContext* context) = 0; + virtual std::any visitTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext *context) = 0; - virtual std::any visitTextLimitClause( - SparqlAutomaticParser::TextLimitClauseContext* context) = 0; + virtual std::any visitValuesClause(SparqlAutomaticParser::ValuesClauseContext *context) = 0; - virtual std::any visitValuesClause( - SparqlAutomaticParser::ValuesClauseContext* context) = 0; + virtual std::any visitUpdate(SparqlAutomaticParser::UpdateContext *context) = 0; - virtual std::any visitUpdate( - SparqlAutomaticParser::UpdateContext* context) = 0; + virtual std::any visitUpdate1(SparqlAutomaticParser::Update1Context *context) = 0; - virtual std::any visitUpdate1( - SparqlAutomaticParser::Update1Context* context) = 0; + virtual std::any visitLoad(SparqlAutomaticParser::LoadContext *context) = 0; - virtual std::any visitLoad(SparqlAutomaticParser::LoadContext* context) = 0; + virtual std::any visitClear(SparqlAutomaticParser::ClearContext *context) = 0; - virtual std::any visitClear(SparqlAutomaticParser::ClearContext* context) = 0; + virtual std::any visitDrop(SparqlAutomaticParser::DropContext *context) = 0; - virtual std::any visitDrop(SparqlAutomaticParser::DropContext* context) = 0; + virtual std::any visitCreate(SparqlAutomaticParser::CreateContext *context) = 0; - virtual std::any visitCreate( - SparqlAutomaticParser::CreateContext* context) = 0; + virtual std::any visitAdd(SparqlAutomaticParser::AddContext *context) = 0; - virtual std::any visitAdd(SparqlAutomaticParser::AddContext* context) = 0; + virtual std::any visitMove(SparqlAutomaticParser::MoveContext *context) = 0; - virtual std::any visitMove(SparqlAutomaticParser::MoveContext* context) = 0; + virtual std::any visitCopy(SparqlAutomaticParser::CopyContext *context) = 0; - virtual std::any visitCopy(SparqlAutomaticParser::CopyContext* context) = 0; + virtual std::any visitInsertData(SparqlAutomaticParser::InsertDataContext *context) = 0; - virtual std::any visitInsertData( - SparqlAutomaticParser::InsertDataContext* context) = 0; + virtual std::any visitDeleteData(SparqlAutomaticParser::DeleteDataContext *context) = 0; - virtual std::any visitDeleteData( - SparqlAutomaticParser::DeleteDataContext* context) = 0; + virtual std::any visitDeleteWhere(SparqlAutomaticParser::DeleteWhereContext *context) = 0; - virtual std::any visitDeleteWhere( - SparqlAutomaticParser::DeleteWhereContext* context) = 0; + virtual std::any visitModify(SparqlAutomaticParser::ModifyContext *context) = 0; - virtual std::any visitModify( - SparqlAutomaticParser::ModifyContext* context) = 0; + virtual std::any visitDeleteClause(SparqlAutomaticParser::DeleteClauseContext *context) = 0; - virtual std::any visitDeleteClause( - SparqlAutomaticParser::DeleteClauseContext* context) = 0; + virtual std::any visitInsertClause(SparqlAutomaticParser::InsertClauseContext *context) = 0; - virtual std::any visitInsertClause( - SparqlAutomaticParser::InsertClauseContext* context) = 0; + virtual std::any visitUsingClause(SparqlAutomaticParser::UsingClauseContext *context) = 0; - virtual std::any visitUsingClause( - SparqlAutomaticParser::UsingClauseContext* context) = 0; + virtual std::any visitGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext *context) = 0; - virtual std::any visitGraphOrDefault( - SparqlAutomaticParser::GraphOrDefaultContext* context) = 0; + virtual std::any visitGraphRef(SparqlAutomaticParser::GraphRefContext *context) = 0; - virtual std::any visitGraphRef( - SparqlAutomaticParser::GraphRefContext* context) = 0; + virtual std::any visitGraphRefAll(SparqlAutomaticParser::GraphRefAllContext *context) = 0; - virtual std::any visitGraphRefAll( - SparqlAutomaticParser::GraphRefAllContext* context) = 0; + virtual std::any visitQuadPattern(SparqlAutomaticParser::QuadPatternContext *context) = 0; - virtual std::any visitQuadPattern( - SparqlAutomaticParser::QuadPatternContext* context) = 0; + virtual std::any visitQuadData(SparqlAutomaticParser::QuadDataContext *context) = 0; - virtual std::any visitQuadData( - SparqlAutomaticParser::QuadDataContext* context) = 0; + virtual std::any visitQuads(SparqlAutomaticParser::QuadsContext *context) = 0; - virtual std::any visitQuads(SparqlAutomaticParser::QuadsContext* context) = 0; + virtual std::any visitQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext *context) = 0; - virtual std::any visitQuadsNotTriples( - SparqlAutomaticParser::QuadsNotTriplesContext* context) = 0; + virtual std::any visitTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext *context) = 0; - virtual std::any visitTriplesTemplate( - SparqlAutomaticParser::TriplesTemplateContext* context) = 0; + virtual std::any visitGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext *context) = 0; - virtual std::any visitGroupGraphPattern( - SparqlAutomaticParser::GroupGraphPatternContext* context) = 0; + virtual std::any visitGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext *context) = 0; - virtual std::any visitGroupGraphPatternSub( - SparqlAutomaticParser::GroupGraphPatternSubContext* context) = 0; + virtual std::any visitGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext *context) = 0; - virtual std::any visitGraphPatternNotTriplesAndMaybeTriples( - SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* - context) = 0; + virtual std::any visitTriplesBlock(SparqlAutomaticParser::TriplesBlockContext *context) = 0; - virtual std::any visitTriplesBlock( - SparqlAutomaticParser::TriplesBlockContext* context) = 0; + virtual std::any visitGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext *context) = 0; - virtual std::any visitGraphPatternNotTriples( - SparqlAutomaticParser::GraphPatternNotTriplesContext* context) = 0; + virtual std::any visitOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext *context) = 0; - virtual std::any visitOptionalGraphPattern( - SparqlAutomaticParser::OptionalGraphPatternContext* context) = 0; + virtual std::any visitGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext *context) = 0; - virtual std::any visitGraphGraphPattern( - SparqlAutomaticParser::GraphGraphPatternContext* context) = 0; + virtual std::any visitServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext *context) = 0; - virtual std::any visitServiceGraphPattern( - SparqlAutomaticParser::ServiceGraphPatternContext* context) = 0; + virtual std::any visitBind(SparqlAutomaticParser::BindContext *context) = 0; - virtual std::any visitBind(SparqlAutomaticParser::BindContext* context) = 0; + virtual std::any visitInlineData(SparqlAutomaticParser::InlineDataContext *context) = 0; - virtual std::any visitInlineData( - SparqlAutomaticParser::InlineDataContext* context) = 0; + virtual std::any visitDataBlock(SparqlAutomaticParser::DataBlockContext *context) = 0; - virtual std::any visitDataBlock( - SparqlAutomaticParser::DataBlockContext* context) = 0; + virtual std::any visitInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext *context) = 0; - virtual std::any visitInlineDataOneVar( - SparqlAutomaticParser::InlineDataOneVarContext* context) = 0; + virtual std::any visitInlineDataFull(SparqlAutomaticParser::InlineDataFullContext *context) = 0; - virtual std::any visitInlineDataFull( - SparqlAutomaticParser::InlineDataFullContext* context) = 0; + virtual std::any visitDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext *context) = 0; - virtual std::any visitDataBlockSingle( - SparqlAutomaticParser::DataBlockSingleContext* context) = 0; + virtual std::any visitDataBlockValue(SparqlAutomaticParser::DataBlockValueContext *context) = 0; - virtual std::any visitDataBlockValue( - SparqlAutomaticParser::DataBlockValueContext* context) = 0; + virtual std::any visitMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext *context) = 0; - virtual std::any visitMinusGraphPattern( - SparqlAutomaticParser::MinusGraphPatternContext* context) = 0; + virtual std::any visitGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext *context) = 0; - virtual std::any visitGroupOrUnionGraphPattern( - SparqlAutomaticParser::GroupOrUnionGraphPatternContext* context) = 0; + virtual std::any visitFilterR(SparqlAutomaticParser::FilterRContext *context) = 0; - virtual std::any visitFilterR( - SparqlAutomaticParser::FilterRContext* context) = 0; + virtual std::any visitConstraint(SparqlAutomaticParser::ConstraintContext *context) = 0; - virtual std::any visitConstraint( - SparqlAutomaticParser::ConstraintContext* context) = 0; + virtual std::any visitFunctionCall(SparqlAutomaticParser::FunctionCallContext *context) = 0; - virtual std::any visitFunctionCall( - SparqlAutomaticParser::FunctionCallContext* context) = 0; + virtual std::any visitArgList(SparqlAutomaticParser::ArgListContext *context) = 0; - virtual std::any visitArgList( - SparqlAutomaticParser::ArgListContext* context) = 0; + virtual std::any visitExpressionList(SparqlAutomaticParser::ExpressionListContext *context) = 0; - virtual std::any visitExpressionList( - SparqlAutomaticParser::ExpressionListContext* context) = 0; + virtual std::any visitConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext *context) = 0; - virtual std::any visitConstructTemplate( - SparqlAutomaticParser::ConstructTemplateContext* context) = 0; + virtual std::any visitConstructTriples(SparqlAutomaticParser::ConstructTriplesContext *context) = 0; - virtual std::any visitConstructTriples( - SparqlAutomaticParser::ConstructTriplesContext* context) = 0; + virtual std::any visitTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext *context) = 0; - virtual std::any visitTriplesSameSubject( - SparqlAutomaticParser::TriplesSameSubjectContext* context) = 0; + virtual std::any visitPropertyList(SparqlAutomaticParser::PropertyListContext *context) = 0; - virtual std::any visitPropertyList( - SparqlAutomaticParser::PropertyListContext* context) = 0; + virtual std::any visitPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext *context) = 0; - virtual std::any visitPropertyListNotEmpty( - SparqlAutomaticParser::PropertyListNotEmptyContext* context) = 0; + virtual std::any visitVerb(SparqlAutomaticParser::VerbContext *context) = 0; - virtual std::any visitVerb(SparqlAutomaticParser::VerbContext* context) = 0; + virtual std::any visitObjectList(SparqlAutomaticParser::ObjectListContext *context) = 0; - virtual std::any visitObjectList( - SparqlAutomaticParser::ObjectListContext* context) = 0; + virtual std::any visitObjectR(SparqlAutomaticParser::ObjectRContext *context) = 0; - virtual std::any visitObjectR( - SparqlAutomaticParser::ObjectRContext* context) = 0; + virtual std::any visitTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext *context) = 0; - virtual std::any visitTriplesSameSubjectPath( - SparqlAutomaticParser::TriplesSameSubjectPathContext* context) = 0; + virtual std::any visitPropertyListPath(SparqlAutomaticParser::PropertyListPathContext *context) = 0; - virtual std::any visitPropertyListPath( - SparqlAutomaticParser::PropertyListPathContext* context) = 0; + virtual std::any visitPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext *context) = 0; - virtual std::any visitPropertyListPathNotEmpty( - SparqlAutomaticParser::PropertyListPathNotEmptyContext* context) = 0; + virtual std::any visitVerbPath(SparqlAutomaticParser::VerbPathContext *context) = 0; - virtual std::any visitVerbPath( - SparqlAutomaticParser::VerbPathContext* context) = 0; + virtual std::any visitVerbSimple(SparqlAutomaticParser::VerbSimpleContext *context) = 0; - virtual std::any visitVerbSimple( - SparqlAutomaticParser::VerbSimpleContext* context) = 0; + virtual std::any visitTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext *context) = 0; - virtual std::any visitTupleWithoutPath( - SparqlAutomaticParser::TupleWithoutPathContext* context) = 0; + virtual std::any visitTupleWithPath(SparqlAutomaticParser::TupleWithPathContext *context) = 0; - virtual std::any visitTupleWithPath( - SparqlAutomaticParser::TupleWithPathContext* context) = 0; + virtual std::any visitVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext *context) = 0; - virtual std::any visitVerbPathOrSimple( - SparqlAutomaticParser::VerbPathOrSimpleContext* context) = 0; + virtual std::any visitObjectListPath(SparqlAutomaticParser::ObjectListPathContext *context) = 0; - virtual std::any visitObjectListPath( - SparqlAutomaticParser::ObjectListPathContext* context) = 0; + virtual std::any visitObjectPath(SparqlAutomaticParser::ObjectPathContext *context) = 0; - virtual std::any visitObjectPath( - SparqlAutomaticParser::ObjectPathContext* context) = 0; + virtual std::any visitPath(SparqlAutomaticParser::PathContext *context) = 0; - virtual std::any visitPath(SparqlAutomaticParser::PathContext* context) = 0; + virtual std::any visitPathAlternative(SparqlAutomaticParser::PathAlternativeContext *context) = 0; - virtual std::any visitPathAlternative( - SparqlAutomaticParser::PathAlternativeContext* context) = 0; + virtual std::any visitPathSequence(SparqlAutomaticParser::PathSequenceContext *context) = 0; - virtual std::any visitPathSequence( - SparqlAutomaticParser::PathSequenceContext* context) = 0; + virtual std::any visitPathElt(SparqlAutomaticParser::PathEltContext *context) = 0; - virtual std::any visitPathElt( - SparqlAutomaticParser::PathEltContext* context) = 0; + virtual std::any visitPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext *context) = 0; - virtual std::any visitPathEltOrInverse( - SparqlAutomaticParser::PathEltOrInverseContext* context) = 0; + virtual std::any visitPathMod(SparqlAutomaticParser::PathModContext *context) = 0; - virtual std::any visitPathMod( - SparqlAutomaticParser::PathModContext* context) = 0; + virtual std::any visitPathPrimary(SparqlAutomaticParser::PathPrimaryContext *context) = 0; - virtual std::any visitPathPrimary( - SparqlAutomaticParser::PathPrimaryContext* context) = 0; + virtual std::any visitPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext *context) = 0; - virtual std::any visitPathNegatedPropertySet( - SparqlAutomaticParser::PathNegatedPropertySetContext* context) = 0; + virtual std::any visitPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext *context) = 0; - virtual std::any visitPathOneInPropertySet( - SparqlAutomaticParser::PathOneInPropertySetContext* context) = 0; + virtual std::any visitInteger(SparqlAutomaticParser::IntegerContext *context) = 0; - virtual std::any visitInteger( - SparqlAutomaticParser::IntegerContext* context) = 0; + virtual std::any visitTriplesNode(SparqlAutomaticParser::TriplesNodeContext *context) = 0; - virtual std::any visitTriplesNode( - SparqlAutomaticParser::TriplesNodeContext* context) = 0; + virtual std::any visitBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext *context) = 0; - virtual std::any visitBlankNodePropertyList( - SparqlAutomaticParser::BlankNodePropertyListContext* context) = 0; + virtual std::any visitTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext *context) = 0; - virtual std::any visitTriplesNodePath( - SparqlAutomaticParser::TriplesNodePathContext* context) = 0; + virtual std::any visitBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext *context) = 0; - virtual std::any visitBlankNodePropertyListPath( - SparqlAutomaticParser::BlankNodePropertyListPathContext* context) = 0; + virtual std::any visitCollection(SparqlAutomaticParser::CollectionContext *context) = 0; - virtual std::any visitCollection( - SparqlAutomaticParser::CollectionContext* context) = 0; + virtual std::any visitCollectionPath(SparqlAutomaticParser::CollectionPathContext *context) = 0; - virtual std::any visitCollectionPath( - SparqlAutomaticParser::CollectionPathContext* context) = 0; + virtual std::any visitGraphNode(SparqlAutomaticParser::GraphNodeContext *context) = 0; - virtual std::any visitGraphNode( - SparqlAutomaticParser::GraphNodeContext* context) = 0; + virtual std::any visitGraphNodePath(SparqlAutomaticParser::GraphNodePathContext *context) = 0; - virtual std::any visitGraphNodePath( - SparqlAutomaticParser::GraphNodePathContext* context) = 0; + virtual std::any visitVarOrTerm(SparqlAutomaticParser::VarOrTermContext *context) = 0; - virtual std::any visitVarOrTerm( - SparqlAutomaticParser::VarOrTermContext* context) = 0; + virtual std::any visitVarOrIri(SparqlAutomaticParser::VarOrIriContext *context) = 0; - virtual std::any visitVarOrIri( - SparqlAutomaticParser::VarOrIriContext* context) = 0; + virtual std::any visitVar(SparqlAutomaticParser::VarContext *context) = 0; - virtual std::any visitVar(SparqlAutomaticParser::VarContext* context) = 0; + virtual std::any visitGraphTerm(SparqlAutomaticParser::GraphTermContext *context) = 0; - virtual std::any visitGraphTerm( - SparqlAutomaticParser::GraphTermContext* context) = 0; + virtual std::any visitExpression(SparqlAutomaticParser::ExpressionContext *context) = 0; - virtual std::any visitExpression( - SparqlAutomaticParser::ExpressionContext* context) = 0; + virtual std::any visitConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext *context) = 0; - virtual std::any visitConditionalOrExpression( - SparqlAutomaticParser::ConditionalOrExpressionContext* context) = 0; + virtual std::any visitConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext *context) = 0; - virtual std::any visitConditionalAndExpression( - SparqlAutomaticParser::ConditionalAndExpressionContext* context) = 0; + virtual std::any visitValueLogical(SparqlAutomaticParser::ValueLogicalContext *context) = 0; - virtual std::any visitValueLogical( - SparqlAutomaticParser::ValueLogicalContext* context) = 0; + virtual std::any visitRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext *context) = 0; - virtual std::any visitRelationalExpression( - SparqlAutomaticParser::RelationalExpressionContext* context) = 0; + virtual std::any visitNumericExpression(SparqlAutomaticParser::NumericExpressionContext *context) = 0; - virtual std::any visitNumericExpression( - SparqlAutomaticParser::NumericExpressionContext* context) = 0; + virtual std::any visitAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext *context) = 0; - virtual std::any visitAdditiveExpression( - SparqlAutomaticParser::AdditiveExpressionContext* context) = 0; + virtual std::any visitMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext *context) = 0; - virtual std::any visitMultiplicativeExpressionWithSign( - SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* - context) = 0; + virtual std::any visitPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext *context) = 0; - virtual std::any visitPlusSubexpression( - SparqlAutomaticParser::PlusSubexpressionContext* context) = 0; + virtual std::any visitMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext *context) = 0; - virtual std::any visitMinusSubexpression( - SparqlAutomaticParser::MinusSubexpressionContext* context) = 0; + virtual std::any visitMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext *context) = 0; - virtual std::any visitMultiplicativeExpressionWithLeadingSignButNoSpace( - SparqlAutomaticParser:: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* - context) = 0; + virtual std::any visitMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext *context) = 0; - virtual std::any visitMultiplicativeExpression( - SparqlAutomaticParser::MultiplicativeExpressionContext* context) = 0; + virtual std::any visitMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext *context) = 0; - virtual std::any visitMultiplyOrDivideExpression( - SparqlAutomaticParser::MultiplyOrDivideExpressionContext* context) = 0; + virtual std::any visitMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext *context) = 0; - virtual std::any visitMultiplyExpression( - SparqlAutomaticParser::MultiplyExpressionContext* context) = 0; + virtual std::any visitDivideExpression(SparqlAutomaticParser::DivideExpressionContext *context) = 0; - virtual std::any visitDivideExpression( - SparqlAutomaticParser::DivideExpressionContext* context) = 0; + virtual std::any visitUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext *context) = 0; - virtual std::any visitUnaryExpression( - SparqlAutomaticParser::UnaryExpressionContext* context) = 0; + virtual std::any visitPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext *context) = 0; - virtual std::any visitPrimaryExpression( - SparqlAutomaticParser::PrimaryExpressionContext* context) = 0; + virtual std::any visitBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext *context) = 0; - virtual std::any visitBrackettedExpression( - SparqlAutomaticParser::BrackettedExpressionContext* context) = 0; + virtual std::any visitBuiltInCall(SparqlAutomaticParser::BuiltInCallContext *context) = 0; - virtual std::any visitBuiltInCall( - SparqlAutomaticParser::BuiltInCallContext* context) = 0; + virtual std::any visitRegexExpression(SparqlAutomaticParser::RegexExpressionContext *context) = 0; - virtual std::any visitRegexExpression( - SparqlAutomaticParser::RegexExpressionContext* context) = 0; + virtual std::any visitLangExpression(SparqlAutomaticParser::LangExpressionContext *context) = 0; - virtual std::any visitLangExpression( - SparqlAutomaticParser::LangExpressionContext* context) = 0; + virtual std::any visitSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext *context) = 0; - virtual std::any visitSubstringExpression( - SparqlAutomaticParser::SubstringExpressionContext* context) = 0; + virtual std::any visitStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext *context) = 0; - virtual std::any visitStrReplaceExpression( - SparqlAutomaticParser::StrReplaceExpressionContext* context) = 0; + virtual std::any visitExistsFunc(SparqlAutomaticParser::ExistsFuncContext *context) = 0; - virtual std::any visitExistsFunc( - SparqlAutomaticParser::ExistsFuncContext* context) = 0; + virtual std::any visitNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext *context) = 0; - virtual std::any visitNotExistsFunc( - SparqlAutomaticParser::NotExistsFuncContext* context) = 0; + virtual std::any visitAggregate(SparqlAutomaticParser::AggregateContext *context) = 0; - virtual std::any visitAggregate( - SparqlAutomaticParser::AggregateContext* context) = 0; + virtual std::any visitIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext *context) = 0; - virtual std::any visitIriOrFunction( - SparqlAutomaticParser::IriOrFunctionContext* context) = 0; + virtual std::any visitRdfLiteral(SparqlAutomaticParser::RdfLiteralContext *context) = 0; - virtual std::any visitRdfLiteral( - SparqlAutomaticParser::RdfLiteralContext* context) = 0; + virtual std::any visitNumericLiteral(SparqlAutomaticParser::NumericLiteralContext *context) = 0; - virtual std::any visitNumericLiteral( - SparqlAutomaticParser::NumericLiteralContext* context) = 0; + virtual std::any visitNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext *context) = 0; - virtual std::any visitNumericLiteralUnsigned( - SparqlAutomaticParser::NumericLiteralUnsignedContext* context) = 0; + virtual std::any visitNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext *context) = 0; - virtual std::any visitNumericLiteralPositive( - SparqlAutomaticParser::NumericLiteralPositiveContext* context) = 0; + virtual std::any visitNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext *context) = 0; - virtual std::any visitNumericLiteralNegative( - SparqlAutomaticParser::NumericLiteralNegativeContext* context) = 0; + virtual std::any visitBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext *context) = 0; - virtual std::any visitBooleanLiteral( - SparqlAutomaticParser::BooleanLiteralContext* context) = 0; + virtual std::any visitString(SparqlAutomaticParser::StringContext *context) = 0; - virtual std::any visitString( - SparqlAutomaticParser::StringContext* context) = 0; + virtual std::any visitIri(SparqlAutomaticParser::IriContext *context) = 0; - virtual std::any visitIri(SparqlAutomaticParser::IriContext* context) = 0; + virtual std::any visitPrefixedName(SparqlAutomaticParser::PrefixedNameContext *context) = 0; - virtual std::any visitPrefixedName( - SparqlAutomaticParser::PrefixedNameContext* context) = 0; + virtual std::any visitBlankNode(SparqlAutomaticParser::BlankNodeContext *context) = 0; - virtual std::any visitBlankNode( - SparqlAutomaticParser::BlankNodeContext* context) = 0; + virtual std::any visitIriref(SparqlAutomaticParser::IrirefContext *context) = 0; - virtual std::any visitIriref( - SparqlAutomaticParser::IrirefContext* context) = 0; + virtual std::any visitPnameLn(SparqlAutomaticParser::PnameLnContext *context) = 0; + + virtual std::any visitPnameNs(SparqlAutomaticParser::PnameNsContext *context) = 0; - virtual std::any visitPnameLn( - SparqlAutomaticParser::PnameLnContext* context) = 0; - virtual std::any visitPnameNs( - SparqlAutomaticParser::PnameNsContext* context) = 0; }; + From 209e95ea595dd6d36c45ddffff036d17b659c8a8 Mon Sep 17 00:00:00 2001 From: ullingerc Date: Mon, 4 Nov 2024 14:01:19 +0100 Subject: [PATCH 07/11] clang-format --- .../generated/SparqlAutomaticBaseListener.cpp | 3 - .../generated/SparqlAutomaticBaseListener.h | 1289 +- .../generated/SparqlAutomaticBaseVisitor.cpp | 3 - .../generated/SparqlAutomaticBaseVisitor.h | 482 +- .../generated/SparqlAutomaticLexer.cpp | 2366 +++- .../generated/SparqlAutomaticLexer.h | 230 +- .../generated/SparqlAutomaticListener.cpp | 3 - .../generated/SparqlAutomaticListener.h | 1189 +- .../generated/SparqlAutomaticParser.cpp | 10620 +++++++++------- .../generated/SparqlAutomaticParser.h | 3512 ++--- .../generated/SparqlAutomaticVisitor.cpp | 3 - .../generated/SparqlAutomaticVisitor.h | 474 +- 12 files changed, 11904 insertions(+), 8270 deletions(-) diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.cpp index 9ad9387785..9200d8553f 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.cpp @@ -1,7 +1,4 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 - #include "SparqlAutomaticBaseListener.h" - - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.h b/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.h index 4e8500d18a..87394990a8 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticBaseListener.h @@ -3,495 +3,812 @@ #pragma once - -#include "antlr4-runtime.h" #include "SparqlAutomaticListener.h" - +#include "antlr4-runtime.h" /** * This class provides an empty implementation of SparqlAutomaticListener, - * which can be extended to create a listener which only needs to handle a subset - * of the available methods. + * which can be extended to create a listener which only needs to handle a + * subset of the available methods. */ -class SparqlAutomaticBaseListener : public SparqlAutomaticListener { -public: - - virtual void enterQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext * /*ctx*/) override { } - virtual void exitQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext * /*ctx*/) override { } - - virtual void enterQuery(SparqlAutomaticParser::QueryContext * /*ctx*/) override { } - virtual void exitQuery(SparqlAutomaticParser::QueryContext * /*ctx*/) override { } - - virtual void enterPrologue(SparqlAutomaticParser::PrologueContext * /*ctx*/) override { } - virtual void exitPrologue(SparqlAutomaticParser::PrologueContext * /*ctx*/) override { } - - virtual void enterBaseDecl(SparqlAutomaticParser::BaseDeclContext * /*ctx*/) override { } - virtual void exitBaseDecl(SparqlAutomaticParser::BaseDeclContext * /*ctx*/) override { } - - virtual void enterPrefixDecl(SparqlAutomaticParser::PrefixDeclContext * /*ctx*/) override { } - virtual void exitPrefixDecl(SparqlAutomaticParser::PrefixDeclContext * /*ctx*/) override { } - - virtual void enterSelectQuery(SparqlAutomaticParser::SelectQueryContext * /*ctx*/) override { } - virtual void exitSelectQuery(SparqlAutomaticParser::SelectQueryContext * /*ctx*/) override { } - - virtual void enterSubSelect(SparqlAutomaticParser::SubSelectContext * /*ctx*/) override { } - virtual void exitSubSelect(SparqlAutomaticParser::SubSelectContext * /*ctx*/) override { } - - virtual void enterSelectClause(SparqlAutomaticParser::SelectClauseContext * /*ctx*/) override { } - virtual void exitSelectClause(SparqlAutomaticParser::SelectClauseContext * /*ctx*/) override { } - - virtual void enterVarOrAlias(SparqlAutomaticParser::VarOrAliasContext * /*ctx*/) override { } - virtual void exitVarOrAlias(SparqlAutomaticParser::VarOrAliasContext * /*ctx*/) override { } - - virtual void enterAlias(SparqlAutomaticParser::AliasContext * /*ctx*/) override { } - virtual void exitAlias(SparqlAutomaticParser::AliasContext * /*ctx*/) override { } - - virtual void enterAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext * /*ctx*/) override { } - virtual void exitAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext * /*ctx*/) override { } - - virtual void enterConstructQuery(SparqlAutomaticParser::ConstructQueryContext * /*ctx*/) override { } - virtual void exitConstructQuery(SparqlAutomaticParser::ConstructQueryContext * /*ctx*/) override { } - - virtual void enterDescribeQuery(SparqlAutomaticParser::DescribeQueryContext * /*ctx*/) override { } - virtual void exitDescribeQuery(SparqlAutomaticParser::DescribeQueryContext * /*ctx*/) override { } - - virtual void enterAskQuery(SparqlAutomaticParser::AskQueryContext * /*ctx*/) override { } - virtual void exitAskQuery(SparqlAutomaticParser::AskQueryContext * /*ctx*/) override { } - - virtual void enterDatasetClause(SparqlAutomaticParser::DatasetClauseContext * /*ctx*/) override { } - virtual void exitDatasetClause(SparqlAutomaticParser::DatasetClauseContext * /*ctx*/) override { } - - virtual void enterDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext * /*ctx*/) override { } - virtual void exitDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext * /*ctx*/) override { } - - virtual void enterNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext * /*ctx*/) override { } - virtual void exitNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext * /*ctx*/) override { } - - virtual void enterSourceSelector(SparqlAutomaticParser::SourceSelectorContext * /*ctx*/) override { } - virtual void exitSourceSelector(SparqlAutomaticParser::SourceSelectorContext * /*ctx*/) override { } - - virtual void enterWhereClause(SparqlAutomaticParser::WhereClauseContext * /*ctx*/) override { } - virtual void exitWhereClause(SparqlAutomaticParser::WhereClauseContext * /*ctx*/) override { } - - virtual void enterSolutionModifier(SparqlAutomaticParser::SolutionModifierContext * /*ctx*/) override { } - virtual void exitSolutionModifier(SparqlAutomaticParser::SolutionModifierContext * /*ctx*/) override { } - - virtual void enterGroupClause(SparqlAutomaticParser::GroupClauseContext * /*ctx*/) override { } - virtual void exitGroupClause(SparqlAutomaticParser::GroupClauseContext * /*ctx*/) override { } - - virtual void enterGroupCondition(SparqlAutomaticParser::GroupConditionContext * /*ctx*/) override { } - virtual void exitGroupCondition(SparqlAutomaticParser::GroupConditionContext * /*ctx*/) override { } - - virtual void enterHavingClause(SparqlAutomaticParser::HavingClauseContext * /*ctx*/) override { } - virtual void exitHavingClause(SparqlAutomaticParser::HavingClauseContext * /*ctx*/) override { } - - virtual void enterHavingCondition(SparqlAutomaticParser::HavingConditionContext * /*ctx*/) override { } - virtual void exitHavingCondition(SparqlAutomaticParser::HavingConditionContext * /*ctx*/) override { } - - virtual void enterOrderClause(SparqlAutomaticParser::OrderClauseContext * /*ctx*/) override { } - virtual void exitOrderClause(SparqlAutomaticParser::OrderClauseContext * /*ctx*/) override { } - - virtual void enterOrderCondition(SparqlAutomaticParser::OrderConditionContext * /*ctx*/) override { } - virtual void exitOrderCondition(SparqlAutomaticParser::OrderConditionContext * /*ctx*/) override { } - - virtual void enterLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext * /*ctx*/) override { } - virtual void exitLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext * /*ctx*/) override { } - - virtual void enterLimitClause(SparqlAutomaticParser::LimitClauseContext * /*ctx*/) override { } - virtual void exitLimitClause(SparqlAutomaticParser::LimitClauseContext * /*ctx*/) override { } - - virtual void enterOffsetClause(SparqlAutomaticParser::OffsetClauseContext * /*ctx*/) override { } - virtual void exitOffsetClause(SparqlAutomaticParser::OffsetClauseContext * /*ctx*/) override { } - - virtual void enterTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext * /*ctx*/) override { } - virtual void exitTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext * /*ctx*/) override { } - - virtual void enterValuesClause(SparqlAutomaticParser::ValuesClauseContext * /*ctx*/) override { } - virtual void exitValuesClause(SparqlAutomaticParser::ValuesClauseContext * /*ctx*/) override { } - - virtual void enterUpdate(SparqlAutomaticParser::UpdateContext * /*ctx*/) override { } - virtual void exitUpdate(SparqlAutomaticParser::UpdateContext * /*ctx*/) override { } - - virtual void enterUpdate1(SparqlAutomaticParser::Update1Context * /*ctx*/) override { } - virtual void exitUpdate1(SparqlAutomaticParser::Update1Context * /*ctx*/) override { } - - virtual void enterLoad(SparqlAutomaticParser::LoadContext * /*ctx*/) override { } - virtual void exitLoad(SparqlAutomaticParser::LoadContext * /*ctx*/) override { } - - virtual void enterClear(SparqlAutomaticParser::ClearContext * /*ctx*/) override { } - virtual void exitClear(SparqlAutomaticParser::ClearContext * /*ctx*/) override { } - - virtual void enterDrop(SparqlAutomaticParser::DropContext * /*ctx*/) override { } - virtual void exitDrop(SparqlAutomaticParser::DropContext * /*ctx*/) override { } - - virtual void enterCreate(SparqlAutomaticParser::CreateContext * /*ctx*/) override { } - virtual void exitCreate(SparqlAutomaticParser::CreateContext * /*ctx*/) override { } - - virtual void enterAdd(SparqlAutomaticParser::AddContext * /*ctx*/) override { } - virtual void exitAdd(SparqlAutomaticParser::AddContext * /*ctx*/) override { } - - virtual void enterMove(SparqlAutomaticParser::MoveContext * /*ctx*/) override { } - virtual void exitMove(SparqlAutomaticParser::MoveContext * /*ctx*/) override { } - - virtual void enterCopy(SparqlAutomaticParser::CopyContext * /*ctx*/) override { } - virtual void exitCopy(SparqlAutomaticParser::CopyContext * /*ctx*/) override { } - - virtual void enterInsertData(SparqlAutomaticParser::InsertDataContext * /*ctx*/) override { } - virtual void exitInsertData(SparqlAutomaticParser::InsertDataContext * /*ctx*/) override { } - - virtual void enterDeleteData(SparqlAutomaticParser::DeleteDataContext * /*ctx*/) override { } - virtual void exitDeleteData(SparqlAutomaticParser::DeleteDataContext * /*ctx*/) override { } - - virtual void enterDeleteWhere(SparqlAutomaticParser::DeleteWhereContext * /*ctx*/) override { } - virtual void exitDeleteWhere(SparqlAutomaticParser::DeleteWhereContext * /*ctx*/) override { } - - virtual void enterModify(SparqlAutomaticParser::ModifyContext * /*ctx*/) override { } - virtual void exitModify(SparqlAutomaticParser::ModifyContext * /*ctx*/) override { } - - virtual void enterDeleteClause(SparqlAutomaticParser::DeleteClauseContext * /*ctx*/) override { } - virtual void exitDeleteClause(SparqlAutomaticParser::DeleteClauseContext * /*ctx*/) override { } - - virtual void enterInsertClause(SparqlAutomaticParser::InsertClauseContext * /*ctx*/) override { } - virtual void exitInsertClause(SparqlAutomaticParser::InsertClauseContext * /*ctx*/) override { } - - virtual void enterUsingClause(SparqlAutomaticParser::UsingClauseContext * /*ctx*/) override { } - virtual void exitUsingClause(SparqlAutomaticParser::UsingClauseContext * /*ctx*/) override { } - - virtual void enterGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext * /*ctx*/) override { } - virtual void exitGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext * /*ctx*/) override { } - - virtual void enterGraphRef(SparqlAutomaticParser::GraphRefContext * /*ctx*/) override { } - virtual void exitGraphRef(SparqlAutomaticParser::GraphRefContext * /*ctx*/) override { } - - virtual void enterGraphRefAll(SparqlAutomaticParser::GraphRefAllContext * /*ctx*/) override { } - virtual void exitGraphRefAll(SparqlAutomaticParser::GraphRefAllContext * /*ctx*/) override { } - - virtual void enterQuadPattern(SparqlAutomaticParser::QuadPatternContext * /*ctx*/) override { } - virtual void exitQuadPattern(SparqlAutomaticParser::QuadPatternContext * /*ctx*/) override { } - - virtual void enterQuadData(SparqlAutomaticParser::QuadDataContext * /*ctx*/) override { } - virtual void exitQuadData(SparqlAutomaticParser::QuadDataContext * /*ctx*/) override { } - - virtual void enterQuads(SparqlAutomaticParser::QuadsContext * /*ctx*/) override { } - virtual void exitQuads(SparqlAutomaticParser::QuadsContext * /*ctx*/) override { } - - virtual void enterQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext * /*ctx*/) override { } - virtual void exitQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext * /*ctx*/) override { } - - virtual void enterTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext * /*ctx*/) override { } - virtual void exitTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext * /*ctx*/) override { } - - virtual void enterGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext * /*ctx*/) override { } - virtual void exitGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext * /*ctx*/) override { } - - virtual void enterGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext * /*ctx*/) override { } - virtual void exitGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext * /*ctx*/) override { } - - virtual void enterGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext * /*ctx*/) override { } - virtual void exitGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext * /*ctx*/) override { } - - virtual void enterTriplesBlock(SparqlAutomaticParser::TriplesBlockContext * /*ctx*/) override { } - virtual void exitTriplesBlock(SparqlAutomaticParser::TriplesBlockContext * /*ctx*/) override { } - - virtual void enterGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext * /*ctx*/) override { } - virtual void exitGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext * /*ctx*/) override { } - - virtual void enterOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext * /*ctx*/) override { } - virtual void exitOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext * /*ctx*/) override { } - - virtual void enterGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext * /*ctx*/) override { } - virtual void exitGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext * /*ctx*/) override { } - - virtual void enterServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext * /*ctx*/) override { } - virtual void exitServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext * /*ctx*/) override { } - - virtual void enterBind(SparqlAutomaticParser::BindContext * /*ctx*/) override { } - virtual void exitBind(SparqlAutomaticParser::BindContext * /*ctx*/) override { } - - virtual void enterInlineData(SparqlAutomaticParser::InlineDataContext * /*ctx*/) override { } - virtual void exitInlineData(SparqlAutomaticParser::InlineDataContext * /*ctx*/) override { } - - virtual void enterDataBlock(SparqlAutomaticParser::DataBlockContext * /*ctx*/) override { } - virtual void exitDataBlock(SparqlAutomaticParser::DataBlockContext * /*ctx*/) override { } - - virtual void enterInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext * /*ctx*/) override { } - virtual void exitInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext * /*ctx*/) override { } - - virtual void enterInlineDataFull(SparqlAutomaticParser::InlineDataFullContext * /*ctx*/) override { } - virtual void exitInlineDataFull(SparqlAutomaticParser::InlineDataFullContext * /*ctx*/) override { } - - virtual void enterDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext * /*ctx*/) override { } - virtual void exitDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext * /*ctx*/) override { } - - virtual void enterDataBlockValue(SparqlAutomaticParser::DataBlockValueContext * /*ctx*/) override { } - virtual void exitDataBlockValue(SparqlAutomaticParser::DataBlockValueContext * /*ctx*/) override { } - - virtual void enterMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext * /*ctx*/) override { } - virtual void exitMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext * /*ctx*/) override { } - - virtual void enterGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext * /*ctx*/) override { } - virtual void exitGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext * /*ctx*/) override { } - - virtual void enterFilterR(SparqlAutomaticParser::FilterRContext * /*ctx*/) override { } - virtual void exitFilterR(SparqlAutomaticParser::FilterRContext * /*ctx*/) override { } - - virtual void enterConstraint(SparqlAutomaticParser::ConstraintContext * /*ctx*/) override { } - virtual void exitConstraint(SparqlAutomaticParser::ConstraintContext * /*ctx*/) override { } - - virtual void enterFunctionCall(SparqlAutomaticParser::FunctionCallContext * /*ctx*/) override { } - virtual void exitFunctionCall(SparqlAutomaticParser::FunctionCallContext * /*ctx*/) override { } - - virtual void enterArgList(SparqlAutomaticParser::ArgListContext * /*ctx*/) override { } - virtual void exitArgList(SparqlAutomaticParser::ArgListContext * /*ctx*/) override { } - - virtual void enterExpressionList(SparqlAutomaticParser::ExpressionListContext * /*ctx*/) override { } - virtual void exitExpressionList(SparqlAutomaticParser::ExpressionListContext * /*ctx*/) override { } - - virtual void enterConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext * /*ctx*/) override { } - virtual void exitConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext * /*ctx*/) override { } - - virtual void enterConstructTriples(SparqlAutomaticParser::ConstructTriplesContext * /*ctx*/) override { } - virtual void exitConstructTriples(SparqlAutomaticParser::ConstructTriplesContext * /*ctx*/) override { } - - virtual void enterTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext * /*ctx*/) override { } - virtual void exitTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext * /*ctx*/) override { } - - virtual void enterPropertyList(SparqlAutomaticParser::PropertyListContext * /*ctx*/) override { } - virtual void exitPropertyList(SparqlAutomaticParser::PropertyListContext * /*ctx*/) override { } - - virtual void enterPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext * /*ctx*/) override { } - virtual void exitPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext * /*ctx*/) override { } - - virtual void enterVerb(SparqlAutomaticParser::VerbContext * /*ctx*/) override { } - virtual void exitVerb(SparqlAutomaticParser::VerbContext * /*ctx*/) override { } - - virtual void enterObjectList(SparqlAutomaticParser::ObjectListContext * /*ctx*/) override { } - virtual void exitObjectList(SparqlAutomaticParser::ObjectListContext * /*ctx*/) override { } - - virtual void enterObjectR(SparqlAutomaticParser::ObjectRContext * /*ctx*/) override { } - virtual void exitObjectR(SparqlAutomaticParser::ObjectRContext * /*ctx*/) override { } - - virtual void enterTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext * /*ctx*/) override { } - virtual void exitTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext * /*ctx*/) override { } - - virtual void enterPropertyListPath(SparqlAutomaticParser::PropertyListPathContext * /*ctx*/) override { } - virtual void exitPropertyListPath(SparqlAutomaticParser::PropertyListPathContext * /*ctx*/) override { } - - virtual void enterPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext * /*ctx*/) override { } - virtual void exitPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext * /*ctx*/) override { } - - virtual void enterVerbPath(SparqlAutomaticParser::VerbPathContext * /*ctx*/) override { } - virtual void exitVerbPath(SparqlAutomaticParser::VerbPathContext * /*ctx*/) override { } - - virtual void enterVerbSimple(SparqlAutomaticParser::VerbSimpleContext * /*ctx*/) override { } - virtual void exitVerbSimple(SparqlAutomaticParser::VerbSimpleContext * /*ctx*/) override { } - - virtual void enterTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext * /*ctx*/) override { } - virtual void exitTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext * /*ctx*/) override { } - - virtual void enterTupleWithPath(SparqlAutomaticParser::TupleWithPathContext * /*ctx*/) override { } - virtual void exitTupleWithPath(SparqlAutomaticParser::TupleWithPathContext * /*ctx*/) override { } - - virtual void enterVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext * /*ctx*/) override { } - virtual void exitVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext * /*ctx*/) override { } - - virtual void enterObjectListPath(SparqlAutomaticParser::ObjectListPathContext * /*ctx*/) override { } - virtual void exitObjectListPath(SparqlAutomaticParser::ObjectListPathContext * /*ctx*/) override { } - - virtual void enterObjectPath(SparqlAutomaticParser::ObjectPathContext * /*ctx*/) override { } - virtual void exitObjectPath(SparqlAutomaticParser::ObjectPathContext * /*ctx*/) override { } - - virtual void enterPath(SparqlAutomaticParser::PathContext * /*ctx*/) override { } - virtual void exitPath(SparqlAutomaticParser::PathContext * /*ctx*/) override { } - - virtual void enterPathAlternative(SparqlAutomaticParser::PathAlternativeContext * /*ctx*/) override { } - virtual void exitPathAlternative(SparqlAutomaticParser::PathAlternativeContext * /*ctx*/) override { } - - virtual void enterPathSequence(SparqlAutomaticParser::PathSequenceContext * /*ctx*/) override { } - virtual void exitPathSequence(SparqlAutomaticParser::PathSequenceContext * /*ctx*/) override { } - - virtual void enterPathElt(SparqlAutomaticParser::PathEltContext * /*ctx*/) override { } - virtual void exitPathElt(SparqlAutomaticParser::PathEltContext * /*ctx*/) override { } - - virtual void enterPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext * /*ctx*/) override { } - virtual void exitPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext * /*ctx*/) override { } - - virtual void enterPathMod(SparqlAutomaticParser::PathModContext * /*ctx*/) override { } - virtual void exitPathMod(SparqlAutomaticParser::PathModContext * /*ctx*/) override { } - - virtual void enterPathPrimary(SparqlAutomaticParser::PathPrimaryContext * /*ctx*/) override { } - virtual void exitPathPrimary(SparqlAutomaticParser::PathPrimaryContext * /*ctx*/) override { } - - virtual void enterPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext * /*ctx*/) override { } - virtual void exitPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext * /*ctx*/) override { } - - virtual void enterPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext * /*ctx*/) override { } - virtual void exitPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext * /*ctx*/) override { } - - virtual void enterInteger(SparqlAutomaticParser::IntegerContext * /*ctx*/) override { } - virtual void exitInteger(SparqlAutomaticParser::IntegerContext * /*ctx*/) override { } - - virtual void enterTriplesNode(SparqlAutomaticParser::TriplesNodeContext * /*ctx*/) override { } - virtual void exitTriplesNode(SparqlAutomaticParser::TriplesNodeContext * /*ctx*/) override { } - - virtual void enterBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext * /*ctx*/) override { } - virtual void exitBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext * /*ctx*/) override { } - - virtual void enterTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext * /*ctx*/) override { } - virtual void exitTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext * /*ctx*/) override { } - - virtual void enterBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext * /*ctx*/) override { } - virtual void exitBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext * /*ctx*/) override { } - - virtual void enterCollection(SparqlAutomaticParser::CollectionContext * /*ctx*/) override { } - virtual void exitCollection(SparqlAutomaticParser::CollectionContext * /*ctx*/) override { } - - virtual void enterCollectionPath(SparqlAutomaticParser::CollectionPathContext * /*ctx*/) override { } - virtual void exitCollectionPath(SparqlAutomaticParser::CollectionPathContext * /*ctx*/) override { } - - virtual void enterGraphNode(SparqlAutomaticParser::GraphNodeContext * /*ctx*/) override { } - virtual void exitGraphNode(SparqlAutomaticParser::GraphNodeContext * /*ctx*/) override { } - - virtual void enterGraphNodePath(SparqlAutomaticParser::GraphNodePathContext * /*ctx*/) override { } - virtual void exitGraphNodePath(SparqlAutomaticParser::GraphNodePathContext * /*ctx*/) override { } - - virtual void enterVarOrTerm(SparqlAutomaticParser::VarOrTermContext * /*ctx*/) override { } - virtual void exitVarOrTerm(SparqlAutomaticParser::VarOrTermContext * /*ctx*/) override { } - - virtual void enterVarOrIri(SparqlAutomaticParser::VarOrIriContext * /*ctx*/) override { } - virtual void exitVarOrIri(SparqlAutomaticParser::VarOrIriContext * /*ctx*/) override { } - - virtual void enterVar(SparqlAutomaticParser::VarContext * /*ctx*/) override { } - virtual void exitVar(SparqlAutomaticParser::VarContext * /*ctx*/) override { } - - virtual void enterGraphTerm(SparqlAutomaticParser::GraphTermContext * /*ctx*/) override { } - virtual void exitGraphTerm(SparqlAutomaticParser::GraphTermContext * /*ctx*/) override { } - - virtual void enterExpression(SparqlAutomaticParser::ExpressionContext * /*ctx*/) override { } - virtual void exitExpression(SparqlAutomaticParser::ExpressionContext * /*ctx*/) override { } - - virtual void enterConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext * /*ctx*/) override { } - virtual void exitConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext * /*ctx*/) override { } - - virtual void enterConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext * /*ctx*/) override { } - virtual void exitConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext * /*ctx*/) override { } - - virtual void enterValueLogical(SparqlAutomaticParser::ValueLogicalContext * /*ctx*/) override { } - virtual void exitValueLogical(SparqlAutomaticParser::ValueLogicalContext * /*ctx*/) override { } - - virtual void enterRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext * /*ctx*/) override { } - virtual void exitRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext * /*ctx*/) override { } - - virtual void enterNumericExpression(SparqlAutomaticParser::NumericExpressionContext * /*ctx*/) override { } - virtual void exitNumericExpression(SparqlAutomaticParser::NumericExpressionContext * /*ctx*/) override { } - - virtual void enterAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext * /*ctx*/) override { } - virtual void exitAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext * /*ctx*/) override { } - - virtual void enterMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext * /*ctx*/) override { } - virtual void exitMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext * /*ctx*/) override { } - - virtual void enterPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext * /*ctx*/) override { } - virtual void exitPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext * /*ctx*/) override { } - - virtual void enterMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext * /*ctx*/) override { } - virtual void exitMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext * /*ctx*/) override { } - - virtual void enterMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext * /*ctx*/) override { } - virtual void exitMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext * /*ctx*/) override { } - - virtual void enterMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext * /*ctx*/) override { } - virtual void exitMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext * /*ctx*/) override { } - - virtual void enterMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext * /*ctx*/) override { } - virtual void exitMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext * /*ctx*/) override { } - - virtual void enterMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext * /*ctx*/) override { } - virtual void exitMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext * /*ctx*/) override { } - - virtual void enterDivideExpression(SparqlAutomaticParser::DivideExpressionContext * /*ctx*/) override { } - virtual void exitDivideExpression(SparqlAutomaticParser::DivideExpressionContext * /*ctx*/) override { } - - virtual void enterUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext * /*ctx*/) override { } - virtual void exitUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext * /*ctx*/) override { } - - virtual void enterPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext * /*ctx*/) override { } - virtual void exitPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext * /*ctx*/) override { } - - virtual void enterBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext * /*ctx*/) override { } - virtual void exitBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext * /*ctx*/) override { } - - virtual void enterBuiltInCall(SparqlAutomaticParser::BuiltInCallContext * /*ctx*/) override { } - virtual void exitBuiltInCall(SparqlAutomaticParser::BuiltInCallContext * /*ctx*/) override { } - - virtual void enterRegexExpression(SparqlAutomaticParser::RegexExpressionContext * /*ctx*/) override { } - virtual void exitRegexExpression(SparqlAutomaticParser::RegexExpressionContext * /*ctx*/) override { } - - virtual void enterLangExpression(SparqlAutomaticParser::LangExpressionContext * /*ctx*/) override { } - virtual void exitLangExpression(SparqlAutomaticParser::LangExpressionContext * /*ctx*/) override { } - - virtual void enterSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext * /*ctx*/) override { } - virtual void exitSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext * /*ctx*/) override { } - - virtual void enterStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext * /*ctx*/) override { } - virtual void exitStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext * /*ctx*/) override { } - - virtual void enterExistsFunc(SparqlAutomaticParser::ExistsFuncContext * /*ctx*/) override { } - virtual void exitExistsFunc(SparqlAutomaticParser::ExistsFuncContext * /*ctx*/) override { } - - virtual void enterNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext * /*ctx*/) override { } - virtual void exitNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext * /*ctx*/) override { } - - virtual void enterAggregate(SparqlAutomaticParser::AggregateContext * /*ctx*/) override { } - virtual void exitAggregate(SparqlAutomaticParser::AggregateContext * /*ctx*/) override { } - - virtual void enterIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext * /*ctx*/) override { } - virtual void exitIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext * /*ctx*/) override { } - - virtual void enterRdfLiteral(SparqlAutomaticParser::RdfLiteralContext * /*ctx*/) override { } - virtual void exitRdfLiteral(SparqlAutomaticParser::RdfLiteralContext * /*ctx*/) override { } - - virtual void enterNumericLiteral(SparqlAutomaticParser::NumericLiteralContext * /*ctx*/) override { } - virtual void exitNumericLiteral(SparqlAutomaticParser::NumericLiteralContext * /*ctx*/) override { } - - virtual void enterNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext * /*ctx*/) override { } - virtual void exitNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext * /*ctx*/) override { } - - virtual void enterNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext * /*ctx*/) override { } - virtual void exitNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext * /*ctx*/) override { } - - virtual void enterNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext * /*ctx*/) override { } - virtual void exitNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext * /*ctx*/) override { } - - virtual void enterBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext * /*ctx*/) override { } - virtual void exitBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext * /*ctx*/) override { } - - virtual void enterString(SparqlAutomaticParser::StringContext * /*ctx*/) override { } - virtual void exitString(SparqlAutomaticParser::StringContext * /*ctx*/) override { } - - virtual void enterIri(SparqlAutomaticParser::IriContext * /*ctx*/) override { } - virtual void exitIri(SparqlAutomaticParser::IriContext * /*ctx*/) override { } - - virtual void enterPrefixedName(SparqlAutomaticParser::PrefixedNameContext * /*ctx*/) override { } - virtual void exitPrefixedName(SparqlAutomaticParser::PrefixedNameContext * /*ctx*/) override { } - - virtual void enterBlankNode(SparqlAutomaticParser::BlankNodeContext * /*ctx*/) override { } - virtual void exitBlankNode(SparqlAutomaticParser::BlankNodeContext * /*ctx*/) override { } - - virtual void enterIriref(SparqlAutomaticParser::IrirefContext * /*ctx*/) override { } - virtual void exitIriref(SparqlAutomaticParser::IrirefContext * /*ctx*/) override { } - - virtual void enterPnameLn(SparqlAutomaticParser::PnameLnContext * /*ctx*/) override { } - virtual void exitPnameLn(SparqlAutomaticParser::PnameLnContext * /*ctx*/) override { } - - virtual void enterPnameNs(SparqlAutomaticParser::PnameNsContext * /*ctx*/) override { } - virtual void exitPnameNs(SparqlAutomaticParser::PnameNsContext * /*ctx*/) override { } - - - virtual void enterEveryRule(antlr4::ParserRuleContext * /*ctx*/) override { } - virtual void exitEveryRule(antlr4::ParserRuleContext * /*ctx*/) override { } - virtual void visitTerminal(antlr4::tree::TerminalNode * /*node*/) override { } - virtual void visitErrorNode(antlr4::tree::ErrorNode * /*node*/) override { } - +class SparqlAutomaticBaseListener : public SparqlAutomaticListener { + public: + virtual void enterQueryOrUpdate( + SparqlAutomaticParser::QueryOrUpdateContext* /*ctx*/) override {} + virtual void exitQueryOrUpdate( + SparqlAutomaticParser::QueryOrUpdateContext* /*ctx*/) override {} + + virtual void enterQuery( + SparqlAutomaticParser::QueryContext* /*ctx*/) override {} + virtual void exitQuery( + SparqlAutomaticParser::QueryContext* /*ctx*/) override {} + + virtual void enterPrologue( + SparqlAutomaticParser::PrologueContext* /*ctx*/) override {} + virtual void exitPrologue( + SparqlAutomaticParser::PrologueContext* /*ctx*/) override {} + + virtual void enterBaseDecl( + SparqlAutomaticParser::BaseDeclContext* /*ctx*/) override {} + virtual void exitBaseDecl( + SparqlAutomaticParser::BaseDeclContext* /*ctx*/) override {} + + virtual void enterPrefixDecl( + SparqlAutomaticParser::PrefixDeclContext* /*ctx*/) override {} + virtual void exitPrefixDecl( + SparqlAutomaticParser::PrefixDeclContext* /*ctx*/) override {} + + virtual void enterSelectQuery( + SparqlAutomaticParser::SelectQueryContext* /*ctx*/) override {} + virtual void exitSelectQuery( + SparqlAutomaticParser::SelectQueryContext* /*ctx*/) override {} + + virtual void enterSubSelect( + SparqlAutomaticParser::SubSelectContext* /*ctx*/) override {} + virtual void exitSubSelect( + SparqlAutomaticParser::SubSelectContext* /*ctx*/) override {} + + virtual void enterSelectClause( + SparqlAutomaticParser::SelectClauseContext* /*ctx*/) override {} + virtual void exitSelectClause( + SparqlAutomaticParser::SelectClauseContext* /*ctx*/) override {} + + virtual void enterVarOrAlias( + SparqlAutomaticParser::VarOrAliasContext* /*ctx*/) override {} + virtual void exitVarOrAlias( + SparqlAutomaticParser::VarOrAliasContext* /*ctx*/) override {} + + virtual void enterAlias( + SparqlAutomaticParser::AliasContext* /*ctx*/) override {} + virtual void exitAlias( + SparqlAutomaticParser::AliasContext* /*ctx*/) override {} + + virtual void enterAliasWithoutBrackets( + SparqlAutomaticParser::AliasWithoutBracketsContext* /*ctx*/) override {} + virtual void exitAliasWithoutBrackets( + SparqlAutomaticParser::AliasWithoutBracketsContext* /*ctx*/) override {} + + virtual void enterConstructQuery( + SparqlAutomaticParser::ConstructQueryContext* /*ctx*/) override {} + virtual void exitConstructQuery( + SparqlAutomaticParser::ConstructQueryContext* /*ctx*/) override {} + + virtual void enterDescribeQuery( + SparqlAutomaticParser::DescribeQueryContext* /*ctx*/) override {} + virtual void exitDescribeQuery( + SparqlAutomaticParser::DescribeQueryContext* /*ctx*/) override {} + + virtual void enterAskQuery( + SparqlAutomaticParser::AskQueryContext* /*ctx*/) override {} + virtual void exitAskQuery( + SparqlAutomaticParser::AskQueryContext* /*ctx*/) override {} + + virtual void enterDatasetClause( + SparqlAutomaticParser::DatasetClauseContext* /*ctx*/) override {} + virtual void exitDatasetClause( + SparqlAutomaticParser::DatasetClauseContext* /*ctx*/) override {} + + virtual void enterDefaultGraphClause( + SparqlAutomaticParser::DefaultGraphClauseContext* /*ctx*/) override {} + virtual void exitDefaultGraphClause( + SparqlAutomaticParser::DefaultGraphClauseContext* /*ctx*/) override {} + + virtual void enterNamedGraphClause( + SparqlAutomaticParser::NamedGraphClauseContext* /*ctx*/) override {} + virtual void exitNamedGraphClause( + SparqlAutomaticParser::NamedGraphClauseContext* /*ctx*/) override {} + + virtual void enterSourceSelector( + SparqlAutomaticParser::SourceSelectorContext* /*ctx*/) override {} + virtual void exitSourceSelector( + SparqlAutomaticParser::SourceSelectorContext* /*ctx*/) override {} + + virtual void enterWhereClause( + SparqlAutomaticParser::WhereClauseContext* /*ctx*/) override {} + virtual void exitWhereClause( + SparqlAutomaticParser::WhereClauseContext* /*ctx*/) override {} + + virtual void enterSolutionModifier( + SparqlAutomaticParser::SolutionModifierContext* /*ctx*/) override {} + virtual void exitSolutionModifier( + SparqlAutomaticParser::SolutionModifierContext* /*ctx*/) override {} + + virtual void enterGroupClause( + SparqlAutomaticParser::GroupClauseContext* /*ctx*/) override {} + virtual void exitGroupClause( + SparqlAutomaticParser::GroupClauseContext* /*ctx*/) override {} + + virtual void enterGroupCondition( + SparqlAutomaticParser::GroupConditionContext* /*ctx*/) override {} + virtual void exitGroupCondition( + SparqlAutomaticParser::GroupConditionContext* /*ctx*/) override {} + + virtual void enterHavingClause( + SparqlAutomaticParser::HavingClauseContext* /*ctx*/) override {} + virtual void exitHavingClause( + SparqlAutomaticParser::HavingClauseContext* /*ctx*/) override {} + + virtual void enterHavingCondition( + SparqlAutomaticParser::HavingConditionContext* /*ctx*/) override {} + virtual void exitHavingCondition( + SparqlAutomaticParser::HavingConditionContext* /*ctx*/) override {} + + virtual void enterOrderClause( + SparqlAutomaticParser::OrderClauseContext* /*ctx*/) override {} + virtual void exitOrderClause( + SparqlAutomaticParser::OrderClauseContext* /*ctx*/) override {} + + virtual void enterOrderCondition( + SparqlAutomaticParser::OrderConditionContext* /*ctx*/) override {} + virtual void exitOrderCondition( + SparqlAutomaticParser::OrderConditionContext* /*ctx*/) override {} + + virtual void enterLimitOffsetClauses( + SparqlAutomaticParser::LimitOffsetClausesContext* /*ctx*/) override {} + virtual void exitLimitOffsetClauses( + SparqlAutomaticParser::LimitOffsetClausesContext* /*ctx*/) override {} + + virtual void enterLimitClause( + SparqlAutomaticParser::LimitClauseContext* /*ctx*/) override {} + virtual void exitLimitClause( + SparqlAutomaticParser::LimitClauseContext* /*ctx*/) override {} + + virtual void enterOffsetClause( + SparqlAutomaticParser::OffsetClauseContext* /*ctx*/) override {} + virtual void exitOffsetClause( + SparqlAutomaticParser::OffsetClauseContext* /*ctx*/) override {} + + virtual void enterTextLimitClause( + SparqlAutomaticParser::TextLimitClauseContext* /*ctx*/) override {} + virtual void exitTextLimitClause( + SparqlAutomaticParser::TextLimitClauseContext* /*ctx*/) override {} + + virtual void enterValuesClause( + SparqlAutomaticParser::ValuesClauseContext* /*ctx*/) override {} + virtual void exitValuesClause( + SparqlAutomaticParser::ValuesClauseContext* /*ctx*/) override {} + + virtual void enterUpdate( + SparqlAutomaticParser::UpdateContext* /*ctx*/) override {} + virtual void exitUpdate( + SparqlAutomaticParser::UpdateContext* /*ctx*/) override {} + + virtual void enterUpdate1( + SparqlAutomaticParser::Update1Context* /*ctx*/) override {} + virtual void exitUpdate1( + SparqlAutomaticParser::Update1Context* /*ctx*/) override {} + + virtual void enterLoad(SparqlAutomaticParser::LoadContext* /*ctx*/) override { + } + virtual void exitLoad(SparqlAutomaticParser::LoadContext* /*ctx*/) override {} + + virtual void enterClear( + SparqlAutomaticParser::ClearContext* /*ctx*/) override {} + virtual void exitClear( + SparqlAutomaticParser::ClearContext* /*ctx*/) override {} + + virtual void enterDrop(SparqlAutomaticParser::DropContext* /*ctx*/) override { + } + virtual void exitDrop(SparqlAutomaticParser::DropContext* /*ctx*/) override {} + + virtual void enterCreate( + SparqlAutomaticParser::CreateContext* /*ctx*/) override {} + virtual void exitCreate( + SparqlAutomaticParser::CreateContext* /*ctx*/) override {} + + virtual void enterAdd(SparqlAutomaticParser::AddContext* /*ctx*/) override {} + virtual void exitAdd(SparqlAutomaticParser::AddContext* /*ctx*/) override {} + + virtual void enterMove(SparqlAutomaticParser::MoveContext* /*ctx*/) override { + } + virtual void exitMove(SparqlAutomaticParser::MoveContext* /*ctx*/) override {} + + virtual void enterCopy(SparqlAutomaticParser::CopyContext* /*ctx*/) override { + } + virtual void exitCopy(SparqlAutomaticParser::CopyContext* /*ctx*/) override {} + + virtual void enterInsertData( + SparqlAutomaticParser::InsertDataContext* /*ctx*/) override {} + virtual void exitInsertData( + SparqlAutomaticParser::InsertDataContext* /*ctx*/) override {} + + virtual void enterDeleteData( + SparqlAutomaticParser::DeleteDataContext* /*ctx*/) override {} + virtual void exitDeleteData( + SparqlAutomaticParser::DeleteDataContext* /*ctx*/) override {} + + virtual void enterDeleteWhere( + SparqlAutomaticParser::DeleteWhereContext* /*ctx*/) override {} + virtual void exitDeleteWhere( + SparqlAutomaticParser::DeleteWhereContext* /*ctx*/) override {} + + virtual void enterModify( + SparqlAutomaticParser::ModifyContext* /*ctx*/) override {} + virtual void exitModify( + SparqlAutomaticParser::ModifyContext* /*ctx*/) override {} + + virtual void enterDeleteClause( + SparqlAutomaticParser::DeleteClauseContext* /*ctx*/) override {} + virtual void exitDeleteClause( + SparqlAutomaticParser::DeleteClauseContext* /*ctx*/) override {} + + virtual void enterInsertClause( + SparqlAutomaticParser::InsertClauseContext* /*ctx*/) override {} + virtual void exitInsertClause( + SparqlAutomaticParser::InsertClauseContext* /*ctx*/) override {} + + virtual void enterUsingClause( + SparqlAutomaticParser::UsingClauseContext* /*ctx*/) override {} + virtual void exitUsingClause( + SparqlAutomaticParser::UsingClauseContext* /*ctx*/) override {} + + virtual void enterGraphOrDefault( + SparqlAutomaticParser::GraphOrDefaultContext* /*ctx*/) override {} + virtual void exitGraphOrDefault( + SparqlAutomaticParser::GraphOrDefaultContext* /*ctx*/) override {} + + virtual void enterGraphRef( + SparqlAutomaticParser::GraphRefContext* /*ctx*/) override {} + virtual void exitGraphRef( + SparqlAutomaticParser::GraphRefContext* /*ctx*/) override {} + + virtual void enterGraphRefAll( + SparqlAutomaticParser::GraphRefAllContext* /*ctx*/) override {} + virtual void exitGraphRefAll( + SparqlAutomaticParser::GraphRefAllContext* /*ctx*/) override {} + + virtual void enterQuadPattern( + SparqlAutomaticParser::QuadPatternContext* /*ctx*/) override {} + virtual void exitQuadPattern( + SparqlAutomaticParser::QuadPatternContext* /*ctx*/) override {} + + virtual void enterQuadData( + SparqlAutomaticParser::QuadDataContext* /*ctx*/) override {} + virtual void exitQuadData( + SparqlAutomaticParser::QuadDataContext* /*ctx*/) override {} + + virtual void enterQuads( + SparqlAutomaticParser::QuadsContext* /*ctx*/) override {} + virtual void exitQuads( + SparqlAutomaticParser::QuadsContext* /*ctx*/) override {} + + virtual void enterQuadsNotTriples( + SparqlAutomaticParser::QuadsNotTriplesContext* /*ctx*/) override {} + virtual void exitQuadsNotTriples( + SparqlAutomaticParser::QuadsNotTriplesContext* /*ctx*/) override {} + + virtual void enterTriplesTemplate( + SparqlAutomaticParser::TriplesTemplateContext* /*ctx*/) override {} + virtual void exitTriplesTemplate( + SparqlAutomaticParser::TriplesTemplateContext* /*ctx*/) override {} + + virtual void enterGroupGraphPattern( + SparqlAutomaticParser::GroupGraphPatternContext* /*ctx*/) override {} + virtual void exitGroupGraphPattern( + SparqlAutomaticParser::GroupGraphPatternContext* /*ctx*/) override {} + + virtual void enterGroupGraphPatternSub( + SparqlAutomaticParser::GroupGraphPatternSubContext* /*ctx*/) override {} + virtual void exitGroupGraphPatternSub( + SparqlAutomaticParser::GroupGraphPatternSubContext* /*ctx*/) override {} + + virtual void enterGraphPatternNotTriplesAndMaybeTriples( + SparqlAutomaticParser:: + GraphPatternNotTriplesAndMaybeTriplesContext* /*ctx*/) override {} + virtual void exitGraphPatternNotTriplesAndMaybeTriples( + SparqlAutomaticParser:: + GraphPatternNotTriplesAndMaybeTriplesContext* /*ctx*/) override {} + + virtual void enterTriplesBlock( + SparqlAutomaticParser::TriplesBlockContext* /*ctx*/) override {} + virtual void exitTriplesBlock( + SparqlAutomaticParser::TriplesBlockContext* /*ctx*/) override {} + + virtual void enterGraphPatternNotTriples( + SparqlAutomaticParser::GraphPatternNotTriplesContext* /*ctx*/) override {} + virtual void exitGraphPatternNotTriples( + SparqlAutomaticParser::GraphPatternNotTriplesContext* /*ctx*/) override {} + + virtual void enterOptionalGraphPattern( + SparqlAutomaticParser::OptionalGraphPatternContext* /*ctx*/) override {} + virtual void exitOptionalGraphPattern( + SparqlAutomaticParser::OptionalGraphPatternContext* /*ctx*/) override {} + + virtual void enterGraphGraphPattern( + SparqlAutomaticParser::GraphGraphPatternContext* /*ctx*/) override {} + virtual void exitGraphGraphPattern( + SparqlAutomaticParser::GraphGraphPatternContext* /*ctx*/) override {} + + virtual void enterServiceGraphPattern( + SparqlAutomaticParser::ServiceGraphPatternContext* /*ctx*/) override {} + virtual void exitServiceGraphPattern( + SparqlAutomaticParser::ServiceGraphPatternContext* /*ctx*/) override {} + + virtual void enterBind(SparqlAutomaticParser::BindContext* /*ctx*/) override { + } + virtual void exitBind(SparqlAutomaticParser::BindContext* /*ctx*/) override {} + + virtual void enterInlineData( + SparqlAutomaticParser::InlineDataContext* /*ctx*/) override {} + virtual void exitInlineData( + SparqlAutomaticParser::InlineDataContext* /*ctx*/) override {} + + virtual void enterDataBlock( + SparqlAutomaticParser::DataBlockContext* /*ctx*/) override {} + virtual void exitDataBlock( + SparqlAutomaticParser::DataBlockContext* /*ctx*/) override {} + + virtual void enterInlineDataOneVar( + SparqlAutomaticParser::InlineDataOneVarContext* /*ctx*/) override {} + virtual void exitInlineDataOneVar( + SparqlAutomaticParser::InlineDataOneVarContext* /*ctx*/) override {} + + virtual void enterInlineDataFull( + SparqlAutomaticParser::InlineDataFullContext* /*ctx*/) override {} + virtual void exitInlineDataFull( + SparqlAutomaticParser::InlineDataFullContext* /*ctx*/) override {} + + virtual void enterDataBlockSingle( + SparqlAutomaticParser::DataBlockSingleContext* /*ctx*/) override {} + virtual void exitDataBlockSingle( + SparqlAutomaticParser::DataBlockSingleContext* /*ctx*/) override {} + + virtual void enterDataBlockValue( + SparqlAutomaticParser::DataBlockValueContext* /*ctx*/) override {} + virtual void exitDataBlockValue( + SparqlAutomaticParser::DataBlockValueContext* /*ctx*/) override {} + + virtual void enterMinusGraphPattern( + SparqlAutomaticParser::MinusGraphPatternContext* /*ctx*/) override {} + virtual void exitMinusGraphPattern( + SparqlAutomaticParser::MinusGraphPatternContext* /*ctx*/) override {} + + virtual void enterGroupOrUnionGraphPattern( + SparqlAutomaticParser::GroupOrUnionGraphPatternContext* /*ctx*/) + override {} + virtual void exitGroupOrUnionGraphPattern( + SparqlAutomaticParser::GroupOrUnionGraphPatternContext* /*ctx*/) + override {} + + virtual void enterFilterR( + SparqlAutomaticParser::FilterRContext* /*ctx*/) override {} + virtual void exitFilterR( + SparqlAutomaticParser::FilterRContext* /*ctx*/) override {} + + virtual void enterConstraint( + SparqlAutomaticParser::ConstraintContext* /*ctx*/) override {} + virtual void exitConstraint( + SparqlAutomaticParser::ConstraintContext* /*ctx*/) override {} + + virtual void enterFunctionCall( + SparqlAutomaticParser::FunctionCallContext* /*ctx*/) override {} + virtual void exitFunctionCall( + SparqlAutomaticParser::FunctionCallContext* /*ctx*/) override {} + + virtual void enterArgList( + SparqlAutomaticParser::ArgListContext* /*ctx*/) override {} + virtual void exitArgList( + SparqlAutomaticParser::ArgListContext* /*ctx*/) override {} + + virtual void enterExpressionList( + SparqlAutomaticParser::ExpressionListContext* /*ctx*/) override {} + virtual void exitExpressionList( + SparqlAutomaticParser::ExpressionListContext* /*ctx*/) override {} + + virtual void enterConstructTemplate( + SparqlAutomaticParser::ConstructTemplateContext* /*ctx*/) override {} + virtual void exitConstructTemplate( + SparqlAutomaticParser::ConstructTemplateContext* /*ctx*/) override {} + + virtual void enterConstructTriples( + SparqlAutomaticParser::ConstructTriplesContext* /*ctx*/) override {} + virtual void exitConstructTriples( + SparqlAutomaticParser::ConstructTriplesContext* /*ctx*/) override {} + + virtual void enterTriplesSameSubject( + SparqlAutomaticParser::TriplesSameSubjectContext* /*ctx*/) override {} + virtual void exitTriplesSameSubject( + SparqlAutomaticParser::TriplesSameSubjectContext* /*ctx*/) override {} + + virtual void enterPropertyList( + SparqlAutomaticParser::PropertyListContext* /*ctx*/) override {} + virtual void exitPropertyList( + SparqlAutomaticParser::PropertyListContext* /*ctx*/) override {} + + virtual void enterPropertyListNotEmpty( + SparqlAutomaticParser::PropertyListNotEmptyContext* /*ctx*/) override {} + virtual void exitPropertyListNotEmpty( + SparqlAutomaticParser::PropertyListNotEmptyContext* /*ctx*/) override {} + + virtual void enterVerb(SparqlAutomaticParser::VerbContext* /*ctx*/) override { + } + virtual void exitVerb(SparqlAutomaticParser::VerbContext* /*ctx*/) override {} + + virtual void enterObjectList( + SparqlAutomaticParser::ObjectListContext* /*ctx*/) override {} + virtual void exitObjectList( + SparqlAutomaticParser::ObjectListContext* /*ctx*/) override {} + + virtual void enterObjectR( + SparqlAutomaticParser::ObjectRContext* /*ctx*/) override {} + virtual void exitObjectR( + SparqlAutomaticParser::ObjectRContext* /*ctx*/) override {} + + virtual void enterTriplesSameSubjectPath( + SparqlAutomaticParser::TriplesSameSubjectPathContext* /*ctx*/) override {} + virtual void exitTriplesSameSubjectPath( + SparqlAutomaticParser::TriplesSameSubjectPathContext* /*ctx*/) override {} + + virtual void enterPropertyListPath( + SparqlAutomaticParser::PropertyListPathContext* /*ctx*/) override {} + virtual void exitPropertyListPath( + SparqlAutomaticParser::PropertyListPathContext* /*ctx*/) override {} + + virtual void enterPropertyListPathNotEmpty( + SparqlAutomaticParser::PropertyListPathNotEmptyContext* /*ctx*/) + override {} + virtual void exitPropertyListPathNotEmpty( + SparqlAutomaticParser::PropertyListPathNotEmptyContext* /*ctx*/) + override {} + + virtual void enterVerbPath( + SparqlAutomaticParser::VerbPathContext* /*ctx*/) override {} + virtual void exitVerbPath( + SparqlAutomaticParser::VerbPathContext* /*ctx*/) override {} + + virtual void enterVerbSimple( + SparqlAutomaticParser::VerbSimpleContext* /*ctx*/) override {} + virtual void exitVerbSimple( + SparqlAutomaticParser::VerbSimpleContext* /*ctx*/) override {} + + virtual void enterTupleWithoutPath( + SparqlAutomaticParser::TupleWithoutPathContext* /*ctx*/) override {} + virtual void exitTupleWithoutPath( + SparqlAutomaticParser::TupleWithoutPathContext* /*ctx*/) override {} + + virtual void enterTupleWithPath( + SparqlAutomaticParser::TupleWithPathContext* /*ctx*/) override {} + virtual void exitTupleWithPath( + SparqlAutomaticParser::TupleWithPathContext* /*ctx*/) override {} + + virtual void enterVerbPathOrSimple( + SparqlAutomaticParser::VerbPathOrSimpleContext* /*ctx*/) override {} + virtual void exitVerbPathOrSimple( + SparqlAutomaticParser::VerbPathOrSimpleContext* /*ctx*/) override {} + + virtual void enterObjectListPath( + SparqlAutomaticParser::ObjectListPathContext* /*ctx*/) override {} + virtual void exitObjectListPath( + SparqlAutomaticParser::ObjectListPathContext* /*ctx*/) override {} + + virtual void enterObjectPath( + SparqlAutomaticParser::ObjectPathContext* /*ctx*/) override {} + virtual void exitObjectPath( + SparqlAutomaticParser::ObjectPathContext* /*ctx*/) override {} + + virtual void enterPath(SparqlAutomaticParser::PathContext* /*ctx*/) override { + } + virtual void exitPath(SparqlAutomaticParser::PathContext* /*ctx*/) override {} + + virtual void enterPathAlternative( + SparqlAutomaticParser::PathAlternativeContext* /*ctx*/) override {} + virtual void exitPathAlternative( + SparqlAutomaticParser::PathAlternativeContext* /*ctx*/) override {} + + virtual void enterPathSequence( + SparqlAutomaticParser::PathSequenceContext* /*ctx*/) override {} + virtual void exitPathSequence( + SparqlAutomaticParser::PathSequenceContext* /*ctx*/) override {} + + virtual void enterPathElt( + SparqlAutomaticParser::PathEltContext* /*ctx*/) override {} + virtual void exitPathElt( + SparqlAutomaticParser::PathEltContext* /*ctx*/) override {} + + virtual void enterPathEltOrInverse( + SparqlAutomaticParser::PathEltOrInverseContext* /*ctx*/) override {} + virtual void exitPathEltOrInverse( + SparqlAutomaticParser::PathEltOrInverseContext* /*ctx*/) override {} + + virtual void enterPathMod( + SparqlAutomaticParser::PathModContext* /*ctx*/) override {} + virtual void exitPathMod( + SparqlAutomaticParser::PathModContext* /*ctx*/) override {} + + virtual void enterPathPrimary( + SparqlAutomaticParser::PathPrimaryContext* /*ctx*/) override {} + virtual void exitPathPrimary( + SparqlAutomaticParser::PathPrimaryContext* /*ctx*/) override {} + + virtual void enterPathNegatedPropertySet( + SparqlAutomaticParser::PathNegatedPropertySetContext* /*ctx*/) override {} + virtual void exitPathNegatedPropertySet( + SparqlAutomaticParser::PathNegatedPropertySetContext* /*ctx*/) override {} + + virtual void enterPathOneInPropertySet( + SparqlAutomaticParser::PathOneInPropertySetContext* /*ctx*/) override {} + virtual void exitPathOneInPropertySet( + SparqlAutomaticParser::PathOneInPropertySetContext* /*ctx*/) override {} + + virtual void enterInteger( + SparqlAutomaticParser::IntegerContext* /*ctx*/) override {} + virtual void exitInteger( + SparqlAutomaticParser::IntegerContext* /*ctx*/) override {} + + virtual void enterTriplesNode( + SparqlAutomaticParser::TriplesNodeContext* /*ctx*/) override {} + virtual void exitTriplesNode( + SparqlAutomaticParser::TriplesNodeContext* /*ctx*/) override {} + + virtual void enterBlankNodePropertyList( + SparqlAutomaticParser::BlankNodePropertyListContext* /*ctx*/) override {} + virtual void exitBlankNodePropertyList( + SparqlAutomaticParser::BlankNodePropertyListContext* /*ctx*/) override {} + + virtual void enterTriplesNodePath( + SparqlAutomaticParser::TriplesNodePathContext* /*ctx*/) override {} + virtual void exitTriplesNodePath( + SparqlAutomaticParser::TriplesNodePathContext* /*ctx*/) override {} + + virtual void enterBlankNodePropertyListPath( + SparqlAutomaticParser::BlankNodePropertyListPathContext* /*ctx*/) + override {} + virtual void exitBlankNodePropertyListPath( + SparqlAutomaticParser::BlankNodePropertyListPathContext* /*ctx*/) + override {} + + virtual void enterCollection( + SparqlAutomaticParser::CollectionContext* /*ctx*/) override {} + virtual void exitCollection( + SparqlAutomaticParser::CollectionContext* /*ctx*/) override {} + + virtual void enterCollectionPath( + SparqlAutomaticParser::CollectionPathContext* /*ctx*/) override {} + virtual void exitCollectionPath( + SparqlAutomaticParser::CollectionPathContext* /*ctx*/) override {} + + virtual void enterGraphNode( + SparqlAutomaticParser::GraphNodeContext* /*ctx*/) override {} + virtual void exitGraphNode( + SparqlAutomaticParser::GraphNodeContext* /*ctx*/) override {} + + virtual void enterGraphNodePath( + SparqlAutomaticParser::GraphNodePathContext* /*ctx*/) override {} + virtual void exitGraphNodePath( + SparqlAutomaticParser::GraphNodePathContext* /*ctx*/) override {} + + virtual void enterVarOrTerm( + SparqlAutomaticParser::VarOrTermContext* /*ctx*/) override {} + virtual void exitVarOrTerm( + SparqlAutomaticParser::VarOrTermContext* /*ctx*/) override {} + + virtual void enterVarOrIri( + SparqlAutomaticParser::VarOrIriContext* /*ctx*/) override {} + virtual void exitVarOrIri( + SparqlAutomaticParser::VarOrIriContext* /*ctx*/) override {} + + virtual void enterVar(SparqlAutomaticParser::VarContext* /*ctx*/) override {} + virtual void exitVar(SparqlAutomaticParser::VarContext* /*ctx*/) override {} + + virtual void enterGraphTerm( + SparqlAutomaticParser::GraphTermContext* /*ctx*/) override {} + virtual void exitGraphTerm( + SparqlAutomaticParser::GraphTermContext* /*ctx*/) override {} + + virtual void enterExpression( + SparqlAutomaticParser::ExpressionContext* /*ctx*/) override {} + virtual void exitExpression( + SparqlAutomaticParser::ExpressionContext* /*ctx*/) override {} + + virtual void enterConditionalOrExpression( + SparqlAutomaticParser::ConditionalOrExpressionContext* /*ctx*/) override { + } + virtual void exitConditionalOrExpression( + SparqlAutomaticParser::ConditionalOrExpressionContext* /*ctx*/) override { + } + + virtual void enterConditionalAndExpression( + SparqlAutomaticParser::ConditionalAndExpressionContext* /*ctx*/) + override {} + virtual void exitConditionalAndExpression( + SparqlAutomaticParser::ConditionalAndExpressionContext* /*ctx*/) + override {} + + virtual void enterValueLogical( + SparqlAutomaticParser::ValueLogicalContext* /*ctx*/) override {} + virtual void exitValueLogical( + SparqlAutomaticParser::ValueLogicalContext* /*ctx*/) override {} + + virtual void enterRelationalExpression( + SparqlAutomaticParser::RelationalExpressionContext* /*ctx*/) override {} + virtual void exitRelationalExpression( + SparqlAutomaticParser::RelationalExpressionContext* /*ctx*/) override {} + + virtual void enterNumericExpression( + SparqlAutomaticParser::NumericExpressionContext* /*ctx*/) override {} + virtual void exitNumericExpression( + SparqlAutomaticParser::NumericExpressionContext* /*ctx*/) override {} + + virtual void enterAdditiveExpression( + SparqlAutomaticParser::AdditiveExpressionContext* /*ctx*/) override {} + virtual void exitAdditiveExpression( + SparqlAutomaticParser::AdditiveExpressionContext* /*ctx*/) override {} + + virtual void enterMultiplicativeExpressionWithSign( + SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* /*ctx*/) + override {} + virtual void exitMultiplicativeExpressionWithSign( + SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* /*ctx*/) + override {} + + virtual void enterPlusSubexpression( + SparqlAutomaticParser::PlusSubexpressionContext* /*ctx*/) override {} + virtual void exitPlusSubexpression( + SparqlAutomaticParser::PlusSubexpressionContext* /*ctx*/) override {} + + virtual void enterMinusSubexpression( + SparqlAutomaticParser::MinusSubexpressionContext* /*ctx*/) override {} + virtual void exitMinusSubexpression( + SparqlAutomaticParser::MinusSubexpressionContext* /*ctx*/) override {} + + virtual void enterMultiplicativeExpressionWithLeadingSignButNoSpace( + SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* /*ctx*/) + override {} + virtual void exitMultiplicativeExpressionWithLeadingSignButNoSpace( + SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* /*ctx*/) + override {} + + virtual void enterMultiplicativeExpression( + SparqlAutomaticParser::MultiplicativeExpressionContext* /*ctx*/) + override {} + virtual void exitMultiplicativeExpression( + SparqlAutomaticParser::MultiplicativeExpressionContext* /*ctx*/) + override {} + + virtual void enterMultiplyOrDivideExpression( + SparqlAutomaticParser::MultiplyOrDivideExpressionContext* /*ctx*/) + override {} + virtual void exitMultiplyOrDivideExpression( + SparqlAutomaticParser::MultiplyOrDivideExpressionContext* /*ctx*/) + override {} + + virtual void enterMultiplyExpression( + SparqlAutomaticParser::MultiplyExpressionContext* /*ctx*/) override {} + virtual void exitMultiplyExpression( + SparqlAutomaticParser::MultiplyExpressionContext* /*ctx*/) override {} + + virtual void enterDivideExpression( + SparqlAutomaticParser::DivideExpressionContext* /*ctx*/) override {} + virtual void exitDivideExpression( + SparqlAutomaticParser::DivideExpressionContext* /*ctx*/) override {} + + virtual void enterUnaryExpression( + SparqlAutomaticParser::UnaryExpressionContext* /*ctx*/) override {} + virtual void exitUnaryExpression( + SparqlAutomaticParser::UnaryExpressionContext* /*ctx*/) override {} + + virtual void enterPrimaryExpression( + SparqlAutomaticParser::PrimaryExpressionContext* /*ctx*/) override {} + virtual void exitPrimaryExpression( + SparqlAutomaticParser::PrimaryExpressionContext* /*ctx*/) override {} + + virtual void enterBrackettedExpression( + SparqlAutomaticParser::BrackettedExpressionContext* /*ctx*/) override {} + virtual void exitBrackettedExpression( + SparqlAutomaticParser::BrackettedExpressionContext* /*ctx*/) override {} + + virtual void enterBuiltInCall( + SparqlAutomaticParser::BuiltInCallContext* /*ctx*/) override {} + virtual void exitBuiltInCall( + SparqlAutomaticParser::BuiltInCallContext* /*ctx*/) override {} + + virtual void enterRegexExpression( + SparqlAutomaticParser::RegexExpressionContext* /*ctx*/) override {} + virtual void exitRegexExpression( + SparqlAutomaticParser::RegexExpressionContext* /*ctx*/) override {} + + virtual void enterLangExpression( + SparqlAutomaticParser::LangExpressionContext* /*ctx*/) override {} + virtual void exitLangExpression( + SparqlAutomaticParser::LangExpressionContext* /*ctx*/) override {} + + virtual void enterSubstringExpression( + SparqlAutomaticParser::SubstringExpressionContext* /*ctx*/) override {} + virtual void exitSubstringExpression( + SparqlAutomaticParser::SubstringExpressionContext* /*ctx*/) override {} + + virtual void enterStrReplaceExpression( + SparqlAutomaticParser::StrReplaceExpressionContext* /*ctx*/) override {} + virtual void exitStrReplaceExpression( + SparqlAutomaticParser::StrReplaceExpressionContext* /*ctx*/) override {} + + virtual void enterExistsFunc( + SparqlAutomaticParser::ExistsFuncContext* /*ctx*/) override {} + virtual void exitExistsFunc( + SparqlAutomaticParser::ExistsFuncContext* /*ctx*/) override {} + + virtual void enterNotExistsFunc( + SparqlAutomaticParser::NotExistsFuncContext* /*ctx*/) override {} + virtual void exitNotExistsFunc( + SparqlAutomaticParser::NotExistsFuncContext* /*ctx*/) override {} + + virtual void enterAggregate( + SparqlAutomaticParser::AggregateContext* /*ctx*/) override {} + virtual void exitAggregate( + SparqlAutomaticParser::AggregateContext* /*ctx*/) override {} + + virtual void enterIriOrFunction( + SparqlAutomaticParser::IriOrFunctionContext* /*ctx*/) override {} + virtual void exitIriOrFunction( + SparqlAutomaticParser::IriOrFunctionContext* /*ctx*/) override {} + + virtual void enterRdfLiteral( + SparqlAutomaticParser::RdfLiteralContext* /*ctx*/) override {} + virtual void exitRdfLiteral( + SparqlAutomaticParser::RdfLiteralContext* /*ctx*/) override {} + + virtual void enterNumericLiteral( + SparqlAutomaticParser::NumericLiteralContext* /*ctx*/) override {} + virtual void exitNumericLiteral( + SparqlAutomaticParser::NumericLiteralContext* /*ctx*/) override {} + + virtual void enterNumericLiteralUnsigned( + SparqlAutomaticParser::NumericLiteralUnsignedContext* /*ctx*/) override {} + virtual void exitNumericLiteralUnsigned( + SparqlAutomaticParser::NumericLiteralUnsignedContext* /*ctx*/) override {} + + virtual void enterNumericLiteralPositive( + SparqlAutomaticParser::NumericLiteralPositiveContext* /*ctx*/) override {} + virtual void exitNumericLiteralPositive( + SparqlAutomaticParser::NumericLiteralPositiveContext* /*ctx*/) override {} + + virtual void enterNumericLiteralNegative( + SparqlAutomaticParser::NumericLiteralNegativeContext* /*ctx*/) override {} + virtual void exitNumericLiteralNegative( + SparqlAutomaticParser::NumericLiteralNegativeContext* /*ctx*/) override {} + + virtual void enterBooleanLiteral( + SparqlAutomaticParser::BooleanLiteralContext* /*ctx*/) override {} + virtual void exitBooleanLiteral( + SparqlAutomaticParser::BooleanLiteralContext* /*ctx*/) override {} + + virtual void enterString( + SparqlAutomaticParser::StringContext* /*ctx*/) override {} + virtual void exitString( + SparqlAutomaticParser::StringContext* /*ctx*/) override {} + + virtual void enterIri(SparqlAutomaticParser::IriContext* /*ctx*/) override {} + virtual void exitIri(SparqlAutomaticParser::IriContext* /*ctx*/) override {} + + virtual void enterPrefixedName( + SparqlAutomaticParser::PrefixedNameContext* /*ctx*/) override {} + virtual void exitPrefixedName( + SparqlAutomaticParser::PrefixedNameContext* /*ctx*/) override {} + + virtual void enterBlankNode( + SparqlAutomaticParser::BlankNodeContext* /*ctx*/) override {} + virtual void exitBlankNode( + SparqlAutomaticParser::BlankNodeContext* /*ctx*/) override {} + + virtual void enterIriref( + SparqlAutomaticParser::IrirefContext* /*ctx*/) override {} + virtual void exitIriref( + SparqlAutomaticParser::IrirefContext* /*ctx*/) override {} + + virtual void enterPnameLn( + SparqlAutomaticParser::PnameLnContext* /*ctx*/) override {} + virtual void exitPnameLn( + SparqlAutomaticParser::PnameLnContext* /*ctx*/) override {} + + virtual void enterPnameNs( + SparqlAutomaticParser::PnameNsContext* /*ctx*/) override {} + virtual void exitPnameNs( + SparqlAutomaticParser::PnameNsContext* /*ctx*/) override {} + + virtual void enterEveryRule(antlr4::ParserRuleContext* /*ctx*/) override {} + virtual void exitEveryRule(antlr4::ParserRuleContext* /*ctx*/) override {} + virtual void visitTerminal(antlr4::tree::TerminalNode* /*node*/) override {} + virtual void visitErrorNode(antlr4::tree::ErrorNode* /*node*/) override {} }; - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.cpp index 19ec339e75..dbec6cd1a8 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.cpp @@ -1,7 +1,4 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 - #include "SparqlAutomaticBaseVisitor.h" - - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.h b/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.h index a89560b916..3d5eef44d5 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticBaseVisitor.h @@ -3,646 +3,792 @@ #pragma once - -#include "antlr4-runtime.h" #include "SparqlAutomaticVisitor.h" - +#include "antlr4-runtime.h" /** - * This class provides an empty implementation of SparqlAutomaticVisitor, which can be - * extended to create a visitor which only needs to handle a subset of the available methods. + * This class provides an empty implementation of SparqlAutomaticVisitor, which + * can be extended to create a visitor which only needs to handle a subset of + * the available methods. */ -class SparqlAutomaticBaseVisitor : public SparqlAutomaticVisitor { -public: - - virtual std::any visitQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext *ctx) override { +class SparqlAutomaticBaseVisitor : public SparqlAutomaticVisitor { + public: + virtual std::any visitQueryOrUpdate( + SparqlAutomaticParser::QueryOrUpdateContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitQuery(SparqlAutomaticParser::QueryContext *ctx) override { + virtual std::any visitQuery( + SparqlAutomaticParser::QueryContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPrologue(SparqlAutomaticParser::PrologueContext *ctx) override { + virtual std::any visitPrologue( + SparqlAutomaticParser::PrologueContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitBaseDecl(SparqlAutomaticParser::BaseDeclContext *ctx) override { + virtual std::any visitBaseDecl( + SparqlAutomaticParser::BaseDeclContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPrefixDecl(SparqlAutomaticParser::PrefixDeclContext *ctx) override { + virtual std::any visitPrefixDecl( + SparqlAutomaticParser::PrefixDeclContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitSelectQuery(SparqlAutomaticParser::SelectQueryContext *ctx) override { + virtual std::any visitSelectQuery( + SparqlAutomaticParser::SelectQueryContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitSubSelect(SparqlAutomaticParser::SubSelectContext *ctx) override { + virtual std::any visitSubSelect( + SparqlAutomaticParser::SubSelectContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitSelectClause(SparqlAutomaticParser::SelectClauseContext *ctx) override { + virtual std::any visitSelectClause( + SparqlAutomaticParser::SelectClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitVarOrAlias(SparqlAutomaticParser::VarOrAliasContext *ctx) override { + virtual std::any visitVarOrAlias( + SparqlAutomaticParser::VarOrAliasContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitAlias(SparqlAutomaticParser::AliasContext *ctx) override { + virtual std::any visitAlias( + SparqlAutomaticParser::AliasContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext *ctx) override { + virtual std::any visitAliasWithoutBrackets( + SparqlAutomaticParser::AliasWithoutBracketsContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitConstructQuery(SparqlAutomaticParser::ConstructQueryContext *ctx) override { + virtual std::any visitConstructQuery( + SparqlAutomaticParser::ConstructQueryContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDescribeQuery(SparqlAutomaticParser::DescribeQueryContext *ctx) override { + virtual std::any visitDescribeQuery( + SparqlAutomaticParser::DescribeQueryContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitAskQuery(SparqlAutomaticParser::AskQueryContext *ctx) override { + virtual std::any visitAskQuery( + SparqlAutomaticParser::AskQueryContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDatasetClause(SparqlAutomaticParser::DatasetClauseContext *ctx) override { + virtual std::any visitDatasetClause( + SparqlAutomaticParser::DatasetClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext *ctx) override { + virtual std::any visitDefaultGraphClause( + SparqlAutomaticParser::DefaultGraphClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext *ctx) override { + virtual std::any visitNamedGraphClause( + SparqlAutomaticParser::NamedGraphClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitSourceSelector(SparqlAutomaticParser::SourceSelectorContext *ctx) override { + virtual std::any visitSourceSelector( + SparqlAutomaticParser::SourceSelectorContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitWhereClause(SparqlAutomaticParser::WhereClauseContext *ctx) override { + virtual std::any visitWhereClause( + SparqlAutomaticParser::WhereClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitSolutionModifier(SparqlAutomaticParser::SolutionModifierContext *ctx) override { + virtual std::any visitSolutionModifier( + SparqlAutomaticParser::SolutionModifierContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupClause(SparqlAutomaticParser::GroupClauseContext *ctx) override { + virtual std::any visitGroupClause( + SparqlAutomaticParser::GroupClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupCondition(SparqlAutomaticParser::GroupConditionContext *ctx) override { + virtual std::any visitGroupCondition( + SparqlAutomaticParser::GroupConditionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitHavingClause(SparqlAutomaticParser::HavingClauseContext *ctx) override { + virtual std::any visitHavingClause( + SparqlAutomaticParser::HavingClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitHavingCondition(SparqlAutomaticParser::HavingConditionContext *ctx) override { + virtual std::any visitHavingCondition( + SparqlAutomaticParser::HavingConditionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitOrderClause(SparqlAutomaticParser::OrderClauseContext *ctx) override { + virtual std::any visitOrderClause( + SparqlAutomaticParser::OrderClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitOrderCondition(SparqlAutomaticParser::OrderConditionContext *ctx) override { + virtual std::any visitOrderCondition( + SparqlAutomaticParser::OrderConditionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext *ctx) override { + virtual std::any visitLimitOffsetClauses( + SparqlAutomaticParser::LimitOffsetClausesContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitLimitClause(SparqlAutomaticParser::LimitClauseContext *ctx) override { + virtual std::any visitLimitClause( + SparqlAutomaticParser::LimitClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitOffsetClause(SparqlAutomaticParser::OffsetClauseContext *ctx) override { + virtual std::any visitOffsetClause( + SparqlAutomaticParser::OffsetClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext *ctx) override { + virtual std::any visitTextLimitClause( + SparqlAutomaticParser::TextLimitClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitValuesClause(SparqlAutomaticParser::ValuesClauseContext *ctx) override { + virtual std::any visitValuesClause( + SparqlAutomaticParser::ValuesClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitUpdate(SparqlAutomaticParser::UpdateContext *ctx) override { + virtual std::any visitUpdate( + SparqlAutomaticParser::UpdateContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitUpdate1(SparqlAutomaticParser::Update1Context *ctx) override { + virtual std::any visitUpdate1( + SparqlAutomaticParser::Update1Context* ctx) override { return visitChildren(ctx); } - virtual std::any visitLoad(SparqlAutomaticParser::LoadContext *ctx) override { + virtual std::any visitLoad(SparqlAutomaticParser::LoadContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitClear(SparqlAutomaticParser::ClearContext *ctx) override { + virtual std::any visitClear( + SparqlAutomaticParser::ClearContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDrop(SparqlAutomaticParser::DropContext *ctx) override { + virtual std::any visitDrop(SparqlAutomaticParser::DropContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitCreate(SparqlAutomaticParser::CreateContext *ctx) override { + virtual std::any visitCreate( + SparqlAutomaticParser::CreateContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitAdd(SparqlAutomaticParser::AddContext *ctx) override { + virtual std::any visitAdd(SparqlAutomaticParser::AddContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitMove(SparqlAutomaticParser::MoveContext *ctx) override { + virtual std::any visitMove(SparqlAutomaticParser::MoveContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitCopy(SparqlAutomaticParser::CopyContext *ctx) override { + virtual std::any visitCopy(SparqlAutomaticParser::CopyContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitInsertData(SparqlAutomaticParser::InsertDataContext *ctx) override { + virtual std::any visitInsertData( + SparqlAutomaticParser::InsertDataContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDeleteData(SparqlAutomaticParser::DeleteDataContext *ctx) override { + virtual std::any visitDeleteData( + SparqlAutomaticParser::DeleteDataContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDeleteWhere(SparqlAutomaticParser::DeleteWhereContext *ctx) override { + virtual std::any visitDeleteWhere( + SparqlAutomaticParser::DeleteWhereContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitModify(SparqlAutomaticParser::ModifyContext *ctx) override { + virtual std::any visitModify( + SparqlAutomaticParser::ModifyContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDeleteClause(SparqlAutomaticParser::DeleteClauseContext *ctx) override { + virtual std::any visitDeleteClause( + SparqlAutomaticParser::DeleteClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitInsertClause(SparqlAutomaticParser::InsertClauseContext *ctx) override { + virtual std::any visitInsertClause( + SparqlAutomaticParser::InsertClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitUsingClause(SparqlAutomaticParser::UsingClauseContext *ctx) override { + virtual std::any visitUsingClause( + SparqlAutomaticParser::UsingClauseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext *ctx) override { + virtual std::any visitGraphOrDefault( + SparqlAutomaticParser::GraphOrDefaultContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphRef(SparqlAutomaticParser::GraphRefContext *ctx) override { + virtual std::any visitGraphRef( + SparqlAutomaticParser::GraphRefContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphRefAll(SparqlAutomaticParser::GraphRefAllContext *ctx) override { + virtual std::any visitGraphRefAll( + SparqlAutomaticParser::GraphRefAllContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitQuadPattern(SparqlAutomaticParser::QuadPatternContext *ctx) override { + virtual std::any visitQuadPattern( + SparqlAutomaticParser::QuadPatternContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitQuadData(SparqlAutomaticParser::QuadDataContext *ctx) override { + virtual std::any visitQuadData( + SparqlAutomaticParser::QuadDataContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitQuads(SparqlAutomaticParser::QuadsContext *ctx) override { + virtual std::any visitQuads( + SparqlAutomaticParser::QuadsContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext *ctx) override { + virtual std::any visitQuadsNotTriples( + SparqlAutomaticParser::QuadsNotTriplesContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext *ctx) override { + virtual std::any visitTriplesTemplate( + SparqlAutomaticParser::TriplesTemplateContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext *ctx) override { + virtual std::any visitGroupGraphPattern( + SparqlAutomaticParser::GroupGraphPatternContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext *ctx) override { + virtual std::any visitGroupGraphPatternSub( + SparqlAutomaticParser::GroupGraphPatternSubContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext *ctx) override { + virtual std::any visitGraphPatternNotTriplesAndMaybeTriples( + SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* ctx) + override { return visitChildren(ctx); } - virtual std::any visitTriplesBlock(SparqlAutomaticParser::TriplesBlockContext *ctx) override { + virtual std::any visitTriplesBlock( + SparqlAutomaticParser::TriplesBlockContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext *ctx) override { + virtual std::any visitGraphPatternNotTriples( + SparqlAutomaticParser::GraphPatternNotTriplesContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext *ctx) override { + virtual std::any visitOptionalGraphPattern( + SparqlAutomaticParser::OptionalGraphPatternContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext *ctx) override { + virtual std::any visitGraphGraphPattern( + SparqlAutomaticParser::GraphGraphPatternContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext *ctx) override { + virtual std::any visitServiceGraphPattern( + SparqlAutomaticParser::ServiceGraphPatternContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitBind(SparqlAutomaticParser::BindContext *ctx) override { + virtual std::any visitBind(SparqlAutomaticParser::BindContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitInlineData(SparqlAutomaticParser::InlineDataContext *ctx) override { + virtual std::any visitInlineData( + SparqlAutomaticParser::InlineDataContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDataBlock(SparqlAutomaticParser::DataBlockContext *ctx) override { + virtual std::any visitDataBlock( + SparqlAutomaticParser::DataBlockContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext *ctx) override { + virtual std::any visitInlineDataOneVar( + SparqlAutomaticParser::InlineDataOneVarContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitInlineDataFull(SparqlAutomaticParser::InlineDataFullContext *ctx) override { + virtual std::any visitInlineDataFull( + SparqlAutomaticParser::InlineDataFullContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext *ctx) override { + virtual std::any visitDataBlockSingle( + SparqlAutomaticParser::DataBlockSingleContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDataBlockValue(SparqlAutomaticParser::DataBlockValueContext *ctx) override { + virtual std::any visitDataBlockValue( + SparqlAutomaticParser::DataBlockValueContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext *ctx) override { + virtual std::any visitMinusGraphPattern( + SparqlAutomaticParser::MinusGraphPatternContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext *ctx) override { + virtual std::any visitGroupOrUnionGraphPattern( + SparqlAutomaticParser::GroupOrUnionGraphPatternContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitFilterR(SparqlAutomaticParser::FilterRContext *ctx) override { + virtual std::any visitFilterR( + SparqlAutomaticParser::FilterRContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitConstraint(SparqlAutomaticParser::ConstraintContext *ctx) override { + virtual std::any visitConstraint( + SparqlAutomaticParser::ConstraintContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitFunctionCall(SparqlAutomaticParser::FunctionCallContext *ctx) override { + virtual std::any visitFunctionCall( + SparqlAutomaticParser::FunctionCallContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitArgList(SparqlAutomaticParser::ArgListContext *ctx) override { + virtual std::any visitArgList( + SparqlAutomaticParser::ArgListContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitExpressionList(SparqlAutomaticParser::ExpressionListContext *ctx) override { + virtual std::any visitExpressionList( + SparqlAutomaticParser::ExpressionListContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext *ctx) override { + virtual std::any visitConstructTemplate( + SparqlAutomaticParser::ConstructTemplateContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitConstructTriples(SparqlAutomaticParser::ConstructTriplesContext *ctx) override { + virtual std::any visitConstructTriples( + SparqlAutomaticParser::ConstructTriplesContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext *ctx) override { + virtual std::any visitTriplesSameSubject( + SparqlAutomaticParser::TriplesSameSubjectContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPropertyList(SparqlAutomaticParser::PropertyListContext *ctx) override { + virtual std::any visitPropertyList( + SparqlAutomaticParser::PropertyListContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext *ctx) override { + virtual std::any visitPropertyListNotEmpty( + SparqlAutomaticParser::PropertyListNotEmptyContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitVerb(SparqlAutomaticParser::VerbContext *ctx) override { + virtual std::any visitVerb(SparqlAutomaticParser::VerbContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitObjectList(SparqlAutomaticParser::ObjectListContext *ctx) override { + virtual std::any visitObjectList( + SparqlAutomaticParser::ObjectListContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitObjectR(SparqlAutomaticParser::ObjectRContext *ctx) override { + virtual std::any visitObjectR( + SparqlAutomaticParser::ObjectRContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext *ctx) override { + virtual std::any visitTriplesSameSubjectPath( + SparqlAutomaticParser::TriplesSameSubjectPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPropertyListPath(SparqlAutomaticParser::PropertyListPathContext *ctx) override { + virtual std::any visitPropertyListPath( + SparqlAutomaticParser::PropertyListPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext *ctx) override { + virtual std::any visitPropertyListPathNotEmpty( + SparqlAutomaticParser::PropertyListPathNotEmptyContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitVerbPath(SparqlAutomaticParser::VerbPathContext *ctx) override { + virtual std::any visitVerbPath( + SparqlAutomaticParser::VerbPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitVerbSimple(SparqlAutomaticParser::VerbSimpleContext *ctx) override { + virtual std::any visitVerbSimple( + SparqlAutomaticParser::VerbSimpleContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext *ctx) override { + virtual std::any visitTupleWithoutPath( + SparqlAutomaticParser::TupleWithoutPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitTupleWithPath(SparqlAutomaticParser::TupleWithPathContext *ctx) override { + virtual std::any visitTupleWithPath( + SparqlAutomaticParser::TupleWithPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext *ctx) override { + virtual std::any visitVerbPathOrSimple( + SparqlAutomaticParser::VerbPathOrSimpleContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitObjectListPath(SparqlAutomaticParser::ObjectListPathContext *ctx) override { + virtual std::any visitObjectListPath( + SparqlAutomaticParser::ObjectListPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitObjectPath(SparqlAutomaticParser::ObjectPathContext *ctx) override { + virtual std::any visitObjectPath( + SparqlAutomaticParser::ObjectPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPath(SparqlAutomaticParser::PathContext *ctx) override { + virtual std::any visitPath(SparqlAutomaticParser::PathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPathAlternative(SparqlAutomaticParser::PathAlternativeContext *ctx) override { + virtual std::any visitPathAlternative( + SparqlAutomaticParser::PathAlternativeContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPathSequence(SparqlAutomaticParser::PathSequenceContext *ctx) override { + virtual std::any visitPathSequence( + SparqlAutomaticParser::PathSequenceContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPathElt(SparqlAutomaticParser::PathEltContext *ctx) override { + virtual std::any visitPathElt( + SparqlAutomaticParser::PathEltContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext *ctx) override { + virtual std::any visitPathEltOrInverse( + SparqlAutomaticParser::PathEltOrInverseContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPathMod(SparqlAutomaticParser::PathModContext *ctx) override { + virtual std::any visitPathMod( + SparqlAutomaticParser::PathModContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPathPrimary(SparqlAutomaticParser::PathPrimaryContext *ctx) override { + virtual std::any visitPathPrimary( + SparqlAutomaticParser::PathPrimaryContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext *ctx) override { + virtual std::any visitPathNegatedPropertySet( + SparqlAutomaticParser::PathNegatedPropertySetContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext *ctx) override { + virtual std::any visitPathOneInPropertySet( + SparqlAutomaticParser::PathOneInPropertySetContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitInteger(SparqlAutomaticParser::IntegerContext *ctx) override { + virtual std::any visitInteger( + SparqlAutomaticParser::IntegerContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesNode(SparqlAutomaticParser::TriplesNodeContext *ctx) override { + virtual std::any visitTriplesNode( + SparqlAutomaticParser::TriplesNodeContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext *ctx) override { + virtual std::any visitBlankNodePropertyList( + SparqlAutomaticParser::BlankNodePropertyListContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext *ctx) override { + virtual std::any visitTriplesNodePath( + SparqlAutomaticParser::TriplesNodePathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext *ctx) override { + virtual std::any visitBlankNodePropertyListPath( + SparqlAutomaticParser::BlankNodePropertyListPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitCollection(SparqlAutomaticParser::CollectionContext *ctx) override { + virtual std::any visitCollection( + SparqlAutomaticParser::CollectionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitCollectionPath(SparqlAutomaticParser::CollectionPathContext *ctx) override { + virtual std::any visitCollectionPath( + SparqlAutomaticParser::CollectionPathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphNode(SparqlAutomaticParser::GraphNodeContext *ctx) override { + virtual std::any visitGraphNode( + SparqlAutomaticParser::GraphNodeContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphNodePath(SparqlAutomaticParser::GraphNodePathContext *ctx) override { + virtual std::any visitGraphNodePath( + SparqlAutomaticParser::GraphNodePathContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitVarOrTerm(SparqlAutomaticParser::VarOrTermContext *ctx) override { + virtual std::any visitVarOrTerm( + SparqlAutomaticParser::VarOrTermContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitVarOrIri(SparqlAutomaticParser::VarOrIriContext *ctx) override { + virtual std::any visitVarOrIri( + SparqlAutomaticParser::VarOrIriContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitVar(SparqlAutomaticParser::VarContext *ctx) override { + virtual std::any visitVar(SparqlAutomaticParser::VarContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitGraphTerm(SparqlAutomaticParser::GraphTermContext *ctx) override { + virtual std::any visitGraphTerm( + SparqlAutomaticParser::GraphTermContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitExpression(SparqlAutomaticParser::ExpressionContext *ctx) override { + virtual std::any visitExpression( + SparqlAutomaticParser::ExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext *ctx) override { + virtual std::any visitConditionalOrExpression( + SparqlAutomaticParser::ConditionalOrExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext *ctx) override { + virtual std::any visitConditionalAndExpression( + SparqlAutomaticParser::ConditionalAndExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitValueLogical(SparqlAutomaticParser::ValueLogicalContext *ctx) override { + virtual std::any visitValueLogical( + SparqlAutomaticParser::ValueLogicalContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext *ctx) override { + virtual std::any visitRelationalExpression( + SparqlAutomaticParser::RelationalExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericExpression(SparqlAutomaticParser::NumericExpressionContext *ctx) override { + virtual std::any visitNumericExpression( + SparqlAutomaticParser::NumericExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext *ctx) override { + virtual std::any visitAdditiveExpression( + SparqlAutomaticParser::AdditiveExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext *ctx) override { + virtual std::any visitMultiplicativeExpressionWithSign( + SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* ctx) + override { return visitChildren(ctx); } - virtual std::any visitPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext *ctx) override { + virtual std::any visitPlusSubexpression( + SparqlAutomaticParser::PlusSubexpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext *ctx) override { + virtual std::any visitMinusSubexpression( + SparqlAutomaticParser::MinusSubexpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext *ctx) override { + virtual std::any visitMultiplicativeExpressionWithLeadingSignButNoSpace( + SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* ctx) + override { return visitChildren(ctx); } - virtual std::any visitMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext *ctx) override { + virtual std::any visitMultiplicativeExpression( + SparqlAutomaticParser::MultiplicativeExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext *ctx) override { + virtual std::any visitMultiplyOrDivideExpression( + SparqlAutomaticParser::MultiplyOrDivideExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext *ctx) override { + virtual std::any visitMultiplyExpression( + SparqlAutomaticParser::MultiplyExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitDivideExpression(SparqlAutomaticParser::DivideExpressionContext *ctx) override { + virtual std::any visitDivideExpression( + SparqlAutomaticParser::DivideExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext *ctx) override { + virtual std::any visitUnaryExpression( + SparqlAutomaticParser::UnaryExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext *ctx) override { + virtual std::any visitPrimaryExpression( + SparqlAutomaticParser::PrimaryExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext *ctx) override { + virtual std::any visitBrackettedExpression( + SparqlAutomaticParser::BrackettedExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitBuiltInCall(SparqlAutomaticParser::BuiltInCallContext *ctx) override { + virtual std::any visitBuiltInCall( + SparqlAutomaticParser::BuiltInCallContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitRegexExpression(SparqlAutomaticParser::RegexExpressionContext *ctx) override { + virtual std::any visitRegexExpression( + SparqlAutomaticParser::RegexExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitLangExpression(SparqlAutomaticParser::LangExpressionContext *ctx) override { + virtual std::any visitLangExpression( + SparqlAutomaticParser::LangExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext *ctx) override { + virtual std::any visitSubstringExpression( + SparqlAutomaticParser::SubstringExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext *ctx) override { + virtual std::any visitStrReplaceExpression( + SparqlAutomaticParser::StrReplaceExpressionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitExistsFunc(SparqlAutomaticParser::ExistsFuncContext *ctx) override { + virtual std::any visitExistsFunc( + SparqlAutomaticParser::ExistsFuncContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext *ctx) override { + virtual std::any visitNotExistsFunc( + SparqlAutomaticParser::NotExistsFuncContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitAggregate(SparqlAutomaticParser::AggregateContext *ctx) override { + virtual std::any visitAggregate( + SparqlAutomaticParser::AggregateContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext *ctx) override { + virtual std::any visitIriOrFunction( + SparqlAutomaticParser::IriOrFunctionContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitRdfLiteral(SparqlAutomaticParser::RdfLiteralContext *ctx) override { + virtual std::any visitRdfLiteral( + SparqlAutomaticParser::RdfLiteralContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericLiteral(SparqlAutomaticParser::NumericLiteralContext *ctx) override { + virtual std::any visitNumericLiteral( + SparqlAutomaticParser::NumericLiteralContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext *ctx) override { + virtual std::any visitNumericLiteralUnsigned( + SparqlAutomaticParser::NumericLiteralUnsignedContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext *ctx) override { + virtual std::any visitNumericLiteralPositive( + SparqlAutomaticParser::NumericLiteralPositiveContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext *ctx) override { + virtual std::any visitNumericLiteralNegative( + SparqlAutomaticParser::NumericLiteralNegativeContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext *ctx) override { + virtual std::any visitBooleanLiteral( + SparqlAutomaticParser::BooleanLiteralContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitString(SparqlAutomaticParser::StringContext *ctx) override { + virtual std::any visitString( + SparqlAutomaticParser::StringContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitIri(SparqlAutomaticParser::IriContext *ctx) override { + virtual std::any visitIri(SparqlAutomaticParser::IriContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPrefixedName(SparqlAutomaticParser::PrefixedNameContext *ctx) override { + virtual std::any visitPrefixedName( + SparqlAutomaticParser::PrefixedNameContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitBlankNode(SparqlAutomaticParser::BlankNodeContext *ctx) override { + virtual std::any visitBlankNode( + SparqlAutomaticParser::BlankNodeContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitIriref(SparqlAutomaticParser::IrirefContext *ctx) override { + virtual std::any visitIriref( + SparqlAutomaticParser::IrirefContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPnameLn(SparqlAutomaticParser::PnameLnContext *ctx) override { + virtual std::any visitPnameLn( + SparqlAutomaticParser::PnameLnContext* ctx) override { return visitChildren(ctx); } - virtual std::any visitPnameNs(SparqlAutomaticParser::PnameNsContext *ctx) override { + virtual std::any visitPnameNs( + SparqlAutomaticParser::PnameNsContext* ctx) override { return visitChildren(ctx); } - - }; - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp index 726b9f14c8..15306faaff 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.cpp @@ -1,33 +1,34 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 - #include "SparqlAutomaticLexer.h" - using namespace antlr4; - - using namespace antlr4; namespace { struct SparqlAutomaticLexerStaticData final { SparqlAutomaticLexerStaticData(std::vector ruleNames, - std::vector channelNames, - std::vector modeNames, - std::vector literalNames, - std::vector symbolicNames) - : ruleNames(std::move(ruleNames)), channelNames(std::move(channelNames)), - modeNames(std::move(modeNames)), literalNames(std::move(literalNames)), + std::vector channelNames, + std::vector modeNames, + std::vector literalNames, + std::vector symbolicNames) + : ruleNames(std::move(ruleNames)), + channelNames(std::move(channelNames)), + modeNames(std::move(modeNames)), + literalNames(std::move(literalNames)), symbolicNames(std::move(symbolicNames)), vocabulary(this->literalNames, this->symbolicNames) {} - SparqlAutomaticLexerStaticData(const SparqlAutomaticLexerStaticData&) = delete; + SparqlAutomaticLexerStaticData(const SparqlAutomaticLexerStaticData&) = + delete; SparqlAutomaticLexerStaticData(SparqlAutomaticLexerStaticData&&) = delete; - SparqlAutomaticLexerStaticData& operator=(const SparqlAutomaticLexerStaticData&) = delete; - SparqlAutomaticLexerStaticData& operator=(SparqlAutomaticLexerStaticData&&) = delete; + SparqlAutomaticLexerStaticData& operator=( + const SparqlAutomaticLexerStaticData&) = delete; + SparqlAutomaticLexerStaticData& operator=(SparqlAutomaticLexerStaticData&&) = + delete; std::vector decisionToDFA; antlr4::atn::PredictionContextCache sharedContextCache; @@ -42,694 +43,1689 @@ struct SparqlAutomaticLexerStaticData final { }; ::antlr4::internal::OnceFlag sparqlautomaticlexerLexerOnceFlag; -SparqlAutomaticLexerStaticData *sparqlautomaticlexerLexerStaticData = nullptr; +SparqlAutomaticLexerStaticData* sparqlautomaticlexerLexerStaticData = nullptr; void sparqlautomaticlexerLexerInitialize() { assert(sparqlautomaticlexerLexerStaticData == nullptr); auto staticData = std::make_unique( - std::vector{ - "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8", - "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16", - "T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "T__23", "T__24", - "T__25", "T__26", "T__27", "T__28", "BASE", "PREFIX", "SELECT", "DISTINCT", - "REDUCED", "AS", "CONSTRUCT", "WHERE", "DESCRIBE", "ASK", "FROM", - "NAMED", "GROUPBY", "GROUP_CONCAT", "HAVING", "ORDERBY", "INTERNALSORTBY", - "ASC", "DESC", "LIMIT", "OFFSET", "TEXTLIMIT", "VALUES", "LOAD", "SILENT", - "INTO", "CLEAR", "DROP", "CREATE", "ADD", "TO", "DATA", "MOVE", "COPY", - "INSERT", "DELETE", "WITH", "USING", "DEFAULT", "GRAPH", "ALL", "OPTIONAL", - "SERVICE", "BIND", "UNDEF", "MINUS", "UNION", "FILTER", "NOT", "IN", - "STR", "LANG", "LANGMATCHES", "DATATYPE", "BOUND", "IRI", "URI", "BNODE", - "RAND", "ABS", "CEIL", "FLOOR", "ROUND", "CONCAT", "STRLEN", "UCASE", - "LCASE", "ENCODE_FOR_URI", "FOR", "CONTAINS", "STRSTARTS", "STRENDS", - "STRBEFORE", "STRAFTER", "YEAR", "MONTH", "DAY", "HOURS", "MINUTES", - "SECONDS", "TIMEZONE", "TZ", "NOW", "UUID", "STRUUID", "SHA1", "SHA256", - "SHA384", "SHA512", "MD5", "COALESCE", "IF", "STRLANG", "STRDT", "SAMETERM", - "ISIRI", "ISURI", "ISBLANK", "ISLITERAL", "ISNUMERIC", "REGEX", "SUBSTR", - "REPLACE", "EXISTS", "COUNT", "SUM", "MIN", "MAX", "AVG", "STDEV", - "SAMPLE", "SEPARATOR", "IRI_REF", "PNAME_NS", "PNAME_LN", "BLANK_NODE_LABEL", - "VAR1", "VAR2", "LANGTAG", "PREFIX_LANGTAG", "INTEGER", "DECIMAL", - "DOUBLE", "INTEGER_POSITIVE", "DECIMAL_POSITIVE", "DOUBLE_POSITIVE", - "INTEGER_NEGATIVE", "DECIMAL_NEGATIVE", "DOUBLE_NEGATIVE", "EXPONENT", - "STRING_LITERAL1", "STRING_LITERAL2", "STRING_LITERAL_LONG1", "STRING_LITERAL_LONG2", - "ECHAR", "NIL", "ANON", "PN_CHARS_U", "VARNAME", "PN_CHARS", "PN_PREFIX", - "PN_LOCAL", "PLX", "PERCENT", "HEX", "PN_LOCAL_ESC", "PN_CHARS_BASE", - "DIGIT", "WS", "COMMENTS", "A", "B", "C", "D", "E", "F", "G", "H", - "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", - "W", "X", "Y", "Z" - }, - std::vector{ - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }, - std::vector{ - "DEFAULT_MODE" - }, - std::vector{ - "", "'*'", "'('", "')'", "'{'", "'}'", "';'", "'.'", "','", "'a'", - "'|'", "'/'", "'^'", "'+'", "'\\u003F'", "'!'", "'['", "']'", "'||'", - "'&&'", "'='", "'!='", "'<'", "'>'", "'<='", "'>='", "'-'", "'^^'", - "'true'", "'false'" - }, - std::vector{ - "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", "", "", "", "", "", "BASE", "PREFIX", - "SELECT", "DISTINCT", "REDUCED", "AS", "CONSTRUCT", "WHERE", "DESCRIBE", - "ASK", "FROM", "NAMED", "GROUPBY", "GROUP_CONCAT", "HAVING", "ORDERBY", - "INTERNALSORTBY", "ASC", "DESC", "LIMIT", "OFFSET", "TEXTLIMIT", "VALUES", - "LOAD", "SILENT", "INTO", "CLEAR", "DROP", "CREATE", "ADD", "TO", - "DATA", "MOVE", "COPY", "INSERT", "DELETE", "WITH", "USING", "DEFAULT", - "GRAPH", "ALL", "OPTIONAL", "SERVICE", "BIND", "UNDEF", "MINUS", "UNION", - "FILTER", "NOT", "IN", "STR", "LANG", "LANGMATCHES", "DATATYPE", "BOUND", - "IRI", "URI", "BNODE", "RAND", "ABS", "CEIL", "FLOOR", "ROUND", "CONCAT", - "STRLEN", "UCASE", "LCASE", "ENCODE_FOR_URI", "FOR", "CONTAINS", "STRSTARTS", - "STRENDS", "STRBEFORE", "STRAFTER", "YEAR", "MONTH", "DAY", "HOURS", - "MINUTES", "SECONDS", "TIMEZONE", "TZ", "NOW", "UUID", "STRUUID", - "SHA1", "SHA256", "SHA384", "SHA512", "MD5", "COALESCE", "IF", "STRLANG", - "STRDT", "SAMETERM", "ISIRI", "ISURI", "ISBLANK", "ISLITERAL", "ISNUMERIC", - "REGEX", "SUBSTR", "REPLACE", "EXISTS", "COUNT", "SUM", "MIN", "MAX", - "AVG", "STDEV", "SAMPLE", "SEPARATOR", "IRI_REF", "PNAME_NS", "PNAME_LN", - "BLANK_NODE_LABEL", "VAR1", "VAR2", "LANGTAG", "PREFIX_LANGTAG", "INTEGER", - "DECIMAL", "DOUBLE", "INTEGER_POSITIVE", "DECIMAL_POSITIVE", "DOUBLE_POSITIVE", - "INTEGER_NEGATIVE", "DECIMAL_NEGATIVE", "DOUBLE_NEGATIVE", "EXPONENT", - "STRING_LITERAL1", "STRING_LITERAL2", "STRING_LITERAL_LONG1", "STRING_LITERAL_LONG2", - "ECHAR", "NIL", "ANON", "PN_CHARS_U", "VARNAME", "PN_PREFIX", "PN_LOCAL", - "PLX", "PERCENT", "HEX", "PN_LOCAL_ESC", "WS", "COMMENTS" - } - ); + std::vector{"T__0", + "T__1", + "T__2", + "T__3", + "T__4", + "T__5", + "T__6", + "T__7", + "T__8", + "T__9", + "T__10", + "T__11", + "T__12", + "T__13", + "T__14", + "T__15", + "T__16", + "T__17", + "T__18", + "T__19", + "T__20", + "T__21", + "T__22", + "T__23", + "T__24", + "T__25", + "T__26", + "T__27", + "T__28", + "BASE", + "PREFIX", + "SELECT", + "DISTINCT", + "REDUCED", + "AS", + "CONSTRUCT", + "WHERE", + "DESCRIBE", + "ASK", + "FROM", + "NAMED", + "GROUPBY", + "GROUP_CONCAT", + "HAVING", + "ORDERBY", + "INTERNALSORTBY", + "ASC", + "DESC", + "LIMIT", + "OFFSET", + "TEXTLIMIT", + "VALUES", + "LOAD", + "SILENT", + "INTO", + "CLEAR", + "DROP", + "CREATE", + "ADD", + "TO", + "DATA", + "MOVE", + "COPY", + "INSERT", + "DELETE", + "WITH", + "USING", + "DEFAULT", + "GRAPH", + "ALL", + "OPTIONAL", + "SERVICE", + "BIND", + "UNDEF", + "MINUS", + "UNION", + "FILTER", + "NOT", + "IN", + "STR", + "LANG", + "LANGMATCHES", + "DATATYPE", + "BOUND", + "IRI", + "URI", + "BNODE", + "RAND", + "ABS", + "CEIL", + "FLOOR", + "ROUND", + "CONCAT", + "STRLEN", + "UCASE", + "LCASE", + "ENCODE_FOR_URI", + "FOR", + "CONTAINS", + "STRSTARTS", + "STRENDS", + "STRBEFORE", + "STRAFTER", + "YEAR", + "MONTH", + "DAY", + "HOURS", + "MINUTES", + "SECONDS", + "TIMEZONE", + "TZ", + "NOW", + "UUID", + "STRUUID", + "SHA1", + "SHA256", + "SHA384", + "SHA512", + "MD5", + "COALESCE", + "IF", + "STRLANG", + "STRDT", + "SAMETERM", + "ISIRI", + "ISURI", + "ISBLANK", + "ISLITERAL", + "ISNUMERIC", + "REGEX", + "SUBSTR", + "REPLACE", + "EXISTS", + "COUNT", + "SUM", + "MIN", + "MAX", + "AVG", + "STDEV", + "SAMPLE", + "SEPARATOR", + "IRI_REF", + "PNAME_NS", + "PNAME_LN", + "BLANK_NODE_LABEL", + "VAR1", + "VAR2", + "LANGTAG", + "PREFIX_LANGTAG", + "INTEGER", + "DECIMAL", + "DOUBLE", + "INTEGER_POSITIVE", + "DECIMAL_POSITIVE", + "DOUBLE_POSITIVE", + "INTEGER_NEGATIVE", + "DECIMAL_NEGATIVE", + "DOUBLE_NEGATIVE", + "EXPONENT", + "STRING_LITERAL1", + "STRING_LITERAL2", + "STRING_LITERAL_LONG1", + "STRING_LITERAL_LONG2", + "ECHAR", + "NIL", + "ANON", + "PN_CHARS_U", + "VARNAME", + "PN_CHARS", + "PN_PREFIX", + "PN_LOCAL", + "PLX", + "PERCENT", + "HEX", + "PN_LOCAL_ESC", + "PN_CHARS_BASE", + "DIGIT", + "WS", + "COMMENTS", + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z"}, + std::vector{"DEFAULT_TOKEN_CHANNEL", "HIDDEN"}, + std::vector{"DEFAULT_MODE"}, + std::vector{"", "'*'", "'('", "')'", "'{'", + "'}'", "';'", "'.'", "','", "'a'", + "'|'", "'/'", "'^'", "'+'", "'\\u003F'", + "'!'", "'['", "']'", "'||'", "'&&'", + "'='", "'!='", "'<'", "'>'", "'<='", + "'>='", "'-'", "'^^'", "'true'", "'false'"}, + std::vector{"", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "BASE", + "PREFIX", + "SELECT", + "DISTINCT", + "REDUCED", + "AS", + "CONSTRUCT", + "WHERE", + "DESCRIBE", + "ASK", + "FROM", + "NAMED", + "GROUPBY", + "GROUP_CONCAT", + "HAVING", + "ORDERBY", + "INTERNALSORTBY", + "ASC", + "DESC", + "LIMIT", + "OFFSET", + "TEXTLIMIT", + "VALUES", + "LOAD", + "SILENT", + "INTO", + "CLEAR", + "DROP", + "CREATE", + "ADD", + "TO", + "DATA", + "MOVE", + "COPY", + "INSERT", + "DELETE", + "WITH", + "USING", + "DEFAULT", + "GRAPH", + "ALL", + "OPTIONAL", + "SERVICE", + "BIND", + "UNDEF", + "MINUS", + "UNION", + "FILTER", + "NOT", + "IN", + "STR", + "LANG", + "LANGMATCHES", + "DATATYPE", + "BOUND", + "IRI", + "URI", + "BNODE", + "RAND", + "ABS", + "CEIL", + "FLOOR", + "ROUND", + "CONCAT", + "STRLEN", + "UCASE", + "LCASE", + "ENCODE_FOR_URI", + "FOR", + "CONTAINS", + "STRSTARTS", + "STRENDS", + "STRBEFORE", + "STRAFTER", + "YEAR", + "MONTH", + "DAY", + "HOURS", + "MINUTES", + "SECONDS", + "TIMEZONE", + "TZ", + "NOW", + "UUID", + "STRUUID", + "SHA1", + "SHA256", + "SHA384", + "SHA512", + "MD5", + "COALESCE", + "IF", + "STRLANG", + "STRDT", + "SAMETERM", + "ISIRI", + "ISURI", + "ISBLANK", + "ISLITERAL", + "ISNUMERIC", + "REGEX", + "SUBSTR", + "REPLACE", + "EXISTS", + "COUNT", + "SUM", + "MIN", + "MAX", + "AVG", + "STDEV", + "SAMPLE", + "SEPARATOR", + "IRI_REF", + "PNAME_NS", + "PNAME_LN", + "BLANK_NODE_LABEL", + "VAR1", + "VAR2", + "LANGTAG", + "PREFIX_LANGTAG", + "INTEGER", + "DECIMAL", + "DOUBLE", + "INTEGER_POSITIVE", + "DECIMAL_POSITIVE", + "DOUBLE_POSITIVE", + "INTEGER_NEGATIVE", + "DECIMAL_NEGATIVE", + "DOUBLE_NEGATIVE", + "EXPONENT", + "STRING_LITERAL1", + "STRING_LITERAL2", + "STRING_LITERAL_LONG1", + "STRING_LITERAL_LONG2", + "ECHAR", + "NIL", + "ANON", + "PN_CHARS_U", + "VARNAME", + "PN_PREFIX", + "PN_LOCAL", + "PLX", + "PERCENT", + "HEX", + "PN_LOCAL_ESC", + "WS", + "COMMENTS"}); static const int32_t serializedATNSegment[] = { - 4,0,176,1598,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6, - 7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2, - 14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2, - 21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2, - 28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2, - 35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2, - 42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2, - 49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2, - 56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2, - 63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2, - 70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2, - 77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2, - 84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2, - 91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2, - 98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104, - 7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110, - 7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116, - 7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122, - 7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128, - 7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134, - 7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140, - 7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146, - 7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152, - 7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158, - 7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164, - 7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170, - 7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176, - 7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182, - 7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188, - 7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194, - 7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200, - 7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,1,0,1,0,1,1,1,1, - 1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,10, - 1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17, - 1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,20,1,21,1,21,1,22,1,22, - 1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,26,1,26,1,26,1,27,1,27,1,27, - 1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,30, - 1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1,31,1,32, - 1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33, - 1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35,1,35, - 1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37, - 1,37,1,37,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40, - 1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,41,1,41,4,41,568,8,41,11,41,12,41, - 569,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42,1,42, - 1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,43,1,43,1,44,1,44,1,44,1,44, - 1,44,1,44,4,44,601,8,44,11,44,12,44,602,1,44,1,44,1,44,1,45,1,45,1,45, - 1,45,1,45,1,45,1,45,1,45,1,45,4,45,617,8,45,11,45,12,45,618,1,45,1,45, - 1,45,1,45,1,45,4,45,626,8,45,11,45,12,45,627,1,45,1,45,1,45,1,46,1,46, - 1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49, - 1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50, - 1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52, - 1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,55,1,55, - 1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57, - 1,57,1,57,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60, - 1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63, - 1,63,1,63,1,63,1,64,1,64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65, - 1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,1,67,1,67,1,67, - 1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,70,1,70,1,70, - 1,70,1,70,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71, - 1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74, - 1,74,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76, - 1,76,1,76,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,80, - 1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81, - 1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83, - 1,83,1,83,1,83,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,86,1,86,1,86, - 1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,89,1,89, - 1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91, - 1,91,1,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,93, - 1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,95,1,95,1,96, - 1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96,1,96, - 1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,98,1,99, - 1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100, - 1,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101, - 1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,103, - 1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,1,104,1,105,1,105, - 1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,106,1,107,1,107,1,107,1,107, - 1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,108,1,108,1,108,1,108, - 1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,109,1,110,1,110,1,110, - 1,111,1,111,1,111,1,111,1,112,1,112,1,112,1,112,1,112,1,113,1,113,1,113, - 1,113,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,114,1,115,1,115, - 1,115,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116,1,116,1,116,1,116, - 1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,118,1,118,1,118,1,118,1,119, - 1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120,1,120,1,120,1,121, - 1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122, - 1,122,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,123,1,124,1,124, - 1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125,1,126,1,126, - 1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127, - 1,127,1,127,1,127,1,127,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, - 1,128,1,128,1,129,1,129,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130, - 1,130,1,130,1,130,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,131,1,132, - 1,132,1,132,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,133,1,133, - 1,134,1,134,1,134,1,134,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136, - 1,137,1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,138,1,138,1,139,1,139, - 1,139,1,139,1,139,1,139,1,139,1,140,1,140,1,140,1,140,1,140,1,140,1,140, - 1,140,1,140,1,140,1,141,1,141,5,141,1239,8,141,10,141,12,141,1242,9,141, - 1,141,1,141,1,142,3,142,1247,8,142,1,142,1,142,1,143,1,143,1,143,1,144, - 1,144,1,144,1,144,1,144,3,144,1259,8,144,1,144,1,144,5,144,1263,8,144, - 10,144,12,144,1266,9,144,1,144,3,144,1269,8,144,1,145,1,145,1,145,1,146, - 1,146,1,146,1,147,1,147,4,147,1279,8,147,11,147,12,147,1280,1,147,1,147, - 1,147,4,147,1286,8,147,11,147,12,147,1287,5,147,1290,8,147,10,147,12, - 147,1293,9,147,1,148,1,148,1,148,1,149,4,149,1299,8,149,11,149,12,149, - 1300,1,150,5,150,1304,8,150,10,150,12,150,1307,9,150,1,150,1,150,4,150, - 1311,8,150,11,150,12,150,1312,1,151,4,151,1316,8,151,11,151,12,151,1317, - 1,151,1,151,5,151,1322,8,151,10,151,12,151,1325,9,151,1,151,1,151,1,151, - 1,151,4,151,1331,8,151,11,151,12,151,1332,1,151,1,151,1,151,4,151,1338, - 8,151,11,151,12,151,1339,1,151,1,151,3,151,1344,8,151,1,152,1,152,1,152, - 1,153,1,153,1,153,1,154,1,154,1,154,1,155,1,155,1,155,1,156,1,156,1,156, - 1,157,1,157,1,157,1,158,1,158,3,158,1366,8,158,1,158,4,158,1369,8,158, - 11,158,12,158,1370,1,159,1,159,1,159,5,159,1376,8,159,10,159,12,159,1379, - 9,159,1,159,1,159,1,160,1,160,1,160,5,160,1386,8,160,10,160,12,160,1389, - 9,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,161,1,161,3,161,1400, - 8,161,1,161,1,161,3,161,1404,8,161,5,161,1406,8,161,10,161,12,161,1409, - 9,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1,162,1,162,1,162, - 3,162,1422,8,162,1,162,1,162,3,162,1426,8,162,5,162,1428,8,162,10,162, - 12,162,1431,9,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,164,1,164, - 5,164,1442,8,164,10,164,12,164,1445,9,164,1,164,1,164,1,165,1,165,5,165, - 1451,8,165,10,165,12,165,1454,9,165,1,165,1,165,1,166,1,166,3,166,1460, - 8,166,1,167,1,167,3,167,1464,8,167,1,167,1,167,1,167,5,167,1469,8,167, - 10,167,12,167,1472,9,167,1,168,1,168,1,168,1,168,3,168,1478,8,168,1,169, - 1,169,1,169,5,169,1483,8,169,10,169,12,169,1486,9,169,1,169,3,169,1489, - 8,169,1,170,1,170,1,170,1,170,3,170,1495,8,170,1,170,1,170,1,170,5,170, - 1500,8,170,10,170,12,170,1503,9,170,1,170,1,170,1,170,3,170,1508,8,170, - 3,170,1510,8,170,1,171,1,171,3,171,1514,8,171,1,172,1,172,1,172,1,172, - 1,173,1,173,3,173,1522,8,173,1,174,1,174,1,174,1,175,1,175,1,176,1,176, - 1,177,4,177,1532,8,177,11,177,12,177,1533,1,177,1,177,1,178,1,178,5,178, - 1540,8,178,10,178,12,178,1543,9,178,1,178,1,178,1,179,1,179,1,180,1,180, - 1,181,1,181,1,182,1,182,1,183,1,183,1,184,1,184,1,185,1,185,1,186,1,186, - 1,187,1,187,1,188,1,188,1,189,1,189,1,190,1,190,1,191,1,191,1,192,1,192, - 1,193,1,193,1,194,1,194,1,195,1,195,1,196,1,196,1,197,1,197,1,198,1,198, - 1,199,1,199,1,200,1,200,1,201,1,201,1,202,1,202,1,203,1,203,1,204,1,204, - 0,0,205,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25, - 13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24, - 49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71, - 36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47, - 95,48,97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115, - 58,117,59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135, - 68,137,69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155, - 78,157,79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175, - 88,177,89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195, - 98,197,99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213, - 107,215,108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231, - 116,233,117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249, - 125,251,126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267, - 134,269,135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285, - 143,287,144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303, - 152,305,153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321, - 161,323,162,325,163,327,164,329,165,331,166,333,167,335,168,337,0,339, - 169,341,170,343,171,345,172,347,173,349,174,351,0,353,0,355,175,357,176, - 359,0,361,0,363,0,365,0,367,0,369,0,371,0,373,0,375,0,377,0,379,0,381, - 0,383,0,385,0,387,0,389,0,391,0,393,0,395,0,397,0,399,0,401,0,403,0,405, - 0,407,0,409,0,1,0,41,8,0,0,32,34,34,60,60,62,62,92,92,94,94,96,96,123, - 125,2,0,65,90,97,122,2,0,69,69,101,101,2,0,43,43,45,45,4,0,10,10,13,13, - 39,39,92,92,4,0,10,10,13,13,34,34,92,92,2,0,39,39,92,92,2,0,34,34,92, - 92,8,0,34,34,39,39,92,92,98,98,102,102,110,110,114,114,116,116,3,0,183, - 183,768,879,8255,8256,2,0,46,46,58,58,2,0,65,70,97,102,7,0,33,33,35,47, - 59,59,61,61,63,64,95,95,126,126,13,0,65,90,97,122,192,214,216,246,248, - 767,880,893,895,8191,8204,8205,8304,8591,11264,12271,12289,55295,63744, - 64975,65008,65533,3,0,9,10,13,13,32,32,2,0,10,10,13,13,2,0,65,65,97,97, - 2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0,70,70,102,102,2, - 0,71,71,103,103,2,0,72,72,104,104,2,0,73,73,105,105,2,0,74,74,106,106, - 2,0,75,75,107,107,2,0,76,76,108,108,2,0,77,77,109,109,2,0,78,78,110,110, - 2,0,79,79,111,111,2,0,80,80,112,112,2,0,81,81,113,113,2,0,82,82,114,114, - 2,0,83,83,115,115,2,0,84,84,116,116,2,0,85,85,117,117,2,0,86,86,118,118, - 2,0,87,87,119,119,2,0,88,88,120,120,2,0,89,89,121,121,2,0,90,90,122,122, - 1631,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11, - 1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0, - 0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0, - 0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43, - 1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0, - 0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0, - 0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75, - 1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0, - 0,0,0,87,1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0, - 0,97,1,0,0,0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0, - 107,1,0,0,0,0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0, - 117,1,0,0,0,0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0, - 127,1,0,0,0,0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0, - 137,1,0,0,0,0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0, - 147,1,0,0,0,0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0, - 157,1,0,0,0,0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0, - 167,1,0,0,0,0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0, - 177,1,0,0,0,0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0, - 187,1,0,0,0,0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0, - 197,1,0,0,0,0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0, - 207,1,0,0,0,0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0, - 217,1,0,0,0,0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0, - 227,1,0,0,0,0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0, - 237,1,0,0,0,0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0, - 247,1,0,0,0,0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0, - 257,1,0,0,0,0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0, - 267,1,0,0,0,0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0, - 277,1,0,0,0,0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0, - 287,1,0,0,0,0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0, - 297,1,0,0,0,0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0, - 307,1,0,0,0,0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0, - 317,1,0,0,0,0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0, - 327,1,0,0,0,0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0, - 339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0,0, - 349,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0,1,411,1,0,0,0,3,413,1,0,0,0,5, - 415,1,0,0,0,7,417,1,0,0,0,9,419,1,0,0,0,11,421,1,0,0,0,13,423,1,0,0,0, - 15,425,1,0,0,0,17,427,1,0,0,0,19,429,1,0,0,0,21,431,1,0,0,0,23,433,1, - 0,0,0,25,435,1,0,0,0,27,437,1,0,0,0,29,439,1,0,0,0,31,441,1,0,0,0,33, - 443,1,0,0,0,35,445,1,0,0,0,37,448,1,0,0,0,39,451,1,0,0,0,41,453,1,0,0, - 0,43,456,1,0,0,0,45,458,1,0,0,0,47,460,1,0,0,0,49,463,1,0,0,0,51,466, - 1,0,0,0,53,468,1,0,0,0,55,471,1,0,0,0,57,476,1,0,0,0,59,482,1,0,0,0,61, - 487,1,0,0,0,63,494,1,0,0,0,65,501,1,0,0,0,67,510,1,0,0,0,69,518,1,0,0, - 0,71,521,1,0,0,0,73,531,1,0,0,0,75,537,1,0,0,0,77,546,1,0,0,0,79,550, - 1,0,0,0,81,555,1,0,0,0,83,561,1,0,0,0,85,574,1,0,0,0,87,587,1,0,0,0,89, - 594,1,0,0,0,91,607,1,0,0,0,93,632,1,0,0,0,95,636,1,0,0,0,97,641,1,0,0, - 0,99,647,1,0,0,0,101,654,1,0,0,0,103,664,1,0,0,0,105,671,1,0,0,0,107, - 676,1,0,0,0,109,683,1,0,0,0,111,688,1,0,0,0,113,694,1,0,0,0,115,699,1, - 0,0,0,117,706,1,0,0,0,119,710,1,0,0,0,121,713,1,0,0,0,123,718,1,0,0,0, - 125,723,1,0,0,0,127,728,1,0,0,0,129,735,1,0,0,0,131,742,1,0,0,0,133,747, - 1,0,0,0,135,753,1,0,0,0,137,761,1,0,0,0,139,767,1,0,0,0,141,771,1,0,0, - 0,143,780,1,0,0,0,145,788,1,0,0,0,147,793,1,0,0,0,149,799,1,0,0,0,151, - 805,1,0,0,0,153,811,1,0,0,0,155,818,1,0,0,0,157,822,1,0,0,0,159,825,1, - 0,0,0,161,829,1,0,0,0,163,834,1,0,0,0,165,846,1,0,0,0,167,855,1,0,0,0, - 169,861,1,0,0,0,171,865,1,0,0,0,173,869,1,0,0,0,175,875,1,0,0,0,177,880, - 1,0,0,0,179,884,1,0,0,0,181,889,1,0,0,0,183,895,1,0,0,0,185,901,1,0,0, - 0,187,908,1,0,0,0,189,915,1,0,0,0,191,921,1,0,0,0,193,927,1,0,0,0,195, - 942,1,0,0,0,197,946,1,0,0,0,199,955,1,0,0,0,201,965,1,0,0,0,203,973,1, - 0,0,0,205,983,1,0,0,0,207,992,1,0,0,0,209,997,1,0,0,0,211,1003,1,0,0, - 0,213,1007,1,0,0,0,215,1013,1,0,0,0,217,1021,1,0,0,0,219,1029,1,0,0,0, - 221,1038,1,0,0,0,223,1041,1,0,0,0,225,1045,1,0,0,0,227,1050,1,0,0,0,229, - 1058,1,0,0,0,231,1063,1,0,0,0,233,1070,1,0,0,0,235,1077,1,0,0,0,237,1084, - 1,0,0,0,239,1088,1,0,0,0,241,1097,1,0,0,0,243,1100,1,0,0,0,245,1108,1, - 0,0,0,247,1114,1,0,0,0,249,1123,1,0,0,0,251,1129,1,0,0,0,253,1135,1,0, - 0,0,255,1143,1,0,0,0,257,1153,1,0,0,0,259,1163,1,0,0,0,261,1169,1,0,0, - 0,263,1176,1,0,0,0,265,1184,1,0,0,0,267,1191,1,0,0,0,269,1197,1,0,0,0, - 271,1201,1,0,0,0,273,1205,1,0,0,0,275,1209,1,0,0,0,277,1213,1,0,0,0,279, - 1219,1,0,0,0,281,1226,1,0,0,0,283,1236,1,0,0,0,285,1246,1,0,0,0,287,1250, - 1,0,0,0,289,1253,1,0,0,0,291,1270,1,0,0,0,293,1273,1,0,0,0,295,1276,1, - 0,0,0,297,1294,1,0,0,0,299,1298,1,0,0,0,301,1305,1,0,0,0,303,1343,1,0, - 0,0,305,1345,1,0,0,0,307,1348,1,0,0,0,309,1351,1,0,0,0,311,1354,1,0,0, - 0,313,1357,1,0,0,0,315,1360,1,0,0,0,317,1363,1,0,0,0,319,1372,1,0,0,0, - 321,1382,1,0,0,0,323,1392,1,0,0,0,325,1414,1,0,0,0,327,1436,1,0,0,0,329, - 1439,1,0,0,0,331,1448,1,0,0,0,333,1459,1,0,0,0,335,1463,1,0,0,0,337,1477, - 1,0,0,0,339,1479,1,0,0,0,341,1494,1,0,0,0,343,1513,1,0,0,0,345,1515,1, - 0,0,0,347,1521,1,0,0,0,349,1523,1,0,0,0,351,1526,1,0,0,0,353,1528,1,0, - 0,0,355,1531,1,0,0,0,357,1537,1,0,0,0,359,1546,1,0,0,0,361,1548,1,0,0, - 0,363,1550,1,0,0,0,365,1552,1,0,0,0,367,1554,1,0,0,0,369,1556,1,0,0,0, - 371,1558,1,0,0,0,373,1560,1,0,0,0,375,1562,1,0,0,0,377,1564,1,0,0,0,379, - 1566,1,0,0,0,381,1568,1,0,0,0,383,1570,1,0,0,0,385,1572,1,0,0,0,387,1574, - 1,0,0,0,389,1576,1,0,0,0,391,1578,1,0,0,0,393,1580,1,0,0,0,395,1582,1, - 0,0,0,397,1584,1,0,0,0,399,1586,1,0,0,0,401,1588,1,0,0,0,403,1590,1,0, - 0,0,405,1592,1,0,0,0,407,1594,1,0,0,0,409,1596,1,0,0,0,411,412,5,42,0, - 0,412,2,1,0,0,0,413,414,5,40,0,0,414,4,1,0,0,0,415,416,5,41,0,0,416,6, - 1,0,0,0,417,418,5,123,0,0,418,8,1,0,0,0,419,420,5,125,0,0,420,10,1,0, - 0,0,421,422,5,59,0,0,422,12,1,0,0,0,423,424,5,46,0,0,424,14,1,0,0,0,425, - 426,5,44,0,0,426,16,1,0,0,0,427,428,5,97,0,0,428,18,1,0,0,0,429,430,5, - 124,0,0,430,20,1,0,0,0,431,432,5,47,0,0,432,22,1,0,0,0,433,434,5,94,0, - 0,434,24,1,0,0,0,435,436,5,43,0,0,436,26,1,0,0,0,437,438,5,63,0,0,438, - 28,1,0,0,0,439,440,5,33,0,0,440,30,1,0,0,0,441,442,5,91,0,0,442,32,1, - 0,0,0,443,444,5,93,0,0,444,34,1,0,0,0,445,446,5,124,0,0,446,447,5,124, - 0,0,447,36,1,0,0,0,448,449,5,38,0,0,449,450,5,38,0,0,450,38,1,0,0,0,451, - 452,5,61,0,0,452,40,1,0,0,0,453,454,5,33,0,0,454,455,5,61,0,0,455,42, - 1,0,0,0,456,457,5,60,0,0,457,44,1,0,0,0,458,459,5,62,0,0,459,46,1,0,0, - 0,460,461,5,60,0,0,461,462,5,61,0,0,462,48,1,0,0,0,463,464,5,62,0,0,464, - 465,5,61,0,0,465,50,1,0,0,0,466,467,5,45,0,0,467,52,1,0,0,0,468,469,5, - 94,0,0,469,470,5,94,0,0,470,54,1,0,0,0,471,472,5,116,0,0,472,473,5,114, - 0,0,473,474,5,117,0,0,474,475,5,101,0,0,475,56,1,0,0,0,476,477,5,102, - 0,0,477,478,5,97,0,0,478,479,5,108,0,0,479,480,5,115,0,0,480,481,5,101, - 0,0,481,58,1,0,0,0,482,483,3,361,180,0,483,484,3,359,179,0,484,485,3, - 395,197,0,485,486,3,367,183,0,486,60,1,0,0,0,487,488,3,389,194,0,488, - 489,3,393,196,0,489,490,3,367,183,0,490,491,3,369,184,0,491,492,3,375, - 187,0,492,493,3,405,202,0,493,62,1,0,0,0,494,495,3,395,197,0,495,496, - 3,367,183,0,496,497,3,381,190,0,497,498,3,367,183,0,498,499,3,363,181, - 0,499,500,3,397,198,0,500,64,1,0,0,0,501,502,3,365,182,0,502,503,3,375, - 187,0,503,504,3,395,197,0,504,505,3,397,198,0,505,506,3,375,187,0,506, - 507,3,385,192,0,507,508,3,363,181,0,508,509,3,397,198,0,509,66,1,0,0, - 0,510,511,3,393,196,0,511,512,3,367,183,0,512,513,3,365,182,0,513,514, - 3,399,199,0,514,515,3,363,181,0,515,516,3,367,183,0,516,517,3,365,182, - 0,517,68,1,0,0,0,518,519,3,359,179,0,519,520,3,395,197,0,520,70,1,0,0, - 0,521,522,3,363,181,0,522,523,3,387,193,0,523,524,3,385,192,0,524,525, - 3,395,197,0,525,526,3,397,198,0,526,527,3,393,196,0,527,528,3,399,199, - 0,528,529,3,363,181,0,529,530,3,397,198,0,530,72,1,0,0,0,531,532,3,403, - 201,0,532,533,3,373,186,0,533,534,3,367,183,0,534,535,3,393,196,0,535, - 536,3,367,183,0,536,74,1,0,0,0,537,538,3,365,182,0,538,539,3,367,183, - 0,539,540,3,395,197,0,540,541,3,363,181,0,541,542,3,393,196,0,542,543, - 3,375,187,0,543,544,3,361,180,0,544,545,3,367,183,0,545,76,1,0,0,0,546, - 547,3,359,179,0,547,548,3,395,197,0,548,549,3,379,189,0,549,78,1,0,0, - 0,550,551,3,369,184,0,551,552,3,393,196,0,552,553,3,387,193,0,553,554, - 3,383,191,0,554,80,1,0,0,0,555,556,3,385,192,0,556,557,3,359,179,0,557, - 558,3,383,191,0,558,559,3,367,183,0,559,560,3,365,182,0,560,82,1,0,0, - 0,561,562,3,371,185,0,562,563,3,393,196,0,563,564,3,387,193,0,564,565, - 3,399,199,0,565,567,3,389,194,0,566,568,3,355,177,0,567,566,1,0,0,0,568, - 569,1,0,0,0,569,567,1,0,0,0,569,570,1,0,0,0,570,571,1,0,0,0,571,572,3, - 361,180,0,572,573,3,407,203,0,573,84,1,0,0,0,574,575,3,371,185,0,575, - 576,3,393,196,0,576,577,3,387,193,0,577,578,3,399,199,0,578,579,3,389, - 194,0,579,580,5,95,0,0,580,581,3,363,181,0,581,582,3,387,193,0,582,583, - 3,385,192,0,583,584,3,363,181,0,584,585,3,359,179,0,585,586,3,397,198, - 0,586,86,1,0,0,0,587,588,3,373,186,0,588,589,3,359,179,0,589,590,3,401, - 200,0,590,591,3,375,187,0,591,592,3,385,192,0,592,593,3,371,185,0,593, - 88,1,0,0,0,594,595,3,387,193,0,595,596,3,393,196,0,596,597,3,365,182, - 0,597,598,3,367,183,0,598,600,3,393,196,0,599,601,3,355,177,0,600,599, - 1,0,0,0,601,602,1,0,0,0,602,600,1,0,0,0,602,603,1,0,0,0,603,604,1,0,0, - 0,604,605,3,361,180,0,605,606,3,407,203,0,606,90,1,0,0,0,607,608,3,375, - 187,0,608,609,3,385,192,0,609,610,3,397,198,0,610,611,3,367,183,0,611, - 612,3,393,196,0,612,613,3,385,192,0,613,614,3,359,179,0,614,616,3,381, - 190,0,615,617,3,355,177,0,616,615,1,0,0,0,617,618,1,0,0,0,618,616,1,0, - 0,0,618,619,1,0,0,0,619,620,1,0,0,0,620,621,3,395,197,0,621,622,3,387, - 193,0,622,623,3,393,196,0,623,625,3,397,198,0,624,626,3,355,177,0,625, - 624,1,0,0,0,626,627,1,0,0,0,627,625,1,0,0,0,627,628,1,0,0,0,628,629,1, - 0,0,0,629,630,3,361,180,0,630,631,3,407,203,0,631,92,1,0,0,0,632,633, - 3,359,179,0,633,634,3,395,197,0,634,635,3,363,181,0,635,94,1,0,0,0,636, - 637,3,365,182,0,637,638,3,367,183,0,638,639,3,395,197,0,639,640,3,363, - 181,0,640,96,1,0,0,0,641,642,3,381,190,0,642,643,3,375,187,0,643,644, - 3,383,191,0,644,645,3,375,187,0,645,646,3,397,198,0,646,98,1,0,0,0,647, - 648,3,387,193,0,648,649,3,369,184,0,649,650,3,369,184,0,650,651,3,395, - 197,0,651,652,3,367,183,0,652,653,3,397,198,0,653,100,1,0,0,0,654,655, - 3,397,198,0,655,656,3,367,183,0,656,657,3,405,202,0,657,658,3,397,198, - 0,658,659,3,381,190,0,659,660,3,375,187,0,660,661,3,383,191,0,661,662, - 3,375,187,0,662,663,3,397,198,0,663,102,1,0,0,0,664,665,3,401,200,0,665, - 666,3,359,179,0,666,667,3,381,190,0,667,668,3,399,199,0,668,669,3,367, - 183,0,669,670,3,395,197,0,670,104,1,0,0,0,671,672,3,381,190,0,672,673, - 3,387,193,0,673,674,3,359,179,0,674,675,3,365,182,0,675,106,1,0,0,0,676, - 677,3,395,197,0,677,678,3,375,187,0,678,679,3,381,190,0,679,680,3,367, - 183,0,680,681,3,385,192,0,681,682,3,397,198,0,682,108,1,0,0,0,683,684, - 3,375,187,0,684,685,3,385,192,0,685,686,3,397,198,0,686,687,3,387,193, - 0,687,110,1,0,0,0,688,689,3,363,181,0,689,690,3,381,190,0,690,691,3,367, - 183,0,691,692,3,359,179,0,692,693,3,393,196,0,693,112,1,0,0,0,694,695, - 3,365,182,0,695,696,3,393,196,0,696,697,3,387,193,0,697,698,3,389,194, - 0,698,114,1,0,0,0,699,700,3,363,181,0,700,701,3,393,196,0,701,702,3,367, - 183,0,702,703,3,359,179,0,703,704,3,397,198,0,704,705,3,367,183,0,705, - 116,1,0,0,0,706,707,3,359,179,0,707,708,3,365,182,0,708,709,3,365,182, - 0,709,118,1,0,0,0,710,711,3,397,198,0,711,712,3,387,193,0,712,120,1,0, - 0,0,713,714,3,365,182,0,714,715,3,359,179,0,715,716,3,397,198,0,716,717, - 3,359,179,0,717,122,1,0,0,0,718,719,3,383,191,0,719,720,3,387,193,0,720, - 721,3,401,200,0,721,722,3,367,183,0,722,124,1,0,0,0,723,724,3,363,181, - 0,724,725,3,387,193,0,725,726,3,389,194,0,726,727,3,407,203,0,727,126, - 1,0,0,0,728,729,3,375,187,0,729,730,3,385,192,0,730,731,3,395,197,0,731, - 732,3,367,183,0,732,733,3,393,196,0,733,734,3,397,198,0,734,128,1,0,0, - 0,735,736,3,365,182,0,736,737,3,367,183,0,737,738,3,381,190,0,738,739, - 3,367,183,0,739,740,3,397,198,0,740,741,3,367,183,0,741,130,1,0,0,0,742, - 743,3,403,201,0,743,744,3,375,187,0,744,745,3,397,198,0,745,746,3,373, - 186,0,746,132,1,0,0,0,747,748,3,399,199,0,748,749,3,395,197,0,749,750, - 3,375,187,0,750,751,3,385,192,0,751,752,3,371,185,0,752,134,1,0,0,0,753, - 754,3,365,182,0,754,755,3,367,183,0,755,756,3,369,184,0,756,757,3,359, - 179,0,757,758,3,399,199,0,758,759,3,381,190,0,759,760,3,397,198,0,760, - 136,1,0,0,0,761,762,3,371,185,0,762,763,3,393,196,0,763,764,3,359,179, - 0,764,765,3,389,194,0,765,766,3,373,186,0,766,138,1,0,0,0,767,768,3,359, - 179,0,768,769,3,381,190,0,769,770,3,381,190,0,770,140,1,0,0,0,771,772, - 3,387,193,0,772,773,3,389,194,0,773,774,3,397,198,0,774,775,3,375,187, - 0,775,776,3,387,193,0,776,777,3,385,192,0,777,778,3,359,179,0,778,779, - 3,381,190,0,779,142,1,0,0,0,780,781,3,395,197,0,781,782,3,367,183,0,782, - 783,3,393,196,0,783,784,3,401,200,0,784,785,3,375,187,0,785,786,3,363, - 181,0,786,787,3,367,183,0,787,144,1,0,0,0,788,789,3,361,180,0,789,790, - 3,375,187,0,790,791,3,385,192,0,791,792,3,365,182,0,792,146,1,0,0,0,793, - 794,3,399,199,0,794,795,3,385,192,0,795,796,3,365,182,0,796,797,3,367, - 183,0,797,798,3,369,184,0,798,148,1,0,0,0,799,800,3,383,191,0,800,801, - 3,375,187,0,801,802,3,385,192,0,802,803,3,399,199,0,803,804,3,395,197, - 0,804,150,1,0,0,0,805,806,3,399,199,0,806,807,3,385,192,0,807,808,3,375, - 187,0,808,809,3,387,193,0,809,810,3,385,192,0,810,152,1,0,0,0,811,812, - 3,369,184,0,812,813,3,375,187,0,813,814,3,381,190,0,814,815,3,397,198, - 0,815,816,3,367,183,0,816,817,3,393,196,0,817,154,1,0,0,0,818,819,3,385, - 192,0,819,820,3,387,193,0,820,821,3,397,198,0,821,156,1,0,0,0,822,823, - 3,375,187,0,823,824,3,385,192,0,824,158,1,0,0,0,825,826,3,395,197,0,826, - 827,3,397,198,0,827,828,3,393,196,0,828,160,1,0,0,0,829,830,3,381,190, - 0,830,831,3,359,179,0,831,832,3,385,192,0,832,833,3,371,185,0,833,162, - 1,0,0,0,834,835,3,381,190,0,835,836,3,359,179,0,836,837,3,385,192,0,837, - 838,3,371,185,0,838,839,3,383,191,0,839,840,3,359,179,0,840,841,3,397, - 198,0,841,842,3,363,181,0,842,843,3,373,186,0,843,844,3,367,183,0,844, - 845,3,395,197,0,845,164,1,0,0,0,846,847,3,365,182,0,847,848,3,359,179, - 0,848,849,3,397,198,0,849,850,3,359,179,0,850,851,3,397,198,0,851,852, - 3,407,203,0,852,853,3,389,194,0,853,854,3,367,183,0,854,166,1,0,0,0,855, - 856,3,361,180,0,856,857,3,387,193,0,857,858,3,399,199,0,858,859,3,385, - 192,0,859,860,3,365,182,0,860,168,1,0,0,0,861,862,3,375,187,0,862,863, - 3,393,196,0,863,864,3,375,187,0,864,170,1,0,0,0,865,866,3,399,199,0,866, - 867,3,393,196,0,867,868,3,375,187,0,868,172,1,0,0,0,869,870,3,361,180, - 0,870,871,3,385,192,0,871,872,3,387,193,0,872,873,3,365,182,0,873,874, - 3,367,183,0,874,174,1,0,0,0,875,876,3,393,196,0,876,877,3,359,179,0,877, - 878,3,385,192,0,878,879,3,365,182,0,879,176,1,0,0,0,880,881,3,359,179, - 0,881,882,3,361,180,0,882,883,3,395,197,0,883,178,1,0,0,0,884,885,3,363, - 181,0,885,886,3,367,183,0,886,887,3,375,187,0,887,888,3,381,190,0,888, - 180,1,0,0,0,889,890,3,369,184,0,890,891,3,381,190,0,891,892,3,387,193, - 0,892,893,3,387,193,0,893,894,3,393,196,0,894,182,1,0,0,0,895,896,3,393, - 196,0,896,897,3,387,193,0,897,898,3,399,199,0,898,899,3,385,192,0,899, - 900,3,365,182,0,900,184,1,0,0,0,901,902,3,363,181,0,902,903,3,387,193, - 0,903,904,3,385,192,0,904,905,3,363,181,0,905,906,3,359,179,0,906,907, - 3,397,198,0,907,186,1,0,0,0,908,909,3,395,197,0,909,910,3,397,198,0,910, - 911,3,393,196,0,911,912,3,381,190,0,912,913,3,367,183,0,913,914,3,385, - 192,0,914,188,1,0,0,0,915,916,3,399,199,0,916,917,3,363,181,0,917,918, - 3,359,179,0,918,919,3,395,197,0,919,920,3,367,183,0,920,190,1,0,0,0,921, - 922,3,381,190,0,922,923,3,363,181,0,923,924,3,359,179,0,924,925,3,395, - 197,0,925,926,3,367,183,0,926,192,1,0,0,0,927,928,3,367,183,0,928,929, - 3,385,192,0,929,930,3,363,181,0,930,931,3,387,193,0,931,932,3,365,182, - 0,932,933,3,367,183,0,933,934,5,95,0,0,934,935,3,369,184,0,935,936,3, - 387,193,0,936,937,3,393,196,0,937,938,5,95,0,0,938,939,3,399,199,0,939, - 940,3,393,196,0,940,941,3,375,187,0,941,194,1,0,0,0,942,943,3,369,184, - 0,943,944,3,387,193,0,944,945,3,393,196,0,945,196,1,0,0,0,946,947,3,363, - 181,0,947,948,3,387,193,0,948,949,3,385,192,0,949,950,3,397,198,0,950, - 951,3,359,179,0,951,952,3,375,187,0,952,953,3,385,192,0,953,954,3,395, - 197,0,954,198,1,0,0,0,955,956,3,395,197,0,956,957,3,397,198,0,957,958, - 3,393,196,0,958,959,3,395,197,0,959,960,3,397,198,0,960,961,3,359,179, - 0,961,962,3,393,196,0,962,963,3,397,198,0,963,964,3,395,197,0,964,200, - 1,0,0,0,965,966,3,395,197,0,966,967,3,397,198,0,967,968,3,393,196,0,968, - 969,3,367,183,0,969,970,3,385,192,0,970,971,3,365,182,0,971,972,3,395, - 197,0,972,202,1,0,0,0,973,974,3,395,197,0,974,975,3,397,198,0,975,976, - 3,393,196,0,976,977,3,361,180,0,977,978,3,367,183,0,978,979,3,369,184, - 0,979,980,3,387,193,0,980,981,3,393,196,0,981,982,3,367,183,0,982,204, - 1,0,0,0,983,984,3,395,197,0,984,985,3,397,198,0,985,986,3,393,196,0,986, - 987,3,359,179,0,987,988,3,369,184,0,988,989,3,397,198,0,989,990,3,367, - 183,0,990,991,3,393,196,0,991,206,1,0,0,0,992,993,3,407,203,0,993,994, - 3,367,183,0,994,995,3,359,179,0,995,996,3,393,196,0,996,208,1,0,0,0,997, - 998,3,383,191,0,998,999,3,387,193,0,999,1000,3,385,192,0,1000,1001,3, - 397,198,0,1001,1002,3,373,186,0,1002,210,1,0,0,0,1003,1004,3,365,182, - 0,1004,1005,3,359,179,0,1005,1006,3,407,203,0,1006,212,1,0,0,0,1007,1008, - 3,373,186,0,1008,1009,3,387,193,0,1009,1010,3,399,199,0,1010,1011,3,393, - 196,0,1011,1012,3,395,197,0,1012,214,1,0,0,0,1013,1014,3,383,191,0,1014, - 1015,3,375,187,0,1015,1016,3,385,192,0,1016,1017,3,399,199,0,1017,1018, - 3,397,198,0,1018,1019,3,367,183,0,1019,1020,3,395,197,0,1020,216,1,0, - 0,0,1021,1022,3,395,197,0,1022,1023,3,367,183,0,1023,1024,3,363,181,0, - 1024,1025,3,387,193,0,1025,1026,3,385,192,0,1026,1027,3,365,182,0,1027, - 1028,3,395,197,0,1028,218,1,0,0,0,1029,1030,3,397,198,0,1030,1031,3,375, - 187,0,1031,1032,3,383,191,0,1032,1033,3,367,183,0,1033,1034,3,409,204, - 0,1034,1035,3,387,193,0,1035,1036,3,385,192,0,1036,1037,3,367,183,0,1037, - 220,1,0,0,0,1038,1039,3,397,198,0,1039,1040,3,409,204,0,1040,222,1,0, - 0,0,1041,1042,3,385,192,0,1042,1043,3,387,193,0,1043,1044,3,403,201,0, - 1044,224,1,0,0,0,1045,1046,3,399,199,0,1046,1047,3,399,199,0,1047,1048, - 3,375,187,0,1048,1049,3,365,182,0,1049,226,1,0,0,0,1050,1051,3,395,197, - 0,1051,1052,3,397,198,0,1052,1053,3,393,196,0,1053,1054,3,399,199,0,1054, - 1055,3,399,199,0,1055,1056,3,375,187,0,1056,1057,3,365,182,0,1057,228, - 1,0,0,0,1058,1059,3,395,197,0,1059,1060,3,373,186,0,1060,1061,3,359,179, - 0,1061,1062,5,49,0,0,1062,230,1,0,0,0,1063,1064,3,395,197,0,1064,1065, - 3,373,186,0,1065,1066,3,359,179,0,1066,1067,5,50,0,0,1067,1068,5,53,0, - 0,1068,1069,5,54,0,0,1069,232,1,0,0,0,1070,1071,3,395,197,0,1071,1072, - 3,373,186,0,1072,1073,3,359,179,0,1073,1074,5,51,0,0,1074,1075,5,56,0, - 0,1075,1076,5,52,0,0,1076,234,1,0,0,0,1077,1078,3,395,197,0,1078,1079, - 3,373,186,0,1079,1080,3,359,179,0,1080,1081,5,53,0,0,1081,1082,5,49,0, - 0,1082,1083,5,50,0,0,1083,236,1,0,0,0,1084,1085,3,383,191,0,1085,1086, - 3,365,182,0,1086,1087,5,53,0,0,1087,238,1,0,0,0,1088,1089,3,363,181,0, - 1089,1090,3,387,193,0,1090,1091,3,359,179,0,1091,1092,3,381,190,0,1092, - 1093,3,367,183,0,1093,1094,3,395,197,0,1094,1095,3,363,181,0,1095,1096, - 3,367,183,0,1096,240,1,0,0,0,1097,1098,3,375,187,0,1098,1099,3,369,184, - 0,1099,242,1,0,0,0,1100,1101,3,395,197,0,1101,1102,3,397,198,0,1102,1103, - 3,393,196,0,1103,1104,3,381,190,0,1104,1105,3,359,179,0,1105,1106,3,385, - 192,0,1106,1107,3,371,185,0,1107,244,1,0,0,0,1108,1109,3,395,197,0,1109, - 1110,3,397,198,0,1110,1111,3,393,196,0,1111,1112,3,365,182,0,1112,1113, - 3,397,198,0,1113,246,1,0,0,0,1114,1115,3,395,197,0,1115,1116,3,359,179, - 0,1116,1117,3,383,191,0,1117,1118,3,367,183,0,1118,1119,3,397,198,0,1119, - 1120,3,367,183,0,1120,1121,3,393,196,0,1121,1122,3,383,191,0,1122,248, - 1,0,0,0,1123,1124,3,375,187,0,1124,1125,3,395,197,0,1125,1126,3,375,187, - 0,1126,1127,3,393,196,0,1127,1128,3,375,187,0,1128,250,1,0,0,0,1129,1130, - 3,375,187,0,1130,1131,3,395,197,0,1131,1132,3,399,199,0,1132,1133,3,393, - 196,0,1133,1134,3,375,187,0,1134,252,1,0,0,0,1135,1136,3,375,187,0,1136, - 1137,3,395,197,0,1137,1138,3,361,180,0,1138,1139,3,381,190,0,1139,1140, - 3,359,179,0,1140,1141,3,385,192,0,1141,1142,3,379,189,0,1142,254,1,0, - 0,0,1143,1144,3,375,187,0,1144,1145,3,395,197,0,1145,1146,3,381,190,0, - 1146,1147,3,375,187,0,1147,1148,3,397,198,0,1148,1149,3,367,183,0,1149, - 1150,3,393,196,0,1150,1151,3,359,179,0,1151,1152,3,381,190,0,1152,256, - 1,0,0,0,1153,1154,3,375,187,0,1154,1155,3,395,197,0,1155,1156,3,385,192, - 0,1156,1157,3,399,199,0,1157,1158,3,383,191,0,1158,1159,3,367,183,0,1159, - 1160,3,393,196,0,1160,1161,3,375,187,0,1161,1162,3,363,181,0,1162,258, - 1,0,0,0,1163,1164,3,393,196,0,1164,1165,3,367,183,0,1165,1166,3,371,185, - 0,1166,1167,3,367,183,0,1167,1168,3,405,202,0,1168,260,1,0,0,0,1169,1170, - 3,395,197,0,1170,1171,3,399,199,0,1171,1172,3,361,180,0,1172,1173,3,395, - 197,0,1173,1174,3,397,198,0,1174,1175,3,393,196,0,1175,262,1,0,0,0,1176, - 1177,3,393,196,0,1177,1178,3,367,183,0,1178,1179,3,389,194,0,1179,1180, - 3,381,190,0,1180,1181,3,359,179,0,1181,1182,3,363,181,0,1182,1183,3,367, - 183,0,1183,264,1,0,0,0,1184,1185,3,367,183,0,1185,1186,3,405,202,0,1186, - 1187,3,375,187,0,1187,1188,3,395,197,0,1188,1189,3,397,198,0,1189,1190, - 3,395,197,0,1190,266,1,0,0,0,1191,1192,3,363,181,0,1192,1193,3,387,193, - 0,1193,1194,3,399,199,0,1194,1195,3,385,192,0,1195,1196,3,397,198,0,1196, - 268,1,0,0,0,1197,1198,3,395,197,0,1198,1199,3,399,199,0,1199,1200,3,383, - 191,0,1200,270,1,0,0,0,1201,1202,3,383,191,0,1202,1203,3,375,187,0,1203, - 1204,3,385,192,0,1204,272,1,0,0,0,1205,1206,3,383,191,0,1206,1207,3,359, - 179,0,1207,1208,3,405,202,0,1208,274,1,0,0,0,1209,1210,3,359,179,0,1210, - 1211,3,401,200,0,1211,1212,3,371,185,0,1212,276,1,0,0,0,1213,1214,3,395, - 197,0,1214,1215,3,397,198,0,1215,1216,3,365,182,0,1216,1217,3,367,183, - 0,1217,1218,3,401,200,0,1218,278,1,0,0,0,1219,1220,3,395,197,0,1220,1221, - 3,359,179,0,1221,1222,3,383,191,0,1222,1223,3,389,194,0,1223,1224,3,381, - 190,0,1224,1225,3,367,183,0,1225,280,1,0,0,0,1226,1227,3,395,197,0,1227, - 1228,3,367,183,0,1228,1229,3,389,194,0,1229,1230,3,359,179,0,1230,1231, - 3,393,196,0,1231,1232,3,359,179,0,1232,1233,3,397,198,0,1233,1234,3,387, - 193,0,1234,1235,3,393,196,0,1235,282,1,0,0,0,1236,1240,5,60,0,0,1237, - 1239,8,0,0,0,1238,1237,1,0,0,0,1239,1242,1,0,0,0,1240,1238,1,0,0,0,1240, - 1241,1,0,0,0,1241,1243,1,0,0,0,1242,1240,1,0,0,0,1243,1244,5,62,0,0,1244, - 284,1,0,0,0,1245,1247,3,339,169,0,1246,1245,1,0,0,0,1246,1247,1,0,0,0, - 1247,1248,1,0,0,0,1248,1249,5,58,0,0,1249,286,1,0,0,0,1250,1251,3,285, - 142,0,1251,1252,3,341,170,0,1252,288,1,0,0,0,1253,1254,5,95,0,0,1254, - 1255,5,58,0,0,1255,1258,1,0,0,0,1256,1259,3,333,166,0,1257,1259,3,353, - 176,0,1258,1256,1,0,0,0,1258,1257,1,0,0,0,1259,1268,1,0,0,0,1260,1263, - 3,337,168,0,1261,1263,5,46,0,0,1262,1260,1,0,0,0,1262,1261,1,0,0,0,1263, - 1266,1,0,0,0,1264,1262,1,0,0,0,1264,1265,1,0,0,0,1265,1267,1,0,0,0,1266, - 1264,1,0,0,0,1267,1269,3,337,168,0,1268,1264,1,0,0,0,1268,1269,1,0,0, - 0,1269,290,1,0,0,0,1270,1271,5,63,0,0,1271,1272,3,335,167,0,1272,292, - 1,0,0,0,1273,1274,5,36,0,0,1274,1275,3,335,167,0,1275,294,1,0,0,0,1276, - 1278,5,64,0,0,1277,1279,7,1,0,0,1278,1277,1,0,0,0,1279,1280,1,0,0,0,1280, - 1278,1,0,0,0,1280,1281,1,0,0,0,1281,1291,1,0,0,0,1282,1285,5,45,0,0,1283, - 1286,7,1,0,0,1284,1286,3,353,176,0,1285,1283,1,0,0,0,1285,1284,1,0,0, - 0,1286,1287,1,0,0,0,1287,1285,1,0,0,0,1287,1288,1,0,0,0,1288,1290,1,0, - 0,0,1289,1282,1,0,0,0,1290,1293,1,0,0,0,1291,1289,1,0,0,0,1291,1292,1, - 0,0,0,1292,296,1,0,0,0,1293,1291,1,0,0,0,1294,1295,3,295,147,0,1295,1296, - 5,64,0,0,1296,298,1,0,0,0,1297,1299,3,353,176,0,1298,1297,1,0,0,0,1299, - 1300,1,0,0,0,1300,1298,1,0,0,0,1300,1301,1,0,0,0,1301,300,1,0,0,0,1302, - 1304,3,353,176,0,1303,1302,1,0,0,0,1304,1307,1,0,0,0,1305,1303,1,0,0, - 0,1305,1306,1,0,0,0,1306,1308,1,0,0,0,1307,1305,1,0,0,0,1308,1310,5,46, - 0,0,1309,1311,3,353,176,0,1310,1309,1,0,0,0,1311,1312,1,0,0,0,1312,1310, - 1,0,0,0,1312,1313,1,0,0,0,1313,302,1,0,0,0,1314,1316,3,353,176,0,1315, - 1314,1,0,0,0,1316,1317,1,0,0,0,1317,1315,1,0,0,0,1317,1318,1,0,0,0,1318, - 1319,1,0,0,0,1319,1323,5,46,0,0,1320,1322,3,353,176,0,1321,1320,1,0,0, - 0,1322,1325,1,0,0,0,1323,1321,1,0,0,0,1323,1324,1,0,0,0,1324,1326,1,0, - 0,0,1325,1323,1,0,0,0,1326,1327,3,317,158,0,1327,1344,1,0,0,0,1328,1330, - 5,46,0,0,1329,1331,3,353,176,0,1330,1329,1,0,0,0,1331,1332,1,0,0,0,1332, - 1330,1,0,0,0,1332,1333,1,0,0,0,1333,1334,1,0,0,0,1334,1335,3,317,158, - 0,1335,1344,1,0,0,0,1336,1338,3,353,176,0,1337,1336,1,0,0,0,1338,1339, - 1,0,0,0,1339,1337,1,0,0,0,1339,1340,1,0,0,0,1340,1341,1,0,0,0,1341,1342, - 3,317,158,0,1342,1344,1,0,0,0,1343,1315,1,0,0,0,1343,1328,1,0,0,0,1343, - 1337,1,0,0,0,1344,304,1,0,0,0,1345,1346,5,43,0,0,1346,1347,3,299,149, - 0,1347,306,1,0,0,0,1348,1349,5,43,0,0,1349,1350,3,301,150,0,1350,308, - 1,0,0,0,1351,1352,5,43,0,0,1352,1353,3,303,151,0,1353,310,1,0,0,0,1354, - 1355,5,45,0,0,1355,1356,3,299,149,0,1356,312,1,0,0,0,1357,1358,5,45,0, - 0,1358,1359,3,301,150,0,1359,314,1,0,0,0,1360,1361,5,45,0,0,1361,1362, - 3,303,151,0,1362,316,1,0,0,0,1363,1365,7,2,0,0,1364,1366,7,3,0,0,1365, - 1364,1,0,0,0,1365,1366,1,0,0,0,1366,1368,1,0,0,0,1367,1369,3,353,176, - 0,1368,1367,1,0,0,0,1369,1370,1,0,0,0,1370,1368,1,0,0,0,1370,1371,1,0, - 0,0,1371,318,1,0,0,0,1372,1377,5,39,0,0,1373,1376,8,4,0,0,1374,1376,3, - 327,163,0,1375,1373,1,0,0,0,1375,1374,1,0,0,0,1376,1379,1,0,0,0,1377, - 1375,1,0,0,0,1377,1378,1,0,0,0,1378,1380,1,0,0,0,1379,1377,1,0,0,0,1380, - 1381,5,39,0,0,1381,320,1,0,0,0,1382,1387,5,34,0,0,1383,1386,8,5,0,0,1384, - 1386,3,327,163,0,1385,1383,1,0,0,0,1385,1384,1,0,0,0,1386,1389,1,0,0, - 0,1387,1385,1,0,0,0,1387,1388,1,0,0,0,1388,1390,1,0,0,0,1389,1387,1,0, - 0,0,1390,1391,5,34,0,0,1391,322,1,0,0,0,1392,1393,5,39,0,0,1393,1394, - 5,39,0,0,1394,1395,5,39,0,0,1395,1407,1,0,0,0,1396,1400,5,39,0,0,1397, - 1398,5,39,0,0,1398,1400,5,39,0,0,1399,1396,1,0,0,0,1399,1397,1,0,0,0, - 1399,1400,1,0,0,0,1400,1403,1,0,0,0,1401,1404,8,6,0,0,1402,1404,3,327, - 163,0,1403,1401,1,0,0,0,1403,1402,1,0,0,0,1404,1406,1,0,0,0,1405,1399, - 1,0,0,0,1406,1409,1,0,0,0,1407,1405,1,0,0,0,1407,1408,1,0,0,0,1408,1410, - 1,0,0,0,1409,1407,1,0,0,0,1410,1411,5,39,0,0,1411,1412,5,39,0,0,1412, - 1413,5,39,0,0,1413,324,1,0,0,0,1414,1415,5,34,0,0,1415,1416,5,34,0,0, - 1416,1417,5,34,0,0,1417,1429,1,0,0,0,1418,1422,5,34,0,0,1419,1420,5,34, - 0,0,1420,1422,5,34,0,0,1421,1418,1,0,0,0,1421,1419,1,0,0,0,1421,1422, - 1,0,0,0,1422,1425,1,0,0,0,1423,1426,8,7,0,0,1424,1426,3,327,163,0,1425, - 1423,1,0,0,0,1425,1424,1,0,0,0,1426,1428,1,0,0,0,1427,1421,1,0,0,0,1428, - 1431,1,0,0,0,1429,1427,1,0,0,0,1429,1430,1,0,0,0,1430,1432,1,0,0,0,1431, - 1429,1,0,0,0,1432,1433,5,34,0,0,1433,1434,5,34,0,0,1434,1435,5,34,0,0, - 1435,326,1,0,0,0,1436,1437,5,92,0,0,1437,1438,7,8,0,0,1438,328,1,0,0, - 0,1439,1443,5,40,0,0,1440,1442,3,355,177,0,1441,1440,1,0,0,0,1442,1445, - 1,0,0,0,1443,1441,1,0,0,0,1443,1444,1,0,0,0,1444,1446,1,0,0,0,1445,1443, - 1,0,0,0,1446,1447,5,41,0,0,1447,330,1,0,0,0,1448,1452,5,91,0,0,1449,1451, - 3,355,177,0,1450,1449,1,0,0,0,1451,1454,1,0,0,0,1452,1450,1,0,0,0,1452, - 1453,1,0,0,0,1453,1455,1,0,0,0,1454,1452,1,0,0,0,1455,1456,5,93,0,0,1456, - 332,1,0,0,0,1457,1460,3,351,175,0,1458,1460,5,95,0,0,1459,1457,1,0,0, - 0,1459,1458,1,0,0,0,1460,334,1,0,0,0,1461,1464,3,333,166,0,1462,1464, - 3,353,176,0,1463,1461,1,0,0,0,1463,1462,1,0,0,0,1464,1470,1,0,0,0,1465, - 1469,3,333,166,0,1466,1469,3,353,176,0,1467,1469,7,9,0,0,1468,1465,1, - 0,0,0,1468,1466,1,0,0,0,1468,1467,1,0,0,0,1469,1472,1,0,0,0,1470,1468, - 1,0,0,0,1470,1471,1,0,0,0,1471,336,1,0,0,0,1472,1470,1,0,0,0,1473,1478, - 3,333,166,0,1474,1478,5,45,0,0,1475,1478,3,353,176,0,1476,1478,7,9,0, - 0,1477,1473,1,0,0,0,1477,1474,1,0,0,0,1477,1475,1,0,0,0,1477,1476,1,0, - 0,0,1478,338,1,0,0,0,1479,1488,3,351,175,0,1480,1483,3,337,168,0,1481, - 1483,5,46,0,0,1482,1480,1,0,0,0,1482,1481,1,0,0,0,1483,1486,1,0,0,0,1484, - 1482,1,0,0,0,1484,1485,1,0,0,0,1485,1487,1,0,0,0,1486,1484,1,0,0,0,1487, - 1489,3,337,168,0,1488,1484,1,0,0,0,1488,1489,1,0,0,0,1489,340,1,0,0,0, - 1490,1495,3,333,166,0,1491,1495,5,58,0,0,1492,1495,3,353,176,0,1493,1495, - 3,343,171,0,1494,1490,1,0,0,0,1494,1491,1,0,0,0,1494,1492,1,0,0,0,1494, - 1493,1,0,0,0,1495,1509,1,0,0,0,1496,1500,3,337,168,0,1497,1500,7,10,0, - 0,1498,1500,3,343,171,0,1499,1496,1,0,0,0,1499,1497,1,0,0,0,1499,1498, - 1,0,0,0,1500,1503,1,0,0,0,1501,1499,1,0,0,0,1501,1502,1,0,0,0,1502,1507, - 1,0,0,0,1503,1501,1,0,0,0,1504,1508,3,337,168,0,1505,1508,5,58,0,0,1506, - 1508,3,343,171,0,1507,1504,1,0,0,0,1507,1505,1,0,0,0,1507,1506,1,0,0, - 0,1508,1510,1,0,0,0,1509,1501,1,0,0,0,1509,1510,1,0,0,0,1510,342,1,0, - 0,0,1511,1514,3,345,172,0,1512,1514,3,349,174,0,1513,1511,1,0,0,0,1513, - 1512,1,0,0,0,1514,344,1,0,0,0,1515,1516,5,37,0,0,1516,1517,3,347,173, - 0,1517,1518,3,347,173,0,1518,346,1,0,0,0,1519,1522,3,353,176,0,1520,1522, - 7,11,0,0,1521,1519,1,0,0,0,1521,1520,1,0,0,0,1522,348,1,0,0,0,1523,1524, - 5,92,0,0,1524,1525,7,12,0,0,1525,350,1,0,0,0,1526,1527,7,13,0,0,1527, - 352,1,0,0,0,1528,1529,2,48,57,0,1529,354,1,0,0,0,1530,1532,7,14,0,0,1531, - 1530,1,0,0,0,1532,1533,1,0,0,0,1533,1531,1,0,0,0,1533,1534,1,0,0,0,1534, - 1535,1,0,0,0,1535,1536,6,177,0,0,1536,356,1,0,0,0,1537,1541,5,35,0,0, - 1538,1540,8,15,0,0,1539,1538,1,0,0,0,1540,1543,1,0,0,0,1541,1539,1,0, - 0,0,1541,1542,1,0,0,0,1542,1544,1,0,0,0,1543,1541,1,0,0,0,1544,1545,6, - 178,0,0,1545,358,1,0,0,0,1546,1547,7,16,0,0,1547,360,1,0,0,0,1548,1549, - 7,17,0,0,1549,362,1,0,0,0,1550,1551,7,18,0,0,1551,364,1,0,0,0,1552,1553, - 7,19,0,0,1553,366,1,0,0,0,1554,1555,7,2,0,0,1555,368,1,0,0,0,1556,1557, - 7,20,0,0,1557,370,1,0,0,0,1558,1559,7,21,0,0,1559,372,1,0,0,0,1560,1561, - 7,22,0,0,1561,374,1,0,0,0,1562,1563,7,23,0,0,1563,376,1,0,0,0,1564,1565, - 7,24,0,0,1565,378,1,0,0,0,1566,1567,7,25,0,0,1567,380,1,0,0,0,1568,1569, - 7,26,0,0,1569,382,1,0,0,0,1570,1571,7,27,0,0,1571,384,1,0,0,0,1572,1573, - 7,28,0,0,1573,386,1,0,0,0,1574,1575,7,29,0,0,1575,388,1,0,0,0,1576,1577, - 7,30,0,0,1577,390,1,0,0,0,1578,1579,7,31,0,0,1579,392,1,0,0,0,1580,1581, - 7,32,0,0,1581,394,1,0,0,0,1582,1583,7,33,0,0,1583,396,1,0,0,0,1584,1585, - 7,34,0,0,1585,398,1,0,0,0,1586,1587,7,35,0,0,1587,400,1,0,0,0,1588,1589, - 7,36,0,0,1589,402,1,0,0,0,1590,1591,7,37,0,0,1591,404,1,0,0,0,1592,1593, - 7,38,0,0,1593,406,1,0,0,0,1594,1595,7,39,0,0,1595,408,1,0,0,0,1596,1597, - 7,40,0,0,1597,410,1,0,0,0,54,0,569,602,618,627,1240,1246,1258,1262,1264, - 1268,1280,1285,1287,1291,1300,1305,1312,1317,1323,1332,1339,1343,1365, - 1370,1375,1377,1385,1387,1399,1403,1407,1421,1425,1429,1443,1452,1459, - 1463,1468,1470,1477,1482,1484,1488,1494,1499,1501,1507,1509,1513,1521, - 1533,1541,1,6,0,0 - }; - staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); + 4, 0, 176, 1598, 6, -1, 2, 0, 7, 0, 2, + 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, + 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, + 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, + 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, + 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, + 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, + 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, + 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, + 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, + 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, + 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, + 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, + 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, + 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, + 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, + 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, + 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, + 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, + 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, + 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, + 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, + 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, + 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, + 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, + 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, + 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, + 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, + 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, + 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, + 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, + 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, + 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, + 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, + 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, + 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, + 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, + 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, + 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, + 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, + 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, + 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, + 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, + 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, + 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, + 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, + 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, + 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, + 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, + 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, + 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, + 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, + 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, + 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, + 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, + 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, + 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, + 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, + 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, + 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, + 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, + 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, + 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, + 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, + 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, + 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, + 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, + 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, + 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, + 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, + 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, + 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, + 7, 196, 2, 197, 7, 197, 2, 198, 7, 198, 2, + 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, + 2, 202, 7, 202, 2, 203, 7, 203, 2, 204, 7, + 204, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, + 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, + 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, + 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, + 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, + 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, + 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, + 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, + 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, + 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, + 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, + 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, + 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, + 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, + 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, + 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, + 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, + 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, + 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, + 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, + 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, + 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, + 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, + 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, + 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, + 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, + 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, + 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, + 41, 1, 41, 1, 41, 4, 41, 568, 8, 41, 11, + 41, 12, 41, 569, 1, 41, 1, 41, 1, 41, 1, + 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, + 1, 42, 1, 42, 1, 42, 1, 42, 1, 42, 1, + 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, + 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, + 44, 1, 44, 1, 44, 1, 44, 4, 44, 601, 8, + 44, 11, 44, 12, 44, 602, 1, 44, 1, 44, 1, + 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, + 1, 45, 1, 45, 1, 45, 1, 45, 4, 45, 617, + 8, 45, 11, 45, 12, 45, 618, 1, 45, 1, 45, + 1, 45, 1, 45, 1, 45, 4, 45, 626, 8, 45, + 11, 45, 12, 45, 627, 1, 45, 1, 45, 1, 45, + 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, + 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, + 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, + 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, + 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, + 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, + 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, + 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, + 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, + 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, + 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, + 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, + 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, + 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, + 1, 58, 1, 59, 1, 59, 1, 59, 1, 60, 1, + 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, + 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, + 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, + 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, + 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, + 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, + 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, + 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, + 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, + 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, + 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, + 1, 70, 1, 70, 1, 70, 1, 70, 1, 70, 1, + 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, + 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, + 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, + 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, + 74, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, + 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, + 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, + 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, + 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 80, + 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, + 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, + 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, + 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, + 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, + 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, + 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, + 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, + 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, + 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, + 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, + 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, + 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, + 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, + 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, + 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, + 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, + 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, + 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, + 96, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, + 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, + 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, + 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, + 99, 1, 99, 1, 99, 1, 99, 1, 99, 1, 99, + 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, + 100, 1, 100, 1, 100, 1, 100, 1, 100, 1, 100, + 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, + 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, + 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, + 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, + 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, + 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, + 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, + 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, + 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, + 108, 1, 108, 1, 108, 1, 108, 1, 108, 1, 108, + 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, + 109, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, + 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, + 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, + 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, + 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, + 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, + 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, + 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, + 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, + 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, + 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, + 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, + 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, + 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, + 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, + 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, + 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, + 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, + 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, + 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, + 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, + 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, + 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, + 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, + 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, + 1, 130, 1, 130, 1, 130, 1, 130, 1, 130, 1, + 131, 1, 131, 1, 131, 1, 131, 1, 131, 1, 131, + 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, + 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, + 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, + 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, + 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, + 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, + 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, + 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, + 1, 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, + 140, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, + 1, 141, 5, 141, 1239, 8, 141, 10, 141, 12, 141, + 1242, 9, 141, 1, 141, 1, 141, 1, 142, 3, 142, + 1247, 8, 142, 1, 142, 1, 142, 1, 143, 1, 143, + 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, + 144, 3, 144, 1259, 8, 144, 1, 144, 1, 144, 5, + 144, 1263, 8, 144, 10, 144, 12, 144, 1266, 9, 144, + 1, 144, 3, 144, 1269, 8, 144, 1, 145, 1, 145, + 1, 145, 1, 146, 1, 146, 1, 146, 1, 147, 1, + 147, 4, 147, 1279, 8, 147, 11, 147, 12, 147, 1280, + 1, 147, 1, 147, 1, 147, 4, 147, 1286, 8, 147, + 11, 147, 12, 147, 1287, 5, 147, 1290, 8, 147, 10, + 147, 12, 147, 1293, 9, 147, 1, 148, 1, 148, 1, + 148, 1, 149, 4, 149, 1299, 8, 149, 11, 149, 12, + 149, 1300, 1, 150, 5, 150, 1304, 8, 150, 10, 150, + 12, 150, 1307, 9, 150, 1, 150, 1, 150, 4, 150, + 1311, 8, 150, 11, 150, 12, 150, 1312, 1, 151, 4, + 151, 1316, 8, 151, 11, 151, 12, 151, 1317, 1, 151, + 1, 151, 5, 151, 1322, 8, 151, 10, 151, 12, 151, + 1325, 9, 151, 1, 151, 1, 151, 1, 151, 1, 151, + 4, 151, 1331, 8, 151, 11, 151, 12, 151, 1332, 1, + 151, 1, 151, 1, 151, 4, 151, 1338, 8, 151, 11, + 151, 12, 151, 1339, 1, 151, 1, 151, 3, 151, 1344, + 8, 151, 1, 152, 1, 152, 1, 152, 1, 153, 1, + 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 155, + 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, + 157, 1, 157, 1, 157, 1, 158, 1, 158, 3, 158, + 1366, 8, 158, 1, 158, 4, 158, 1369, 8, 158, 11, + 158, 12, 158, 1370, 1, 159, 1, 159, 1, 159, 5, + 159, 1376, 8, 159, 10, 159, 12, 159, 1379, 9, 159, + 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 5, + 160, 1386, 8, 160, 10, 160, 12, 160, 1389, 9, 160, + 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, + 161, 1, 161, 1, 161, 1, 161, 3, 161, 1400, 8, + 161, 1, 161, 1, 161, 3, 161, 1404, 8, 161, 5, + 161, 1406, 8, 161, 10, 161, 12, 161, 1409, 9, 161, + 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, + 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, + 3, 162, 1422, 8, 162, 1, 162, 1, 162, 3, 162, + 1426, 8, 162, 5, 162, 1428, 8, 162, 10, 162, 12, + 162, 1431, 9, 162, 1, 162, 1, 162, 1, 162, 1, + 162, 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, + 5, 164, 1442, 8, 164, 10, 164, 12, 164, 1445, 9, + 164, 1, 164, 1, 164, 1, 165, 1, 165, 5, 165, + 1451, 8, 165, 10, 165, 12, 165, 1454, 9, 165, 1, + 165, 1, 165, 1, 166, 1, 166, 3, 166, 1460, 8, + 166, 1, 167, 1, 167, 3, 167, 1464, 8, 167, 1, + 167, 1, 167, 1, 167, 5, 167, 1469, 8, 167, 10, + 167, 12, 167, 1472, 9, 167, 1, 168, 1, 168, 1, + 168, 1, 168, 3, 168, 1478, 8, 168, 1, 169, 1, + 169, 1, 169, 5, 169, 1483, 8, 169, 10, 169, 12, + 169, 1486, 9, 169, 1, 169, 3, 169, 1489, 8, 169, + 1, 170, 1, 170, 1, 170, 1, 170, 3, 170, 1495, + 8, 170, 1, 170, 1, 170, 1, 170, 5, 170, 1500, + 8, 170, 10, 170, 12, 170, 1503, 9, 170, 1, 170, + 1, 170, 1, 170, 3, 170, 1508, 8, 170, 3, 170, + 1510, 8, 170, 1, 171, 1, 171, 3, 171, 1514, 8, + 171, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, + 1, 173, 3, 173, 1522, 8, 173, 1, 174, 1, 174, + 1, 174, 1, 175, 1, 175, 1, 176, 1, 176, 1, + 177, 4, 177, 1532, 8, 177, 11, 177, 12, 177, 1533, + 1, 177, 1, 177, 1, 178, 1, 178, 5, 178, 1540, + 8, 178, 10, 178, 12, 178, 1543, 9, 178, 1, 178, + 1, 178, 1, 179, 1, 179, 1, 180, 1, 180, 1, + 181, 1, 181, 1, 182, 1, 182, 1, 183, 1, 183, + 1, 184, 1, 184, 1, 185, 1, 185, 1, 186, 1, + 186, 1, 187, 1, 187, 1, 188, 1, 188, 1, 189, + 1, 189, 1, 190, 1, 190, 1, 191, 1, 191, 1, + 192, 1, 192, 1, 193, 1, 193, 1, 194, 1, 194, + 1, 195, 1, 195, 1, 196, 1, 196, 1, 197, 1, + 197, 1, 198, 1, 198, 1, 199, 1, 199, 1, 200, + 1, 200, 1, 201, 1, 201, 1, 202, 1, 202, 1, + 203, 1, 203, 1, 204, 1, 204, 0, 0, 205, 1, + 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, + 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, + 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, + 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, + 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, + 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, + 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, + 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, + 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, + 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, + 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, + 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, + 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, + 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, + 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, + 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, + 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, + 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, + 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, + 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, + 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, + 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, + 122, 245, 123, 247, 124, 249, 125, 251, 126, 253, 127, + 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, + 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, + 277, 139, 279, 140, 281, 141, 283, 142, 285, 143, 287, + 144, 289, 145, 291, 146, 293, 147, 295, 148, 297, 149, + 299, 150, 301, 151, 303, 152, 305, 153, 307, 154, 309, + 155, 311, 156, 313, 157, 315, 158, 317, 159, 319, 160, + 321, 161, 323, 162, 325, 163, 327, 164, 329, 165, 331, + 166, 333, 167, 335, 168, 337, 0, 339, 169, 341, 170, + 343, 171, 345, 172, 347, 173, 349, 174, 351, 0, 353, + 0, 355, 175, 357, 176, 359, 0, 361, 0, 363, 0, + 365, 0, 367, 0, 369, 0, 371, 0, 373, 0, 375, + 0, 377, 0, 379, 0, 381, 0, 383, 0, 385, 0, + 387, 0, 389, 0, 391, 0, 393, 0, 395, 0, 397, + 0, 399, 0, 401, 0, 403, 0, 405, 0, 407, 0, + 409, 0, 1, 0, 41, 8, 0, 0, 32, 34, 34, + 60, 60, 62, 62, 92, 92, 94, 94, 96, 96, 123, + 125, 2, 0, 65, 90, 97, 122, 2, 0, 69, 69, + 101, 101, 2, 0, 43, 43, 45, 45, 4, 0, 10, + 10, 13, 13, 39, 39, 92, 92, 4, 0, 10, 10, + 13, 13, 34, 34, 92, 92, 2, 0, 39, 39, 92, + 92, 2, 0, 34, 34, 92, 92, 8, 0, 34, 34, + 39, 39, 92, 92, 98, 98, 102, 102, 110, 110, 114, + 114, 116, 116, 3, 0, 183, 183, 768, 879, 8255, 8256, + 2, 0, 46, 46, 58, 58, 2, 0, 65, 70, 97, + 102, 7, 0, 33, 33, 35, 47, 59, 59, 61, 61, + 63, 64, 95, 95, 126, 126, 13, 0, 65, 90, 97, + 122, 192, 214, 216, 246, 248, 767, 880, 893, 895, 8191, + 8204, 8205, 8304, 8591, 11264, 12271, 12289, 55295, 63744, 64975, 65008, + 65533, 3, 0, 9, 10, 13, 13, 32, 32, 2, 0, + 10, 10, 13, 13, 2, 0, 65, 65, 97, 97, 2, + 0, 66, 66, 98, 98, 2, 0, 67, 67, 99, 99, + 2, 0, 68, 68, 100, 100, 2, 0, 70, 70, 102, + 102, 2, 0, 71, 71, 103, 103, 2, 0, 72, 72, + 104, 104, 2, 0, 73, 73, 105, 105, 2, 0, 74, + 74, 106, 106, 2, 0, 75, 75, 107, 107, 2, 0, + 76, 76, 108, 108, 2, 0, 77, 77, 109, 109, 2, + 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, + 2, 0, 80, 80, 112, 112, 2, 0, 81, 81, 113, + 113, 2, 0, 82, 82, 114, 114, 2, 0, 83, 83, + 115, 115, 2, 0, 84, 84, 116, 116, 2, 0, 85, + 85, 117, 117, 2, 0, 86, 86, 118, 118, 2, 0, + 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, + 0, 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, + 1631, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, + 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, + 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, + 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, + 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, + 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, + 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, + 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, + 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, + 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, + 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, + 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, + 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, + 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, + 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, + 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, + 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, + 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, + 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, + 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, + 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, + 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, + 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, + 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, + 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, + 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, + 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, + 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, + 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, + 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, + 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, + 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, + 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, + 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, + 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, + 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, + 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, + 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, + 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, + 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, + 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, + 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, + 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, + 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, + 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, + 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, + 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, + 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, + 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, + 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, + 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, + 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, + 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, + 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, + 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, + 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, + 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, + 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, + 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, + 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, + 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, + 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, + 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, + 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, + 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, + 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, + 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, + 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, + 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, + 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, + 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, + 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, + 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, + 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, + 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, + 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, + 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, + 0, 283, 1, 0, 0, 0, 0, 285, 1, 0, 0, + 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, + 0, 0, 0, 291, 1, 0, 0, 0, 0, 293, 1, + 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, + 1, 0, 0, 0, 0, 299, 1, 0, 0, 0, 0, + 301, 1, 0, 0, 0, 0, 303, 1, 0, 0, 0, + 0, 305, 1, 0, 0, 0, 0, 307, 1, 0, 0, + 0, 0, 309, 1, 0, 0, 0, 0, 311, 1, 0, + 0, 0, 0, 313, 1, 0, 0, 0, 0, 315, 1, + 0, 0, 0, 0, 317, 1, 0, 0, 0, 0, 319, + 1, 0, 0, 0, 0, 321, 1, 0, 0, 0, 0, + 323, 1, 0, 0, 0, 0, 325, 1, 0, 0, 0, + 0, 327, 1, 0, 0, 0, 0, 329, 1, 0, 0, + 0, 0, 331, 1, 0, 0, 0, 0, 333, 1, 0, + 0, 0, 0, 335, 1, 0, 0, 0, 0, 339, 1, + 0, 0, 0, 0, 341, 1, 0, 0, 0, 0, 343, + 1, 0, 0, 0, 0, 345, 1, 0, 0, 0, 0, + 347, 1, 0, 0, 0, 0, 349, 1, 0, 0, 0, + 0, 355, 1, 0, 0, 0, 0, 357, 1, 0, 0, + 0, 1, 411, 1, 0, 0, 0, 3, 413, 1, 0, + 0, 0, 5, 415, 1, 0, 0, 0, 7, 417, 1, + 0, 0, 0, 9, 419, 1, 0, 0, 0, 11, 421, + 1, 0, 0, 0, 13, 423, 1, 0, 0, 0, 15, + 425, 1, 0, 0, 0, 17, 427, 1, 0, 0, 0, + 19, 429, 1, 0, 0, 0, 21, 431, 1, 0, 0, + 0, 23, 433, 1, 0, 0, 0, 25, 435, 1, 0, + 0, 0, 27, 437, 1, 0, 0, 0, 29, 439, 1, + 0, 0, 0, 31, 441, 1, 0, 0, 0, 33, 443, + 1, 0, 0, 0, 35, 445, 1, 0, 0, 0, 37, + 448, 1, 0, 0, 0, 39, 451, 1, 0, 0, 0, + 41, 453, 1, 0, 0, 0, 43, 456, 1, 0, 0, + 0, 45, 458, 1, 0, 0, 0, 47, 460, 1, 0, + 0, 0, 49, 463, 1, 0, 0, 0, 51, 466, 1, + 0, 0, 0, 53, 468, 1, 0, 0, 0, 55, 471, + 1, 0, 0, 0, 57, 476, 1, 0, 0, 0, 59, + 482, 1, 0, 0, 0, 61, 487, 1, 0, 0, 0, + 63, 494, 1, 0, 0, 0, 65, 501, 1, 0, 0, + 0, 67, 510, 1, 0, 0, 0, 69, 518, 1, 0, + 0, 0, 71, 521, 1, 0, 0, 0, 73, 531, 1, + 0, 0, 0, 75, 537, 1, 0, 0, 0, 77, 546, + 1, 0, 0, 0, 79, 550, 1, 0, 0, 0, 81, + 555, 1, 0, 0, 0, 83, 561, 1, 0, 0, 0, + 85, 574, 1, 0, 0, 0, 87, 587, 1, 0, 0, + 0, 89, 594, 1, 0, 0, 0, 91, 607, 1, 0, + 0, 0, 93, 632, 1, 0, 0, 0, 95, 636, 1, + 0, 0, 0, 97, 641, 1, 0, 0, 0, 99, 647, + 1, 0, 0, 0, 101, 654, 1, 0, 0, 0, 103, + 664, 1, 0, 0, 0, 105, 671, 1, 0, 0, 0, + 107, 676, 1, 0, 0, 0, 109, 683, 1, 0, 0, + 0, 111, 688, 1, 0, 0, 0, 113, 694, 1, 0, + 0, 0, 115, 699, 1, 0, 0, 0, 117, 706, 1, + 0, 0, 0, 119, 710, 1, 0, 0, 0, 121, 713, + 1, 0, 0, 0, 123, 718, 1, 0, 0, 0, 125, + 723, 1, 0, 0, 0, 127, 728, 1, 0, 0, 0, + 129, 735, 1, 0, 0, 0, 131, 742, 1, 0, 0, + 0, 133, 747, 1, 0, 0, 0, 135, 753, 1, 0, + 0, 0, 137, 761, 1, 0, 0, 0, 139, 767, 1, + 0, 0, 0, 141, 771, 1, 0, 0, 0, 143, 780, + 1, 0, 0, 0, 145, 788, 1, 0, 0, 0, 147, + 793, 1, 0, 0, 0, 149, 799, 1, 0, 0, 0, + 151, 805, 1, 0, 0, 0, 153, 811, 1, 0, 0, + 0, 155, 818, 1, 0, 0, 0, 157, 822, 1, 0, + 0, 0, 159, 825, 1, 0, 0, 0, 161, 829, 1, + 0, 0, 0, 163, 834, 1, 0, 0, 0, 165, 846, + 1, 0, 0, 0, 167, 855, 1, 0, 0, 0, 169, + 861, 1, 0, 0, 0, 171, 865, 1, 0, 0, 0, + 173, 869, 1, 0, 0, 0, 175, 875, 1, 0, 0, + 0, 177, 880, 1, 0, 0, 0, 179, 884, 1, 0, + 0, 0, 181, 889, 1, 0, 0, 0, 183, 895, 1, + 0, 0, 0, 185, 901, 1, 0, 0, 0, 187, 908, + 1, 0, 0, 0, 189, 915, 1, 0, 0, 0, 191, + 921, 1, 0, 0, 0, 193, 927, 1, 0, 0, 0, + 195, 942, 1, 0, 0, 0, 197, 946, 1, 0, 0, + 0, 199, 955, 1, 0, 0, 0, 201, 965, 1, 0, + 0, 0, 203, 973, 1, 0, 0, 0, 205, 983, 1, + 0, 0, 0, 207, 992, 1, 0, 0, 0, 209, 997, + 1, 0, 0, 0, 211, 1003, 1, 0, 0, 0, 213, + 1007, 1, 0, 0, 0, 215, 1013, 1, 0, 0, 0, + 217, 1021, 1, 0, 0, 0, 219, 1029, 1, 0, 0, + 0, 221, 1038, 1, 0, 0, 0, 223, 1041, 1, 0, + 0, 0, 225, 1045, 1, 0, 0, 0, 227, 1050, 1, + 0, 0, 0, 229, 1058, 1, 0, 0, 0, 231, 1063, + 1, 0, 0, 0, 233, 1070, 1, 0, 0, 0, 235, + 1077, 1, 0, 0, 0, 237, 1084, 1, 0, 0, 0, + 239, 1088, 1, 0, 0, 0, 241, 1097, 1, 0, 0, + 0, 243, 1100, 1, 0, 0, 0, 245, 1108, 1, 0, + 0, 0, 247, 1114, 1, 0, 0, 0, 249, 1123, 1, + 0, 0, 0, 251, 1129, 1, 0, 0, 0, 253, 1135, + 1, 0, 0, 0, 255, 1143, 1, 0, 0, 0, 257, + 1153, 1, 0, 0, 0, 259, 1163, 1, 0, 0, 0, + 261, 1169, 1, 0, 0, 0, 263, 1176, 1, 0, 0, + 0, 265, 1184, 1, 0, 0, 0, 267, 1191, 1, 0, + 0, 0, 269, 1197, 1, 0, 0, 0, 271, 1201, 1, + 0, 0, 0, 273, 1205, 1, 0, 0, 0, 275, 1209, + 1, 0, 0, 0, 277, 1213, 1, 0, 0, 0, 279, + 1219, 1, 0, 0, 0, 281, 1226, 1, 0, 0, 0, + 283, 1236, 1, 0, 0, 0, 285, 1246, 1, 0, 0, + 0, 287, 1250, 1, 0, 0, 0, 289, 1253, 1, 0, + 0, 0, 291, 1270, 1, 0, 0, 0, 293, 1273, 1, + 0, 0, 0, 295, 1276, 1, 0, 0, 0, 297, 1294, + 1, 0, 0, 0, 299, 1298, 1, 0, 0, 0, 301, + 1305, 1, 0, 0, 0, 303, 1343, 1, 0, 0, 0, + 305, 1345, 1, 0, 0, 0, 307, 1348, 1, 0, 0, + 0, 309, 1351, 1, 0, 0, 0, 311, 1354, 1, 0, + 0, 0, 313, 1357, 1, 0, 0, 0, 315, 1360, 1, + 0, 0, 0, 317, 1363, 1, 0, 0, 0, 319, 1372, + 1, 0, 0, 0, 321, 1382, 1, 0, 0, 0, 323, + 1392, 1, 0, 0, 0, 325, 1414, 1, 0, 0, 0, + 327, 1436, 1, 0, 0, 0, 329, 1439, 1, 0, 0, + 0, 331, 1448, 1, 0, 0, 0, 333, 1459, 1, 0, + 0, 0, 335, 1463, 1, 0, 0, 0, 337, 1477, 1, + 0, 0, 0, 339, 1479, 1, 0, 0, 0, 341, 1494, + 1, 0, 0, 0, 343, 1513, 1, 0, 0, 0, 345, + 1515, 1, 0, 0, 0, 347, 1521, 1, 0, 0, 0, + 349, 1523, 1, 0, 0, 0, 351, 1526, 1, 0, 0, + 0, 353, 1528, 1, 0, 0, 0, 355, 1531, 1, 0, + 0, 0, 357, 1537, 1, 0, 0, 0, 359, 1546, 1, + 0, 0, 0, 361, 1548, 1, 0, 0, 0, 363, 1550, + 1, 0, 0, 0, 365, 1552, 1, 0, 0, 0, 367, + 1554, 1, 0, 0, 0, 369, 1556, 1, 0, 0, 0, + 371, 1558, 1, 0, 0, 0, 373, 1560, 1, 0, 0, + 0, 375, 1562, 1, 0, 0, 0, 377, 1564, 1, 0, + 0, 0, 379, 1566, 1, 0, 0, 0, 381, 1568, 1, + 0, 0, 0, 383, 1570, 1, 0, 0, 0, 385, 1572, + 1, 0, 0, 0, 387, 1574, 1, 0, 0, 0, 389, + 1576, 1, 0, 0, 0, 391, 1578, 1, 0, 0, 0, + 393, 1580, 1, 0, 0, 0, 395, 1582, 1, 0, 0, + 0, 397, 1584, 1, 0, 0, 0, 399, 1586, 1, 0, + 0, 0, 401, 1588, 1, 0, 0, 0, 403, 1590, 1, + 0, 0, 0, 405, 1592, 1, 0, 0, 0, 407, 1594, + 1, 0, 0, 0, 409, 1596, 1, 0, 0, 0, 411, + 412, 5, 42, 0, 0, 412, 2, 1, 0, 0, 0, + 413, 414, 5, 40, 0, 0, 414, 4, 1, 0, 0, + 0, 415, 416, 5, 41, 0, 0, 416, 6, 1, 0, + 0, 0, 417, 418, 5, 123, 0, 0, 418, 8, 1, + 0, 0, 0, 419, 420, 5, 125, 0, 0, 420, 10, + 1, 0, 0, 0, 421, 422, 5, 59, 0, 0, 422, + 12, 1, 0, 0, 0, 423, 424, 5, 46, 0, 0, + 424, 14, 1, 0, 0, 0, 425, 426, 5, 44, 0, + 0, 426, 16, 1, 0, 0, 0, 427, 428, 5, 97, + 0, 0, 428, 18, 1, 0, 0, 0, 429, 430, 5, + 124, 0, 0, 430, 20, 1, 0, 0, 0, 431, 432, + 5, 47, 0, 0, 432, 22, 1, 0, 0, 0, 433, + 434, 5, 94, 0, 0, 434, 24, 1, 0, 0, 0, + 435, 436, 5, 43, 0, 0, 436, 26, 1, 0, 0, + 0, 437, 438, 5, 63, 0, 0, 438, 28, 1, 0, + 0, 0, 439, 440, 5, 33, 0, 0, 440, 30, 1, + 0, 0, 0, 441, 442, 5, 91, 0, 0, 442, 32, + 1, 0, 0, 0, 443, 444, 5, 93, 0, 0, 444, + 34, 1, 0, 0, 0, 445, 446, 5, 124, 0, 0, + 446, 447, 5, 124, 0, 0, 447, 36, 1, 0, 0, + 0, 448, 449, 5, 38, 0, 0, 449, 450, 5, 38, + 0, 0, 450, 38, 1, 0, 0, 0, 451, 452, 5, + 61, 0, 0, 452, 40, 1, 0, 0, 0, 453, 454, + 5, 33, 0, 0, 454, 455, 5, 61, 0, 0, 455, + 42, 1, 0, 0, 0, 456, 457, 5, 60, 0, 0, + 457, 44, 1, 0, 0, 0, 458, 459, 5, 62, 0, + 0, 459, 46, 1, 0, 0, 0, 460, 461, 5, 60, + 0, 0, 461, 462, 5, 61, 0, 0, 462, 48, 1, + 0, 0, 0, 463, 464, 5, 62, 0, 0, 464, 465, + 5, 61, 0, 0, 465, 50, 1, 0, 0, 0, 466, + 467, 5, 45, 0, 0, 467, 52, 1, 0, 0, 0, + 468, 469, 5, 94, 0, 0, 469, 470, 5, 94, 0, + 0, 470, 54, 1, 0, 0, 0, 471, 472, 5, 116, + 0, 0, 472, 473, 5, 114, 0, 0, 473, 474, 5, + 117, 0, 0, 474, 475, 5, 101, 0, 0, 475, 56, + 1, 0, 0, 0, 476, 477, 5, 102, 0, 0, 477, + 478, 5, 97, 0, 0, 478, 479, 5, 108, 0, 0, + 479, 480, 5, 115, 0, 0, 480, 481, 5, 101, 0, + 0, 481, 58, 1, 0, 0, 0, 482, 483, 3, 361, + 180, 0, 483, 484, 3, 359, 179, 0, 484, 485, 3, + 395, 197, 0, 485, 486, 3, 367, 183, 0, 486, 60, + 1, 0, 0, 0, 487, 488, 3, 389, 194, 0, 488, + 489, 3, 393, 196, 0, 489, 490, 3, 367, 183, 0, + 490, 491, 3, 369, 184, 0, 491, 492, 3, 375, 187, + 0, 492, 493, 3, 405, 202, 0, 493, 62, 1, 0, + 0, 0, 494, 495, 3, 395, 197, 0, 495, 496, 3, + 367, 183, 0, 496, 497, 3, 381, 190, 0, 497, 498, + 3, 367, 183, 0, 498, 499, 3, 363, 181, 0, 499, + 500, 3, 397, 198, 0, 500, 64, 1, 0, 0, 0, + 501, 502, 3, 365, 182, 0, 502, 503, 3, 375, 187, + 0, 503, 504, 3, 395, 197, 0, 504, 505, 3, 397, + 198, 0, 505, 506, 3, 375, 187, 0, 506, 507, 3, + 385, 192, 0, 507, 508, 3, 363, 181, 0, 508, 509, + 3, 397, 198, 0, 509, 66, 1, 0, 0, 0, 510, + 511, 3, 393, 196, 0, 511, 512, 3, 367, 183, 0, + 512, 513, 3, 365, 182, 0, 513, 514, 3, 399, 199, + 0, 514, 515, 3, 363, 181, 0, 515, 516, 3, 367, + 183, 0, 516, 517, 3, 365, 182, 0, 517, 68, 1, + 0, 0, 0, 518, 519, 3, 359, 179, 0, 519, 520, + 3, 395, 197, 0, 520, 70, 1, 0, 0, 0, 521, + 522, 3, 363, 181, 0, 522, 523, 3, 387, 193, 0, + 523, 524, 3, 385, 192, 0, 524, 525, 3, 395, 197, + 0, 525, 526, 3, 397, 198, 0, 526, 527, 3, 393, + 196, 0, 527, 528, 3, 399, 199, 0, 528, 529, 3, + 363, 181, 0, 529, 530, 3, 397, 198, 0, 530, 72, + 1, 0, 0, 0, 531, 532, 3, 403, 201, 0, 532, + 533, 3, 373, 186, 0, 533, 534, 3, 367, 183, 0, + 534, 535, 3, 393, 196, 0, 535, 536, 3, 367, 183, + 0, 536, 74, 1, 0, 0, 0, 537, 538, 3, 365, + 182, 0, 538, 539, 3, 367, 183, 0, 539, 540, 3, + 395, 197, 0, 540, 541, 3, 363, 181, 0, 541, 542, + 3, 393, 196, 0, 542, 543, 3, 375, 187, 0, 543, + 544, 3, 361, 180, 0, 544, 545, 3, 367, 183, 0, + 545, 76, 1, 0, 0, 0, 546, 547, 3, 359, 179, + 0, 547, 548, 3, 395, 197, 0, 548, 549, 3, 379, + 189, 0, 549, 78, 1, 0, 0, 0, 550, 551, 3, + 369, 184, 0, 551, 552, 3, 393, 196, 0, 552, 553, + 3, 387, 193, 0, 553, 554, 3, 383, 191, 0, 554, + 80, 1, 0, 0, 0, 555, 556, 3, 385, 192, 0, + 556, 557, 3, 359, 179, 0, 557, 558, 3, 383, 191, + 0, 558, 559, 3, 367, 183, 0, 559, 560, 3, 365, + 182, 0, 560, 82, 1, 0, 0, 0, 561, 562, 3, + 371, 185, 0, 562, 563, 3, 393, 196, 0, 563, 564, + 3, 387, 193, 0, 564, 565, 3, 399, 199, 0, 565, + 567, 3, 389, 194, 0, 566, 568, 3, 355, 177, 0, + 567, 566, 1, 0, 0, 0, 568, 569, 1, 0, 0, + 0, 569, 567, 1, 0, 0, 0, 569, 570, 1, 0, + 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 3, + 361, 180, 0, 572, 573, 3, 407, 203, 0, 573, 84, + 1, 0, 0, 0, 574, 575, 3, 371, 185, 0, 575, + 576, 3, 393, 196, 0, 576, 577, 3, 387, 193, 0, + 577, 578, 3, 399, 199, 0, 578, 579, 3, 389, 194, + 0, 579, 580, 5, 95, 0, 0, 580, 581, 3, 363, + 181, 0, 581, 582, 3, 387, 193, 0, 582, 583, 3, + 385, 192, 0, 583, 584, 3, 363, 181, 0, 584, 585, + 3, 359, 179, 0, 585, 586, 3, 397, 198, 0, 586, + 86, 1, 0, 0, 0, 587, 588, 3, 373, 186, 0, + 588, 589, 3, 359, 179, 0, 589, 590, 3, 401, 200, + 0, 590, 591, 3, 375, 187, 0, 591, 592, 3, 385, + 192, 0, 592, 593, 3, 371, 185, 0, 593, 88, 1, + 0, 0, 0, 594, 595, 3, 387, 193, 0, 595, 596, + 3, 393, 196, 0, 596, 597, 3, 365, 182, 0, 597, + 598, 3, 367, 183, 0, 598, 600, 3, 393, 196, 0, + 599, 601, 3, 355, 177, 0, 600, 599, 1, 0, 0, + 0, 601, 602, 1, 0, 0, 0, 602, 600, 1, 0, + 0, 0, 602, 603, 1, 0, 0, 0, 603, 604, 1, + 0, 0, 0, 604, 605, 3, 361, 180, 0, 605, 606, + 3, 407, 203, 0, 606, 90, 1, 0, 0, 0, 607, + 608, 3, 375, 187, 0, 608, 609, 3, 385, 192, 0, + 609, 610, 3, 397, 198, 0, 610, 611, 3, 367, 183, + 0, 611, 612, 3, 393, 196, 0, 612, 613, 3, 385, + 192, 0, 613, 614, 3, 359, 179, 0, 614, 616, 3, + 381, 190, 0, 615, 617, 3, 355, 177, 0, 616, 615, + 1, 0, 0, 0, 617, 618, 1, 0, 0, 0, 618, + 616, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, + 619, 620, 1, 0, 0, 0, 620, 621, 3, 395, 197, + 0, 621, 622, 3, 387, 193, 0, 622, 623, 3, 393, + 196, 0, 623, 625, 3, 397, 198, 0, 624, 626, 3, + 355, 177, 0, 625, 624, 1, 0, 0, 0, 626, 627, + 1, 0, 0, 0, 627, 625, 1, 0, 0, 0, 627, + 628, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, + 629, 630, 3, 361, 180, 0, 630, 631, 3, 407, 203, + 0, 631, 92, 1, 0, 0, 0, 632, 633, 3, 359, + 179, 0, 633, 634, 3, 395, 197, 0, 634, 635, 3, + 363, 181, 0, 635, 94, 1, 0, 0, 0, 636, 637, + 3, 365, 182, 0, 637, 638, 3, 367, 183, 0, 638, + 639, 3, 395, 197, 0, 639, 640, 3, 363, 181, 0, + 640, 96, 1, 0, 0, 0, 641, 642, 3, 381, 190, + 0, 642, 643, 3, 375, 187, 0, 643, 644, 3, 383, + 191, 0, 644, 645, 3, 375, 187, 0, 645, 646, 3, + 397, 198, 0, 646, 98, 1, 0, 0, 0, 647, 648, + 3, 387, 193, 0, 648, 649, 3, 369, 184, 0, 649, + 650, 3, 369, 184, 0, 650, 651, 3, 395, 197, 0, + 651, 652, 3, 367, 183, 0, 652, 653, 3, 397, 198, + 0, 653, 100, 1, 0, 0, 0, 654, 655, 3, 397, + 198, 0, 655, 656, 3, 367, 183, 0, 656, 657, 3, + 405, 202, 0, 657, 658, 3, 397, 198, 0, 658, 659, + 3, 381, 190, 0, 659, 660, 3, 375, 187, 0, 660, + 661, 3, 383, 191, 0, 661, 662, 3, 375, 187, 0, + 662, 663, 3, 397, 198, 0, 663, 102, 1, 0, 0, + 0, 664, 665, 3, 401, 200, 0, 665, 666, 3, 359, + 179, 0, 666, 667, 3, 381, 190, 0, 667, 668, 3, + 399, 199, 0, 668, 669, 3, 367, 183, 0, 669, 670, + 3, 395, 197, 0, 670, 104, 1, 0, 0, 0, 671, + 672, 3, 381, 190, 0, 672, 673, 3, 387, 193, 0, + 673, 674, 3, 359, 179, 0, 674, 675, 3, 365, 182, + 0, 675, 106, 1, 0, 0, 0, 676, 677, 3, 395, + 197, 0, 677, 678, 3, 375, 187, 0, 678, 679, 3, + 381, 190, 0, 679, 680, 3, 367, 183, 0, 680, 681, + 3, 385, 192, 0, 681, 682, 3, 397, 198, 0, 682, + 108, 1, 0, 0, 0, 683, 684, 3, 375, 187, 0, + 684, 685, 3, 385, 192, 0, 685, 686, 3, 397, 198, + 0, 686, 687, 3, 387, 193, 0, 687, 110, 1, 0, + 0, 0, 688, 689, 3, 363, 181, 0, 689, 690, 3, + 381, 190, 0, 690, 691, 3, 367, 183, 0, 691, 692, + 3, 359, 179, 0, 692, 693, 3, 393, 196, 0, 693, + 112, 1, 0, 0, 0, 694, 695, 3, 365, 182, 0, + 695, 696, 3, 393, 196, 0, 696, 697, 3, 387, 193, + 0, 697, 698, 3, 389, 194, 0, 698, 114, 1, 0, + 0, 0, 699, 700, 3, 363, 181, 0, 700, 701, 3, + 393, 196, 0, 701, 702, 3, 367, 183, 0, 702, 703, + 3, 359, 179, 0, 703, 704, 3, 397, 198, 0, 704, + 705, 3, 367, 183, 0, 705, 116, 1, 0, 0, 0, + 706, 707, 3, 359, 179, 0, 707, 708, 3, 365, 182, + 0, 708, 709, 3, 365, 182, 0, 709, 118, 1, 0, + 0, 0, 710, 711, 3, 397, 198, 0, 711, 712, 3, + 387, 193, 0, 712, 120, 1, 0, 0, 0, 713, 714, + 3, 365, 182, 0, 714, 715, 3, 359, 179, 0, 715, + 716, 3, 397, 198, 0, 716, 717, 3, 359, 179, 0, + 717, 122, 1, 0, 0, 0, 718, 719, 3, 383, 191, + 0, 719, 720, 3, 387, 193, 0, 720, 721, 3, 401, + 200, 0, 721, 722, 3, 367, 183, 0, 722, 124, 1, + 0, 0, 0, 723, 724, 3, 363, 181, 0, 724, 725, + 3, 387, 193, 0, 725, 726, 3, 389, 194, 0, 726, + 727, 3, 407, 203, 0, 727, 126, 1, 0, 0, 0, + 728, 729, 3, 375, 187, 0, 729, 730, 3, 385, 192, + 0, 730, 731, 3, 395, 197, 0, 731, 732, 3, 367, + 183, 0, 732, 733, 3, 393, 196, 0, 733, 734, 3, + 397, 198, 0, 734, 128, 1, 0, 0, 0, 735, 736, + 3, 365, 182, 0, 736, 737, 3, 367, 183, 0, 737, + 738, 3, 381, 190, 0, 738, 739, 3, 367, 183, 0, + 739, 740, 3, 397, 198, 0, 740, 741, 3, 367, 183, + 0, 741, 130, 1, 0, 0, 0, 742, 743, 3, 403, + 201, 0, 743, 744, 3, 375, 187, 0, 744, 745, 3, + 397, 198, 0, 745, 746, 3, 373, 186, 0, 746, 132, + 1, 0, 0, 0, 747, 748, 3, 399, 199, 0, 748, + 749, 3, 395, 197, 0, 749, 750, 3, 375, 187, 0, + 750, 751, 3, 385, 192, 0, 751, 752, 3, 371, 185, + 0, 752, 134, 1, 0, 0, 0, 753, 754, 3, 365, + 182, 0, 754, 755, 3, 367, 183, 0, 755, 756, 3, + 369, 184, 0, 756, 757, 3, 359, 179, 0, 757, 758, + 3, 399, 199, 0, 758, 759, 3, 381, 190, 0, 759, + 760, 3, 397, 198, 0, 760, 136, 1, 0, 0, 0, + 761, 762, 3, 371, 185, 0, 762, 763, 3, 393, 196, + 0, 763, 764, 3, 359, 179, 0, 764, 765, 3, 389, + 194, 0, 765, 766, 3, 373, 186, 0, 766, 138, 1, + 0, 0, 0, 767, 768, 3, 359, 179, 0, 768, 769, + 3, 381, 190, 0, 769, 770, 3, 381, 190, 0, 770, + 140, 1, 0, 0, 0, 771, 772, 3, 387, 193, 0, + 772, 773, 3, 389, 194, 0, 773, 774, 3, 397, 198, + 0, 774, 775, 3, 375, 187, 0, 775, 776, 3, 387, + 193, 0, 776, 777, 3, 385, 192, 0, 777, 778, 3, + 359, 179, 0, 778, 779, 3, 381, 190, 0, 779, 142, + 1, 0, 0, 0, 780, 781, 3, 395, 197, 0, 781, + 782, 3, 367, 183, 0, 782, 783, 3, 393, 196, 0, + 783, 784, 3, 401, 200, 0, 784, 785, 3, 375, 187, + 0, 785, 786, 3, 363, 181, 0, 786, 787, 3, 367, + 183, 0, 787, 144, 1, 0, 0, 0, 788, 789, 3, + 361, 180, 0, 789, 790, 3, 375, 187, 0, 790, 791, + 3, 385, 192, 0, 791, 792, 3, 365, 182, 0, 792, + 146, 1, 0, 0, 0, 793, 794, 3, 399, 199, 0, + 794, 795, 3, 385, 192, 0, 795, 796, 3, 365, 182, + 0, 796, 797, 3, 367, 183, 0, 797, 798, 3, 369, + 184, 0, 798, 148, 1, 0, 0, 0, 799, 800, 3, + 383, 191, 0, 800, 801, 3, 375, 187, 0, 801, 802, + 3, 385, 192, 0, 802, 803, 3, 399, 199, 0, 803, + 804, 3, 395, 197, 0, 804, 150, 1, 0, 0, 0, + 805, 806, 3, 399, 199, 0, 806, 807, 3, 385, 192, + 0, 807, 808, 3, 375, 187, 0, 808, 809, 3, 387, + 193, 0, 809, 810, 3, 385, 192, 0, 810, 152, 1, + 0, 0, 0, 811, 812, 3, 369, 184, 0, 812, 813, + 3, 375, 187, 0, 813, 814, 3, 381, 190, 0, 814, + 815, 3, 397, 198, 0, 815, 816, 3, 367, 183, 0, + 816, 817, 3, 393, 196, 0, 817, 154, 1, 0, 0, + 0, 818, 819, 3, 385, 192, 0, 819, 820, 3, 387, + 193, 0, 820, 821, 3, 397, 198, 0, 821, 156, 1, + 0, 0, 0, 822, 823, 3, 375, 187, 0, 823, 824, + 3, 385, 192, 0, 824, 158, 1, 0, 0, 0, 825, + 826, 3, 395, 197, 0, 826, 827, 3, 397, 198, 0, + 827, 828, 3, 393, 196, 0, 828, 160, 1, 0, 0, + 0, 829, 830, 3, 381, 190, 0, 830, 831, 3, 359, + 179, 0, 831, 832, 3, 385, 192, 0, 832, 833, 3, + 371, 185, 0, 833, 162, 1, 0, 0, 0, 834, 835, + 3, 381, 190, 0, 835, 836, 3, 359, 179, 0, 836, + 837, 3, 385, 192, 0, 837, 838, 3, 371, 185, 0, + 838, 839, 3, 383, 191, 0, 839, 840, 3, 359, 179, + 0, 840, 841, 3, 397, 198, 0, 841, 842, 3, 363, + 181, 0, 842, 843, 3, 373, 186, 0, 843, 844, 3, + 367, 183, 0, 844, 845, 3, 395, 197, 0, 845, 164, + 1, 0, 0, 0, 846, 847, 3, 365, 182, 0, 847, + 848, 3, 359, 179, 0, 848, 849, 3, 397, 198, 0, + 849, 850, 3, 359, 179, 0, 850, 851, 3, 397, 198, + 0, 851, 852, 3, 407, 203, 0, 852, 853, 3, 389, + 194, 0, 853, 854, 3, 367, 183, 0, 854, 166, 1, + 0, 0, 0, 855, 856, 3, 361, 180, 0, 856, 857, + 3, 387, 193, 0, 857, 858, 3, 399, 199, 0, 858, + 859, 3, 385, 192, 0, 859, 860, 3, 365, 182, 0, + 860, 168, 1, 0, 0, 0, 861, 862, 3, 375, 187, + 0, 862, 863, 3, 393, 196, 0, 863, 864, 3, 375, + 187, 0, 864, 170, 1, 0, 0, 0, 865, 866, 3, + 399, 199, 0, 866, 867, 3, 393, 196, 0, 867, 868, + 3, 375, 187, 0, 868, 172, 1, 0, 0, 0, 869, + 870, 3, 361, 180, 0, 870, 871, 3, 385, 192, 0, + 871, 872, 3, 387, 193, 0, 872, 873, 3, 365, 182, + 0, 873, 874, 3, 367, 183, 0, 874, 174, 1, 0, + 0, 0, 875, 876, 3, 393, 196, 0, 876, 877, 3, + 359, 179, 0, 877, 878, 3, 385, 192, 0, 878, 879, + 3, 365, 182, 0, 879, 176, 1, 0, 0, 0, 880, + 881, 3, 359, 179, 0, 881, 882, 3, 361, 180, 0, + 882, 883, 3, 395, 197, 0, 883, 178, 1, 0, 0, + 0, 884, 885, 3, 363, 181, 0, 885, 886, 3, 367, + 183, 0, 886, 887, 3, 375, 187, 0, 887, 888, 3, + 381, 190, 0, 888, 180, 1, 0, 0, 0, 889, 890, + 3, 369, 184, 0, 890, 891, 3, 381, 190, 0, 891, + 892, 3, 387, 193, 0, 892, 893, 3, 387, 193, 0, + 893, 894, 3, 393, 196, 0, 894, 182, 1, 0, 0, + 0, 895, 896, 3, 393, 196, 0, 896, 897, 3, 387, + 193, 0, 897, 898, 3, 399, 199, 0, 898, 899, 3, + 385, 192, 0, 899, 900, 3, 365, 182, 0, 900, 184, + 1, 0, 0, 0, 901, 902, 3, 363, 181, 0, 902, + 903, 3, 387, 193, 0, 903, 904, 3, 385, 192, 0, + 904, 905, 3, 363, 181, 0, 905, 906, 3, 359, 179, + 0, 906, 907, 3, 397, 198, 0, 907, 186, 1, 0, + 0, 0, 908, 909, 3, 395, 197, 0, 909, 910, 3, + 397, 198, 0, 910, 911, 3, 393, 196, 0, 911, 912, + 3, 381, 190, 0, 912, 913, 3, 367, 183, 0, 913, + 914, 3, 385, 192, 0, 914, 188, 1, 0, 0, 0, + 915, 916, 3, 399, 199, 0, 916, 917, 3, 363, 181, + 0, 917, 918, 3, 359, 179, 0, 918, 919, 3, 395, + 197, 0, 919, 920, 3, 367, 183, 0, 920, 190, 1, + 0, 0, 0, 921, 922, 3, 381, 190, 0, 922, 923, + 3, 363, 181, 0, 923, 924, 3, 359, 179, 0, 924, + 925, 3, 395, 197, 0, 925, 926, 3, 367, 183, 0, + 926, 192, 1, 0, 0, 0, 927, 928, 3, 367, 183, + 0, 928, 929, 3, 385, 192, 0, 929, 930, 3, 363, + 181, 0, 930, 931, 3, 387, 193, 0, 931, 932, 3, + 365, 182, 0, 932, 933, 3, 367, 183, 0, 933, 934, + 5, 95, 0, 0, 934, 935, 3, 369, 184, 0, 935, + 936, 3, 387, 193, 0, 936, 937, 3, 393, 196, 0, + 937, 938, 5, 95, 0, 0, 938, 939, 3, 399, 199, + 0, 939, 940, 3, 393, 196, 0, 940, 941, 3, 375, + 187, 0, 941, 194, 1, 0, 0, 0, 942, 943, 3, + 369, 184, 0, 943, 944, 3, 387, 193, 0, 944, 945, + 3, 393, 196, 0, 945, 196, 1, 0, 0, 0, 946, + 947, 3, 363, 181, 0, 947, 948, 3, 387, 193, 0, + 948, 949, 3, 385, 192, 0, 949, 950, 3, 397, 198, + 0, 950, 951, 3, 359, 179, 0, 951, 952, 3, 375, + 187, 0, 952, 953, 3, 385, 192, 0, 953, 954, 3, + 395, 197, 0, 954, 198, 1, 0, 0, 0, 955, 956, + 3, 395, 197, 0, 956, 957, 3, 397, 198, 0, 957, + 958, 3, 393, 196, 0, 958, 959, 3, 395, 197, 0, + 959, 960, 3, 397, 198, 0, 960, 961, 3, 359, 179, + 0, 961, 962, 3, 393, 196, 0, 962, 963, 3, 397, + 198, 0, 963, 964, 3, 395, 197, 0, 964, 200, 1, + 0, 0, 0, 965, 966, 3, 395, 197, 0, 966, 967, + 3, 397, 198, 0, 967, 968, 3, 393, 196, 0, 968, + 969, 3, 367, 183, 0, 969, 970, 3, 385, 192, 0, + 970, 971, 3, 365, 182, 0, 971, 972, 3, 395, 197, + 0, 972, 202, 1, 0, 0, 0, 973, 974, 3, 395, + 197, 0, 974, 975, 3, 397, 198, 0, 975, 976, 3, + 393, 196, 0, 976, 977, 3, 361, 180, 0, 977, 978, + 3, 367, 183, 0, 978, 979, 3, 369, 184, 0, 979, + 980, 3, 387, 193, 0, 980, 981, 3, 393, 196, 0, + 981, 982, 3, 367, 183, 0, 982, 204, 1, 0, 0, + 0, 983, 984, 3, 395, 197, 0, 984, 985, 3, 397, + 198, 0, 985, 986, 3, 393, 196, 0, 986, 987, 3, + 359, 179, 0, 987, 988, 3, 369, 184, 0, 988, 989, + 3, 397, 198, 0, 989, 990, 3, 367, 183, 0, 990, + 991, 3, 393, 196, 0, 991, 206, 1, 0, 0, 0, + 992, 993, 3, 407, 203, 0, 993, 994, 3, 367, 183, + 0, 994, 995, 3, 359, 179, 0, 995, 996, 3, 393, + 196, 0, 996, 208, 1, 0, 0, 0, 997, 998, 3, + 383, 191, 0, 998, 999, 3, 387, 193, 0, 999, 1000, + 3, 385, 192, 0, 1000, 1001, 3, 397, 198, 0, 1001, + 1002, 3, 373, 186, 0, 1002, 210, 1, 0, 0, 0, + 1003, 1004, 3, 365, 182, 0, 1004, 1005, 3, 359, 179, + 0, 1005, 1006, 3, 407, 203, 0, 1006, 212, 1, 0, + 0, 0, 1007, 1008, 3, 373, 186, 0, 1008, 1009, 3, + 387, 193, 0, 1009, 1010, 3, 399, 199, 0, 1010, 1011, + 3, 393, 196, 0, 1011, 1012, 3, 395, 197, 0, 1012, + 214, 1, 0, 0, 0, 1013, 1014, 3, 383, 191, 0, + 1014, 1015, 3, 375, 187, 0, 1015, 1016, 3, 385, 192, + 0, 1016, 1017, 3, 399, 199, 0, 1017, 1018, 3, 397, + 198, 0, 1018, 1019, 3, 367, 183, 0, 1019, 1020, 3, + 395, 197, 0, 1020, 216, 1, 0, 0, 0, 1021, 1022, + 3, 395, 197, 0, 1022, 1023, 3, 367, 183, 0, 1023, + 1024, 3, 363, 181, 0, 1024, 1025, 3, 387, 193, 0, + 1025, 1026, 3, 385, 192, 0, 1026, 1027, 3, 365, 182, + 0, 1027, 1028, 3, 395, 197, 0, 1028, 218, 1, 0, + 0, 0, 1029, 1030, 3, 397, 198, 0, 1030, 1031, 3, + 375, 187, 0, 1031, 1032, 3, 383, 191, 0, 1032, 1033, + 3, 367, 183, 0, 1033, 1034, 3, 409, 204, 0, 1034, + 1035, 3, 387, 193, 0, 1035, 1036, 3, 385, 192, 0, + 1036, 1037, 3, 367, 183, 0, 1037, 220, 1, 0, 0, + 0, 1038, 1039, 3, 397, 198, 0, 1039, 1040, 3, 409, + 204, 0, 1040, 222, 1, 0, 0, 0, 1041, 1042, 3, + 385, 192, 0, 1042, 1043, 3, 387, 193, 0, 1043, 1044, + 3, 403, 201, 0, 1044, 224, 1, 0, 0, 0, 1045, + 1046, 3, 399, 199, 0, 1046, 1047, 3, 399, 199, 0, + 1047, 1048, 3, 375, 187, 0, 1048, 1049, 3, 365, 182, + 0, 1049, 226, 1, 0, 0, 0, 1050, 1051, 3, 395, + 197, 0, 1051, 1052, 3, 397, 198, 0, 1052, 1053, 3, + 393, 196, 0, 1053, 1054, 3, 399, 199, 0, 1054, 1055, + 3, 399, 199, 0, 1055, 1056, 3, 375, 187, 0, 1056, + 1057, 3, 365, 182, 0, 1057, 228, 1, 0, 0, 0, + 1058, 1059, 3, 395, 197, 0, 1059, 1060, 3, 373, 186, + 0, 1060, 1061, 3, 359, 179, 0, 1061, 1062, 5, 49, + 0, 0, 1062, 230, 1, 0, 0, 0, 1063, 1064, 3, + 395, 197, 0, 1064, 1065, 3, 373, 186, 0, 1065, 1066, + 3, 359, 179, 0, 1066, 1067, 5, 50, 0, 0, 1067, + 1068, 5, 53, 0, 0, 1068, 1069, 5, 54, 0, 0, + 1069, 232, 1, 0, 0, 0, 1070, 1071, 3, 395, 197, + 0, 1071, 1072, 3, 373, 186, 0, 1072, 1073, 3, 359, + 179, 0, 1073, 1074, 5, 51, 0, 0, 1074, 1075, 5, + 56, 0, 0, 1075, 1076, 5, 52, 0, 0, 1076, 234, + 1, 0, 0, 0, 1077, 1078, 3, 395, 197, 0, 1078, + 1079, 3, 373, 186, 0, 1079, 1080, 3, 359, 179, 0, + 1080, 1081, 5, 53, 0, 0, 1081, 1082, 5, 49, 0, + 0, 1082, 1083, 5, 50, 0, 0, 1083, 236, 1, 0, + 0, 0, 1084, 1085, 3, 383, 191, 0, 1085, 1086, 3, + 365, 182, 0, 1086, 1087, 5, 53, 0, 0, 1087, 238, + 1, 0, 0, 0, 1088, 1089, 3, 363, 181, 0, 1089, + 1090, 3, 387, 193, 0, 1090, 1091, 3, 359, 179, 0, + 1091, 1092, 3, 381, 190, 0, 1092, 1093, 3, 367, 183, + 0, 1093, 1094, 3, 395, 197, 0, 1094, 1095, 3, 363, + 181, 0, 1095, 1096, 3, 367, 183, 0, 1096, 240, 1, + 0, 0, 0, 1097, 1098, 3, 375, 187, 0, 1098, 1099, + 3, 369, 184, 0, 1099, 242, 1, 0, 0, 0, 1100, + 1101, 3, 395, 197, 0, 1101, 1102, 3, 397, 198, 0, + 1102, 1103, 3, 393, 196, 0, 1103, 1104, 3, 381, 190, + 0, 1104, 1105, 3, 359, 179, 0, 1105, 1106, 3, 385, + 192, 0, 1106, 1107, 3, 371, 185, 0, 1107, 244, 1, + 0, 0, 0, 1108, 1109, 3, 395, 197, 0, 1109, 1110, + 3, 397, 198, 0, 1110, 1111, 3, 393, 196, 0, 1111, + 1112, 3, 365, 182, 0, 1112, 1113, 3, 397, 198, 0, + 1113, 246, 1, 0, 0, 0, 1114, 1115, 3, 395, 197, + 0, 1115, 1116, 3, 359, 179, 0, 1116, 1117, 3, 383, + 191, 0, 1117, 1118, 3, 367, 183, 0, 1118, 1119, 3, + 397, 198, 0, 1119, 1120, 3, 367, 183, 0, 1120, 1121, + 3, 393, 196, 0, 1121, 1122, 3, 383, 191, 0, 1122, + 248, 1, 0, 0, 0, 1123, 1124, 3, 375, 187, 0, + 1124, 1125, 3, 395, 197, 0, 1125, 1126, 3, 375, 187, + 0, 1126, 1127, 3, 393, 196, 0, 1127, 1128, 3, 375, + 187, 0, 1128, 250, 1, 0, 0, 0, 1129, 1130, 3, + 375, 187, 0, 1130, 1131, 3, 395, 197, 0, 1131, 1132, + 3, 399, 199, 0, 1132, 1133, 3, 393, 196, 0, 1133, + 1134, 3, 375, 187, 0, 1134, 252, 1, 0, 0, 0, + 1135, 1136, 3, 375, 187, 0, 1136, 1137, 3, 395, 197, + 0, 1137, 1138, 3, 361, 180, 0, 1138, 1139, 3, 381, + 190, 0, 1139, 1140, 3, 359, 179, 0, 1140, 1141, 3, + 385, 192, 0, 1141, 1142, 3, 379, 189, 0, 1142, 254, + 1, 0, 0, 0, 1143, 1144, 3, 375, 187, 0, 1144, + 1145, 3, 395, 197, 0, 1145, 1146, 3, 381, 190, 0, + 1146, 1147, 3, 375, 187, 0, 1147, 1148, 3, 397, 198, + 0, 1148, 1149, 3, 367, 183, 0, 1149, 1150, 3, 393, + 196, 0, 1150, 1151, 3, 359, 179, 0, 1151, 1152, 3, + 381, 190, 0, 1152, 256, 1, 0, 0, 0, 1153, 1154, + 3, 375, 187, 0, 1154, 1155, 3, 395, 197, 0, 1155, + 1156, 3, 385, 192, 0, 1156, 1157, 3, 399, 199, 0, + 1157, 1158, 3, 383, 191, 0, 1158, 1159, 3, 367, 183, + 0, 1159, 1160, 3, 393, 196, 0, 1160, 1161, 3, 375, + 187, 0, 1161, 1162, 3, 363, 181, 0, 1162, 258, 1, + 0, 0, 0, 1163, 1164, 3, 393, 196, 0, 1164, 1165, + 3, 367, 183, 0, 1165, 1166, 3, 371, 185, 0, 1166, + 1167, 3, 367, 183, 0, 1167, 1168, 3, 405, 202, 0, + 1168, 260, 1, 0, 0, 0, 1169, 1170, 3, 395, 197, + 0, 1170, 1171, 3, 399, 199, 0, 1171, 1172, 3, 361, + 180, 0, 1172, 1173, 3, 395, 197, 0, 1173, 1174, 3, + 397, 198, 0, 1174, 1175, 3, 393, 196, 0, 1175, 262, + 1, 0, 0, 0, 1176, 1177, 3, 393, 196, 0, 1177, + 1178, 3, 367, 183, 0, 1178, 1179, 3, 389, 194, 0, + 1179, 1180, 3, 381, 190, 0, 1180, 1181, 3, 359, 179, + 0, 1181, 1182, 3, 363, 181, 0, 1182, 1183, 3, 367, + 183, 0, 1183, 264, 1, 0, 0, 0, 1184, 1185, 3, + 367, 183, 0, 1185, 1186, 3, 405, 202, 0, 1186, 1187, + 3, 375, 187, 0, 1187, 1188, 3, 395, 197, 0, 1188, + 1189, 3, 397, 198, 0, 1189, 1190, 3, 395, 197, 0, + 1190, 266, 1, 0, 0, 0, 1191, 1192, 3, 363, 181, + 0, 1192, 1193, 3, 387, 193, 0, 1193, 1194, 3, 399, + 199, 0, 1194, 1195, 3, 385, 192, 0, 1195, 1196, 3, + 397, 198, 0, 1196, 268, 1, 0, 0, 0, 1197, 1198, + 3, 395, 197, 0, 1198, 1199, 3, 399, 199, 0, 1199, + 1200, 3, 383, 191, 0, 1200, 270, 1, 0, 0, 0, + 1201, 1202, 3, 383, 191, 0, 1202, 1203, 3, 375, 187, + 0, 1203, 1204, 3, 385, 192, 0, 1204, 272, 1, 0, + 0, 0, 1205, 1206, 3, 383, 191, 0, 1206, 1207, 3, + 359, 179, 0, 1207, 1208, 3, 405, 202, 0, 1208, 274, + 1, 0, 0, 0, 1209, 1210, 3, 359, 179, 0, 1210, + 1211, 3, 401, 200, 0, 1211, 1212, 3, 371, 185, 0, + 1212, 276, 1, 0, 0, 0, 1213, 1214, 3, 395, 197, + 0, 1214, 1215, 3, 397, 198, 0, 1215, 1216, 3, 365, + 182, 0, 1216, 1217, 3, 367, 183, 0, 1217, 1218, 3, + 401, 200, 0, 1218, 278, 1, 0, 0, 0, 1219, 1220, + 3, 395, 197, 0, 1220, 1221, 3, 359, 179, 0, 1221, + 1222, 3, 383, 191, 0, 1222, 1223, 3, 389, 194, 0, + 1223, 1224, 3, 381, 190, 0, 1224, 1225, 3, 367, 183, + 0, 1225, 280, 1, 0, 0, 0, 1226, 1227, 3, 395, + 197, 0, 1227, 1228, 3, 367, 183, 0, 1228, 1229, 3, + 389, 194, 0, 1229, 1230, 3, 359, 179, 0, 1230, 1231, + 3, 393, 196, 0, 1231, 1232, 3, 359, 179, 0, 1232, + 1233, 3, 397, 198, 0, 1233, 1234, 3, 387, 193, 0, + 1234, 1235, 3, 393, 196, 0, 1235, 282, 1, 0, 0, + 0, 1236, 1240, 5, 60, 0, 0, 1237, 1239, 8, 0, + 0, 0, 1238, 1237, 1, 0, 0, 0, 1239, 1242, 1, + 0, 0, 0, 1240, 1238, 1, 0, 0, 0, 1240, 1241, + 1, 0, 0, 0, 1241, 1243, 1, 0, 0, 0, 1242, + 1240, 1, 0, 0, 0, 1243, 1244, 5, 62, 0, 0, + 1244, 284, 1, 0, 0, 0, 1245, 1247, 3, 339, 169, + 0, 1246, 1245, 1, 0, 0, 0, 1246, 1247, 1, 0, + 0, 0, 1247, 1248, 1, 0, 0, 0, 1248, 1249, 5, + 58, 0, 0, 1249, 286, 1, 0, 0, 0, 1250, 1251, + 3, 285, 142, 0, 1251, 1252, 3, 341, 170, 0, 1252, + 288, 1, 0, 0, 0, 1253, 1254, 5, 95, 0, 0, + 1254, 1255, 5, 58, 0, 0, 1255, 1258, 1, 0, 0, + 0, 1256, 1259, 3, 333, 166, 0, 1257, 1259, 3, 353, + 176, 0, 1258, 1256, 1, 0, 0, 0, 1258, 1257, 1, + 0, 0, 0, 1259, 1268, 1, 0, 0, 0, 1260, 1263, + 3, 337, 168, 0, 1261, 1263, 5, 46, 0, 0, 1262, + 1260, 1, 0, 0, 0, 1262, 1261, 1, 0, 0, 0, + 1263, 1266, 1, 0, 0, 0, 1264, 1262, 1, 0, 0, + 0, 1264, 1265, 1, 0, 0, 0, 1265, 1267, 1, 0, + 0, 0, 1266, 1264, 1, 0, 0, 0, 1267, 1269, 3, + 337, 168, 0, 1268, 1264, 1, 0, 0, 0, 1268, 1269, + 1, 0, 0, 0, 1269, 290, 1, 0, 0, 0, 1270, + 1271, 5, 63, 0, 0, 1271, 1272, 3, 335, 167, 0, + 1272, 292, 1, 0, 0, 0, 1273, 1274, 5, 36, 0, + 0, 1274, 1275, 3, 335, 167, 0, 1275, 294, 1, 0, + 0, 0, 1276, 1278, 5, 64, 0, 0, 1277, 1279, 7, + 1, 0, 0, 1278, 1277, 1, 0, 0, 0, 1279, 1280, + 1, 0, 0, 0, 1280, 1278, 1, 0, 0, 0, 1280, + 1281, 1, 0, 0, 0, 1281, 1291, 1, 0, 0, 0, + 1282, 1285, 5, 45, 0, 0, 1283, 1286, 7, 1, 0, + 0, 1284, 1286, 3, 353, 176, 0, 1285, 1283, 1, 0, + 0, 0, 1285, 1284, 1, 0, 0, 0, 1286, 1287, 1, + 0, 0, 0, 1287, 1285, 1, 0, 0, 0, 1287, 1288, + 1, 0, 0, 0, 1288, 1290, 1, 0, 0, 0, 1289, + 1282, 1, 0, 0, 0, 1290, 1293, 1, 0, 0, 0, + 1291, 1289, 1, 0, 0, 0, 1291, 1292, 1, 0, 0, + 0, 1292, 296, 1, 0, 0, 0, 1293, 1291, 1, 0, + 0, 0, 1294, 1295, 3, 295, 147, 0, 1295, 1296, 5, + 64, 0, 0, 1296, 298, 1, 0, 0, 0, 1297, 1299, + 3, 353, 176, 0, 1298, 1297, 1, 0, 0, 0, 1299, + 1300, 1, 0, 0, 0, 1300, 1298, 1, 0, 0, 0, + 1300, 1301, 1, 0, 0, 0, 1301, 300, 1, 0, 0, + 0, 1302, 1304, 3, 353, 176, 0, 1303, 1302, 1, 0, + 0, 0, 1304, 1307, 1, 0, 0, 0, 1305, 1303, 1, + 0, 0, 0, 1305, 1306, 1, 0, 0, 0, 1306, 1308, + 1, 0, 0, 0, 1307, 1305, 1, 0, 0, 0, 1308, + 1310, 5, 46, 0, 0, 1309, 1311, 3, 353, 176, 0, + 1310, 1309, 1, 0, 0, 0, 1311, 1312, 1, 0, 0, + 0, 1312, 1310, 1, 0, 0, 0, 1312, 1313, 1, 0, + 0, 0, 1313, 302, 1, 0, 0, 0, 1314, 1316, 3, + 353, 176, 0, 1315, 1314, 1, 0, 0, 0, 1316, 1317, + 1, 0, 0, 0, 1317, 1315, 1, 0, 0, 0, 1317, + 1318, 1, 0, 0, 0, 1318, 1319, 1, 0, 0, 0, + 1319, 1323, 5, 46, 0, 0, 1320, 1322, 3, 353, 176, + 0, 1321, 1320, 1, 0, 0, 0, 1322, 1325, 1, 0, + 0, 0, 1323, 1321, 1, 0, 0, 0, 1323, 1324, 1, + 0, 0, 0, 1324, 1326, 1, 0, 0, 0, 1325, 1323, + 1, 0, 0, 0, 1326, 1327, 3, 317, 158, 0, 1327, + 1344, 1, 0, 0, 0, 1328, 1330, 5, 46, 0, 0, + 1329, 1331, 3, 353, 176, 0, 1330, 1329, 1, 0, 0, + 0, 1331, 1332, 1, 0, 0, 0, 1332, 1330, 1, 0, + 0, 0, 1332, 1333, 1, 0, 0, 0, 1333, 1334, 1, + 0, 0, 0, 1334, 1335, 3, 317, 158, 0, 1335, 1344, + 1, 0, 0, 0, 1336, 1338, 3, 353, 176, 0, 1337, + 1336, 1, 0, 0, 0, 1338, 1339, 1, 0, 0, 0, + 1339, 1337, 1, 0, 0, 0, 1339, 1340, 1, 0, 0, + 0, 1340, 1341, 1, 0, 0, 0, 1341, 1342, 3, 317, + 158, 0, 1342, 1344, 1, 0, 0, 0, 1343, 1315, 1, + 0, 0, 0, 1343, 1328, 1, 0, 0, 0, 1343, 1337, + 1, 0, 0, 0, 1344, 304, 1, 0, 0, 0, 1345, + 1346, 5, 43, 0, 0, 1346, 1347, 3, 299, 149, 0, + 1347, 306, 1, 0, 0, 0, 1348, 1349, 5, 43, 0, + 0, 1349, 1350, 3, 301, 150, 0, 1350, 308, 1, 0, + 0, 0, 1351, 1352, 5, 43, 0, 0, 1352, 1353, 3, + 303, 151, 0, 1353, 310, 1, 0, 0, 0, 1354, 1355, + 5, 45, 0, 0, 1355, 1356, 3, 299, 149, 0, 1356, + 312, 1, 0, 0, 0, 1357, 1358, 5, 45, 0, 0, + 1358, 1359, 3, 301, 150, 0, 1359, 314, 1, 0, 0, + 0, 1360, 1361, 5, 45, 0, 0, 1361, 1362, 3, 303, + 151, 0, 1362, 316, 1, 0, 0, 0, 1363, 1365, 7, + 2, 0, 0, 1364, 1366, 7, 3, 0, 0, 1365, 1364, + 1, 0, 0, 0, 1365, 1366, 1, 0, 0, 0, 1366, + 1368, 1, 0, 0, 0, 1367, 1369, 3, 353, 176, 0, + 1368, 1367, 1, 0, 0, 0, 1369, 1370, 1, 0, 0, + 0, 1370, 1368, 1, 0, 0, 0, 1370, 1371, 1, 0, + 0, 0, 1371, 318, 1, 0, 0, 0, 1372, 1377, 5, + 39, 0, 0, 1373, 1376, 8, 4, 0, 0, 1374, 1376, + 3, 327, 163, 0, 1375, 1373, 1, 0, 0, 0, 1375, + 1374, 1, 0, 0, 0, 1376, 1379, 1, 0, 0, 0, + 1377, 1375, 1, 0, 0, 0, 1377, 1378, 1, 0, 0, + 0, 1378, 1380, 1, 0, 0, 0, 1379, 1377, 1, 0, + 0, 0, 1380, 1381, 5, 39, 0, 0, 1381, 320, 1, + 0, 0, 0, 1382, 1387, 5, 34, 0, 0, 1383, 1386, + 8, 5, 0, 0, 1384, 1386, 3, 327, 163, 0, 1385, + 1383, 1, 0, 0, 0, 1385, 1384, 1, 0, 0, 0, + 1386, 1389, 1, 0, 0, 0, 1387, 1385, 1, 0, 0, + 0, 1387, 1388, 1, 0, 0, 0, 1388, 1390, 1, 0, + 0, 0, 1389, 1387, 1, 0, 0, 0, 1390, 1391, 5, + 34, 0, 0, 1391, 322, 1, 0, 0, 0, 1392, 1393, + 5, 39, 0, 0, 1393, 1394, 5, 39, 0, 0, 1394, + 1395, 5, 39, 0, 0, 1395, 1407, 1, 0, 0, 0, + 1396, 1400, 5, 39, 0, 0, 1397, 1398, 5, 39, 0, + 0, 1398, 1400, 5, 39, 0, 0, 1399, 1396, 1, 0, + 0, 0, 1399, 1397, 1, 0, 0, 0, 1399, 1400, 1, + 0, 0, 0, 1400, 1403, 1, 0, 0, 0, 1401, 1404, + 8, 6, 0, 0, 1402, 1404, 3, 327, 163, 0, 1403, + 1401, 1, 0, 0, 0, 1403, 1402, 1, 0, 0, 0, + 1404, 1406, 1, 0, 0, 0, 1405, 1399, 1, 0, 0, + 0, 1406, 1409, 1, 0, 0, 0, 1407, 1405, 1, 0, + 0, 0, 1407, 1408, 1, 0, 0, 0, 1408, 1410, 1, + 0, 0, 0, 1409, 1407, 1, 0, 0, 0, 1410, 1411, + 5, 39, 0, 0, 1411, 1412, 5, 39, 0, 0, 1412, + 1413, 5, 39, 0, 0, 1413, 324, 1, 0, 0, 0, + 1414, 1415, 5, 34, 0, 0, 1415, 1416, 5, 34, 0, + 0, 1416, 1417, 5, 34, 0, 0, 1417, 1429, 1, 0, + 0, 0, 1418, 1422, 5, 34, 0, 0, 1419, 1420, 5, + 34, 0, 0, 1420, 1422, 5, 34, 0, 0, 1421, 1418, + 1, 0, 0, 0, 1421, 1419, 1, 0, 0, 0, 1421, + 1422, 1, 0, 0, 0, 1422, 1425, 1, 0, 0, 0, + 1423, 1426, 8, 7, 0, 0, 1424, 1426, 3, 327, 163, + 0, 1425, 1423, 1, 0, 0, 0, 1425, 1424, 1, 0, + 0, 0, 1426, 1428, 1, 0, 0, 0, 1427, 1421, 1, + 0, 0, 0, 1428, 1431, 1, 0, 0, 0, 1429, 1427, + 1, 0, 0, 0, 1429, 1430, 1, 0, 0, 0, 1430, + 1432, 1, 0, 0, 0, 1431, 1429, 1, 0, 0, 0, + 1432, 1433, 5, 34, 0, 0, 1433, 1434, 5, 34, 0, + 0, 1434, 1435, 5, 34, 0, 0, 1435, 326, 1, 0, + 0, 0, 1436, 1437, 5, 92, 0, 0, 1437, 1438, 7, + 8, 0, 0, 1438, 328, 1, 0, 0, 0, 1439, 1443, + 5, 40, 0, 0, 1440, 1442, 3, 355, 177, 0, 1441, + 1440, 1, 0, 0, 0, 1442, 1445, 1, 0, 0, 0, + 1443, 1441, 1, 0, 0, 0, 1443, 1444, 1, 0, 0, + 0, 1444, 1446, 1, 0, 0, 0, 1445, 1443, 1, 0, + 0, 0, 1446, 1447, 5, 41, 0, 0, 1447, 330, 1, + 0, 0, 0, 1448, 1452, 5, 91, 0, 0, 1449, 1451, + 3, 355, 177, 0, 1450, 1449, 1, 0, 0, 0, 1451, + 1454, 1, 0, 0, 0, 1452, 1450, 1, 0, 0, 0, + 1452, 1453, 1, 0, 0, 0, 1453, 1455, 1, 0, 0, + 0, 1454, 1452, 1, 0, 0, 0, 1455, 1456, 5, 93, + 0, 0, 1456, 332, 1, 0, 0, 0, 1457, 1460, 3, + 351, 175, 0, 1458, 1460, 5, 95, 0, 0, 1459, 1457, + 1, 0, 0, 0, 1459, 1458, 1, 0, 0, 0, 1460, + 334, 1, 0, 0, 0, 1461, 1464, 3, 333, 166, 0, + 1462, 1464, 3, 353, 176, 0, 1463, 1461, 1, 0, 0, + 0, 1463, 1462, 1, 0, 0, 0, 1464, 1470, 1, 0, + 0, 0, 1465, 1469, 3, 333, 166, 0, 1466, 1469, 3, + 353, 176, 0, 1467, 1469, 7, 9, 0, 0, 1468, 1465, + 1, 0, 0, 0, 1468, 1466, 1, 0, 0, 0, 1468, + 1467, 1, 0, 0, 0, 1469, 1472, 1, 0, 0, 0, + 1470, 1468, 1, 0, 0, 0, 1470, 1471, 1, 0, 0, + 0, 1471, 336, 1, 0, 0, 0, 1472, 1470, 1, 0, + 0, 0, 1473, 1478, 3, 333, 166, 0, 1474, 1478, 5, + 45, 0, 0, 1475, 1478, 3, 353, 176, 0, 1476, 1478, + 7, 9, 0, 0, 1477, 1473, 1, 0, 0, 0, 1477, + 1474, 1, 0, 0, 0, 1477, 1475, 1, 0, 0, 0, + 1477, 1476, 1, 0, 0, 0, 1478, 338, 1, 0, 0, + 0, 1479, 1488, 3, 351, 175, 0, 1480, 1483, 3, 337, + 168, 0, 1481, 1483, 5, 46, 0, 0, 1482, 1480, 1, + 0, 0, 0, 1482, 1481, 1, 0, 0, 0, 1483, 1486, + 1, 0, 0, 0, 1484, 1482, 1, 0, 0, 0, 1484, + 1485, 1, 0, 0, 0, 1485, 1487, 1, 0, 0, 0, + 1486, 1484, 1, 0, 0, 0, 1487, 1489, 3, 337, 168, + 0, 1488, 1484, 1, 0, 0, 0, 1488, 1489, 1, 0, + 0, 0, 1489, 340, 1, 0, 0, 0, 1490, 1495, 3, + 333, 166, 0, 1491, 1495, 5, 58, 0, 0, 1492, 1495, + 3, 353, 176, 0, 1493, 1495, 3, 343, 171, 0, 1494, + 1490, 1, 0, 0, 0, 1494, 1491, 1, 0, 0, 0, + 1494, 1492, 1, 0, 0, 0, 1494, 1493, 1, 0, 0, + 0, 1495, 1509, 1, 0, 0, 0, 1496, 1500, 3, 337, + 168, 0, 1497, 1500, 7, 10, 0, 0, 1498, 1500, 3, + 343, 171, 0, 1499, 1496, 1, 0, 0, 0, 1499, 1497, + 1, 0, 0, 0, 1499, 1498, 1, 0, 0, 0, 1500, + 1503, 1, 0, 0, 0, 1501, 1499, 1, 0, 0, 0, + 1501, 1502, 1, 0, 0, 0, 1502, 1507, 1, 0, 0, + 0, 1503, 1501, 1, 0, 0, 0, 1504, 1508, 3, 337, + 168, 0, 1505, 1508, 5, 58, 0, 0, 1506, 1508, 3, + 343, 171, 0, 1507, 1504, 1, 0, 0, 0, 1507, 1505, + 1, 0, 0, 0, 1507, 1506, 1, 0, 0, 0, 1508, + 1510, 1, 0, 0, 0, 1509, 1501, 1, 0, 0, 0, + 1509, 1510, 1, 0, 0, 0, 1510, 342, 1, 0, 0, + 0, 1511, 1514, 3, 345, 172, 0, 1512, 1514, 3, 349, + 174, 0, 1513, 1511, 1, 0, 0, 0, 1513, 1512, 1, + 0, 0, 0, 1514, 344, 1, 0, 0, 0, 1515, 1516, + 5, 37, 0, 0, 1516, 1517, 3, 347, 173, 0, 1517, + 1518, 3, 347, 173, 0, 1518, 346, 1, 0, 0, 0, + 1519, 1522, 3, 353, 176, 0, 1520, 1522, 7, 11, 0, + 0, 1521, 1519, 1, 0, 0, 0, 1521, 1520, 1, 0, + 0, 0, 1522, 348, 1, 0, 0, 0, 1523, 1524, 5, + 92, 0, 0, 1524, 1525, 7, 12, 0, 0, 1525, 350, + 1, 0, 0, 0, 1526, 1527, 7, 13, 0, 0, 1527, + 352, 1, 0, 0, 0, 1528, 1529, 2, 48, 57, 0, + 1529, 354, 1, 0, 0, 0, 1530, 1532, 7, 14, 0, + 0, 1531, 1530, 1, 0, 0, 0, 1532, 1533, 1, 0, + 0, 0, 1533, 1531, 1, 0, 0, 0, 1533, 1534, 1, + 0, 0, 0, 1534, 1535, 1, 0, 0, 0, 1535, 1536, + 6, 177, 0, 0, 1536, 356, 1, 0, 0, 0, 1537, + 1541, 5, 35, 0, 0, 1538, 1540, 8, 15, 0, 0, + 1539, 1538, 1, 0, 0, 0, 1540, 1543, 1, 0, 0, + 0, 1541, 1539, 1, 0, 0, 0, 1541, 1542, 1, 0, + 0, 0, 1542, 1544, 1, 0, 0, 0, 1543, 1541, 1, + 0, 0, 0, 1544, 1545, 6, 178, 0, 0, 1545, 358, + 1, 0, 0, 0, 1546, 1547, 7, 16, 0, 0, 1547, + 360, 1, 0, 0, 0, 1548, 1549, 7, 17, 0, 0, + 1549, 362, 1, 0, 0, 0, 1550, 1551, 7, 18, 0, + 0, 1551, 364, 1, 0, 0, 0, 1552, 1553, 7, 19, + 0, 0, 1553, 366, 1, 0, 0, 0, 1554, 1555, 7, + 2, 0, 0, 1555, 368, 1, 0, 0, 0, 1556, 1557, + 7, 20, 0, 0, 1557, 370, 1, 0, 0, 0, 1558, + 1559, 7, 21, 0, 0, 1559, 372, 1, 0, 0, 0, + 1560, 1561, 7, 22, 0, 0, 1561, 374, 1, 0, 0, + 0, 1562, 1563, 7, 23, 0, 0, 1563, 376, 1, 0, + 0, 0, 1564, 1565, 7, 24, 0, 0, 1565, 378, 1, + 0, 0, 0, 1566, 1567, 7, 25, 0, 0, 1567, 380, + 1, 0, 0, 0, 1568, 1569, 7, 26, 0, 0, 1569, + 382, 1, 0, 0, 0, 1570, 1571, 7, 27, 0, 0, + 1571, 384, 1, 0, 0, 0, 1572, 1573, 7, 28, 0, + 0, 1573, 386, 1, 0, 0, 0, 1574, 1575, 7, 29, + 0, 0, 1575, 388, 1, 0, 0, 0, 1576, 1577, 7, + 30, 0, 0, 1577, 390, 1, 0, 0, 0, 1578, 1579, + 7, 31, 0, 0, 1579, 392, 1, 0, 0, 0, 1580, + 1581, 7, 32, 0, 0, 1581, 394, 1, 0, 0, 0, + 1582, 1583, 7, 33, 0, 0, 1583, 396, 1, 0, 0, + 0, 1584, 1585, 7, 34, 0, 0, 1585, 398, 1, 0, + 0, 0, 1586, 1587, 7, 35, 0, 0, 1587, 400, 1, + 0, 0, 0, 1588, 1589, 7, 36, 0, 0, 1589, 402, + 1, 0, 0, 0, 1590, 1591, 7, 37, 0, 0, 1591, + 404, 1, 0, 0, 0, 1592, 1593, 7, 38, 0, 0, + 1593, 406, 1, 0, 0, 0, 1594, 1595, 7, 39, 0, + 0, 1595, 408, 1, 0, 0, 0, 1596, 1597, 7, 40, + 0, 0, 1597, 410, 1, 0, 0, 0, 54, 0, 569, + 602, 618, 627, 1240, 1246, 1258, 1262, 1264, 1268, 1280, 1285, + 1287, 1291, 1300, 1305, 1312, 1317, 1323, 1332, 1339, 1343, 1365, + 1370, 1375, 1377, 1385, 1387, 1399, 1403, 1407, 1421, 1425, 1429, + 1443, 1452, 1459, 1463, 1468, 1470, 1477, 1482, 1484, 1488, 1494, + 1499, 1501, 1507, 1509, 1513, 1521, 1533, 1541, 1, 6, 0, + 0}; + staticData->serializedATN = antlr4::atn::SerializedATNView( + serializedATNSegment, + sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); antlr4::atn::ATNDeserializer deserializer; staticData->atn = deserializer.deserialize(staticData->serializedATN); const size_t count = staticData->atn->getNumberOfDecisions(); staticData->decisionToDFA.reserve(count); - for (size_t i = 0; i < count; i++) { - staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), i); + for (size_t i = 0; i < count; i++) { + staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), + i); } sparqlautomaticlexerLexerStaticData = staticData.release(); } -} +} // namespace -SparqlAutomaticLexer::SparqlAutomaticLexer(CharStream *input) : Lexer(input) { +SparqlAutomaticLexer::SparqlAutomaticLexer(CharStream* input) : Lexer(input) { SparqlAutomaticLexer::initialize(); - _interpreter = new atn::LexerATNSimulator(this, *sparqlautomaticlexerLexerStaticData->atn, sparqlautomaticlexerLexerStaticData->decisionToDFA, sparqlautomaticlexerLexerStaticData->sharedContextCache); + _interpreter = new atn::LexerATNSimulator( + this, *sparqlautomaticlexerLexerStaticData->atn, + sparqlautomaticlexerLexerStaticData->decisionToDFA, + sparqlautomaticlexerLexerStaticData->sharedContextCache); } -SparqlAutomaticLexer::~SparqlAutomaticLexer() { - delete _interpreter; -} +SparqlAutomaticLexer::~SparqlAutomaticLexer() { delete _interpreter; } std::string SparqlAutomaticLexer::getGrammarFileName() const { return "SparqlAutomatic.g4"; @@ -759,9 +1755,7 @@ const atn::ATN& SparqlAutomaticLexer::getATN() const { return *sparqlautomaticlexerLexerStaticData->atn; } - - - void SparqlAutomaticLexer::initialize() { - ::antlr4::internal::call_once(sparqlautomaticlexerLexerOnceFlag, sparqlautomaticlexerLexerInitialize); + ::antlr4::internal::call_once(sparqlautomaticlexerLexerOnceFlag, + sparqlautomaticlexerLexerInitialize); } diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h index 8f59019ce4..c482fc873a 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticLexer.h @@ -3,54 +3,193 @@ #pragma once - #include "antlr4-runtime.h" - - - -class SparqlAutomaticLexer : public antlr4::Lexer { -public: +class SparqlAutomaticLexer : public antlr4::Lexer { + public: enum { - T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, - T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, - T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, - T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, T__24 = 25, T__25 = 26, - T__26 = 27, T__27 = 28, T__28 = 29, BASE = 30, PREFIX = 31, SELECT = 32, - DISTINCT = 33, REDUCED = 34, AS = 35, CONSTRUCT = 36, WHERE = 37, DESCRIBE = 38, - ASK = 39, FROM = 40, NAMED = 41, GROUPBY = 42, GROUP_CONCAT = 43, HAVING = 44, - ORDERBY = 45, INTERNALSORTBY = 46, ASC = 47, DESC = 48, LIMIT = 49, - OFFSET = 50, TEXTLIMIT = 51, VALUES = 52, LOAD = 53, SILENT = 54, INTO = 55, - CLEAR = 56, DROP = 57, CREATE = 58, ADD = 59, TO = 60, DATA = 61, MOVE = 62, - COPY = 63, INSERT = 64, DELETE = 65, WITH = 66, USING = 67, DEFAULT = 68, - GRAPH = 69, ALL = 70, OPTIONAL = 71, SERVICE = 72, BIND = 73, UNDEF = 74, - MINUS = 75, UNION = 76, FILTER = 77, NOT = 78, IN = 79, STR = 80, LANG = 81, - LANGMATCHES = 82, DATATYPE = 83, BOUND = 84, IRI = 85, URI = 86, BNODE = 87, - RAND = 88, ABS = 89, CEIL = 90, FLOOR = 91, ROUND = 92, CONCAT = 93, - STRLEN = 94, UCASE = 95, LCASE = 96, ENCODE_FOR_URI = 97, FOR = 98, - CONTAINS = 99, STRSTARTS = 100, STRENDS = 101, STRBEFORE = 102, STRAFTER = 103, - YEAR = 104, MONTH = 105, DAY = 106, HOURS = 107, MINUTES = 108, SECONDS = 109, - TIMEZONE = 110, TZ = 111, NOW = 112, UUID = 113, STRUUID = 114, SHA1 = 115, - SHA256 = 116, SHA384 = 117, SHA512 = 118, MD5 = 119, COALESCE = 120, - IF = 121, STRLANG = 122, STRDT = 123, SAMETERM = 124, ISIRI = 125, ISURI = 126, - ISBLANK = 127, ISLITERAL = 128, ISNUMERIC = 129, REGEX = 130, SUBSTR = 131, - REPLACE = 132, EXISTS = 133, COUNT = 134, SUM = 135, MIN = 136, MAX = 137, - AVG = 138, STDEV = 139, SAMPLE = 140, SEPARATOR = 141, IRI_REF = 142, - PNAME_NS = 143, PNAME_LN = 144, BLANK_NODE_LABEL = 145, VAR1 = 146, - VAR2 = 147, LANGTAG = 148, PREFIX_LANGTAG = 149, INTEGER = 150, DECIMAL = 151, - DOUBLE = 152, INTEGER_POSITIVE = 153, DECIMAL_POSITIVE = 154, DOUBLE_POSITIVE = 155, - INTEGER_NEGATIVE = 156, DECIMAL_NEGATIVE = 157, DOUBLE_NEGATIVE = 158, - EXPONENT = 159, STRING_LITERAL1 = 160, STRING_LITERAL2 = 161, STRING_LITERAL_LONG1 = 162, - STRING_LITERAL_LONG2 = 163, ECHAR = 164, NIL = 165, ANON = 166, PN_CHARS_U = 167, - VARNAME = 168, PN_PREFIX = 169, PN_LOCAL = 170, PLX = 171, PERCENT = 172, - HEX = 173, PN_LOCAL_ESC = 174, WS = 175, COMMENTS = 176 + T__0 = 1, + T__1 = 2, + T__2 = 3, + T__3 = 4, + T__4 = 5, + T__5 = 6, + T__6 = 7, + T__7 = 8, + T__8 = 9, + T__9 = 10, + T__10 = 11, + T__11 = 12, + T__12 = 13, + T__13 = 14, + T__14 = 15, + T__15 = 16, + T__16 = 17, + T__17 = 18, + T__18 = 19, + T__19 = 20, + T__20 = 21, + T__21 = 22, + T__22 = 23, + T__23 = 24, + T__24 = 25, + T__25 = 26, + T__26 = 27, + T__27 = 28, + T__28 = 29, + BASE = 30, + PREFIX = 31, + SELECT = 32, + DISTINCT = 33, + REDUCED = 34, + AS = 35, + CONSTRUCT = 36, + WHERE = 37, + DESCRIBE = 38, + ASK = 39, + FROM = 40, + NAMED = 41, + GROUPBY = 42, + GROUP_CONCAT = 43, + HAVING = 44, + ORDERBY = 45, + INTERNALSORTBY = 46, + ASC = 47, + DESC = 48, + LIMIT = 49, + OFFSET = 50, + TEXTLIMIT = 51, + VALUES = 52, + LOAD = 53, + SILENT = 54, + INTO = 55, + CLEAR = 56, + DROP = 57, + CREATE = 58, + ADD = 59, + TO = 60, + DATA = 61, + MOVE = 62, + COPY = 63, + INSERT = 64, + DELETE = 65, + WITH = 66, + USING = 67, + DEFAULT = 68, + GRAPH = 69, + ALL = 70, + OPTIONAL = 71, + SERVICE = 72, + BIND = 73, + UNDEF = 74, + MINUS = 75, + UNION = 76, + FILTER = 77, + NOT = 78, + IN = 79, + STR = 80, + LANG = 81, + LANGMATCHES = 82, + DATATYPE = 83, + BOUND = 84, + IRI = 85, + URI = 86, + BNODE = 87, + RAND = 88, + ABS = 89, + CEIL = 90, + FLOOR = 91, + ROUND = 92, + CONCAT = 93, + STRLEN = 94, + UCASE = 95, + LCASE = 96, + ENCODE_FOR_URI = 97, + FOR = 98, + CONTAINS = 99, + STRSTARTS = 100, + STRENDS = 101, + STRBEFORE = 102, + STRAFTER = 103, + YEAR = 104, + MONTH = 105, + DAY = 106, + HOURS = 107, + MINUTES = 108, + SECONDS = 109, + TIMEZONE = 110, + TZ = 111, + NOW = 112, + UUID = 113, + STRUUID = 114, + SHA1 = 115, + SHA256 = 116, + SHA384 = 117, + SHA512 = 118, + MD5 = 119, + COALESCE = 120, + IF = 121, + STRLANG = 122, + STRDT = 123, + SAMETERM = 124, + ISIRI = 125, + ISURI = 126, + ISBLANK = 127, + ISLITERAL = 128, + ISNUMERIC = 129, + REGEX = 130, + SUBSTR = 131, + REPLACE = 132, + EXISTS = 133, + COUNT = 134, + SUM = 135, + MIN = 136, + MAX = 137, + AVG = 138, + STDEV = 139, + SAMPLE = 140, + SEPARATOR = 141, + IRI_REF = 142, + PNAME_NS = 143, + PNAME_LN = 144, + BLANK_NODE_LABEL = 145, + VAR1 = 146, + VAR2 = 147, + LANGTAG = 148, + PREFIX_LANGTAG = 149, + INTEGER = 150, + DECIMAL = 151, + DOUBLE = 152, + INTEGER_POSITIVE = 153, + DECIMAL_POSITIVE = 154, + DOUBLE_POSITIVE = 155, + INTEGER_NEGATIVE = 156, + DECIMAL_NEGATIVE = 157, + DOUBLE_NEGATIVE = 158, + EXPONENT = 159, + STRING_LITERAL1 = 160, + STRING_LITERAL2 = 161, + STRING_LITERAL_LONG1 = 162, + STRING_LITERAL_LONG2 = 163, + ECHAR = 164, + NIL = 165, + ANON = 166, + PN_CHARS_U = 167, + VARNAME = 168, + PN_PREFIX = 169, + PN_LOCAL = 170, + PLX = 171, + PERCENT = 172, + HEX = 173, + PN_LOCAL_ESC = 174, + WS = 175, + COMMENTS = 176 }; - explicit SparqlAutomaticLexer(antlr4::CharStream *input); + explicit SparqlAutomaticLexer(antlr4::CharStream* input); ~SparqlAutomaticLexer() override; - std::string getGrammarFileName() const override; const std::vector& getRuleNames() const override; @@ -65,16 +204,13 @@ class SparqlAutomaticLexer : public antlr4::Lexer { const antlr4::atn::ATN& getATN() const override; - // By default the static state used to implement the lexer is lazily initialized during the first - // call to the constructor. You can call this function if you wish to initialize the static state - // ahead of time. + // By default the static state used to implement the lexer is lazily + // initialized during the first call to the constructor. You can call this + // function if you wish to initialize the static state ahead of time. static void initialize(); -private: - + private: // Individual action functions triggered by action() above. // Individual semantic predicate functions triggered by sempred() above. - }; - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticListener.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticListener.cpp index 0696c93639..f5bf0409e9 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticListener.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticListener.cpp @@ -1,7 +1,4 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 - #include "SparqlAutomaticListener.h" - - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticListener.h b/src/parser/sparqlParser/generated/SparqlAutomaticListener.h index a16fe228a4..fea9f9130b 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticListener.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticListener.h @@ -3,488 +3,717 @@ #pragma once - -#include "antlr4-runtime.h" #include "SparqlAutomaticParser.h" - +#include "antlr4-runtime.h" /** - * This interface defines an abstract listener for a parse tree produced by SparqlAutomaticParser. + * This interface defines an abstract listener for a parse tree produced by + * SparqlAutomaticParser. */ -class SparqlAutomaticListener : public antlr4::tree::ParseTreeListener { -public: - - virtual void enterQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext *ctx) = 0; - virtual void exitQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext *ctx) = 0; - - virtual void enterQuery(SparqlAutomaticParser::QueryContext *ctx) = 0; - virtual void exitQuery(SparqlAutomaticParser::QueryContext *ctx) = 0; - - virtual void enterPrologue(SparqlAutomaticParser::PrologueContext *ctx) = 0; - virtual void exitPrologue(SparqlAutomaticParser::PrologueContext *ctx) = 0; - - virtual void enterBaseDecl(SparqlAutomaticParser::BaseDeclContext *ctx) = 0; - virtual void exitBaseDecl(SparqlAutomaticParser::BaseDeclContext *ctx) = 0; - - virtual void enterPrefixDecl(SparqlAutomaticParser::PrefixDeclContext *ctx) = 0; - virtual void exitPrefixDecl(SparqlAutomaticParser::PrefixDeclContext *ctx) = 0; - - virtual void enterSelectQuery(SparqlAutomaticParser::SelectQueryContext *ctx) = 0; - virtual void exitSelectQuery(SparqlAutomaticParser::SelectQueryContext *ctx) = 0; - - virtual void enterSubSelect(SparqlAutomaticParser::SubSelectContext *ctx) = 0; - virtual void exitSubSelect(SparqlAutomaticParser::SubSelectContext *ctx) = 0; - - virtual void enterSelectClause(SparqlAutomaticParser::SelectClauseContext *ctx) = 0; - virtual void exitSelectClause(SparqlAutomaticParser::SelectClauseContext *ctx) = 0; - - virtual void enterVarOrAlias(SparqlAutomaticParser::VarOrAliasContext *ctx) = 0; - virtual void exitVarOrAlias(SparqlAutomaticParser::VarOrAliasContext *ctx) = 0; - - virtual void enterAlias(SparqlAutomaticParser::AliasContext *ctx) = 0; - virtual void exitAlias(SparqlAutomaticParser::AliasContext *ctx) = 0; - - virtual void enterAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext *ctx) = 0; - virtual void exitAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext *ctx) = 0; - - virtual void enterConstructQuery(SparqlAutomaticParser::ConstructQueryContext *ctx) = 0; - virtual void exitConstructQuery(SparqlAutomaticParser::ConstructQueryContext *ctx) = 0; - - virtual void enterDescribeQuery(SparqlAutomaticParser::DescribeQueryContext *ctx) = 0; - virtual void exitDescribeQuery(SparqlAutomaticParser::DescribeQueryContext *ctx) = 0; - - virtual void enterAskQuery(SparqlAutomaticParser::AskQueryContext *ctx) = 0; - virtual void exitAskQuery(SparqlAutomaticParser::AskQueryContext *ctx) = 0; - - virtual void enterDatasetClause(SparqlAutomaticParser::DatasetClauseContext *ctx) = 0; - virtual void exitDatasetClause(SparqlAutomaticParser::DatasetClauseContext *ctx) = 0; - - virtual void enterDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext *ctx) = 0; - virtual void exitDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext *ctx) = 0; - - virtual void enterNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext *ctx) = 0; - virtual void exitNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext *ctx) = 0; - - virtual void enterSourceSelector(SparqlAutomaticParser::SourceSelectorContext *ctx) = 0; - virtual void exitSourceSelector(SparqlAutomaticParser::SourceSelectorContext *ctx) = 0; - - virtual void enterWhereClause(SparqlAutomaticParser::WhereClauseContext *ctx) = 0; - virtual void exitWhereClause(SparqlAutomaticParser::WhereClauseContext *ctx) = 0; - - virtual void enterSolutionModifier(SparqlAutomaticParser::SolutionModifierContext *ctx) = 0; - virtual void exitSolutionModifier(SparqlAutomaticParser::SolutionModifierContext *ctx) = 0; - - virtual void enterGroupClause(SparqlAutomaticParser::GroupClauseContext *ctx) = 0; - virtual void exitGroupClause(SparqlAutomaticParser::GroupClauseContext *ctx) = 0; - - virtual void enterGroupCondition(SparqlAutomaticParser::GroupConditionContext *ctx) = 0; - virtual void exitGroupCondition(SparqlAutomaticParser::GroupConditionContext *ctx) = 0; - - virtual void enterHavingClause(SparqlAutomaticParser::HavingClauseContext *ctx) = 0; - virtual void exitHavingClause(SparqlAutomaticParser::HavingClauseContext *ctx) = 0; - - virtual void enterHavingCondition(SparqlAutomaticParser::HavingConditionContext *ctx) = 0; - virtual void exitHavingCondition(SparqlAutomaticParser::HavingConditionContext *ctx) = 0; - - virtual void enterOrderClause(SparqlAutomaticParser::OrderClauseContext *ctx) = 0; - virtual void exitOrderClause(SparqlAutomaticParser::OrderClauseContext *ctx) = 0; - - virtual void enterOrderCondition(SparqlAutomaticParser::OrderConditionContext *ctx) = 0; - virtual void exitOrderCondition(SparqlAutomaticParser::OrderConditionContext *ctx) = 0; - - virtual void enterLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext *ctx) = 0; - virtual void exitLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext *ctx) = 0; - - virtual void enterLimitClause(SparqlAutomaticParser::LimitClauseContext *ctx) = 0; - virtual void exitLimitClause(SparqlAutomaticParser::LimitClauseContext *ctx) = 0; - - virtual void enterOffsetClause(SparqlAutomaticParser::OffsetClauseContext *ctx) = 0; - virtual void exitOffsetClause(SparqlAutomaticParser::OffsetClauseContext *ctx) = 0; - - virtual void enterTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext *ctx) = 0; - virtual void exitTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext *ctx) = 0; - - virtual void enterValuesClause(SparqlAutomaticParser::ValuesClauseContext *ctx) = 0; - virtual void exitValuesClause(SparqlAutomaticParser::ValuesClauseContext *ctx) = 0; - - virtual void enterUpdate(SparqlAutomaticParser::UpdateContext *ctx) = 0; - virtual void exitUpdate(SparqlAutomaticParser::UpdateContext *ctx) = 0; - - virtual void enterUpdate1(SparqlAutomaticParser::Update1Context *ctx) = 0; - virtual void exitUpdate1(SparqlAutomaticParser::Update1Context *ctx) = 0; - - virtual void enterLoad(SparqlAutomaticParser::LoadContext *ctx) = 0; - virtual void exitLoad(SparqlAutomaticParser::LoadContext *ctx) = 0; - - virtual void enterClear(SparqlAutomaticParser::ClearContext *ctx) = 0; - virtual void exitClear(SparqlAutomaticParser::ClearContext *ctx) = 0; - - virtual void enterDrop(SparqlAutomaticParser::DropContext *ctx) = 0; - virtual void exitDrop(SparqlAutomaticParser::DropContext *ctx) = 0; - - virtual void enterCreate(SparqlAutomaticParser::CreateContext *ctx) = 0; - virtual void exitCreate(SparqlAutomaticParser::CreateContext *ctx) = 0; - - virtual void enterAdd(SparqlAutomaticParser::AddContext *ctx) = 0; - virtual void exitAdd(SparqlAutomaticParser::AddContext *ctx) = 0; - - virtual void enterMove(SparqlAutomaticParser::MoveContext *ctx) = 0; - virtual void exitMove(SparqlAutomaticParser::MoveContext *ctx) = 0; - - virtual void enterCopy(SparqlAutomaticParser::CopyContext *ctx) = 0; - virtual void exitCopy(SparqlAutomaticParser::CopyContext *ctx) = 0; - - virtual void enterInsertData(SparqlAutomaticParser::InsertDataContext *ctx) = 0; - virtual void exitInsertData(SparqlAutomaticParser::InsertDataContext *ctx) = 0; - - virtual void enterDeleteData(SparqlAutomaticParser::DeleteDataContext *ctx) = 0; - virtual void exitDeleteData(SparqlAutomaticParser::DeleteDataContext *ctx) = 0; - - virtual void enterDeleteWhere(SparqlAutomaticParser::DeleteWhereContext *ctx) = 0; - virtual void exitDeleteWhere(SparqlAutomaticParser::DeleteWhereContext *ctx) = 0; - - virtual void enterModify(SparqlAutomaticParser::ModifyContext *ctx) = 0; - virtual void exitModify(SparqlAutomaticParser::ModifyContext *ctx) = 0; - - virtual void enterDeleteClause(SparqlAutomaticParser::DeleteClauseContext *ctx) = 0; - virtual void exitDeleteClause(SparqlAutomaticParser::DeleteClauseContext *ctx) = 0; - - virtual void enterInsertClause(SparqlAutomaticParser::InsertClauseContext *ctx) = 0; - virtual void exitInsertClause(SparqlAutomaticParser::InsertClauseContext *ctx) = 0; - - virtual void enterUsingClause(SparqlAutomaticParser::UsingClauseContext *ctx) = 0; - virtual void exitUsingClause(SparqlAutomaticParser::UsingClauseContext *ctx) = 0; - - virtual void enterGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext *ctx) = 0; - virtual void exitGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext *ctx) = 0; - - virtual void enterGraphRef(SparqlAutomaticParser::GraphRefContext *ctx) = 0; - virtual void exitGraphRef(SparqlAutomaticParser::GraphRefContext *ctx) = 0; - - virtual void enterGraphRefAll(SparqlAutomaticParser::GraphRefAllContext *ctx) = 0; - virtual void exitGraphRefAll(SparqlAutomaticParser::GraphRefAllContext *ctx) = 0; - - virtual void enterQuadPattern(SparqlAutomaticParser::QuadPatternContext *ctx) = 0; - virtual void exitQuadPattern(SparqlAutomaticParser::QuadPatternContext *ctx) = 0; - - virtual void enterQuadData(SparqlAutomaticParser::QuadDataContext *ctx) = 0; - virtual void exitQuadData(SparqlAutomaticParser::QuadDataContext *ctx) = 0; - - virtual void enterQuads(SparqlAutomaticParser::QuadsContext *ctx) = 0; - virtual void exitQuads(SparqlAutomaticParser::QuadsContext *ctx) = 0; - - virtual void enterQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext *ctx) = 0; - virtual void exitQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext *ctx) = 0; - - virtual void enterTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext *ctx) = 0; - virtual void exitTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext *ctx) = 0; - - virtual void enterGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext *ctx) = 0; - virtual void exitGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext *ctx) = 0; - - virtual void enterGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext *ctx) = 0; - virtual void exitGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext *ctx) = 0; - - virtual void enterGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext *ctx) = 0; - virtual void exitGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext *ctx) = 0; - - virtual void enterTriplesBlock(SparqlAutomaticParser::TriplesBlockContext *ctx) = 0; - virtual void exitTriplesBlock(SparqlAutomaticParser::TriplesBlockContext *ctx) = 0; - - virtual void enterGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext *ctx) = 0; - virtual void exitGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext *ctx) = 0; - - virtual void enterOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext *ctx) = 0; - virtual void exitOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext *ctx) = 0; - - virtual void enterGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext *ctx) = 0; - virtual void exitGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext *ctx) = 0; - - virtual void enterServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext *ctx) = 0; - virtual void exitServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext *ctx) = 0; - - virtual void enterBind(SparqlAutomaticParser::BindContext *ctx) = 0; - virtual void exitBind(SparqlAutomaticParser::BindContext *ctx) = 0; - - virtual void enterInlineData(SparqlAutomaticParser::InlineDataContext *ctx) = 0; - virtual void exitInlineData(SparqlAutomaticParser::InlineDataContext *ctx) = 0; - - virtual void enterDataBlock(SparqlAutomaticParser::DataBlockContext *ctx) = 0; - virtual void exitDataBlock(SparqlAutomaticParser::DataBlockContext *ctx) = 0; - - virtual void enterInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext *ctx) = 0; - virtual void exitInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext *ctx) = 0; - - virtual void enterInlineDataFull(SparqlAutomaticParser::InlineDataFullContext *ctx) = 0; - virtual void exitInlineDataFull(SparqlAutomaticParser::InlineDataFullContext *ctx) = 0; - - virtual void enterDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext *ctx) = 0; - virtual void exitDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext *ctx) = 0; - - virtual void enterDataBlockValue(SparqlAutomaticParser::DataBlockValueContext *ctx) = 0; - virtual void exitDataBlockValue(SparqlAutomaticParser::DataBlockValueContext *ctx) = 0; - - virtual void enterMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext *ctx) = 0; - virtual void exitMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext *ctx) = 0; - - virtual void enterGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext *ctx) = 0; - virtual void exitGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext *ctx) = 0; - - virtual void enterFilterR(SparqlAutomaticParser::FilterRContext *ctx) = 0; - virtual void exitFilterR(SparqlAutomaticParser::FilterRContext *ctx) = 0; - - virtual void enterConstraint(SparqlAutomaticParser::ConstraintContext *ctx) = 0; - virtual void exitConstraint(SparqlAutomaticParser::ConstraintContext *ctx) = 0; - - virtual void enterFunctionCall(SparqlAutomaticParser::FunctionCallContext *ctx) = 0; - virtual void exitFunctionCall(SparqlAutomaticParser::FunctionCallContext *ctx) = 0; - - virtual void enterArgList(SparqlAutomaticParser::ArgListContext *ctx) = 0; - virtual void exitArgList(SparqlAutomaticParser::ArgListContext *ctx) = 0; - - virtual void enterExpressionList(SparqlAutomaticParser::ExpressionListContext *ctx) = 0; - virtual void exitExpressionList(SparqlAutomaticParser::ExpressionListContext *ctx) = 0; - - virtual void enterConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext *ctx) = 0; - virtual void exitConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext *ctx) = 0; - - virtual void enterConstructTriples(SparqlAutomaticParser::ConstructTriplesContext *ctx) = 0; - virtual void exitConstructTriples(SparqlAutomaticParser::ConstructTriplesContext *ctx) = 0; - - virtual void enterTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext *ctx) = 0; - virtual void exitTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext *ctx) = 0; - - virtual void enterPropertyList(SparqlAutomaticParser::PropertyListContext *ctx) = 0; - virtual void exitPropertyList(SparqlAutomaticParser::PropertyListContext *ctx) = 0; - - virtual void enterPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext *ctx) = 0; - virtual void exitPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext *ctx) = 0; - - virtual void enterVerb(SparqlAutomaticParser::VerbContext *ctx) = 0; - virtual void exitVerb(SparqlAutomaticParser::VerbContext *ctx) = 0; - - virtual void enterObjectList(SparqlAutomaticParser::ObjectListContext *ctx) = 0; - virtual void exitObjectList(SparqlAutomaticParser::ObjectListContext *ctx) = 0; - - virtual void enterObjectR(SparqlAutomaticParser::ObjectRContext *ctx) = 0; - virtual void exitObjectR(SparqlAutomaticParser::ObjectRContext *ctx) = 0; - - virtual void enterTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext *ctx) = 0; - virtual void exitTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext *ctx) = 0; - - virtual void enterPropertyListPath(SparqlAutomaticParser::PropertyListPathContext *ctx) = 0; - virtual void exitPropertyListPath(SparqlAutomaticParser::PropertyListPathContext *ctx) = 0; - - virtual void enterPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext *ctx) = 0; - virtual void exitPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext *ctx) = 0; - - virtual void enterVerbPath(SparqlAutomaticParser::VerbPathContext *ctx) = 0; - virtual void exitVerbPath(SparqlAutomaticParser::VerbPathContext *ctx) = 0; - - virtual void enterVerbSimple(SparqlAutomaticParser::VerbSimpleContext *ctx) = 0; - virtual void exitVerbSimple(SparqlAutomaticParser::VerbSimpleContext *ctx) = 0; - - virtual void enterTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext *ctx) = 0; - virtual void exitTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext *ctx) = 0; - - virtual void enterTupleWithPath(SparqlAutomaticParser::TupleWithPathContext *ctx) = 0; - virtual void exitTupleWithPath(SparqlAutomaticParser::TupleWithPathContext *ctx) = 0; - - virtual void enterVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext *ctx) = 0; - virtual void exitVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext *ctx) = 0; - - virtual void enterObjectListPath(SparqlAutomaticParser::ObjectListPathContext *ctx) = 0; - virtual void exitObjectListPath(SparqlAutomaticParser::ObjectListPathContext *ctx) = 0; - - virtual void enterObjectPath(SparqlAutomaticParser::ObjectPathContext *ctx) = 0; - virtual void exitObjectPath(SparqlAutomaticParser::ObjectPathContext *ctx) = 0; - - virtual void enterPath(SparqlAutomaticParser::PathContext *ctx) = 0; - virtual void exitPath(SparqlAutomaticParser::PathContext *ctx) = 0; - - virtual void enterPathAlternative(SparqlAutomaticParser::PathAlternativeContext *ctx) = 0; - virtual void exitPathAlternative(SparqlAutomaticParser::PathAlternativeContext *ctx) = 0; - - virtual void enterPathSequence(SparqlAutomaticParser::PathSequenceContext *ctx) = 0; - virtual void exitPathSequence(SparqlAutomaticParser::PathSequenceContext *ctx) = 0; - - virtual void enterPathElt(SparqlAutomaticParser::PathEltContext *ctx) = 0; - virtual void exitPathElt(SparqlAutomaticParser::PathEltContext *ctx) = 0; - - virtual void enterPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext *ctx) = 0; - virtual void exitPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext *ctx) = 0; - - virtual void enterPathMod(SparqlAutomaticParser::PathModContext *ctx) = 0; - virtual void exitPathMod(SparqlAutomaticParser::PathModContext *ctx) = 0; - - virtual void enterPathPrimary(SparqlAutomaticParser::PathPrimaryContext *ctx) = 0; - virtual void exitPathPrimary(SparqlAutomaticParser::PathPrimaryContext *ctx) = 0; - - virtual void enterPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext *ctx) = 0; - virtual void exitPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext *ctx) = 0; - - virtual void enterPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext *ctx) = 0; - virtual void exitPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext *ctx) = 0; - - virtual void enterInteger(SparqlAutomaticParser::IntegerContext *ctx) = 0; - virtual void exitInteger(SparqlAutomaticParser::IntegerContext *ctx) = 0; - - virtual void enterTriplesNode(SparqlAutomaticParser::TriplesNodeContext *ctx) = 0; - virtual void exitTriplesNode(SparqlAutomaticParser::TriplesNodeContext *ctx) = 0; - - virtual void enterBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext *ctx) = 0; - virtual void exitBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext *ctx) = 0; - - virtual void enterTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext *ctx) = 0; - virtual void exitTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext *ctx) = 0; - - virtual void enterBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext *ctx) = 0; - virtual void exitBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext *ctx) = 0; - - virtual void enterCollection(SparqlAutomaticParser::CollectionContext *ctx) = 0; - virtual void exitCollection(SparqlAutomaticParser::CollectionContext *ctx) = 0; - - virtual void enterCollectionPath(SparqlAutomaticParser::CollectionPathContext *ctx) = 0; - virtual void exitCollectionPath(SparqlAutomaticParser::CollectionPathContext *ctx) = 0; - - virtual void enterGraphNode(SparqlAutomaticParser::GraphNodeContext *ctx) = 0; - virtual void exitGraphNode(SparqlAutomaticParser::GraphNodeContext *ctx) = 0; - - virtual void enterGraphNodePath(SparqlAutomaticParser::GraphNodePathContext *ctx) = 0; - virtual void exitGraphNodePath(SparqlAutomaticParser::GraphNodePathContext *ctx) = 0; - - virtual void enterVarOrTerm(SparqlAutomaticParser::VarOrTermContext *ctx) = 0; - virtual void exitVarOrTerm(SparqlAutomaticParser::VarOrTermContext *ctx) = 0; - - virtual void enterVarOrIri(SparqlAutomaticParser::VarOrIriContext *ctx) = 0; - virtual void exitVarOrIri(SparqlAutomaticParser::VarOrIriContext *ctx) = 0; - - virtual void enterVar(SparqlAutomaticParser::VarContext *ctx) = 0; - virtual void exitVar(SparqlAutomaticParser::VarContext *ctx) = 0; - - virtual void enterGraphTerm(SparqlAutomaticParser::GraphTermContext *ctx) = 0; - virtual void exitGraphTerm(SparqlAutomaticParser::GraphTermContext *ctx) = 0; - - virtual void enterExpression(SparqlAutomaticParser::ExpressionContext *ctx) = 0; - virtual void exitExpression(SparqlAutomaticParser::ExpressionContext *ctx) = 0; - - virtual void enterConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext *ctx) = 0; - virtual void exitConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext *ctx) = 0; - - virtual void enterConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext *ctx) = 0; - virtual void exitConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext *ctx) = 0; - - virtual void enterValueLogical(SparqlAutomaticParser::ValueLogicalContext *ctx) = 0; - virtual void exitValueLogical(SparqlAutomaticParser::ValueLogicalContext *ctx) = 0; - - virtual void enterRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext *ctx) = 0; - virtual void exitRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext *ctx) = 0; - - virtual void enterNumericExpression(SparqlAutomaticParser::NumericExpressionContext *ctx) = 0; - virtual void exitNumericExpression(SparqlAutomaticParser::NumericExpressionContext *ctx) = 0; - - virtual void enterAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext *ctx) = 0; - virtual void exitAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext *ctx) = 0; - - virtual void enterMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext *ctx) = 0; - virtual void exitMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext *ctx) = 0; - - virtual void enterPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext *ctx) = 0; - virtual void exitPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext *ctx) = 0; - - virtual void enterMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext *ctx) = 0; - virtual void exitMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext *ctx) = 0; - - virtual void enterMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext *ctx) = 0; - virtual void exitMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext *ctx) = 0; - - virtual void enterMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext *ctx) = 0; - virtual void exitMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext *ctx) = 0; - - virtual void enterMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext *ctx) = 0; - virtual void exitMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext *ctx) = 0; - - virtual void enterMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext *ctx) = 0; - virtual void exitMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext *ctx) = 0; - - virtual void enterDivideExpression(SparqlAutomaticParser::DivideExpressionContext *ctx) = 0; - virtual void exitDivideExpression(SparqlAutomaticParser::DivideExpressionContext *ctx) = 0; - - virtual void enterUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext *ctx) = 0; - virtual void exitUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext *ctx) = 0; - - virtual void enterPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext *ctx) = 0; - virtual void exitPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext *ctx) = 0; - - virtual void enterBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext *ctx) = 0; - virtual void exitBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext *ctx) = 0; - - virtual void enterBuiltInCall(SparqlAutomaticParser::BuiltInCallContext *ctx) = 0; - virtual void exitBuiltInCall(SparqlAutomaticParser::BuiltInCallContext *ctx) = 0; - - virtual void enterRegexExpression(SparqlAutomaticParser::RegexExpressionContext *ctx) = 0; - virtual void exitRegexExpression(SparqlAutomaticParser::RegexExpressionContext *ctx) = 0; - - virtual void enterLangExpression(SparqlAutomaticParser::LangExpressionContext *ctx) = 0; - virtual void exitLangExpression(SparqlAutomaticParser::LangExpressionContext *ctx) = 0; - - virtual void enterSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext *ctx) = 0; - virtual void exitSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext *ctx) = 0; - - virtual void enterStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext *ctx) = 0; - virtual void exitStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext *ctx) = 0; - - virtual void enterExistsFunc(SparqlAutomaticParser::ExistsFuncContext *ctx) = 0; - virtual void exitExistsFunc(SparqlAutomaticParser::ExistsFuncContext *ctx) = 0; - - virtual void enterNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext *ctx) = 0; - virtual void exitNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext *ctx) = 0; - - virtual void enterAggregate(SparqlAutomaticParser::AggregateContext *ctx) = 0; - virtual void exitAggregate(SparqlAutomaticParser::AggregateContext *ctx) = 0; - - virtual void enterIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext *ctx) = 0; - virtual void exitIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext *ctx) = 0; - - virtual void enterRdfLiteral(SparqlAutomaticParser::RdfLiteralContext *ctx) = 0; - virtual void exitRdfLiteral(SparqlAutomaticParser::RdfLiteralContext *ctx) = 0; - - virtual void enterNumericLiteral(SparqlAutomaticParser::NumericLiteralContext *ctx) = 0; - virtual void exitNumericLiteral(SparqlAutomaticParser::NumericLiteralContext *ctx) = 0; - - virtual void enterNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext *ctx) = 0; - virtual void exitNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext *ctx) = 0; - - virtual void enterNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext *ctx) = 0; - virtual void exitNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext *ctx) = 0; - - virtual void enterNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext *ctx) = 0; - virtual void exitNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext *ctx) = 0; - - virtual void enterBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext *ctx) = 0; - virtual void exitBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext *ctx) = 0; - - virtual void enterString(SparqlAutomaticParser::StringContext *ctx) = 0; - virtual void exitString(SparqlAutomaticParser::StringContext *ctx) = 0; - - virtual void enterIri(SparqlAutomaticParser::IriContext *ctx) = 0; - virtual void exitIri(SparqlAutomaticParser::IriContext *ctx) = 0; - - virtual void enterPrefixedName(SparqlAutomaticParser::PrefixedNameContext *ctx) = 0; - virtual void exitPrefixedName(SparqlAutomaticParser::PrefixedNameContext *ctx) = 0; - - virtual void enterBlankNode(SparqlAutomaticParser::BlankNodeContext *ctx) = 0; - virtual void exitBlankNode(SparqlAutomaticParser::BlankNodeContext *ctx) = 0; - - virtual void enterIriref(SparqlAutomaticParser::IrirefContext *ctx) = 0; - virtual void exitIriref(SparqlAutomaticParser::IrirefContext *ctx) = 0; - - virtual void enterPnameLn(SparqlAutomaticParser::PnameLnContext *ctx) = 0; - virtual void exitPnameLn(SparqlAutomaticParser::PnameLnContext *ctx) = 0; - - virtual void enterPnameNs(SparqlAutomaticParser::PnameNsContext *ctx) = 0; - virtual void exitPnameNs(SparqlAutomaticParser::PnameNsContext *ctx) = 0; - - +class SparqlAutomaticListener : public antlr4::tree::ParseTreeListener { + public: + virtual void enterQueryOrUpdate( + SparqlAutomaticParser::QueryOrUpdateContext* ctx) = 0; + virtual void exitQueryOrUpdate( + SparqlAutomaticParser::QueryOrUpdateContext* ctx) = 0; + + virtual void enterQuery(SparqlAutomaticParser::QueryContext* ctx) = 0; + virtual void exitQuery(SparqlAutomaticParser::QueryContext* ctx) = 0; + + virtual void enterPrologue(SparqlAutomaticParser::PrologueContext* ctx) = 0; + virtual void exitPrologue(SparqlAutomaticParser::PrologueContext* ctx) = 0; + + virtual void enterBaseDecl(SparqlAutomaticParser::BaseDeclContext* ctx) = 0; + virtual void exitBaseDecl(SparqlAutomaticParser::BaseDeclContext* ctx) = 0; + + virtual void enterPrefixDecl( + SparqlAutomaticParser::PrefixDeclContext* ctx) = 0; + virtual void exitPrefixDecl( + SparqlAutomaticParser::PrefixDeclContext* ctx) = 0; + + virtual void enterSelectQuery( + SparqlAutomaticParser::SelectQueryContext* ctx) = 0; + virtual void exitSelectQuery( + SparqlAutomaticParser::SelectQueryContext* ctx) = 0; + + virtual void enterSubSelect(SparqlAutomaticParser::SubSelectContext* ctx) = 0; + virtual void exitSubSelect(SparqlAutomaticParser::SubSelectContext* ctx) = 0; + + virtual void enterSelectClause( + SparqlAutomaticParser::SelectClauseContext* ctx) = 0; + virtual void exitSelectClause( + SparqlAutomaticParser::SelectClauseContext* ctx) = 0; + + virtual void enterVarOrAlias( + SparqlAutomaticParser::VarOrAliasContext* ctx) = 0; + virtual void exitVarOrAlias( + SparqlAutomaticParser::VarOrAliasContext* ctx) = 0; + + virtual void enterAlias(SparqlAutomaticParser::AliasContext* ctx) = 0; + virtual void exitAlias(SparqlAutomaticParser::AliasContext* ctx) = 0; + + virtual void enterAliasWithoutBrackets( + SparqlAutomaticParser::AliasWithoutBracketsContext* ctx) = 0; + virtual void exitAliasWithoutBrackets( + SparqlAutomaticParser::AliasWithoutBracketsContext* ctx) = 0; + + virtual void enterConstructQuery( + SparqlAutomaticParser::ConstructQueryContext* ctx) = 0; + virtual void exitConstructQuery( + SparqlAutomaticParser::ConstructQueryContext* ctx) = 0; + + virtual void enterDescribeQuery( + SparqlAutomaticParser::DescribeQueryContext* ctx) = 0; + virtual void exitDescribeQuery( + SparqlAutomaticParser::DescribeQueryContext* ctx) = 0; + + virtual void enterAskQuery(SparqlAutomaticParser::AskQueryContext* ctx) = 0; + virtual void exitAskQuery(SparqlAutomaticParser::AskQueryContext* ctx) = 0; + + virtual void enterDatasetClause( + SparqlAutomaticParser::DatasetClauseContext* ctx) = 0; + virtual void exitDatasetClause( + SparqlAutomaticParser::DatasetClauseContext* ctx) = 0; + + virtual void enterDefaultGraphClause( + SparqlAutomaticParser::DefaultGraphClauseContext* ctx) = 0; + virtual void exitDefaultGraphClause( + SparqlAutomaticParser::DefaultGraphClauseContext* ctx) = 0; + + virtual void enterNamedGraphClause( + SparqlAutomaticParser::NamedGraphClauseContext* ctx) = 0; + virtual void exitNamedGraphClause( + SparqlAutomaticParser::NamedGraphClauseContext* ctx) = 0; + + virtual void enterSourceSelector( + SparqlAutomaticParser::SourceSelectorContext* ctx) = 0; + virtual void exitSourceSelector( + SparqlAutomaticParser::SourceSelectorContext* ctx) = 0; + + virtual void enterWhereClause( + SparqlAutomaticParser::WhereClauseContext* ctx) = 0; + virtual void exitWhereClause( + SparqlAutomaticParser::WhereClauseContext* ctx) = 0; + + virtual void enterSolutionModifier( + SparqlAutomaticParser::SolutionModifierContext* ctx) = 0; + virtual void exitSolutionModifier( + SparqlAutomaticParser::SolutionModifierContext* ctx) = 0; + + virtual void enterGroupClause( + SparqlAutomaticParser::GroupClauseContext* ctx) = 0; + virtual void exitGroupClause( + SparqlAutomaticParser::GroupClauseContext* ctx) = 0; + + virtual void enterGroupCondition( + SparqlAutomaticParser::GroupConditionContext* ctx) = 0; + virtual void exitGroupCondition( + SparqlAutomaticParser::GroupConditionContext* ctx) = 0; + + virtual void enterHavingClause( + SparqlAutomaticParser::HavingClauseContext* ctx) = 0; + virtual void exitHavingClause( + SparqlAutomaticParser::HavingClauseContext* ctx) = 0; + + virtual void enterHavingCondition( + SparqlAutomaticParser::HavingConditionContext* ctx) = 0; + virtual void exitHavingCondition( + SparqlAutomaticParser::HavingConditionContext* ctx) = 0; + + virtual void enterOrderClause( + SparqlAutomaticParser::OrderClauseContext* ctx) = 0; + virtual void exitOrderClause( + SparqlAutomaticParser::OrderClauseContext* ctx) = 0; + + virtual void enterOrderCondition( + SparqlAutomaticParser::OrderConditionContext* ctx) = 0; + virtual void exitOrderCondition( + SparqlAutomaticParser::OrderConditionContext* ctx) = 0; + + virtual void enterLimitOffsetClauses( + SparqlAutomaticParser::LimitOffsetClausesContext* ctx) = 0; + virtual void exitLimitOffsetClauses( + SparqlAutomaticParser::LimitOffsetClausesContext* ctx) = 0; + + virtual void enterLimitClause( + SparqlAutomaticParser::LimitClauseContext* ctx) = 0; + virtual void exitLimitClause( + SparqlAutomaticParser::LimitClauseContext* ctx) = 0; + + virtual void enterOffsetClause( + SparqlAutomaticParser::OffsetClauseContext* ctx) = 0; + virtual void exitOffsetClause( + SparqlAutomaticParser::OffsetClauseContext* ctx) = 0; + + virtual void enterTextLimitClause( + SparqlAutomaticParser::TextLimitClauseContext* ctx) = 0; + virtual void exitTextLimitClause( + SparqlAutomaticParser::TextLimitClauseContext* ctx) = 0; + + virtual void enterValuesClause( + SparqlAutomaticParser::ValuesClauseContext* ctx) = 0; + virtual void exitValuesClause( + SparqlAutomaticParser::ValuesClauseContext* ctx) = 0; + + virtual void enterUpdate(SparqlAutomaticParser::UpdateContext* ctx) = 0; + virtual void exitUpdate(SparqlAutomaticParser::UpdateContext* ctx) = 0; + + virtual void enterUpdate1(SparqlAutomaticParser::Update1Context* ctx) = 0; + virtual void exitUpdate1(SparqlAutomaticParser::Update1Context* ctx) = 0; + + virtual void enterLoad(SparqlAutomaticParser::LoadContext* ctx) = 0; + virtual void exitLoad(SparqlAutomaticParser::LoadContext* ctx) = 0; + + virtual void enterClear(SparqlAutomaticParser::ClearContext* ctx) = 0; + virtual void exitClear(SparqlAutomaticParser::ClearContext* ctx) = 0; + + virtual void enterDrop(SparqlAutomaticParser::DropContext* ctx) = 0; + virtual void exitDrop(SparqlAutomaticParser::DropContext* ctx) = 0; + + virtual void enterCreate(SparqlAutomaticParser::CreateContext* ctx) = 0; + virtual void exitCreate(SparqlAutomaticParser::CreateContext* ctx) = 0; + + virtual void enterAdd(SparqlAutomaticParser::AddContext* ctx) = 0; + virtual void exitAdd(SparqlAutomaticParser::AddContext* ctx) = 0; + + virtual void enterMove(SparqlAutomaticParser::MoveContext* ctx) = 0; + virtual void exitMove(SparqlAutomaticParser::MoveContext* ctx) = 0; + + virtual void enterCopy(SparqlAutomaticParser::CopyContext* ctx) = 0; + virtual void exitCopy(SparqlAutomaticParser::CopyContext* ctx) = 0; + + virtual void enterInsertData( + SparqlAutomaticParser::InsertDataContext* ctx) = 0; + virtual void exitInsertData( + SparqlAutomaticParser::InsertDataContext* ctx) = 0; + + virtual void enterDeleteData( + SparqlAutomaticParser::DeleteDataContext* ctx) = 0; + virtual void exitDeleteData( + SparqlAutomaticParser::DeleteDataContext* ctx) = 0; + + virtual void enterDeleteWhere( + SparqlAutomaticParser::DeleteWhereContext* ctx) = 0; + virtual void exitDeleteWhere( + SparqlAutomaticParser::DeleteWhereContext* ctx) = 0; + + virtual void enterModify(SparqlAutomaticParser::ModifyContext* ctx) = 0; + virtual void exitModify(SparqlAutomaticParser::ModifyContext* ctx) = 0; + + virtual void enterDeleteClause( + SparqlAutomaticParser::DeleteClauseContext* ctx) = 0; + virtual void exitDeleteClause( + SparqlAutomaticParser::DeleteClauseContext* ctx) = 0; + + virtual void enterInsertClause( + SparqlAutomaticParser::InsertClauseContext* ctx) = 0; + virtual void exitInsertClause( + SparqlAutomaticParser::InsertClauseContext* ctx) = 0; + + virtual void enterUsingClause( + SparqlAutomaticParser::UsingClauseContext* ctx) = 0; + virtual void exitUsingClause( + SparqlAutomaticParser::UsingClauseContext* ctx) = 0; + + virtual void enterGraphOrDefault( + SparqlAutomaticParser::GraphOrDefaultContext* ctx) = 0; + virtual void exitGraphOrDefault( + SparqlAutomaticParser::GraphOrDefaultContext* ctx) = 0; + + virtual void enterGraphRef(SparqlAutomaticParser::GraphRefContext* ctx) = 0; + virtual void exitGraphRef(SparqlAutomaticParser::GraphRefContext* ctx) = 0; + + virtual void enterGraphRefAll( + SparqlAutomaticParser::GraphRefAllContext* ctx) = 0; + virtual void exitGraphRefAll( + SparqlAutomaticParser::GraphRefAllContext* ctx) = 0; + + virtual void enterQuadPattern( + SparqlAutomaticParser::QuadPatternContext* ctx) = 0; + virtual void exitQuadPattern( + SparqlAutomaticParser::QuadPatternContext* ctx) = 0; + + virtual void enterQuadData(SparqlAutomaticParser::QuadDataContext* ctx) = 0; + virtual void exitQuadData(SparqlAutomaticParser::QuadDataContext* ctx) = 0; + + virtual void enterQuads(SparqlAutomaticParser::QuadsContext* ctx) = 0; + virtual void exitQuads(SparqlAutomaticParser::QuadsContext* ctx) = 0; + + virtual void enterQuadsNotTriples( + SparqlAutomaticParser::QuadsNotTriplesContext* ctx) = 0; + virtual void exitQuadsNotTriples( + SparqlAutomaticParser::QuadsNotTriplesContext* ctx) = 0; + + virtual void enterTriplesTemplate( + SparqlAutomaticParser::TriplesTemplateContext* ctx) = 0; + virtual void exitTriplesTemplate( + SparqlAutomaticParser::TriplesTemplateContext* ctx) = 0; + + virtual void enterGroupGraphPattern( + SparqlAutomaticParser::GroupGraphPatternContext* ctx) = 0; + virtual void exitGroupGraphPattern( + SparqlAutomaticParser::GroupGraphPatternContext* ctx) = 0; + + virtual void enterGroupGraphPatternSub( + SparqlAutomaticParser::GroupGraphPatternSubContext* ctx) = 0; + virtual void exitGroupGraphPatternSub( + SparqlAutomaticParser::GroupGraphPatternSubContext* ctx) = 0; + + virtual void enterGraphPatternNotTriplesAndMaybeTriples( + SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* + ctx) = 0; + virtual void exitGraphPatternNotTriplesAndMaybeTriples( + SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* + ctx) = 0; + + virtual void enterTriplesBlock( + SparqlAutomaticParser::TriplesBlockContext* ctx) = 0; + virtual void exitTriplesBlock( + SparqlAutomaticParser::TriplesBlockContext* ctx) = 0; + + virtual void enterGraphPatternNotTriples( + SparqlAutomaticParser::GraphPatternNotTriplesContext* ctx) = 0; + virtual void exitGraphPatternNotTriples( + SparqlAutomaticParser::GraphPatternNotTriplesContext* ctx) = 0; + + virtual void enterOptionalGraphPattern( + SparqlAutomaticParser::OptionalGraphPatternContext* ctx) = 0; + virtual void exitOptionalGraphPattern( + SparqlAutomaticParser::OptionalGraphPatternContext* ctx) = 0; + + virtual void enterGraphGraphPattern( + SparqlAutomaticParser::GraphGraphPatternContext* ctx) = 0; + virtual void exitGraphGraphPattern( + SparqlAutomaticParser::GraphGraphPatternContext* ctx) = 0; + + virtual void enterServiceGraphPattern( + SparqlAutomaticParser::ServiceGraphPatternContext* ctx) = 0; + virtual void exitServiceGraphPattern( + SparqlAutomaticParser::ServiceGraphPatternContext* ctx) = 0; + + virtual void enterBind(SparqlAutomaticParser::BindContext* ctx) = 0; + virtual void exitBind(SparqlAutomaticParser::BindContext* ctx) = 0; + + virtual void enterInlineData( + SparqlAutomaticParser::InlineDataContext* ctx) = 0; + virtual void exitInlineData( + SparqlAutomaticParser::InlineDataContext* ctx) = 0; + + virtual void enterDataBlock(SparqlAutomaticParser::DataBlockContext* ctx) = 0; + virtual void exitDataBlock(SparqlAutomaticParser::DataBlockContext* ctx) = 0; + + virtual void enterInlineDataOneVar( + SparqlAutomaticParser::InlineDataOneVarContext* ctx) = 0; + virtual void exitInlineDataOneVar( + SparqlAutomaticParser::InlineDataOneVarContext* ctx) = 0; + + virtual void enterInlineDataFull( + SparqlAutomaticParser::InlineDataFullContext* ctx) = 0; + virtual void exitInlineDataFull( + SparqlAutomaticParser::InlineDataFullContext* ctx) = 0; + + virtual void enterDataBlockSingle( + SparqlAutomaticParser::DataBlockSingleContext* ctx) = 0; + virtual void exitDataBlockSingle( + SparqlAutomaticParser::DataBlockSingleContext* ctx) = 0; + + virtual void enterDataBlockValue( + SparqlAutomaticParser::DataBlockValueContext* ctx) = 0; + virtual void exitDataBlockValue( + SparqlAutomaticParser::DataBlockValueContext* ctx) = 0; + + virtual void enterMinusGraphPattern( + SparqlAutomaticParser::MinusGraphPatternContext* ctx) = 0; + virtual void exitMinusGraphPattern( + SparqlAutomaticParser::MinusGraphPatternContext* ctx) = 0; + + virtual void enterGroupOrUnionGraphPattern( + SparqlAutomaticParser::GroupOrUnionGraphPatternContext* ctx) = 0; + virtual void exitGroupOrUnionGraphPattern( + SparqlAutomaticParser::GroupOrUnionGraphPatternContext* ctx) = 0; + + virtual void enterFilterR(SparqlAutomaticParser::FilterRContext* ctx) = 0; + virtual void exitFilterR(SparqlAutomaticParser::FilterRContext* ctx) = 0; + + virtual void enterConstraint( + SparqlAutomaticParser::ConstraintContext* ctx) = 0; + virtual void exitConstraint( + SparqlAutomaticParser::ConstraintContext* ctx) = 0; + + virtual void enterFunctionCall( + SparqlAutomaticParser::FunctionCallContext* ctx) = 0; + virtual void exitFunctionCall( + SparqlAutomaticParser::FunctionCallContext* ctx) = 0; + + virtual void enterArgList(SparqlAutomaticParser::ArgListContext* ctx) = 0; + virtual void exitArgList(SparqlAutomaticParser::ArgListContext* ctx) = 0; + + virtual void enterExpressionList( + SparqlAutomaticParser::ExpressionListContext* ctx) = 0; + virtual void exitExpressionList( + SparqlAutomaticParser::ExpressionListContext* ctx) = 0; + + virtual void enterConstructTemplate( + SparqlAutomaticParser::ConstructTemplateContext* ctx) = 0; + virtual void exitConstructTemplate( + SparqlAutomaticParser::ConstructTemplateContext* ctx) = 0; + + virtual void enterConstructTriples( + SparqlAutomaticParser::ConstructTriplesContext* ctx) = 0; + virtual void exitConstructTriples( + SparqlAutomaticParser::ConstructTriplesContext* ctx) = 0; + + virtual void enterTriplesSameSubject( + SparqlAutomaticParser::TriplesSameSubjectContext* ctx) = 0; + virtual void exitTriplesSameSubject( + SparqlAutomaticParser::TriplesSameSubjectContext* ctx) = 0; + + virtual void enterPropertyList( + SparqlAutomaticParser::PropertyListContext* ctx) = 0; + virtual void exitPropertyList( + SparqlAutomaticParser::PropertyListContext* ctx) = 0; + + virtual void enterPropertyListNotEmpty( + SparqlAutomaticParser::PropertyListNotEmptyContext* ctx) = 0; + virtual void exitPropertyListNotEmpty( + SparqlAutomaticParser::PropertyListNotEmptyContext* ctx) = 0; + + virtual void enterVerb(SparqlAutomaticParser::VerbContext* ctx) = 0; + virtual void exitVerb(SparqlAutomaticParser::VerbContext* ctx) = 0; + + virtual void enterObjectList( + SparqlAutomaticParser::ObjectListContext* ctx) = 0; + virtual void exitObjectList( + SparqlAutomaticParser::ObjectListContext* ctx) = 0; + + virtual void enterObjectR(SparqlAutomaticParser::ObjectRContext* ctx) = 0; + virtual void exitObjectR(SparqlAutomaticParser::ObjectRContext* ctx) = 0; + + virtual void enterTriplesSameSubjectPath( + SparqlAutomaticParser::TriplesSameSubjectPathContext* ctx) = 0; + virtual void exitTriplesSameSubjectPath( + SparqlAutomaticParser::TriplesSameSubjectPathContext* ctx) = 0; + + virtual void enterPropertyListPath( + SparqlAutomaticParser::PropertyListPathContext* ctx) = 0; + virtual void exitPropertyListPath( + SparqlAutomaticParser::PropertyListPathContext* ctx) = 0; + + virtual void enterPropertyListPathNotEmpty( + SparqlAutomaticParser::PropertyListPathNotEmptyContext* ctx) = 0; + virtual void exitPropertyListPathNotEmpty( + SparqlAutomaticParser::PropertyListPathNotEmptyContext* ctx) = 0; + + virtual void enterVerbPath(SparqlAutomaticParser::VerbPathContext* ctx) = 0; + virtual void exitVerbPath(SparqlAutomaticParser::VerbPathContext* ctx) = 0; + + virtual void enterVerbSimple( + SparqlAutomaticParser::VerbSimpleContext* ctx) = 0; + virtual void exitVerbSimple( + SparqlAutomaticParser::VerbSimpleContext* ctx) = 0; + + virtual void enterTupleWithoutPath( + SparqlAutomaticParser::TupleWithoutPathContext* ctx) = 0; + virtual void exitTupleWithoutPath( + SparqlAutomaticParser::TupleWithoutPathContext* ctx) = 0; + + virtual void enterTupleWithPath( + SparqlAutomaticParser::TupleWithPathContext* ctx) = 0; + virtual void exitTupleWithPath( + SparqlAutomaticParser::TupleWithPathContext* ctx) = 0; + + virtual void enterVerbPathOrSimple( + SparqlAutomaticParser::VerbPathOrSimpleContext* ctx) = 0; + virtual void exitVerbPathOrSimple( + SparqlAutomaticParser::VerbPathOrSimpleContext* ctx) = 0; + + virtual void enterObjectListPath( + SparqlAutomaticParser::ObjectListPathContext* ctx) = 0; + virtual void exitObjectListPath( + SparqlAutomaticParser::ObjectListPathContext* ctx) = 0; + + virtual void enterObjectPath( + SparqlAutomaticParser::ObjectPathContext* ctx) = 0; + virtual void exitObjectPath( + SparqlAutomaticParser::ObjectPathContext* ctx) = 0; + + virtual void enterPath(SparqlAutomaticParser::PathContext* ctx) = 0; + virtual void exitPath(SparqlAutomaticParser::PathContext* ctx) = 0; + + virtual void enterPathAlternative( + SparqlAutomaticParser::PathAlternativeContext* ctx) = 0; + virtual void exitPathAlternative( + SparqlAutomaticParser::PathAlternativeContext* ctx) = 0; + + virtual void enterPathSequence( + SparqlAutomaticParser::PathSequenceContext* ctx) = 0; + virtual void exitPathSequence( + SparqlAutomaticParser::PathSequenceContext* ctx) = 0; + + virtual void enterPathElt(SparqlAutomaticParser::PathEltContext* ctx) = 0; + virtual void exitPathElt(SparqlAutomaticParser::PathEltContext* ctx) = 0; + + virtual void enterPathEltOrInverse( + SparqlAutomaticParser::PathEltOrInverseContext* ctx) = 0; + virtual void exitPathEltOrInverse( + SparqlAutomaticParser::PathEltOrInverseContext* ctx) = 0; + + virtual void enterPathMod(SparqlAutomaticParser::PathModContext* ctx) = 0; + virtual void exitPathMod(SparqlAutomaticParser::PathModContext* ctx) = 0; + + virtual void enterPathPrimary( + SparqlAutomaticParser::PathPrimaryContext* ctx) = 0; + virtual void exitPathPrimary( + SparqlAutomaticParser::PathPrimaryContext* ctx) = 0; + + virtual void enterPathNegatedPropertySet( + SparqlAutomaticParser::PathNegatedPropertySetContext* ctx) = 0; + virtual void exitPathNegatedPropertySet( + SparqlAutomaticParser::PathNegatedPropertySetContext* ctx) = 0; + + virtual void enterPathOneInPropertySet( + SparqlAutomaticParser::PathOneInPropertySetContext* ctx) = 0; + virtual void exitPathOneInPropertySet( + SparqlAutomaticParser::PathOneInPropertySetContext* ctx) = 0; + + virtual void enterInteger(SparqlAutomaticParser::IntegerContext* ctx) = 0; + virtual void exitInteger(SparqlAutomaticParser::IntegerContext* ctx) = 0; + + virtual void enterTriplesNode( + SparqlAutomaticParser::TriplesNodeContext* ctx) = 0; + virtual void exitTriplesNode( + SparqlAutomaticParser::TriplesNodeContext* ctx) = 0; + + virtual void enterBlankNodePropertyList( + SparqlAutomaticParser::BlankNodePropertyListContext* ctx) = 0; + virtual void exitBlankNodePropertyList( + SparqlAutomaticParser::BlankNodePropertyListContext* ctx) = 0; + + virtual void enterTriplesNodePath( + SparqlAutomaticParser::TriplesNodePathContext* ctx) = 0; + virtual void exitTriplesNodePath( + SparqlAutomaticParser::TriplesNodePathContext* ctx) = 0; + + virtual void enterBlankNodePropertyListPath( + SparqlAutomaticParser::BlankNodePropertyListPathContext* ctx) = 0; + virtual void exitBlankNodePropertyListPath( + SparqlAutomaticParser::BlankNodePropertyListPathContext* ctx) = 0; + + virtual void enterCollection( + SparqlAutomaticParser::CollectionContext* ctx) = 0; + virtual void exitCollection( + SparqlAutomaticParser::CollectionContext* ctx) = 0; + + virtual void enterCollectionPath( + SparqlAutomaticParser::CollectionPathContext* ctx) = 0; + virtual void exitCollectionPath( + SparqlAutomaticParser::CollectionPathContext* ctx) = 0; + + virtual void enterGraphNode(SparqlAutomaticParser::GraphNodeContext* ctx) = 0; + virtual void exitGraphNode(SparqlAutomaticParser::GraphNodeContext* ctx) = 0; + + virtual void enterGraphNodePath( + SparqlAutomaticParser::GraphNodePathContext* ctx) = 0; + virtual void exitGraphNodePath( + SparqlAutomaticParser::GraphNodePathContext* ctx) = 0; + + virtual void enterVarOrTerm(SparqlAutomaticParser::VarOrTermContext* ctx) = 0; + virtual void exitVarOrTerm(SparqlAutomaticParser::VarOrTermContext* ctx) = 0; + + virtual void enterVarOrIri(SparqlAutomaticParser::VarOrIriContext* ctx) = 0; + virtual void exitVarOrIri(SparqlAutomaticParser::VarOrIriContext* ctx) = 0; + + virtual void enterVar(SparqlAutomaticParser::VarContext* ctx) = 0; + virtual void exitVar(SparqlAutomaticParser::VarContext* ctx) = 0; + + virtual void enterGraphTerm(SparqlAutomaticParser::GraphTermContext* ctx) = 0; + virtual void exitGraphTerm(SparqlAutomaticParser::GraphTermContext* ctx) = 0; + + virtual void enterExpression( + SparqlAutomaticParser::ExpressionContext* ctx) = 0; + virtual void exitExpression( + SparqlAutomaticParser::ExpressionContext* ctx) = 0; + + virtual void enterConditionalOrExpression( + SparqlAutomaticParser::ConditionalOrExpressionContext* ctx) = 0; + virtual void exitConditionalOrExpression( + SparqlAutomaticParser::ConditionalOrExpressionContext* ctx) = 0; + + virtual void enterConditionalAndExpression( + SparqlAutomaticParser::ConditionalAndExpressionContext* ctx) = 0; + virtual void exitConditionalAndExpression( + SparqlAutomaticParser::ConditionalAndExpressionContext* ctx) = 0; + + virtual void enterValueLogical( + SparqlAutomaticParser::ValueLogicalContext* ctx) = 0; + virtual void exitValueLogical( + SparqlAutomaticParser::ValueLogicalContext* ctx) = 0; + + virtual void enterRelationalExpression( + SparqlAutomaticParser::RelationalExpressionContext* ctx) = 0; + virtual void exitRelationalExpression( + SparqlAutomaticParser::RelationalExpressionContext* ctx) = 0; + + virtual void enterNumericExpression( + SparqlAutomaticParser::NumericExpressionContext* ctx) = 0; + virtual void exitNumericExpression( + SparqlAutomaticParser::NumericExpressionContext* ctx) = 0; + + virtual void enterAdditiveExpression( + SparqlAutomaticParser::AdditiveExpressionContext* ctx) = 0; + virtual void exitAdditiveExpression( + SparqlAutomaticParser::AdditiveExpressionContext* ctx) = 0; + + virtual void enterMultiplicativeExpressionWithSign( + SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* ctx) = 0; + virtual void exitMultiplicativeExpressionWithSign( + SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* ctx) = 0; + + virtual void enterPlusSubexpression( + SparqlAutomaticParser::PlusSubexpressionContext* ctx) = 0; + virtual void exitPlusSubexpression( + SparqlAutomaticParser::PlusSubexpressionContext* ctx) = 0; + + virtual void enterMinusSubexpression( + SparqlAutomaticParser::MinusSubexpressionContext* ctx) = 0; + virtual void exitMinusSubexpression( + SparqlAutomaticParser::MinusSubexpressionContext* ctx) = 0; + + virtual void enterMultiplicativeExpressionWithLeadingSignButNoSpace( + SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* ctx) = 0; + virtual void exitMultiplicativeExpressionWithLeadingSignButNoSpace( + SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* ctx) = 0; + + virtual void enterMultiplicativeExpression( + SparqlAutomaticParser::MultiplicativeExpressionContext* ctx) = 0; + virtual void exitMultiplicativeExpression( + SparqlAutomaticParser::MultiplicativeExpressionContext* ctx) = 0; + + virtual void enterMultiplyOrDivideExpression( + SparqlAutomaticParser::MultiplyOrDivideExpressionContext* ctx) = 0; + virtual void exitMultiplyOrDivideExpression( + SparqlAutomaticParser::MultiplyOrDivideExpressionContext* ctx) = 0; + + virtual void enterMultiplyExpression( + SparqlAutomaticParser::MultiplyExpressionContext* ctx) = 0; + virtual void exitMultiplyExpression( + SparqlAutomaticParser::MultiplyExpressionContext* ctx) = 0; + + virtual void enterDivideExpression( + SparqlAutomaticParser::DivideExpressionContext* ctx) = 0; + virtual void exitDivideExpression( + SparqlAutomaticParser::DivideExpressionContext* ctx) = 0; + + virtual void enterUnaryExpression( + SparqlAutomaticParser::UnaryExpressionContext* ctx) = 0; + virtual void exitUnaryExpression( + SparqlAutomaticParser::UnaryExpressionContext* ctx) = 0; + + virtual void enterPrimaryExpression( + SparqlAutomaticParser::PrimaryExpressionContext* ctx) = 0; + virtual void exitPrimaryExpression( + SparqlAutomaticParser::PrimaryExpressionContext* ctx) = 0; + + virtual void enterBrackettedExpression( + SparqlAutomaticParser::BrackettedExpressionContext* ctx) = 0; + virtual void exitBrackettedExpression( + SparqlAutomaticParser::BrackettedExpressionContext* ctx) = 0; + + virtual void enterBuiltInCall( + SparqlAutomaticParser::BuiltInCallContext* ctx) = 0; + virtual void exitBuiltInCall( + SparqlAutomaticParser::BuiltInCallContext* ctx) = 0; + + virtual void enterRegexExpression( + SparqlAutomaticParser::RegexExpressionContext* ctx) = 0; + virtual void exitRegexExpression( + SparqlAutomaticParser::RegexExpressionContext* ctx) = 0; + + virtual void enterLangExpression( + SparqlAutomaticParser::LangExpressionContext* ctx) = 0; + virtual void exitLangExpression( + SparqlAutomaticParser::LangExpressionContext* ctx) = 0; + + virtual void enterSubstringExpression( + SparqlAutomaticParser::SubstringExpressionContext* ctx) = 0; + virtual void exitSubstringExpression( + SparqlAutomaticParser::SubstringExpressionContext* ctx) = 0; + + virtual void enterStrReplaceExpression( + SparqlAutomaticParser::StrReplaceExpressionContext* ctx) = 0; + virtual void exitStrReplaceExpression( + SparqlAutomaticParser::StrReplaceExpressionContext* ctx) = 0; + + virtual void enterExistsFunc( + SparqlAutomaticParser::ExistsFuncContext* ctx) = 0; + virtual void exitExistsFunc( + SparqlAutomaticParser::ExistsFuncContext* ctx) = 0; + + virtual void enterNotExistsFunc( + SparqlAutomaticParser::NotExistsFuncContext* ctx) = 0; + virtual void exitNotExistsFunc( + SparqlAutomaticParser::NotExistsFuncContext* ctx) = 0; + + virtual void enterAggregate(SparqlAutomaticParser::AggregateContext* ctx) = 0; + virtual void exitAggregate(SparqlAutomaticParser::AggregateContext* ctx) = 0; + + virtual void enterIriOrFunction( + SparqlAutomaticParser::IriOrFunctionContext* ctx) = 0; + virtual void exitIriOrFunction( + SparqlAutomaticParser::IriOrFunctionContext* ctx) = 0; + + virtual void enterRdfLiteral( + SparqlAutomaticParser::RdfLiteralContext* ctx) = 0; + virtual void exitRdfLiteral( + SparqlAutomaticParser::RdfLiteralContext* ctx) = 0; + + virtual void enterNumericLiteral( + SparqlAutomaticParser::NumericLiteralContext* ctx) = 0; + virtual void exitNumericLiteral( + SparqlAutomaticParser::NumericLiteralContext* ctx) = 0; + + virtual void enterNumericLiteralUnsigned( + SparqlAutomaticParser::NumericLiteralUnsignedContext* ctx) = 0; + virtual void exitNumericLiteralUnsigned( + SparqlAutomaticParser::NumericLiteralUnsignedContext* ctx) = 0; + + virtual void enterNumericLiteralPositive( + SparqlAutomaticParser::NumericLiteralPositiveContext* ctx) = 0; + virtual void exitNumericLiteralPositive( + SparqlAutomaticParser::NumericLiteralPositiveContext* ctx) = 0; + + virtual void enterNumericLiteralNegative( + SparqlAutomaticParser::NumericLiteralNegativeContext* ctx) = 0; + virtual void exitNumericLiteralNegative( + SparqlAutomaticParser::NumericLiteralNegativeContext* ctx) = 0; + + virtual void enterBooleanLiteral( + SparqlAutomaticParser::BooleanLiteralContext* ctx) = 0; + virtual void exitBooleanLiteral( + SparqlAutomaticParser::BooleanLiteralContext* ctx) = 0; + + virtual void enterString(SparqlAutomaticParser::StringContext* ctx) = 0; + virtual void exitString(SparqlAutomaticParser::StringContext* ctx) = 0; + + virtual void enterIri(SparqlAutomaticParser::IriContext* ctx) = 0; + virtual void exitIri(SparqlAutomaticParser::IriContext* ctx) = 0; + + virtual void enterPrefixedName( + SparqlAutomaticParser::PrefixedNameContext* ctx) = 0; + virtual void exitPrefixedName( + SparqlAutomaticParser::PrefixedNameContext* ctx) = 0; + + virtual void enterBlankNode(SparqlAutomaticParser::BlankNodeContext* ctx) = 0; + virtual void exitBlankNode(SparqlAutomaticParser::BlankNodeContext* ctx) = 0; + + virtual void enterIriref(SparqlAutomaticParser::IrirefContext* ctx) = 0; + virtual void exitIriref(SparqlAutomaticParser::IrirefContext* ctx) = 0; + + virtual void enterPnameLn(SparqlAutomaticParser::PnameLnContext* ctx) = 0; + virtual void exitPnameLn(SparqlAutomaticParser::PnameLnContext* ctx) = 0; + + virtual void enterPnameNs(SparqlAutomaticParser::PnameNsContext* ctx) = 0; + virtual void exitPnameNs(SparqlAutomaticParser::PnameNsContext* ctx) = 0; }; - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp index ca8e4efc1f..ab6318befc 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticParser.cpp @@ -1,13 +1,11 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 +#include "SparqlAutomaticParser.h" #include "SparqlAutomaticListener.h" #include "SparqlAutomaticVisitor.h" -#include "SparqlAutomaticParser.h" - - using namespace antlrcpp; using namespace antlr4; @@ -16,16 +14,20 @@ namespace { struct SparqlAutomaticParserStaticData final { SparqlAutomaticParserStaticData(std::vector ruleNames, - std::vector literalNames, - std::vector symbolicNames) - : ruleNames(std::move(ruleNames)), literalNames(std::move(literalNames)), + std::vector literalNames, + std::vector symbolicNames) + : ruleNames(std::move(ruleNames)), + literalNames(std::move(literalNames)), symbolicNames(std::move(symbolicNames)), vocabulary(this->literalNames, this->symbolicNames) {} - SparqlAutomaticParserStaticData(const SparqlAutomaticParserStaticData&) = delete; + SparqlAutomaticParserStaticData(const SparqlAutomaticParserStaticData&) = + delete; SparqlAutomaticParserStaticData(SparqlAutomaticParserStaticData&&) = delete; - SparqlAutomaticParserStaticData& operator=(const SparqlAutomaticParserStaticData&) = delete; - SparqlAutomaticParserStaticData& operator=(SparqlAutomaticParserStaticData&&) = delete; + SparqlAutomaticParserStaticData& operator=( + const SparqlAutomaticParserStaticData&) = delete; + SparqlAutomaticParserStaticData& operator=( + SparqlAutomaticParserStaticData&&) = delete; std::vector decisionToDFA; antlr4::atn::PredictionContextCache sharedContextCache; @@ -38,714 +40,1594 @@ struct SparqlAutomaticParserStaticData final { }; ::antlr4::internal::OnceFlag sparqlautomaticParserOnceFlag; -SparqlAutomaticParserStaticData *sparqlautomaticParserStaticData = nullptr; +SparqlAutomaticParserStaticData* sparqlautomaticParserStaticData = nullptr; void sparqlautomaticParserInitialize() { assert(sparqlautomaticParserStaticData == nullptr); auto staticData = std::make_unique( - std::vector{ - "queryOrUpdate", "query", "prologue", "baseDecl", "prefixDecl", "selectQuery", - "subSelect", "selectClause", "varOrAlias", "alias", "aliasWithoutBrackets", - "constructQuery", "describeQuery", "askQuery", "datasetClause", "defaultGraphClause", - "namedGraphClause", "sourceSelector", "whereClause", "solutionModifier", - "groupClause", "groupCondition", "havingClause", "havingCondition", - "orderClause", "orderCondition", "limitOffsetClauses", "limitClause", - "offsetClause", "textLimitClause", "valuesClause", "update", "update1", - "load", "clear", "drop", "create", "add", "move", "copy", "insertData", - "deleteData", "deleteWhere", "modify", "deleteClause", "insertClause", - "usingClause", "graphOrDefault", "graphRef", "graphRefAll", "quadPattern", - "quadData", "quads", "quadsNotTriples", "triplesTemplate", "groupGraphPattern", - "groupGraphPatternSub", "graphPatternNotTriplesAndMaybeTriples", "triplesBlock", - "graphPatternNotTriples", "optionalGraphPattern", "graphGraphPattern", - "serviceGraphPattern", "bind", "inlineData", "dataBlock", "inlineDataOneVar", - "inlineDataFull", "dataBlockSingle", "dataBlockValue", "minusGraphPattern", - "groupOrUnionGraphPattern", "filterR", "constraint", "functionCall", - "argList", "expressionList", "constructTemplate", "constructTriples", - "triplesSameSubject", "propertyList", "propertyListNotEmpty", "verb", - "objectList", "objectR", "triplesSameSubjectPath", "propertyListPath", - "propertyListPathNotEmpty", "verbPath", "verbSimple", "tupleWithoutPath", - "tupleWithPath", "verbPathOrSimple", "objectListPath", "objectPath", - "path", "pathAlternative", "pathSequence", "pathElt", "pathEltOrInverse", - "pathMod", "pathPrimary", "pathNegatedPropertySet", "pathOneInPropertySet", - "integer", "triplesNode", "blankNodePropertyList", "triplesNodePath", - "blankNodePropertyListPath", "collection", "collectionPath", "graphNode", - "graphNodePath", "varOrTerm", "varOrIri", "var", "graphTerm", "expression", - "conditionalOrExpression", "conditionalAndExpression", "valueLogical", - "relationalExpression", "numericExpression", "additiveExpression", - "multiplicativeExpressionWithSign", "plusSubexpression", "minusSubexpression", - "multiplicativeExpressionWithLeadingSignButNoSpace", "multiplicativeExpression", - "multiplyOrDivideExpression", "multiplyExpression", "divideExpression", - "unaryExpression", "primaryExpression", "brackettedExpression", "builtInCall", - "regexExpression", "langExpression", "substringExpression", "strReplaceExpression", - "existsFunc", "notExistsFunc", "aggregate", "iriOrFunction", "rdfLiteral", - "numericLiteral", "numericLiteralUnsigned", "numericLiteralPositive", - "numericLiteralNegative", "booleanLiteral", "string", "iri", "prefixedName", - "blankNode", "iriref", "pnameLn", "pnameNs" - }, - std::vector{ - "", "'*'", "'('", "')'", "'{'", "'}'", "';'", "'.'", "','", "'a'", - "'|'", "'/'", "'^'", "'+'", "'\\u003F'", "'!'", "'['", "']'", "'||'", - "'&&'", "'='", "'!='", "'<'", "'>'", "'<='", "'>='", "'-'", "'^^'", - "'true'", "'false'" - }, - std::vector{ - "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "", "", "", "", "", "", "", "", "", "", "", "", "BASE", "PREFIX", - "SELECT", "DISTINCT", "REDUCED", "AS", "CONSTRUCT", "WHERE", "DESCRIBE", - "ASK", "FROM", "NAMED", "GROUPBY", "GROUP_CONCAT", "HAVING", "ORDERBY", - "INTERNALSORTBY", "ASC", "DESC", "LIMIT", "OFFSET", "TEXTLIMIT", "VALUES", - "LOAD", "SILENT", "INTO", "CLEAR", "DROP", "CREATE", "ADD", "TO", - "DATA", "MOVE", "COPY", "INSERT", "DELETE", "WITH", "USING", "DEFAULT", - "GRAPH", "ALL", "OPTIONAL", "SERVICE", "BIND", "UNDEF", "MINUS", "UNION", - "FILTER", "NOT", "IN", "STR", "LANG", "LANGMATCHES", "DATATYPE", "BOUND", - "IRI", "URI", "BNODE", "RAND", "ABS", "CEIL", "FLOOR", "ROUND", "CONCAT", - "STRLEN", "UCASE", "LCASE", "ENCODE_FOR_URI", "FOR", "CONTAINS", "STRSTARTS", - "STRENDS", "STRBEFORE", "STRAFTER", "YEAR", "MONTH", "DAY", "HOURS", - "MINUTES", "SECONDS", "TIMEZONE", "TZ", "NOW", "UUID", "STRUUID", - "SHA1", "SHA256", "SHA384", "SHA512", "MD5", "COALESCE", "IF", "STRLANG", - "STRDT", "SAMETERM", "ISIRI", "ISURI", "ISBLANK", "ISLITERAL", "ISNUMERIC", - "REGEX", "SUBSTR", "REPLACE", "EXISTS", "COUNT", "SUM", "MIN", "MAX", - "AVG", "STDEV", "SAMPLE", "SEPARATOR", "IRI_REF", "PNAME_NS", "PNAME_LN", - "BLANK_NODE_LABEL", "VAR1", "VAR2", "LANGTAG", "PREFIX_LANGTAG", "INTEGER", - "DECIMAL", "DOUBLE", "INTEGER_POSITIVE", "DECIMAL_POSITIVE", "DOUBLE_POSITIVE", - "INTEGER_NEGATIVE", "DECIMAL_NEGATIVE", "DOUBLE_NEGATIVE", "EXPONENT", - "STRING_LITERAL1", "STRING_LITERAL2", "STRING_LITERAL_LONG1", "STRING_LITERAL_LONG2", - "ECHAR", "NIL", "ANON", "PN_CHARS_U", "VARNAME", "PN_PREFIX", "PN_LOCAL", - "PLX", "PERCENT", "HEX", "PN_LOCAL_ESC", "WS", "COMMENTS" - } - ); + std::vector{ + "queryOrUpdate", + "query", + "prologue", + "baseDecl", + "prefixDecl", + "selectQuery", + "subSelect", + "selectClause", + "varOrAlias", + "alias", + "aliasWithoutBrackets", + "constructQuery", + "describeQuery", + "askQuery", + "datasetClause", + "defaultGraphClause", + "namedGraphClause", + "sourceSelector", + "whereClause", + "solutionModifier", + "groupClause", + "groupCondition", + "havingClause", + "havingCondition", + "orderClause", + "orderCondition", + "limitOffsetClauses", + "limitClause", + "offsetClause", + "textLimitClause", + "valuesClause", + "update", + "update1", + "load", + "clear", + "drop", + "create", + "add", + "move", + "copy", + "insertData", + "deleteData", + "deleteWhere", + "modify", + "deleteClause", + "insertClause", + "usingClause", + "graphOrDefault", + "graphRef", + "graphRefAll", + "quadPattern", + "quadData", + "quads", + "quadsNotTriples", + "triplesTemplate", + "groupGraphPattern", + "groupGraphPatternSub", + "graphPatternNotTriplesAndMaybeTriples", + "triplesBlock", + "graphPatternNotTriples", + "optionalGraphPattern", + "graphGraphPattern", + "serviceGraphPattern", + "bind", + "inlineData", + "dataBlock", + "inlineDataOneVar", + "inlineDataFull", + "dataBlockSingle", + "dataBlockValue", + "minusGraphPattern", + "groupOrUnionGraphPattern", + "filterR", + "constraint", + "functionCall", + "argList", + "expressionList", + "constructTemplate", + "constructTriples", + "triplesSameSubject", + "propertyList", + "propertyListNotEmpty", + "verb", + "objectList", + "objectR", + "triplesSameSubjectPath", + "propertyListPath", + "propertyListPathNotEmpty", + "verbPath", + "verbSimple", + "tupleWithoutPath", + "tupleWithPath", + "verbPathOrSimple", + "objectListPath", + "objectPath", + "path", + "pathAlternative", + "pathSequence", + "pathElt", + "pathEltOrInverse", + "pathMod", + "pathPrimary", + "pathNegatedPropertySet", + "pathOneInPropertySet", + "integer", + "triplesNode", + "blankNodePropertyList", + "triplesNodePath", + "blankNodePropertyListPath", + "collection", + "collectionPath", + "graphNode", + "graphNodePath", + "varOrTerm", + "varOrIri", + "var", + "graphTerm", + "expression", + "conditionalOrExpression", + "conditionalAndExpression", + "valueLogical", + "relationalExpression", + "numericExpression", + "additiveExpression", + "multiplicativeExpressionWithSign", + "plusSubexpression", + "minusSubexpression", + "multiplicativeExpressionWithLeadingSignButNoSpace", + "multiplicativeExpression", + "multiplyOrDivideExpression", + "multiplyExpression", + "divideExpression", + "unaryExpression", + "primaryExpression", + "brackettedExpression", + "builtInCall", + "regexExpression", + "langExpression", + "substringExpression", + "strReplaceExpression", + "existsFunc", + "notExistsFunc", + "aggregate", + "iriOrFunction", + "rdfLiteral", + "numericLiteral", + "numericLiteralUnsigned", + "numericLiteralPositive", + "numericLiteralNegative", + "booleanLiteral", + "string", + "iri", + "prefixedName", + "blankNode", + "iriref", + "pnameLn", + "pnameNs"}, + std::vector{"", "'*'", "'('", "')'", "'{'", + "'}'", "';'", "'.'", "','", "'a'", + "'|'", "'/'", "'^'", "'+'", "'\\u003F'", + "'!'", "'['", "']'", "'||'", "'&&'", + "'='", "'!='", "'<'", "'>'", "'<='", + "'>='", "'-'", "'^^'", "'true'", "'false'"}, + std::vector{"", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "BASE", + "PREFIX", + "SELECT", + "DISTINCT", + "REDUCED", + "AS", + "CONSTRUCT", + "WHERE", + "DESCRIBE", + "ASK", + "FROM", + "NAMED", + "GROUPBY", + "GROUP_CONCAT", + "HAVING", + "ORDERBY", + "INTERNALSORTBY", + "ASC", + "DESC", + "LIMIT", + "OFFSET", + "TEXTLIMIT", + "VALUES", + "LOAD", + "SILENT", + "INTO", + "CLEAR", + "DROP", + "CREATE", + "ADD", + "TO", + "DATA", + "MOVE", + "COPY", + "INSERT", + "DELETE", + "WITH", + "USING", + "DEFAULT", + "GRAPH", + "ALL", + "OPTIONAL", + "SERVICE", + "BIND", + "UNDEF", + "MINUS", + "UNION", + "FILTER", + "NOT", + "IN", + "STR", + "LANG", + "LANGMATCHES", + "DATATYPE", + "BOUND", + "IRI", + "URI", + "BNODE", + "RAND", + "ABS", + "CEIL", + "FLOOR", + "ROUND", + "CONCAT", + "STRLEN", + "UCASE", + "LCASE", + "ENCODE_FOR_URI", + "FOR", + "CONTAINS", + "STRSTARTS", + "STRENDS", + "STRBEFORE", + "STRAFTER", + "YEAR", + "MONTH", + "DAY", + "HOURS", + "MINUTES", + "SECONDS", + "TIMEZONE", + "TZ", + "NOW", + "UUID", + "STRUUID", + "SHA1", + "SHA256", + "SHA384", + "SHA512", + "MD5", + "COALESCE", + "IF", + "STRLANG", + "STRDT", + "SAMETERM", + "ISIRI", + "ISURI", + "ISBLANK", + "ISLITERAL", + "ISNUMERIC", + "REGEX", + "SUBSTR", + "REPLACE", + "EXISTS", + "COUNT", + "SUM", + "MIN", + "MAX", + "AVG", + "STDEV", + "SAMPLE", + "SEPARATOR", + "IRI_REF", + "PNAME_NS", + "PNAME_LN", + "BLANK_NODE_LABEL", + "VAR1", + "VAR2", + "LANGTAG", + "PREFIX_LANGTAG", + "INTEGER", + "DECIMAL", + "DOUBLE", + "INTEGER_POSITIVE", + "DECIMAL_POSITIVE", + "DOUBLE_POSITIVE", + "INTEGER_NEGATIVE", + "DECIMAL_NEGATIVE", + "DOUBLE_NEGATIVE", + "EXPONENT", + "STRING_LITERAL1", + "STRING_LITERAL2", + "STRING_LITERAL_LONG1", + "STRING_LITERAL_LONG2", + "ECHAR", + "NIL", + "ANON", + "PN_CHARS_U", + "VARNAME", + "PN_PREFIX", + "PN_LOCAL", + "PLX", + "PERCENT", + "HEX", + "PN_LOCAL_ESC", + "WS", + "COMMENTS"}); static const int32_t serializedATNSegment[] = { - 4,1,176,1655,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6, - 2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14, - 7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21, - 7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28, - 7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35, - 7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42, - 7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49, - 7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2,56, - 7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2,63, - 7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2,70, - 7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2,77, - 7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2,84, - 7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2,91, - 7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2,98, - 7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104, - 7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110, - 7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116, - 7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122, - 7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128, - 7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134, - 7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140, - 7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146, - 7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152, - 7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,1,0,1,0,3,0,317, - 8,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,3,1,326,8,1,1,1,1,1,1,2,1,2,5,2,332,8, - 2,10,2,12,2,335,9,2,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,5,1,5,5,5,346,8,5,10, - 5,12,5,349,9,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,3,7,361,8,7,1, - 7,4,7,364,8,7,11,7,12,7,365,1,7,3,7,369,8,7,1,8,1,8,3,8,373,8,8,1,9,1, - 9,1,9,1,9,1,10,1,10,1,10,1,10,1,11,1,11,1,11,5,11,386,8,11,10,11,12,11, - 389,9,11,1,11,1,11,1,11,1,11,5,11,395,8,11,10,11,12,11,398,9,11,1,11, - 1,11,1,11,3,11,403,8,11,1,11,1,11,3,11,407,8,11,1,12,1,12,4,12,411,8, - 12,11,12,12,12,412,1,12,3,12,416,8,12,1,12,5,12,419,8,12,10,12,12,12, - 422,9,12,1,12,3,12,425,8,12,1,12,1,12,1,13,1,13,5,13,431,8,13,10,13,12, - 13,434,9,13,1,13,1,13,1,13,1,14,1,14,1,14,3,14,442,8,14,1,15,1,15,1,16, - 1,16,1,16,1,17,1,17,1,18,3,18,452,8,18,1,18,1,18,1,19,3,19,457,8,19,1, - 19,3,19,460,8,19,1,19,3,19,463,8,19,1,19,3,19,466,8,19,1,20,1,20,4,20, - 470,8,20,11,20,12,20,471,1,21,1,21,1,21,1,21,1,21,1,21,3,21,480,8,21, - 1,21,1,21,1,21,3,21,485,8,21,1,22,1,22,4,22,489,8,22,11,22,12,22,490, - 1,23,1,23,1,24,1,24,3,24,497,8,24,1,24,4,24,500,8,24,11,24,12,24,501, - 1,25,1,25,1,25,1,25,3,25,508,8,25,3,25,510,8,25,1,26,1,26,3,26,514,8, - 26,1,26,3,26,517,8,26,1,26,1,26,3,26,521,8,26,1,26,3,26,524,8,26,1,26, - 1,26,3,26,528,8,26,1,26,3,26,531,8,26,1,26,1,26,3,26,535,8,26,1,26,3, - 26,538,8,26,1,26,1,26,3,26,542,8,26,1,26,3,26,545,8,26,1,26,1,26,3,26, - 549,8,26,1,26,3,26,552,8,26,3,26,554,8,26,1,27,1,27,1,27,1,28,1,28,1, - 28,1,29,1,29,1,29,1,30,1,30,3,30,567,8,30,1,31,1,31,1,31,1,31,3,31,573, - 8,31,3,31,575,8,31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32, - 1,32,3,32,588,8,32,1,33,1,33,3,33,592,8,33,1,33,1,33,1,33,3,33,597,8, - 33,1,34,1,34,3,34,601,8,34,1,34,1,34,1,35,1,35,3,35,607,8,35,1,35,1,35, - 1,36,1,36,3,36,613,8,36,1,36,1,36,1,37,1,37,3,37,619,8,37,1,37,1,37,1, - 37,1,37,1,38,1,38,3,38,627,8,38,1,38,1,38,1,38,1,38,1,39,1,39,3,39,635, - 8,39,1,39,1,39,1,39,1,39,1,40,1,40,1,40,1,40,1,41,1,41,1,41,1,41,1,42, - 1,42,1,42,1,42,1,43,1,43,3,43,655,8,43,1,43,1,43,3,43,659,8,43,1,43,3, - 43,662,8,43,1,43,5,43,665,8,43,10,43,12,43,668,9,43,1,43,1,43,1,43,1, - 44,1,44,1,44,1,45,1,45,1,45,1,46,1,46,1,46,1,46,3,46,683,8,46,1,47,1, - 47,1,47,3,47,688,8,47,1,48,1,48,1,48,1,49,1,49,1,49,1,49,3,49,697,8,49, - 1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,52,3,52,708,8,52,1,52,1,52, - 3,52,712,8,52,1,52,3,52,715,8,52,5,52,717,8,52,10,52,12,52,720,9,52,1, - 53,1,53,1,53,1,53,3,53,726,8,53,1,53,1,53,1,54,1,54,1,54,3,54,733,8,54, - 3,54,735,8,54,1,55,1,55,1,55,3,55,740,8,55,1,55,1,55,1,56,3,56,745,8, - 56,1,56,5,56,748,8,56,10,56,12,56,751,9,56,1,57,1,57,3,57,755,8,57,1, - 57,3,57,758,8,57,1,58,1,58,1,58,3,58,763,8,58,3,58,765,8,58,1,59,1,59, - 1,59,1,59,1,59,1,59,1,59,1,59,3,59,775,8,59,1,60,1,60,1,60,1,61,1,61, - 1,61,1,61,1,62,1,62,3,62,786,8,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63, - 1,63,1,63,1,63,1,64,1,64,1,64,1,65,1,65,3,65,803,8,65,1,66,1,66,1,66, - 5,66,808,8,66,10,66,12,66,811,9,66,1,66,1,66,1,67,1,67,1,67,5,67,818, - 8,67,10,67,12,67,821,9,67,1,67,3,67,824,8,67,1,67,1,67,5,67,828,8,67, - 10,67,12,67,831,9,67,1,67,1,67,1,68,1,68,5,68,837,8,68,10,68,12,68,840, - 9,68,1,68,1,68,3,68,844,8,68,1,69,1,69,1,69,1,69,1,69,3,69,851,8,69,1, - 70,1,70,1,70,1,71,1,71,1,71,5,71,859,8,71,10,71,12,71,862,9,71,1,72,1, - 72,1,72,1,73,1,73,1,73,3,73,870,8,73,1,74,1,74,1,74,1,75,1,75,1,75,3, - 75,878,8,75,1,75,1,75,1,75,5,75,883,8,75,10,75,12,75,886,9,75,1,75,1, - 75,3,75,890,8,75,1,76,1,76,1,76,1,76,1,76,5,76,897,8,76,10,76,12,76,900, - 9,76,1,76,1,76,3,76,904,8,76,1,77,1,77,3,77,908,8,77,1,77,1,77,1,78,1, - 78,1,78,3,78,915,8,78,3,78,917,8,78,1,79,1,79,1,79,1,79,1,79,1,79,3,79, - 925,8,79,1,80,3,80,928,8,80,1,81,1,81,1,81,1,81,1,81,1,81,3,81,936,8, - 81,5,81,938,8,81,10,81,12,81,941,9,81,1,82,1,82,3,82,945,8,82,1,83,1, - 83,1,83,5,83,950,8,83,10,83,12,83,953,9,83,1,84,1,84,1,85,1,85,1,85,1, - 85,1,85,1,85,3,85,963,8,85,1,86,3,86,966,8,86,1,87,1,87,1,87,3,87,971, - 8,87,5,87,973,8,87,10,87,12,87,976,9,87,1,88,1,88,1,89,1,89,1,90,1,90, - 1,90,1,91,1,91,1,91,1,92,1,92,3,92,990,8,92,1,93,1,93,1,93,5,93,995,8, - 93,10,93,12,93,998,9,93,1,94,1,94,1,95,1,95,1,96,1,96,1,96,5,96,1007, - 8,96,10,96,12,96,1010,9,96,1,97,1,97,1,97,5,97,1015,8,97,10,97,12,97, - 1018,9,97,1,98,1,98,3,98,1022,8,98,1,99,1,99,1,99,3,99,1027,8,99,1,100, - 1,100,1,101,1,101,1,101,1,101,1,101,1,101,1,101,1,101,3,101,1039,8,101, - 1,102,1,102,1,102,1,102,1,102,5,102,1046,8,102,10,102,12,102,1049,9,102, - 3,102,1051,8,102,1,102,3,102,1054,8,102,1,103,1,103,1,103,1,103,1,103, - 3,103,1061,8,103,3,103,1063,8,103,1,104,1,104,1,105,1,105,3,105,1069, - 8,105,1,106,1,106,1,106,1,106,1,107,1,107,3,107,1077,8,107,1,108,1,108, - 1,108,1,108,1,109,1,109,4,109,1085,8,109,11,109,12,109,1086,1,109,1,109, - 1,110,1,110,4,110,1093,8,110,11,110,12,110,1094,1,110,1,110,1,111,1,111, - 3,111,1101,8,111,1,112,1,112,3,112,1105,8,112,1,113,1,113,3,113,1109, - 8,113,1,114,1,114,3,114,1113,8,114,1,115,1,115,1,116,1,116,1,116,1,116, - 1,116,1,116,3,116,1123,8,116,1,117,1,117,1,118,1,118,1,118,5,118,1130, - 8,118,10,118,12,118,1133,9,118,1,119,1,119,1,119,5,119,1138,8,119,10, - 119,12,119,1141,9,119,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121, - 1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,121, - 3,121,1163,8,121,1,122,1,122,1,123,1,123,5,123,1169,8,123,10,123,12,123, - 1172,9,123,1,124,1,124,1,124,1,124,1,124,3,124,1179,8,124,1,125,1,125, - 1,126,1,126,1,127,1,127,3,127,1187,8,127,1,127,5,127,1190,8,127,10,127, - 12,127,1193,9,127,1,128,1,128,5,128,1197,8,128,10,128,12,128,1200,9,128, - 1,129,1,129,3,129,1204,8,129,1,130,1,130,1,130,1,131,1,131,1,131,1,132, - 1,132,1,132,1,132,1,132,1,132,1,132,3,132,1219,8,132,1,133,1,133,1,133, - 1,133,1,133,1,133,1,133,3,133,1228,8,133,1,134,1,134,1,134,1,134,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,3,135,1274,8,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135,1,135, - 1,135,1,135,3,135,1488,8,135,1,136,1,136,1,136,1,136,1,136,1,136,1,136, - 3,136,1497,8,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,138,1,138, - 1,138,1,138,1,138,1,138,1,138,3,138,1513,8,138,1,138,1,138,1,139,1,139, - 1,139,1,139,1,139,1,139,1,139,1,139,1,139,3,139,1526,8,139,1,139,1,139, - 1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,142,1,142,1,142,3,142,1540, - 8,142,1,142,1,142,3,142,1544,8,142,1,142,1,142,1,142,1,142,3,142,1550, - 8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,1558,8,142,1,142,1,142, - 1,142,1,142,1,142,1,142,3,142,1566,8,142,1,142,1,142,1,142,1,142,1,142, - 1,142,3,142,1574,8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,1582, - 8,142,1,142,1,142,1,142,1,142,1,142,1,142,3,142,1590,8,142,1,142,1,142, - 1,142,1,142,1,142,1,142,3,142,1598,8,142,1,142,1,142,1,142,1,142,1,142, - 3,142,1605,8,142,1,142,1,142,3,142,1609,8,142,1,143,1,143,3,143,1613, - 8,143,1,144,1,144,1,144,1,144,3,144,1619,8,144,1,145,1,145,1,145,3,145, - 1624,8,145,1,146,1,146,1,147,1,147,1,148,1,148,1,149,1,149,1,150,1,150, - 1,151,3,151,1637,8,151,1,151,1,151,3,151,1641,8,151,1,152,1,152,3,152, - 1645,8,152,1,153,1,153,1,154,1,154,1,155,1,155,1,156,1,156,1,156,0,0, - 157,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46, - 48,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92, - 94,96,98,100,102,104,106,108,110,112,114,116,118,120,122,124,126,128, - 130,132,134,136,138,140,142,144,146,148,150,152,154,156,158,160,162,164, - 166,168,170,172,174,176,178,180,182,184,186,188,190,192,194,196,198,200, - 202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236, - 238,240,242,244,246,248,250,252,254,256,258,260,262,264,266,268,270,272, - 274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308, - 310,312,0,10,1,0,33,34,1,0,47,48,2,0,1,1,13,14,1,0,146,147,1,0,150,152, - 1,0,153,155,1,0,156,158,1,0,28,29,1,0,160,163,2,0,145,145,166,166,1771, - 0,316,1,0,0,0,2,320,1,0,0,0,4,333,1,0,0,0,6,336,1,0,0,0,8,339,1,0,0,0, - 10,343,1,0,0,0,12,353,1,0,0,0,14,358,1,0,0,0,16,372,1,0,0,0,18,374,1, - 0,0,0,20,378,1,0,0,0,22,382,1,0,0,0,24,408,1,0,0,0,26,428,1,0,0,0,28, - 438,1,0,0,0,30,443,1,0,0,0,32,445,1,0,0,0,34,448,1,0,0,0,36,451,1,0,0, - 0,38,456,1,0,0,0,40,467,1,0,0,0,42,484,1,0,0,0,44,486,1,0,0,0,46,492, - 1,0,0,0,48,496,1,0,0,0,50,509,1,0,0,0,52,553,1,0,0,0,54,555,1,0,0,0,56, - 558,1,0,0,0,58,561,1,0,0,0,60,566,1,0,0,0,62,568,1,0,0,0,64,587,1,0,0, - 0,66,589,1,0,0,0,68,598,1,0,0,0,70,604,1,0,0,0,72,610,1,0,0,0,74,616, - 1,0,0,0,76,624,1,0,0,0,78,632,1,0,0,0,80,640,1,0,0,0,82,644,1,0,0,0,84, - 648,1,0,0,0,86,654,1,0,0,0,88,672,1,0,0,0,90,675,1,0,0,0,92,678,1,0,0, - 0,94,687,1,0,0,0,96,689,1,0,0,0,98,696,1,0,0,0,100,698,1,0,0,0,102,702, - 1,0,0,0,104,707,1,0,0,0,106,721,1,0,0,0,108,729,1,0,0,0,110,736,1,0,0, - 0,112,744,1,0,0,0,114,752,1,0,0,0,116,759,1,0,0,0,118,774,1,0,0,0,120, - 776,1,0,0,0,122,779,1,0,0,0,124,783,1,0,0,0,126,790,1,0,0,0,128,797,1, - 0,0,0,130,802,1,0,0,0,132,804,1,0,0,0,134,823,1,0,0,0,136,843,1,0,0,0, - 138,850,1,0,0,0,140,852,1,0,0,0,142,855,1,0,0,0,144,863,1,0,0,0,146,869, - 1,0,0,0,148,871,1,0,0,0,150,889,1,0,0,0,152,903,1,0,0,0,154,905,1,0,0, - 0,156,911,1,0,0,0,158,924,1,0,0,0,160,927,1,0,0,0,162,929,1,0,0,0,164, - 944,1,0,0,0,166,946,1,0,0,0,168,954,1,0,0,0,170,962,1,0,0,0,172,965,1, - 0,0,0,174,967,1,0,0,0,176,977,1,0,0,0,178,979,1,0,0,0,180,981,1,0,0,0, - 182,984,1,0,0,0,184,989,1,0,0,0,186,991,1,0,0,0,188,999,1,0,0,0,190,1001, - 1,0,0,0,192,1003,1,0,0,0,194,1011,1,0,0,0,196,1019,1,0,0,0,198,1026,1, - 0,0,0,200,1028,1,0,0,0,202,1038,1,0,0,0,204,1053,1,0,0,0,206,1062,1,0, - 0,0,208,1064,1,0,0,0,210,1068,1,0,0,0,212,1070,1,0,0,0,214,1076,1,0,0, - 0,216,1078,1,0,0,0,218,1082,1,0,0,0,220,1090,1,0,0,0,222,1100,1,0,0,0, - 224,1104,1,0,0,0,226,1108,1,0,0,0,228,1112,1,0,0,0,230,1114,1,0,0,0,232, - 1122,1,0,0,0,234,1124,1,0,0,0,236,1126,1,0,0,0,238,1134,1,0,0,0,240,1142, - 1,0,0,0,242,1144,1,0,0,0,244,1164,1,0,0,0,246,1166,1,0,0,0,248,1178,1, - 0,0,0,250,1180,1,0,0,0,252,1182,1,0,0,0,254,1186,1,0,0,0,256,1194,1,0, - 0,0,258,1203,1,0,0,0,260,1205,1,0,0,0,262,1208,1,0,0,0,264,1218,1,0,0, - 0,266,1227,1,0,0,0,268,1229,1,0,0,0,270,1487,1,0,0,0,272,1489,1,0,0,0, - 274,1500,1,0,0,0,276,1505,1,0,0,0,278,1516,1,0,0,0,280,1529,1,0,0,0,282, - 1532,1,0,0,0,284,1608,1,0,0,0,286,1610,1,0,0,0,288,1614,1,0,0,0,290,1623, - 1,0,0,0,292,1625,1,0,0,0,294,1627,1,0,0,0,296,1629,1,0,0,0,298,1631,1, - 0,0,0,300,1633,1,0,0,0,302,1636,1,0,0,0,304,1644,1,0,0,0,306,1646,1,0, - 0,0,308,1648,1,0,0,0,310,1650,1,0,0,0,312,1652,1,0,0,0,314,317,3,2,1, - 0,315,317,3,62,31,0,316,314,1,0,0,0,316,315,1,0,0,0,317,318,1,0,0,0,318, - 319,5,0,0,1,319,1,1,0,0,0,320,325,3,4,2,0,321,326,3,10,5,0,322,326,3, - 22,11,0,323,326,3,24,12,0,324,326,3,26,13,0,325,321,1,0,0,0,325,322,1, - 0,0,0,325,323,1,0,0,0,325,324,1,0,0,0,326,327,1,0,0,0,327,328,3,60,30, - 0,328,3,1,0,0,0,329,332,3,6,3,0,330,332,3,8,4,0,331,329,1,0,0,0,331,330, - 1,0,0,0,332,335,1,0,0,0,333,331,1,0,0,0,333,334,1,0,0,0,334,5,1,0,0,0, - 335,333,1,0,0,0,336,337,5,30,0,0,337,338,3,308,154,0,338,7,1,0,0,0,339, - 340,5,31,0,0,340,341,5,143,0,0,341,342,3,308,154,0,342,9,1,0,0,0,343, - 347,3,14,7,0,344,346,3,28,14,0,345,344,1,0,0,0,346,349,1,0,0,0,347,345, - 1,0,0,0,347,348,1,0,0,0,348,350,1,0,0,0,349,347,1,0,0,0,350,351,3,36, - 18,0,351,352,3,38,19,0,352,11,1,0,0,0,353,354,3,14,7,0,354,355,3,36,18, - 0,355,356,3,38,19,0,356,357,3,60,30,0,357,13,1,0,0,0,358,360,5,32,0,0, - 359,361,7,0,0,0,360,359,1,0,0,0,360,361,1,0,0,0,361,368,1,0,0,0,362,364, - 3,16,8,0,363,362,1,0,0,0,364,365,1,0,0,0,365,363,1,0,0,0,365,366,1,0, - 0,0,366,369,1,0,0,0,367,369,5,1,0,0,368,363,1,0,0,0,368,367,1,0,0,0,369, - 15,1,0,0,0,370,373,3,230,115,0,371,373,3,18,9,0,372,370,1,0,0,0,372,371, - 1,0,0,0,373,17,1,0,0,0,374,375,5,2,0,0,375,376,3,20,10,0,376,377,5,3, - 0,0,377,19,1,0,0,0,378,379,3,234,117,0,379,380,5,35,0,0,380,381,3,230, - 115,0,381,21,1,0,0,0,382,406,5,36,0,0,383,387,3,154,77,0,384,386,3,28, - 14,0,385,384,1,0,0,0,386,389,1,0,0,0,387,385,1,0,0,0,387,388,1,0,0,0, - 388,390,1,0,0,0,389,387,1,0,0,0,390,391,3,36,18,0,391,392,3,38,19,0,392, - 407,1,0,0,0,393,395,3,28,14,0,394,393,1,0,0,0,395,398,1,0,0,0,396,394, - 1,0,0,0,396,397,1,0,0,0,397,399,1,0,0,0,398,396,1,0,0,0,399,400,5,37, - 0,0,400,402,5,4,0,0,401,403,3,108,54,0,402,401,1,0,0,0,402,403,1,0,0, - 0,403,404,1,0,0,0,404,405,5,5,0,0,405,407,3,38,19,0,406,383,1,0,0,0,406, - 396,1,0,0,0,407,23,1,0,0,0,408,415,5,38,0,0,409,411,3,228,114,0,410,409, - 1,0,0,0,411,412,1,0,0,0,412,410,1,0,0,0,412,413,1,0,0,0,413,416,1,0,0, - 0,414,416,5,1,0,0,415,410,1,0,0,0,415,414,1,0,0,0,416,420,1,0,0,0,417, - 419,3,28,14,0,418,417,1,0,0,0,419,422,1,0,0,0,420,418,1,0,0,0,420,421, - 1,0,0,0,421,424,1,0,0,0,422,420,1,0,0,0,423,425,3,36,18,0,424,423,1,0, - 0,0,424,425,1,0,0,0,425,426,1,0,0,0,426,427,3,38,19,0,427,25,1,0,0,0, - 428,432,5,39,0,0,429,431,3,28,14,0,430,429,1,0,0,0,431,434,1,0,0,0,432, - 430,1,0,0,0,432,433,1,0,0,0,433,435,1,0,0,0,434,432,1,0,0,0,435,436,3, - 36,18,0,436,437,3,38,19,0,437,27,1,0,0,0,438,441,5,40,0,0,439,442,3,30, - 15,0,440,442,3,32,16,0,441,439,1,0,0,0,441,440,1,0,0,0,442,29,1,0,0,0, - 443,444,3,34,17,0,444,31,1,0,0,0,445,446,5,41,0,0,446,447,3,34,17,0,447, - 33,1,0,0,0,448,449,3,302,151,0,449,35,1,0,0,0,450,452,5,37,0,0,451,450, - 1,0,0,0,451,452,1,0,0,0,452,453,1,0,0,0,453,454,3,110,55,0,454,37,1,0, - 0,0,455,457,3,40,20,0,456,455,1,0,0,0,456,457,1,0,0,0,457,459,1,0,0,0, - 458,460,3,44,22,0,459,458,1,0,0,0,459,460,1,0,0,0,460,462,1,0,0,0,461, - 463,3,48,24,0,462,461,1,0,0,0,462,463,1,0,0,0,463,465,1,0,0,0,464,466, - 3,52,26,0,465,464,1,0,0,0,465,466,1,0,0,0,466,39,1,0,0,0,467,469,5,42, - 0,0,468,470,3,42,21,0,469,468,1,0,0,0,470,471,1,0,0,0,471,469,1,0,0,0, - 471,472,1,0,0,0,472,41,1,0,0,0,473,485,3,270,135,0,474,485,3,148,74,0, - 475,476,5,2,0,0,476,479,3,234,117,0,477,478,5,35,0,0,478,480,3,230,115, - 0,479,477,1,0,0,0,479,480,1,0,0,0,480,481,1,0,0,0,481,482,5,3,0,0,482, - 485,1,0,0,0,483,485,3,230,115,0,484,473,1,0,0,0,484,474,1,0,0,0,484,475, - 1,0,0,0,484,483,1,0,0,0,485,43,1,0,0,0,486,488,5,44,0,0,487,489,3,46, - 23,0,488,487,1,0,0,0,489,490,1,0,0,0,490,488,1,0,0,0,490,491,1,0,0,0, - 491,45,1,0,0,0,492,493,3,146,73,0,493,47,1,0,0,0,494,497,5,45,0,0,495, - 497,5,46,0,0,496,494,1,0,0,0,496,495,1,0,0,0,497,499,1,0,0,0,498,500, - 3,50,25,0,499,498,1,0,0,0,500,501,1,0,0,0,501,499,1,0,0,0,501,502,1,0, - 0,0,502,49,1,0,0,0,503,504,7,1,0,0,504,510,3,268,134,0,505,508,3,146, - 73,0,506,508,3,230,115,0,507,505,1,0,0,0,507,506,1,0,0,0,508,510,1,0, - 0,0,509,503,1,0,0,0,509,507,1,0,0,0,510,51,1,0,0,0,511,513,3,54,27,0, - 512,514,3,56,28,0,513,512,1,0,0,0,513,514,1,0,0,0,514,516,1,0,0,0,515, - 517,3,58,29,0,516,515,1,0,0,0,516,517,1,0,0,0,517,554,1,0,0,0,518,520, - 3,54,27,0,519,521,3,58,29,0,520,519,1,0,0,0,520,521,1,0,0,0,521,523,1, - 0,0,0,522,524,3,56,28,0,523,522,1,0,0,0,523,524,1,0,0,0,524,554,1,0,0, - 0,525,527,3,56,28,0,526,528,3,54,27,0,527,526,1,0,0,0,527,528,1,0,0,0, - 528,530,1,0,0,0,529,531,3,58,29,0,530,529,1,0,0,0,530,531,1,0,0,0,531, - 554,1,0,0,0,532,534,3,56,28,0,533,535,3,58,29,0,534,533,1,0,0,0,534,535, - 1,0,0,0,535,537,1,0,0,0,536,538,3,54,27,0,537,536,1,0,0,0,537,538,1,0, - 0,0,538,554,1,0,0,0,539,541,3,58,29,0,540,542,3,56,28,0,541,540,1,0,0, - 0,541,542,1,0,0,0,542,544,1,0,0,0,543,545,3,54,27,0,544,543,1,0,0,0,544, - 545,1,0,0,0,545,554,1,0,0,0,546,548,3,58,29,0,547,549,3,54,27,0,548,547, - 1,0,0,0,548,549,1,0,0,0,549,551,1,0,0,0,550,552,3,56,28,0,551,550,1,0, - 0,0,551,552,1,0,0,0,552,554,1,0,0,0,553,511,1,0,0,0,553,518,1,0,0,0,553, - 525,1,0,0,0,553,532,1,0,0,0,553,539,1,0,0,0,553,546,1,0,0,0,554,53,1, - 0,0,0,555,556,5,49,0,0,556,557,3,208,104,0,557,55,1,0,0,0,558,559,5,50, - 0,0,559,560,3,208,104,0,560,57,1,0,0,0,561,562,5,51,0,0,562,563,3,208, - 104,0,563,59,1,0,0,0,564,565,5,52,0,0,565,567,3,130,65,0,566,564,1,0, - 0,0,566,567,1,0,0,0,567,61,1,0,0,0,568,574,3,4,2,0,569,572,3,64,32,0, - 570,571,5,6,0,0,571,573,3,62,31,0,572,570,1,0,0,0,572,573,1,0,0,0,573, - 575,1,0,0,0,574,569,1,0,0,0,574,575,1,0,0,0,575,63,1,0,0,0,576,588,3, - 66,33,0,577,588,3,68,34,0,578,588,3,70,35,0,579,588,3,74,37,0,580,588, - 3,76,38,0,581,588,3,78,39,0,582,588,3,72,36,0,583,588,3,80,40,0,584,588, - 3,82,41,0,585,588,3,84,42,0,586,588,3,86,43,0,587,576,1,0,0,0,587,577, - 1,0,0,0,587,578,1,0,0,0,587,579,1,0,0,0,587,580,1,0,0,0,587,581,1,0,0, - 0,587,582,1,0,0,0,587,583,1,0,0,0,587,584,1,0,0,0,587,585,1,0,0,0,587, - 586,1,0,0,0,588,65,1,0,0,0,589,591,5,53,0,0,590,592,5,54,0,0,591,590, - 1,0,0,0,591,592,1,0,0,0,592,593,1,0,0,0,593,596,3,302,151,0,594,595,5, - 55,0,0,595,597,3,96,48,0,596,594,1,0,0,0,596,597,1,0,0,0,597,67,1,0,0, - 0,598,600,5,56,0,0,599,601,5,54,0,0,600,599,1,0,0,0,600,601,1,0,0,0,601, - 602,1,0,0,0,602,603,3,98,49,0,603,69,1,0,0,0,604,606,5,57,0,0,605,607, - 5,54,0,0,606,605,1,0,0,0,606,607,1,0,0,0,607,608,1,0,0,0,608,609,3,98, - 49,0,609,71,1,0,0,0,610,612,5,58,0,0,611,613,5,54,0,0,612,611,1,0,0,0, - 612,613,1,0,0,0,613,614,1,0,0,0,614,615,3,96,48,0,615,73,1,0,0,0,616, - 618,5,59,0,0,617,619,5,54,0,0,618,617,1,0,0,0,618,619,1,0,0,0,619,620, - 1,0,0,0,620,621,3,94,47,0,621,622,5,60,0,0,622,623,3,94,47,0,623,75,1, - 0,0,0,624,626,5,62,0,0,625,627,5,54,0,0,626,625,1,0,0,0,626,627,1,0,0, - 0,627,628,1,0,0,0,628,629,3,94,47,0,629,630,5,60,0,0,630,631,3,94,47, - 0,631,77,1,0,0,0,632,634,5,63,0,0,633,635,5,54,0,0,634,633,1,0,0,0,634, - 635,1,0,0,0,635,636,1,0,0,0,636,637,3,94,47,0,637,638,5,60,0,0,638,639, - 3,94,47,0,639,79,1,0,0,0,640,641,5,64,0,0,641,642,5,61,0,0,642,643,3, - 102,51,0,643,81,1,0,0,0,644,645,5,65,0,0,645,646,5,61,0,0,646,647,3,102, - 51,0,647,83,1,0,0,0,648,649,5,65,0,0,649,650,5,37,0,0,650,651,3,100,50, - 0,651,85,1,0,0,0,652,653,5,66,0,0,653,655,3,302,151,0,654,652,1,0,0,0, - 654,655,1,0,0,0,655,661,1,0,0,0,656,658,3,88,44,0,657,659,3,90,45,0,658, - 657,1,0,0,0,658,659,1,0,0,0,659,662,1,0,0,0,660,662,3,90,45,0,661,656, - 1,0,0,0,661,660,1,0,0,0,662,666,1,0,0,0,663,665,3,92,46,0,664,663,1,0, - 0,0,665,668,1,0,0,0,666,664,1,0,0,0,666,667,1,0,0,0,667,669,1,0,0,0,668, - 666,1,0,0,0,669,670,5,37,0,0,670,671,3,110,55,0,671,87,1,0,0,0,672,673, - 5,65,0,0,673,674,3,100,50,0,674,89,1,0,0,0,675,676,5,64,0,0,676,677,3, - 100,50,0,677,91,1,0,0,0,678,682,5,67,0,0,679,683,3,302,151,0,680,681, - 5,41,0,0,681,683,3,302,151,0,682,679,1,0,0,0,682,680,1,0,0,0,683,93,1, - 0,0,0,684,688,5,68,0,0,685,686,5,69,0,0,686,688,3,302,151,0,687,684,1, - 0,0,0,687,685,1,0,0,0,688,95,1,0,0,0,689,690,5,69,0,0,690,691,3,302,151, - 0,691,97,1,0,0,0,692,697,3,96,48,0,693,697,5,68,0,0,694,697,5,41,0,0, - 695,697,5,70,0,0,696,692,1,0,0,0,696,693,1,0,0,0,696,694,1,0,0,0,696, - 695,1,0,0,0,697,99,1,0,0,0,698,699,5,4,0,0,699,700,3,104,52,0,700,701, - 5,5,0,0,701,101,1,0,0,0,702,703,5,4,0,0,703,704,3,104,52,0,704,705,5, - 5,0,0,705,103,1,0,0,0,706,708,3,108,54,0,707,706,1,0,0,0,707,708,1,0, - 0,0,708,718,1,0,0,0,709,711,3,106,53,0,710,712,5,7,0,0,711,710,1,0,0, - 0,711,712,1,0,0,0,712,714,1,0,0,0,713,715,3,108,54,0,714,713,1,0,0,0, - 714,715,1,0,0,0,715,717,1,0,0,0,716,709,1,0,0,0,717,720,1,0,0,0,718,716, - 1,0,0,0,718,719,1,0,0,0,719,105,1,0,0,0,720,718,1,0,0,0,721,722,5,69, - 0,0,722,723,3,228,114,0,723,725,5,4,0,0,724,726,3,108,54,0,725,724,1, - 0,0,0,725,726,1,0,0,0,726,727,1,0,0,0,727,728,5,5,0,0,728,107,1,0,0,0, - 729,734,3,158,79,0,730,732,5,7,0,0,731,733,3,108,54,0,732,731,1,0,0,0, - 732,733,1,0,0,0,733,735,1,0,0,0,734,730,1,0,0,0,734,735,1,0,0,0,735,109, - 1,0,0,0,736,739,5,4,0,0,737,740,3,12,6,0,738,740,3,112,56,0,739,737,1, - 0,0,0,739,738,1,0,0,0,740,741,1,0,0,0,741,742,5,5,0,0,742,111,1,0,0,0, - 743,745,3,116,58,0,744,743,1,0,0,0,744,745,1,0,0,0,745,749,1,0,0,0,746, - 748,3,114,57,0,747,746,1,0,0,0,748,751,1,0,0,0,749,747,1,0,0,0,749,750, - 1,0,0,0,750,113,1,0,0,0,751,749,1,0,0,0,752,754,3,118,59,0,753,755,5, - 7,0,0,754,753,1,0,0,0,754,755,1,0,0,0,755,757,1,0,0,0,756,758,3,116,58, - 0,757,756,1,0,0,0,757,758,1,0,0,0,758,115,1,0,0,0,759,764,3,170,85,0, - 760,762,5,7,0,0,761,763,3,116,58,0,762,761,1,0,0,0,762,763,1,0,0,0,763, - 765,1,0,0,0,764,760,1,0,0,0,764,765,1,0,0,0,765,117,1,0,0,0,766,775,3, - 142,71,0,767,775,3,120,60,0,768,775,3,140,70,0,769,775,3,122,61,0,770, - 775,3,124,62,0,771,775,3,144,72,0,772,775,3,126,63,0,773,775,3,128,64, - 0,774,766,1,0,0,0,774,767,1,0,0,0,774,768,1,0,0,0,774,769,1,0,0,0,774, - 770,1,0,0,0,774,771,1,0,0,0,774,772,1,0,0,0,774,773,1,0,0,0,775,119,1, - 0,0,0,776,777,5,71,0,0,777,778,3,110,55,0,778,121,1,0,0,0,779,780,5,69, - 0,0,780,781,3,228,114,0,781,782,3,110,55,0,782,123,1,0,0,0,783,785,5, - 72,0,0,784,786,5,54,0,0,785,784,1,0,0,0,785,786,1,0,0,0,786,787,1,0,0, - 0,787,788,3,228,114,0,788,789,3,110,55,0,789,125,1,0,0,0,790,791,5,73, - 0,0,791,792,5,2,0,0,792,793,3,234,117,0,793,794,5,35,0,0,794,795,3,230, - 115,0,795,796,5,3,0,0,796,127,1,0,0,0,797,798,5,52,0,0,798,799,3,130, - 65,0,799,129,1,0,0,0,800,803,3,132,66,0,801,803,3,134,67,0,802,800,1, - 0,0,0,802,801,1,0,0,0,803,131,1,0,0,0,804,805,3,230,115,0,805,809,5,4, - 0,0,806,808,3,138,69,0,807,806,1,0,0,0,808,811,1,0,0,0,809,807,1,0,0, - 0,809,810,1,0,0,0,810,812,1,0,0,0,811,809,1,0,0,0,812,813,5,5,0,0,813, - 133,1,0,0,0,814,824,5,165,0,0,815,819,5,2,0,0,816,818,3,230,115,0,817, - 816,1,0,0,0,818,821,1,0,0,0,819,817,1,0,0,0,819,820,1,0,0,0,820,822,1, - 0,0,0,821,819,1,0,0,0,822,824,5,3,0,0,823,814,1,0,0,0,823,815,1,0,0,0, - 824,825,1,0,0,0,825,829,5,4,0,0,826,828,3,136,68,0,827,826,1,0,0,0,828, - 831,1,0,0,0,829,827,1,0,0,0,829,830,1,0,0,0,830,832,1,0,0,0,831,829,1, - 0,0,0,832,833,5,5,0,0,833,135,1,0,0,0,834,838,5,2,0,0,835,837,3,138,69, - 0,836,835,1,0,0,0,837,840,1,0,0,0,838,836,1,0,0,0,838,839,1,0,0,0,839, - 841,1,0,0,0,840,838,1,0,0,0,841,844,5,3,0,0,842,844,5,165,0,0,843,834, - 1,0,0,0,843,842,1,0,0,0,844,137,1,0,0,0,845,851,3,302,151,0,846,851,3, - 288,144,0,847,851,3,290,145,0,848,851,3,298,149,0,849,851,5,74,0,0,850, - 845,1,0,0,0,850,846,1,0,0,0,850,847,1,0,0,0,850,848,1,0,0,0,850,849,1, - 0,0,0,851,139,1,0,0,0,852,853,5,75,0,0,853,854,3,110,55,0,854,141,1,0, - 0,0,855,860,3,110,55,0,856,857,5,76,0,0,857,859,3,110,55,0,858,856,1, - 0,0,0,859,862,1,0,0,0,860,858,1,0,0,0,860,861,1,0,0,0,861,143,1,0,0,0, - 862,860,1,0,0,0,863,864,5,77,0,0,864,865,3,146,73,0,865,145,1,0,0,0,866, - 870,3,268,134,0,867,870,3,270,135,0,868,870,3,148,74,0,869,866,1,0,0, - 0,869,867,1,0,0,0,869,868,1,0,0,0,870,147,1,0,0,0,871,872,3,302,151,0, - 872,873,3,150,75,0,873,149,1,0,0,0,874,890,5,165,0,0,875,877,5,2,0,0, - 876,878,5,33,0,0,877,876,1,0,0,0,877,878,1,0,0,0,878,879,1,0,0,0,879, - 884,3,234,117,0,880,881,5,8,0,0,881,883,3,234,117,0,882,880,1,0,0,0,883, - 886,1,0,0,0,884,882,1,0,0,0,884,885,1,0,0,0,885,887,1,0,0,0,886,884,1, - 0,0,0,887,888,5,3,0,0,888,890,1,0,0,0,889,874,1,0,0,0,889,875,1,0,0,0, - 890,151,1,0,0,0,891,904,5,165,0,0,892,893,5,2,0,0,893,898,3,234,117,0, - 894,895,5,8,0,0,895,897,3,234,117,0,896,894,1,0,0,0,897,900,1,0,0,0,898, - 896,1,0,0,0,898,899,1,0,0,0,899,901,1,0,0,0,900,898,1,0,0,0,901,902,5, - 3,0,0,902,904,1,0,0,0,903,891,1,0,0,0,903,892,1,0,0,0,904,153,1,0,0,0, - 905,907,5,4,0,0,906,908,3,156,78,0,907,906,1,0,0,0,907,908,1,0,0,0,908, - 909,1,0,0,0,909,910,5,5,0,0,910,155,1,0,0,0,911,916,3,158,79,0,912,914, - 5,7,0,0,913,915,3,156,78,0,914,913,1,0,0,0,914,915,1,0,0,0,915,917,1, - 0,0,0,916,912,1,0,0,0,916,917,1,0,0,0,917,157,1,0,0,0,918,919,3,226,113, - 0,919,920,3,162,81,0,920,925,1,0,0,0,921,922,3,210,105,0,922,923,3,160, - 80,0,923,925,1,0,0,0,924,918,1,0,0,0,924,921,1,0,0,0,925,159,1,0,0,0, - 926,928,3,162,81,0,927,926,1,0,0,0,927,928,1,0,0,0,928,161,1,0,0,0,929, - 930,3,164,82,0,930,939,3,166,83,0,931,935,5,6,0,0,932,933,3,164,82,0, - 933,934,3,166,83,0,934,936,1,0,0,0,935,932,1,0,0,0,935,936,1,0,0,0,936, - 938,1,0,0,0,937,931,1,0,0,0,938,941,1,0,0,0,939,937,1,0,0,0,939,940,1, - 0,0,0,940,163,1,0,0,0,941,939,1,0,0,0,942,945,3,228,114,0,943,945,5,9, - 0,0,944,942,1,0,0,0,944,943,1,0,0,0,945,165,1,0,0,0,946,951,3,168,84, - 0,947,948,5,8,0,0,948,950,3,168,84,0,949,947,1,0,0,0,950,953,1,0,0,0, - 951,949,1,0,0,0,951,952,1,0,0,0,952,167,1,0,0,0,953,951,1,0,0,0,954,955, - 3,222,111,0,955,169,1,0,0,0,956,957,3,226,113,0,957,958,3,174,87,0,958, - 963,1,0,0,0,959,960,3,214,107,0,960,961,3,172,86,0,961,963,1,0,0,0,962, - 956,1,0,0,0,962,959,1,0,0,0,963,171,1,0,0,0,964,966,3,174,87,0,965,964, - 1,0,0,0,965,966,1,0,0,0,966,173,1,0,0,0,967,974,3,182,91,0,968,970,5, - 6,0,0,969,971,3,180,90,0,970,969,1,0,0,0,970,971,1,0,0,0,971,973,1,0, - 0,0,972,968,1,0,0,0,973,976,1,0,0,0,974,972,1,0,0,0,974,975,1,0,0,0,975, - 175,1,0,0,0,976,974,1,0,0,0,977,978,3,190,95,0,978,177,1,0,0,0,979,980, - 3,230,115,0,980,179,1,0,0,0,981,982,3,184,92,0,982,983,3,166,83,0,983, - 181,1,0,0,0,984,985,3,184,92,0,985,986,3,186,93,0,986,183,1,0,0,0,987, - 990,3,176,88,0,988,990,3,178,89,0,989,987,1,0,0,0,989,988,1,0,0,0,990, - 185,1,0,0,0,991,996,3,188,94,0,992,993,5,8,0,0,993,995,3,188,94,0,994, - 992,1,0,0,0,995,998,1,0,0,0,996,994,1,0,0,0,996,997,1,0,0,0,997,187,1, - 0,0,0,998,996,1,0,0,0,999,1000,3,224,112,0,1000,189,1,0,0,0,1001,1002, - 3,192,96,0,1002,191,1,0,0,0,1003,1008,3,194,97,0,1004,1005,5,10,0,0,1005, - 1007,3,194,97,0,1006,1004,1,0,0,0,1007,1010,1,0,0,0,1008,1006,1,0,0,0, - 1008,1009,1,0,0,0,1009,193,1,0,0,0,1010,1008,1,0,0,0,1011,1016,3,198, - 99,0,1012,1013,5,11,0,0,1013,1015,3,198,99,0,1014,1012,1,0,0,0,1015,1018, - 1,0,0,0,1016,1014,1,0,0,0,1016,1017,1,0,0,0,1017,195,1,0,0,0,1018,1016, - 1,0,0,0,1019,1021,3,202,101,0,1020,1022,3,200,100,0,1021,1020,1,0,0,0, - 1021,1022,1,0,0,0,1022,197,1,0,0,0,1023,1027,3,196,98,0,1024,1025,5,12, - 0,0,1025,1027,3,196,98,0,1026,1023,1,0,0,0,1026,1024,1,0,0,0,1027,199, - 1,0,0,0,1028,1029,7,2,0,0,1029,201,1,0,0,0,1030,1039,3,302,151,0,1031, - 1039,5,9,0,0,1032,1033,5,15,0,0,1033,1039,3,204,102,0,1034,1035,5,2,0, - 0,1035,1036,3,190,95,0,1036,1037,5,3,0,0,1037,1039,1,0,0,0,1038,1030, - 1,0,0,0,1038,1031,1,0,0,0,1038,1032,1,0,0,0,1038,1034,1,0,0,0,1039,203, - 1,0,0,0,1040,1054,3,206,103,0,1041,1050,5,2,0,0,1042,1047,3,206,103,0, - 1043,1044,5,10,0,0,1044,1046,3,206,103,0,1045,1043,1,0,0,0,1046,1049, - 1,0,0,0,1047,1045,1,0,0,0,1047,1048,1,0,0,0,1048,1051,1,0,0,0,1049,1047, - 1,0,0,0,1050,1042,1,0,0,0,1050,1051,1,0,0,0,1051,1052,1,0,0,0,1052,1054, - 5,3,0,0,1053,1040,1,0,0,0,1053,1041,1,0,0,0,1054,205,1,0,0,0,1055,1063, - 3,302,151,0,1056,1063,5,9,0,0,1057,1060,5,12,0,0,1058,1061,3,302,151, - 0,1059,1061,5,9,0,0,1060,1058,1,0,0,0,1060,1059,1,0,0,0,1061,1063,1,0, - 0,0,1062,1055,1,0,0,0,1062,1056,1,0,0,0,1062,1057,1,0,0,0,1063,207,1, - 0,0,0,1064,1065,5,150,0,0,1065,209,1,0,0,0,1066,1069,3,218,109,0,1067, - 1069,3,212,106,0,1068,1066,1,0,0,0,1068,1067,1,0,0,0,1069,211,1,0,0,0, - 1070,1071,5,16,0,0,1071,1072,3,162,81,0,1072,1073,5,17,0,0,1073,213,1, - 0,0,0,1074,1077,3,220,110,0,1075,1077,3,216,108,0,1076,1074,1,0,0,0,1076, - 1075,1,0,0,0,1077,215,1,0,0,0,1078,1079,5,16,0,0,1079,1080,3,174,87,0, - 1080,1081,5,17,0,0,1081,217,1,0,0,0,1082,1084,5,2,0,0,1083,1085,3,222, - 111,0,1084,1083,1,0,0,0,1085,1086,1,0,0,0,1086,1084,1,0,0,0,1086,1087, - 1,0,0,0,1087,1088,1,0,0,0,1088,1089,5,3,0,0,1089,219,1,0,0,0,1090,1092, - 5,2,0,0,1091,1093,3,224,112,0,1092,1091,1,0,0,0,1093,1094,1,0,0,0,1094, - 1092,1,0,0,0,1094,1095,1,0,0,0,1095,1096,1,0,0,0,1096,1097,5,3,0,0,1097, - 221,1,0,0,0,1098,1101,3,226,113,0,1099,1101,3,210,105,0,1100,1098,1,0, - 0,0,1100,1099,1,0,0,0,1101,223,1,0,0,0,1102,1105,3,226,113,0,1103,1105, - 3,214,107,0,1104,1102,1,0,0,0,1104,1103,1,0,0,0,1105,225,1,0,0,0,1106, - 1109,3,230,115,0,1107,1109,3,232,116,0,1108,1106,1,0,0,0,1108,1107,1, - 0,0,0,1109,227,1,0,0,0,1110,1113,3,230,115,0,1111,1113,3,302,151,0,1112, - 1110,1,0,0,0,1112,1111,1,0,0,0,1113,229,1,0,0,0,1114,1115,7,3,0,0,1115, - 231,1,0,0,0,1116,1123,3,302,151,0,1117,1123,3,288,144,0,1118,1123,3,290, - 145,0,1119,1123,3,298,149,0,1120,1123,3,306,153,0,1121,1123,5,165,0,0, - 1122,1116,1,0,0,0,1122,1117,1,0,0,0,1122,1118,1,0,0,0,1122,1119,1,0,0, - 0,1122,1120,1,0,0,0,1122,1121,1,0,0,0,1123,233,1,0,0,0,1124,1125,3,236, - 118,0,1125,235,1,0,0,0,1126,1131,3,238,119,0,1127,1128,5,18,0,0,1128, - 1130,3,238,119,0,1129,1127,1,0,0,0,1130,1133,1,0,0,0,1131,1129,1,0,0, - 0,1131,1132,1,0,0,0,1132,237,1,0,0,0,1133,1131,1,0,0,0,1134,1139,3,240, - 120,0,1135,1136,5,19,0,0,1136,1138,3,240,120,0,1137,1135,1,0,0,0,1138, - 1141,1,0,0,0,1139,1137,1,0,0,0,1139,1140,1,0,0,0,1140,239,1,0,0,0,1141, - 1139,1,0,0,0,1142,1143,3,242,121,0,1143,241,1,0,0,0,1144,1162,3,244,122, - 0,1145,1146,5,20,0,0,1146,1163,3,244,122,0,1147,1148,5,21,0,0,1148,1163, - 3,244,122,0,1149,1150,5,22,0,0,1150,1163,3,244,122,0,1151,1152,5,23,0, - 0,1152,1163,3,244,122,0,1153,1154,5,24,0,0,1154,1163,3,244,122,0,1155, - 1156,5,25,0,0,1156,1163,3,244,122,0,1157,1158,5,79,0,0,1158,1163,3,152, - 76,0,1159,1160,5,78,0,0,1160,1161,5,79,0,0,1161,1163,3,152,76,0,1162, - 1145,1,0,0,0,1162,1147,1,0,0,0,1162,1149,1,0,0,0,1162,1151,1,0,0,0,1162, - 1153,1,0,0,0,1162,1155,1,0,0,0,1162,1157,1,0,0,0,1162,1159,1,0,0,0,1162, - 1163,1,0,0,0,1163,243,1,0,0,0,1164,1165,3,246,123,0,1165,245,1,0,0,0, - 1166,1170,3,256,128,0,1167,1169,3,248,124,0,1168,1167,1,0,0,0,1169,1172, - 1,0,0,0,1170,1168,1,0,0,0,1170,1171,1,0,0,0,1171,247,1,0,0,0,1172,1170, - 1,0,0,0,1173,1174,5,13,0,0,1174,1179,3,250,125,0,1175,1176,5,26,0,0,1176, - 1179,3,252,126,0,1177,1179,3,254,127,0,1178,1173,1,0,0,0,1178,1175,1, - 0,0,0,1178,1177,1,0,0,0,1179,249,1,0,0,0,1180,1181,3,256,128,0,1181,251, - 1,0,0,0,1182,1183,3,256,128,0,1183,253,1,0,0,0,1184,1187,3,294,147,0, - 1185,1187,3,296,148,0,1186,1184,1,0,0,0,1186,1185,1,0,0,0,1187,1191,1, - 0,0,0,1188,1190,3,258,129,0,1189,1188,1,0,0,0,1190,1193,1,0,0,0,1191, - 1189,1,0,0,0,1191,1192,1,0,0,0,1192,255,1,0,0,0,1193,1191,1,0,0,0,1194, - 1198,3,264,132,0,1195,1197,3,258,129,0,1196,1195,1,0,0,0,1197,1200,1, - 0,0,0,1198,1196,1,0,0,0,1198,1199,1,0,0,0,1199,257,1,0,0,0,1200,1198, - 1,0,0,0,1201,1204,3,260,130,0,1202,1204,3,262,131,0,1203,1201,1,0,0,0, - 1203,1202,1,0,0,0,1204,259,1,0,0,0,1205,1206,5,1,0,0,1206,1207,3,264, - 132,0,1207,261,1,0,0,0,1208,1209,5,11,0,0,1209,1210,3,264,132,0,1210, - 263,1,0,0,0,1211,1212,5,15,0,0,1212,1219,3,266,133,0,1213,1214,5,13,0, - 0,1214,1219,3,266,133,0,1215,1216,5,26,0,0,1216,1219,3,266,133,0,1217, - 1219,3,266,133,0,1218,1211,1,0,0,0,1218,1213,1,0,0,0,1218,1215,1,0,0, - 0,1218,1217,1,0,0,0,1219,265,1,0,0,0,1220,1228,3,268,134,0,1221,1228, - 3,270,135,0,1222,1228,3,286,143,0,1223,1228,3,288,144,0,1224,1228,3,290, - 145,0,1225,1228,3,298,149,0,1226,1228,3,230,115,0,1227,1220,1,0,0,0,1227, - 1221,1,0,0,0,1227,1222,1,0,0,0,1227,1223,1,0,0,0,1227,1224,1,0,0,0,1227, - 1225,1,0,0,0,1227,1226,1,0,0,0,1228,267,1,0,0,0,1229,1230,5,2,0,0,1230, - 1231,3,234,117,0,1231,1232,5,3,0,0,1232,269,1,0,0,0,1233,1488,3,284,142, - 0,1234,1235,5,80,0,0,1235,1236,5,2,0,0,1236,1237,3,234,117,0,1237,1238, - 5,3,0,0,1238,1488,1,0,0,0,1239,1488,3,274,137,0,1240,1241,5,82,0,0,1241, - 1242,5,2,0,0,1242,1243,3,234,117,0,1243,1244,5,8,0,0,1244,1245,3,234, - 117,0,1245,1246,5,3,0,0,1246,1488,1,0,0,0,1247,1248,5,83,0,0,1248,1249, - 5,2,0,0,1249,1250,3,234,117,0,1250,1251,5,3,0,0,1251,1488,1,0,0,0,1252, - 1253,5,84,0,0,1253,1254,5,2,0,0,1254,1255,3,230,115,0,1255,1256,5,3,0, - 0,1256,1488,1,0,0,0,1257,1258,5,85,0,0,1258,1259,5,2,0,0,1259,1260,3, - 234,117,0,1260,1261,5,3,0,0,1261,1488,1,0,0,0,1262,1263,5,86,0,0,1263, - 1264,5,2,0,0,1264,1265,3,234,117,0,1265,1266,5,3,0,0,1266,1488,1,0,0, - 0,1267,1273,5,87,0,0,1268,1269,5,2,0,0,1269,1270,3,234,117,0,1270,1271, - 5,3,0,0,1271,1274,1,0,0,0,1272,1274,5,165,0,0,1273,1268,1,0,0,0,1273, - 1272,1,0,0,0,1274,1488,1,0,0,0,1275,1276,5,88,0,0,1276,1488,5,165,0,0, - 1277,1278,5,89,0,0,1278,1279,5,2,0,0,1279,1280,3,234,117,0,1280,1281, - 5,3,0,0,1281,1488,1,0,0,0,1282,1283,5,90,0,0,1283,1284,5,2,0,0,1284,1285, - 3,234,117,0,1285,1286,5,3,0,0,1286,1488,1,0,0,0,1287,1288,5,91,0,0,1288, - 1289,5,2,0,0,1289,1290,3,234,117,0,1290,1291,5,3,0,0,1291,1488,1,0,0, - 0,1292,1293,5,92,0,0,1293,1294,5,2,0,0,1294,1295,3,234,117,0,1295,1296, - 5,3,0,0,1296,1488,1,0,0,0,1297,1298,5,93,0,0,1298,1488,3,152,76,0,1299, - 1488,3,276,138,0,1300,1301,5,94,0,0,1301,1302,5,2,0,0,1302,1303,3,234, - 117,0,1303,1304,5,3,0,0,1304,1488,1,0,0,0,1305,1488,3,278,139,0,1306, - 1307,5,95,0,0,1307,1308,5,2,0,0,1308,1309,3,234,117,0,1309,1310,5,3,0, - 0,1310,1488,1,0,0,0,1311,1312,5,96,0,0,1312,1313,5,2,0,0,1313,1314,3, - 234,117,0,1314,1315,5,3,0,0,1315,1488,1,0,0,0,1316,1317,5,97,0,0,1317, - 1318,5,2,0,0,1318,1319,3,234,117,0,1319,1320,5,3,0,0,1320,1488,1,0,0, - 0,1321,1322,5,99,0,0,1322,1323,5,2,0,0,1323,1324,3,234,117,0,1324,1325, - 5,8,0,0,1325,1326,3,234,117,0,1326,1327,5,3,0,0,1327,1488,1,0,0,0,1328, - 1329,5,100,0,0,1329,1330,5,2,0,0,1330,1331,3,234,117,0,1331,1332,5,8, - 0,0,1332,1333,3,234,117,0,1333,1334,5,3,0,0,1334,1488,1,0,0,0,1335,1336, - 5,101,0,0,1336,1337,5,2,0,0,1337,1338,3,234,117,0,1338,1339,5,8,0,0,1339, - 1340,3,234,117,0,1340,1341,5,3,0,0,1341,1488,1,0,0,0,1342,1343,5,102, - 0,0,1343,1344,5,2,0,0,1344,1345,3,234,117,0,1345,1346,5,8,0,0,1346,1347, - 3,234,117,0,1347,1348,5,3,0,0,1348,1488,1,0,0,0,1349,1350,5,103,0,0,1350, - 1351,5,2,0,0,1351,1352,3,234,117,0,1352,1353,5,8,0,0,1353,1354,3,234, - 117,0,1354,1355,5,3,0,0,1355,1488,1,0,0,0,1356,1357,5,104,0,0,1357,1358, - 5,2,0,0,1358,1359,3,234,117,0,1359,1360,5,3,0,0,1360,1488,1,0,0,0,1361, - 1362,5,105,0,0,1362,1363,5,2,0,0,1363,1364,3,234,117,0,1364,1365,5,3, - 0,0,1365,1488,1,0,0,0,1366,1367,5,106,0,0,1367,1368,5,2,0,0,1368,1369, - 3,234,117,0,1369,1370,5,3,0,0,1370,1488,1,0,0,0,1371,1372,5,107,0,0,1372, - 1373,5,2,0,0,1373,1374,3,234,117,0,1374,1375,5,3,0,0,1375,1488,1,0,0, - 0,1376,1377,5,108,0,0,1377,1378,5,2,0,0,1378,1379,3,234,117,0,1379,1380, - 5,3,0,0,1380,1488,1,0,0,0,1381,1382,5,109,0,0,1382,1383,5,2,0,0,1383, - 1384,3,234,117,0,1384,1385,5,3,0,0,1385,1488,1,0,0,0,1386,1387,5,110, - 0,0,1387,1388,5,2,0,0,1388,1389,3,234,117,0,1389,1390,5,3,0,0,1390,1488, - 1,0,0,0,1391,1392,5,111,0,0,1392,1393,5,2,0,0,1393,1394,3,234,117,0,1394, - 1395,5,3,0,0,1395,1488,1,0,0,0,1396,1397,5,112,0,0,1397,1488,5,165,0, - 0,1398,1399,5,113,0,0,1399,1488,5,165,0,0,1400,1401,5,114,0,0,1401,1488, - 5,165,0,0,1402,1403,5,119,0,0,1403,1404,5,2,0,0,1404,1405,3,234,117,0, - 1405,1406,5,3,0,0,1406,1488,1,0,0,0,1407,1408,5,115,0,0,1408,1409,5,2, - 0,0,1409,1410,3,234,117,0,1410,1411,5,3,0,0,1411,1488,1,0,0,0,1412,1413, - 5,116,0,0,1413,1414,5,2,0,0,1414,1415,3,234,117,0,1415,1416,5,3,0,0,1416, - 1488,1,0,0,0,1417,1418,5,117,0,0,1418,1419,5,2,0,0,1419,1420,3,234,117, - 0,1420,1421,5,3,0,0,1421,1488,1,0,0,0,1422,1423,5,118,0,0,1423,1424,5, - 2,0,0,1424,1425,3,234,117,0,1425,1426,5,3,0,0,1426,1488,1,0,0,0,1427, - 1428,5,120,0,0,1428,1488,3,152,76,0,1429,1430,5,121,0,0,1430,1431,5,2, - 0,0,1431,1432,3,234,117,0,1432,1433,5,8,0,0,1433,1434,3,234,117,0,1434, - 1435,5,8,0,0,1435,1436,3,234,117,0,1436,1437,5,3,0,0,1437,1488,1,0,0, - 0,1438,1439,5,122,0,0,1439,1440,5,2,0,0,1440,1441,3,234,117,0,1441,1442, - 5,8,0,0,1442,1443,3,234,117,0,1443,1444,5,3,0,0,1444,1488,1,0,0,0,1445, - 1446,5,123,0,0,1446,1447,5,2,0,0,1447,1448,3,234,117,0,1448,1449,5,8, - 0,0,1449,1450,3,234,117,0,1450,1451,5,3,0,0,1451,1488,1,0,0,0,1452,1453, - 5,124,0,0,1453,1454,5,2,0,0,1454,1455,3,234,117,0,1455,1456,5,8,0,0,1456, - 1457,3,234,117,0,1457,1458,5,3,0,0,1458,1488,1,0,0,0,1459,1460,5,125, - 0,0,1460,1461,5,2,0,0,1461,1462,3,234,117,0,1462,1463,5,3,0,0,1463,1488, - 1,0,0,0,1464,1465,5,126,0,0,1465,1466,5,2,0,0,1466,1467,3,234,117,0,1467, - 1468,5,3,0,0,1468,1488,1,0,0,0,1469,1470,5,127,0,0,1470,1471,5,2,0,0, - 1471,1472,3,234,117,0,1472,1473,5,3,0,0,1473,1488,1,0,0,0,1474,1475,5, - 128,0,0,1475,1476,5,2,0,0,1476,1477,3,234,117,0,1477,1478,5,3,0,0,1478, - 1488,1,0,0,0,1479,1480,5,129,0,0,1480,1481,5,2,0,0,1481,1482,3,234,117, - 0,1482,1483,5,3,0,0,1483,1488,1,0,0,0,1484,1488,3,272,136,0,1485,1488, - 3,280,140,0,1486,1488,3,282,141,0,1487,1233,1,0,0,0,1487,1234,1,0,0,0, - 1487,1239,1,0,0,0,1487,1240,1,0,0,0,1487,1247,1,0,0,0,1487,1252,1,0,0, - 0,1487,1257,1,0,0,0,1487,1262,1,0,0,0,1487,1267,1,0,0,0,1487,1275,1,0, - 0,0,1487,1277,1,0,0,0,1487,1282,1,0,0,0,1487,1287,1,0,0,0,1487,1292,1, - 0,0,0,1487,1297,1,0,0,0,1487,1299,1,0,0,0,1487,1300,1,0,0,0,1487,1305, - 1,0,0,0,1487,1306,1,0,0,0,1487,1311,1,0,0,0,1487,1316,1,0,0,0,1487,1321, - 1,0,0,0,1487,1328,1,0,0,0,1487,1335,1,0,0,0,1487,1342,1,0,0,0,1487,1349, - 1,0,0,0,1487,1356,1,0,0,0,1487,1361,1,0,0,0,1487,1366,1,0,0,0,1487,1371, - 1,0,0,0,1487,1376,1,0,0,0,1487,1381,1,0,0,0,1487,1386,1,0,0,0,1487,1391, - 1,0,0,0,1487,1396,1,0,0,0,1487,1398,1,0,0,0,1487,1400,1,0,0,0,1487,1402, - 1,0,0,0,1487,1407,1,0,0,0,1487,1412,1,0,0,0,1487,1417,1,0,0,0,1487,1422, - 1,0,0,0,1487,1427,1,0,0,0,1487,1429,1,0,0,0,1487,1438,1,0,0,0,1487,1445, - 1,0,0,0,1487,1452,1,0,0,0,1487,1459,1,0,0,0,1487,1464,1,0,0,0,1487,1469, - 1,0,0,0,1487,1474,1,0,0,0,1487,1479,1,0,0,0,1487,1484,1,0,0,0,1487,1485, - 1,0,0,0,1487,1486,1,0,0,0,1488,271,1,0,0,0,1489,1490,5,130,0,0,1490,1491, - 5,2,0,0,1491,1492,3,234,117,0,1492,1493,5,8,0,0,1493,1496,3,234,117,0, - 1494,1495,5,8,0,0,1495,1497,3,234,117,0,1496,1494,1,0,0,0,1496,1497,1, - 0,0,0,1497,1498,1,0,0,0,1498,1499,5,3,0,0,1499,273,1,0,0,0,1500,1501, - 5,81,0,0,1501,1502,5,2,0,0,1502,1503,3,234,117,0,1503,1504,5,3,0,0,1504, - 275,1,0,0,0,1505,1506,5,131,0,0,1506,1507,5,2,0,0,1507,1508,3,234,117, - 0,1508,1509,5,8,0,0,1509,1512,3,234,117,0,1510,1511,5,8,0,0,1511,1513, - 3,234,117,0,1512,1510,1,0,0,0,1512,1513,1,0,0,0,1513,1514,1,0,0,0,1514, - 1515,5,3,0,0,1515,277,1,0,0,0,1516,1517,5,132,0,0,1517,1518,5,2,0,0,1518, - 1519,3,234,117,0,1519,1520,5,8,0,0,1520,1521,3,234,117,0,1521,1522,5, - 8,0,0,1522,1525,3,234,117,0,1523,1524,5,8,0,0,1524,1526,3,234,117,0,1525, - 1523,1,0,0,0,1525,1526,1,0,0,0,1526,1527,1,0,0,0,1527,1528,5,3,0,0,1528, - 279,1,0,0,0,1529,1530,5,133,0,0,1530,1531,3,110,55,0,1531,281,1,0,0,0, - 1532,1533,5,78,0,0,1533,1534,5,133,0,0,1534,1535,3,110,55,0,1535,283, - 1,0,0,0,1536,1537,5,134,0,0,1537,1539,5,2,0,0,1538,1540,5,33,0,0,1539, - 1538,1,0,0,0,1539,1540,1,0,0,0,1540,1543,1,0,0,0,1541,1544,5,1,0,0,1542, - 1544,3,234,117,0,1543,1541,1,0,0,0,1543,1542,1,0,0,0,1544,1545,1,0,0, - 0,1545,1609,5,3,0,0,1546,1547,5,135,0,0,1547,1549,5,2,0,0,1548,1550,5, - 33,0,0,1549,1548,1,0,0,0,1549,1550,1,0,0,0,1550,1551,1,0,0,0,1551,1552, - 3,234,117,0,1552,1553,5,3,0,0,1553,1609,1,0,0,0,1554,1555,5,136,0,0,1555, - 1557,5,2,0,0,1556,1558,5,33,0,0,1557,1556,1,0,0,0,1557,1558,1,0,0,0,1558, - 1559,1,0,0,0,1559,1560,3,234,117,0,1560,1561,5,3,0,0,1561,1609,1,0,0, - 0,1562,1563,5,137,0,0,1563,1565,5,2,0,0,1564,1566,5,33,0,0,1565,1564, - 1,0,0,0,1565,1566,1,0,0,0,1566,1567,1,0,0,0,1567,1568,3,234,117,0,1568, - 1569,5,3,0,0,1569,1609,1,0,0,0,1570,1571,5,138,0,0,1571,1573,5,2,0,0, - 1572,1574,5,33,0,0,1573,1572,1,0,0,0,1573,1574,1,0,0,0,1574,1575,1,0, - 0,0,1575,1576,3,234,117,0,1576,1577,5,3,0,0,1577,1609,1,0,0,0,1578,1579, - 5,139,0,0,1579,1581,5,2,0,0,1580,1582,5,33,0,0,1581,1580,1,0,0,0,1581, - 1582,1,0,0,0,1582,1583,1,0,0,0,1583,1584,3,234,117,0,1584,1585,5,3,0, - 0,1585,1609,1,0,0,0,1586,1587,5,140,0,0,1587,1589,5,2,0,0,1588,1590,5, - 33,0,0,1589,1588,1,0,0,0,1589,1590,1,0,0,0,1590,1591,1,0,0,0,1591,1592, - 3,234,117,0,1592,1593,5,3,0,0,1593,1609,1,0,0,0,1594,1595,5,43,0,0,1595, - 1597,5,2,0,0,1596,1598,5,33,0,0,1597,1596,1,0,0,0,1597,1598,1,0,0,0,1598, - 1599,1,0,0,0,1599,1604,3,234,117,0,1600,1601,5,6,0,0,1601,1602,5,141, - 0,0,1602,1603,5,20,0,0,1603,1605,3,300,150,0,1604,1600,1,0,0,0,1604,1605, - 1,0,0,0,1605,1606,1,0,0,0,1606,1607,5,3,0,0,1607,1609,1,0,0,0,1608,1536, - 1,0,0,0,1608,1546,1,0,0,0,1608,1554,1,0,0,0,1608,1562,1,0,0,0,1608,1570, - 1,0,0,0,1608,1578,1,0,0,0,1608,1586,1,0,0,0,1608,1594,1,0,0,0,1609,285, - 1,0,0,0,1610,1612,3,302,151,0,1611,1613,3,150,75,0,1612,1611,1,0,0,0, - 1612,1613,1,0,0,0,1613,287,1,0,0,0,1614,1618,3,300,150,0,1615,1619,5, - 148,0,0,1616,1617,5,27,0,0,1617,1619,3,302,151,0,1618,1615,1,0,0,0,1618, - 1616,1,0,0,0,1618,1619,1,0,0,0,1619,289,1,0,0,0,1620,1624,3,292,146,0, - 1621,1624,3,294,147,0,1622,1624,3,296,148,0,1623,1620,1,0,0,0,1623,1621, - 1,0,0,0,1623,1622,1,0,0,0,1624,291,1,0,0,0,1625,1626,7,4,0,0,1626,293, - 1,0,0,0,1627,1628,7,5,0,0,1628,295,1,0,0,0,1629,1630,7,6,0,0,1630,297, - 1,0,0,0,1631,1632,7,7,0,0,1632,299,1,0,0,0,1633,1634,7,8,0,0,1634,301, - 1,0,0,0,1635,1637,5,149,0,0,1636,1635,1,0,0,0,1636,1637,1,0,0,0,1637, - 1640,1,0,0,0,1638,1641,3,308,154,0,1639,1641,3,304,152,0,1640,1638,1, - 0,0,0,1640,1639,1,0,0,0,1641,303,1,0,0,0,1642,1645,3,310,155,0,1643,1645, - 3,312,156,0,1644,1642,1,0,0,0,1644,1643,1,0,0,0,1645,305,1,0,0,0,1646, - 1647,7,9,0,0,1647,307,1,0,0,0,1648,1649,5,142,0,0,1649,309,1,0,0,0,1650, - 1651,5,144,0,0,1651,311,1,0,0,0,1652,1653,5,143,0,0,1653,313,1,0,0,0, - 162,316,325,331,333,347,360,365,368,372,387,396,402,406,412,415,420,424, - 432,441,451,456,459,462,465,471,479,484,490,496,501,507,509,513,516,520, - 523,527,530,534,537,541,544,548,551,553,566,572,574,587,591,596,600,606, - 612,618,626,634,654,658,661,666,682,687,696,707,711,714,718,725,732,734, - 739,744,749,754,757,762,764,774,785,802,809,819,823,829,838,843,850,860, - 869,877,884,889,898,903,907,914,916,924,927,935,939,944,951,962,965,970, - 974,989,996,1008,1016,1021,1026,1038,1047,1050,1053,1060,1062,1068,1076, - 1086,1094,1100,1104,1108,1112,1122,1131,1139,1162,1170,1178,1186,1191, - 1198,1203,1218,1227,1273,1487,1496,1512,1525,1539,1543,1549,1557,1565, - 1573,1581,1589,1597,1604,1608,1612,1618,1623,1636,1640,1644 - }; - staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); + 4, 1, 176, 1655, 2, 0, 7, 0, 2, 1, 7, 1, + 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, + 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, + 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, + 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, + 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, + 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, + 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, + 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, + 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, + 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, + 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, + 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, + 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, + 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, + 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, + 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, + 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, + 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, + 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, + 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, + 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, + 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, + 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, + 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, + 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, + 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, + 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, + 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, + 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, + 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, + 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, + 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, + 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, + 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, + 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, + 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, + 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, + 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, + 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, + 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, + 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, + 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, + 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, + 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, + 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, + 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, + 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, + 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, + 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, + 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, + 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, + 2, 155, 7, 155, 2, 156, 7, 156, 1, 0, 1, 0, + 3, 0, 317, 8, 0, 1, 0, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 1, 326, 8, 1, + 1, 1, 1, 1, 1, 2, 1, 2, 5, 2, 332, 8, + 2, 10, 2, 12, 2, 335, 9, 2, 1, 3, 1, 3, + 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, + 1, 5, 5, 5, 346, 8, 5, 10, 5, 12, 5, 349, + 9, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, + 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 3, 7, + 361, 8, 7, 1, 7, 4, 7, 364, 8, 7, 11, 7, + 12, 7, 365, 1, 7, 3, 7, 369, 8, 7, 1, 8, + 1, 8, 3, 8, 373, 8, 8, 1, 9, 1, 9, 1, + 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, + 11, 1, 11, 1, 11, 5, 11, 386, 8, 11, 10, 11, + 12, 11, 389, 9, 11, 1, 11, 1, 11, 1, 11, 1, + 11, 5, 11, 395, 8, 11, 10, 11, 12, 11, 398, 9, + 11, 1, 11, 1, 11, 1, 11, 3, 11, 403, 8, 11, + 1, 11, 1, 11, 3, 11, 407, 8, 11, 1, 12, 1, + 12, 4, 12, 411, 8, 12, 11, 12, 12, 12, 412, 1, + 12, 3, 12, 416, 8, 12, 1, 12, 5, 12, 419, 8, + 12, 10, 12, 12, 12, 422, 9, 12, 1, 12, 3, 12, + 425, 8, 12, 1, 12, 1, 12, 1, 13, 1, 13, 5, + 13, 431, 8, 13, 10, 13, 12, 13, 434, 9, 13, 1, + 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 3, + 14, 442, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, + 1, 16, 1, 17, 1, 17, 1, 18, 3, 18, 452, 8, + 18, 1, 18, 1, 18, 1, 19, 3, 19, 457, 8, 19, + 1, 19, 3, 19, 460, 8, 19, 1, 19, 3, 19, 463, + 8, 19, 1, 19, 3, 19, 466, 8, 19, 1, 20, 1, + 20, 4, 20, 470, 8, 20, 11, 20, 12, 20, 471, 1, + 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 3, + 21, 480, 8, 21, 1, 21, 1, 21, 1, 21, 3, 21, + 485, 8, 21, 1, 22, 1, 22, 4, 22, 489, 8, 22, + 11, 22, 12, 22, 490, 1, 23, 1, 23, 1, 24, 1, + 24, 3, 24, 497, 8, 24, 1, 24, 4, 24, 500, 8, + 24, 11, 24, 12, 24, 501, 1, 25, 1, 25, 1, 25, + 1, 25, 3, 25, 508, 8, 25, 3, 25, 510, 8, 25, + 1, 26, 1, 26, 3, 26, 514, 8, 26, 1, 26, 3, + 26, 517, 8, 26, 1, 26, 1, 26, 3, 26, 521, 8, + 26, 1, 26, 3, 26, 524, 8, 26, 1, 26, 1, 26, + 3, 26, 528, 8, 26, 1, 26, 3, 26, 531, 8, 26, + 1, 26, 1, 26, 3, 26, 535, 8, 26, 1, 26, 3, + 26, 538, 8, 26, 1, 26, 1, 26, 3, 26, 542, 8, + 26, 1, 26, 3, 26, 545, 8, 26, 1, 26, 1, 26, + 3, 26, 549, 8, 26, 1, 26, 3, 26, 552, 8, 26, + 3, 26, 554, 8, 26, 1, 27, 1, 27, 1, 27, 1, + 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, + 30, 1, 30, 3, 30, 567, 8, 30, 1, 31, 1, 31, + 1, 31, 1, 31, 3, 31, 573, 8, 31, 3, 31, 575, + 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, + 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, + 3, 32, 588, 8, 32, 1, 33, 1, 33, 3, 33, 592, + 8, 33, 1, 33, 1, 33, 1, 33, 3, 33, 597, 8, + 33, 1, 34, 1, 34, 3, 34, 601, 8, 34, 1, 34, + 1, 34, 1, 35, 1, 35, 3, 35, 607, 8, 35, 1, + 35, 1, 35, 1, 36, 1, 36, 3, 36, 613, 8, 36, + 1, 36, 1, 36, 1, 37, 1, 37, 3, 37, 619, 8, + 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, + 38, 3, 38, 627, 8, 38, 1, 38, 1, 38, 1, 38, + 1, 38, 1, 39, 1, 39, 3, 39, 635, 8, 39, 1, + 39, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, + 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, + 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 3, + 43, 655, 8, 43, 1, 43, 1, 43, 3, 43, 659, 8, + 43, 1, 43, 3, 43, 662, 8, 43, 1, 43, 5, 43, + 665, 8, 43, 10, 43, 12, 43, 668, 9, 43, 1, 43, + 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 45, + 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, + 3, 46, 683, 8, 46, 1, 47, 1, 47, 1, 47, 3, + 47, 688, 8, 47, 1, 48, 1, 48, 1, 48, 1, 49, + 1, 49, 1, 49, 1, 49, 3, 49, 697, 8, 49, 1, + 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, + 51, 1, 51, 1, 52, 3, 52, 708, 8, 52, 1, 52, + 1, 52, 3, 52, 712, 8, 52, 1, 52, 3, 52, 715, + 8, 52, 5, 52, 717, 8, 52, 10, 52, 12, 52, 720, + 9, 52, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, + 726, 8, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, + 54, 3, 54, 733, 8, 54, 3, 54, 735, 8, 54, 1, + 55, 1, 55, 1, 55, 3, 55, 740, 8, 55, 1, 55, + 1, 55, 1, 56, 3, 56, 745, 8, 56, 1, 56, 5, + 56, 748, 8, 56, 10, 56, 12, 56, 751, 9, 56, 1, + 57, 1, 57, 3, 57, 755, 8, 57, 1, 57, 3, 57, + 758, 8, 57, 1, 58, 1, 58, 1, 58, 3, 58, 763, + 8, 58, 3, 58, 765, 8, 58, 1, 59, 1, 59, 1, + 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 3, + 59, 775, 8, 59, 1, 60, 1, 60, 1, 60, 1, 61, + 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 3, 62, + 786, 8, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, + 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, + 64, 1, 64, 1, 64, 1, 65, 1, 65, 3, 65, 803, + 8, 65, 1, 66, 1, 66, 1, 66, 5, 66, 808, 8, + 66, 10, 66, 12, 66, 811, 9, 66, 1, 66, 1, 66, + 1, 67, 1, 67, 1, 67, 5, 67, 818, 8, 67, 10, + 67, 12, 67, 821, 9, 67, 1, 67, 3, 67, 824, 8, + 67, 1, 67, 1, 67, 5, 67, 828, 8, 67, 10, 67, + 12, 67, 831, 9, 67, 1, 67, 1, 67, 1, 68, 1, + 68, 5, 68, 837, 8, 68, 10, 68, 12, 68, 840, 9, + 68, 1, 68, 1, 68, 3, 68, 844, 8, 68, 1, 69, + 1, 69, 1, 69, 1, 69, 1, 69, 3, 69, 851, 8, + 69, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, + 71, 5, 71, 859, 8, 71, 10, 71, 12, 71, 862, 9, + 71, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, + 73, 3, 73, 870, 8, 73, 1, 74, 1, 74, 1, 74, + 1, 75, 1, 75, 1, 75, 3, 75, 878, 8, 75, 1, + 75, 1, 75, 1, 75, 5, 75, 883, 8, 75, 10, 75, + 12, 75, 886, 9, 75, 1, 75, 1, 75, 3, 75, 890, + 8, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, + 5, 76, 897, 8, 76, 10, 76, 12, 76, 900, 9, 76, + 1, 76, 1, 76, 3, 76, 904, 8, 76, 1, 77, 1, + 77, 3, 77, 908, 8, 77, 1, 77, 1, 77, 1, 78, + 1, 78, 1, 78, 3, 78, 915, 8, 78, 3, 78, 917, + 8, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, + 1, 79, 3, 79, 925, 8, 79, 1, 80, 3, 80, 928, + 8, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, + 1, 81, 3, 81, 936, 8, 81, 5, 81, 938, 8, 81, + 10, 81, 12, 81, 941, 9, 81, 1, 82, 1, 82, 3, + 82, 945, 8, 82, 1, 83, 1, 83, 1, 83, 5, 83, + 950, 8, 83, 10, 83, 12, 83, 953, 9, 83, 1, 84, + 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 85, + 1, 85, 3, 85, 963, 8, 85, 1, 86, 3, 86, 966, + 8, 86, 1, 87, 1, 87, 1, 87, 3, 87, 971, 8, + 87, 5, 87, 973, 8, 87, 10, 87, 12, 87, 976, 9, + 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, + 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 92, 1, + 92, 3, 92, 990, 8, 92, 1, 93, 1, 93, 1, 93, + 5, 93, 995, 8, 93, 10, 93, 12, 93, 998, 9, 93, + 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, + 1, 96, 5, 96, 1007, 8, 96, 10, 96, 12, 96, 1010, + 9, 96, 1, 97, 1, 97, 1, 97, 5, 97, 1015, 8, + 97, 10, 97, 12, 97, 1018, 9, 97, 1, 98, 1, 98, + 3, 98, 1022, 8, 98, 1, 99, 1, 99, 1, 99, 3, + 99, 1027, 8, 99, 1, 100, 1, 100, 1, 101, 1, 101, + 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, + 3, 101, 1039, 8, 101, 1, 102, 1, 102, 1, 102, 1, + 102, 1, 102, 5, 102, 1046, 8, 102, 10, 102, 12, 102, + 1049, 9, 102, 3, 102, 1051, 8, 102, 1, 102, 3, 102, + 1054, 8, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, + 103, 3, 103, 1061, 8, 103, 3, 103, 1063, 8, 103, 1, + 104, 1, 104, 1, 105, 1, 105, 3, 105, 1069, 8, 105, + 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, + 3, 107, 1077, 8, 107, 1, 108, 1, 108, 1, 108, 1, + 108, 1, 109, 1, 109, 4, 109, 1085, 8, 109, 11, 109, + 12, 109, 1086, 1, 109, 1, 109, 1, 110, 1, 110, 4, + 110, 1093, 8, 110, 11, 110, 12, 110, 1094, 1, 110, 1, + 110, 1, 111, 1, 111, 3, 111, 1101, 8, 111, 1, 112, + 1, 112, 3, 112, 1105, 8, 112, 1, 113, 1, 113, 3, + 113, 1109, 8, 113, 1, 114, 1, 114, 3, 114, 1113, 8, + 114, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, + 116, 1, 116, 1, 116, 3, 116, 1123, 8, 116, 1, 117, + 1, 117, 1, 118, 1, 118, 1, 118, 5, 118, 1130, 8, + 118, 10, 118, 12, 118, 1133, 9, 118, 1, 119, 1, 119, + 1, 119, 5, 119, 1138, 8, 119, 10, 119, 12, 119, 1141, + 9, 119, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, + 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, + 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, + 1, 121, 1, 121, 1, 121, 3, 121, 1163, 8, 121, 1, + 122, 1, 122, 1, 123, 1, 123, 5, 123, 1169, 8, 123, + 10, 123, 12, 123, 1172, 9, 123, 1, 124, 1, 124, 1, + 124, 1, 124, 1, 124, 3, 124, 1179, 8, 124, 1, 125, + 1, 125, 1, 126, 1, 126, 1, 127, 1, 127, 3, 127, + 1187, 8, 127, 1, 127, 5, 127, 1190, 8, 127, 10, 127, + 12, 127, 1193, 9, 127, 1, 128, 1, 128, 5, 128, 1197, + 8, 128, 10, 128, 12, 128, 1200, 9, 128, 1, 129, 1, + 129, 3, 129, 1204, 8, 129, 1, 130, 1, 130, 1, 130, + 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, + 1, 132, 1, 132, 1, 132, 1, 132, 3, 132, 1219, 8, + 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, + 133, 1, 133, 3, 133, 1228, 8, 133, 1, 134, 1, 134, + 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, + 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, + 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, + 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, + 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, + 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, + 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, + 3, 135, 1274, 8, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, + 135, 1, 135, 1, 135, 1, 135, 1, 135, 3, 135, 1488, + 8, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, + 1, 136, 1, 136, 3, 136, 1497, 8, 136, 1, 136, 1, + 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, + 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, 138, 1, + 138, 3, 138, 1513, 8, 138, 1, 138, 1, 138, 1, 139, + 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, 1, 139, + 1, 139, 1, 139, 3, 139, 1526, 8, 139, 1, 139, 1, + 139, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, + 141, 1, 141, 1, 142, 1, 142, 1, 142, 3, 142, 1540, + 8, 142, 1, 142, 1, 142, 3, 142, 1544, 8, 142, 1, + 142, 1, 142, 1, 142, 1, 142, 3, 142, 1550, 8, 142, + 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, + 3, 142, 1558, 8, 142, 1, 142, 1, 142, 1, 142, 1, + 142, 1, 142, 1, 142, 3, 142, 1566, 8, 142, 1, 142, + 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, + 1574, 8, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, + 142, 1, 142, 3, 142, 1582, 8, 142, 1, 142, 1, 142, + 1, 142, 1, 142, 1, 142, 1, 142, 3, 142, 1590, 8, + 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, 142, 1, + 142, 3, 142, 1598, 8, 142, 1, 142, 1, 142, 1, 142, + 1, 142, 1, 142, 3, 142, 1605, 8, 142, 1, 142, 1, + 142, 3, 142, 1609, 8, 142, 1, 143, 1, 143, 3, 143, + 1613, 8, 143, 1, 144, 1, 144, 1, 144, 1, 144, 3, + 144, 1619, 8, 144, 1, 145, 1, 145, 1, 145, 3, 145, + 1624, 8, 145, 1, 146, 1, 146, 1, 147, 1, 147, 1, + 148, 1, 148, 1, 149, 1, 149, 1, 150, 1, 150, 1, + 151, 3, 151, 1637, 8, 151, 1, 151, 1, 151, 3, 151, + 1641, 8, 151, 1, 152, 1, 152, 3, 152, 1645, 8, 152, + 1, 153, 1, 153, 1, 154, 1, 154, 1, 155, 1, 155, + 1, 156, 1, 156, 1, 156, 0, 0, 157, 0, 2, 4, + 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, + 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, + 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, + 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, + 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, + 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, + 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, + 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, + 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, + 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242, 244, + 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, + 270, 272, 274, 276, 278, 280, 282, 284, 286, 288, 290, 292, + 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 0, 10, + 1, 0, 33, 34, 1, 0, 47, 48, 2, 0, 1, 1, + 13, 14, 1, 0, 146, 147, 1, 0, 150, 152, 1, 0, + 153, 155, 1, 0, 156, 158, 1, 0, 28, 29, 1, 0, + 160, 163, 2, 0, 145, 145, 166, 166, 1771, 0, 316, 1, + 0, 0, 0, 2, 320, 1, 0, 0, 0, 4, 333, 1, + 0, 0, 0, 6, 336, 1, 0, 0, 0, 8, 339, 1, + 0, 0, 0, 10, 343, 1, 0, 0, 0, 12, 353, 1, + 0, 0, 0, 14, 358, 1, 0, 0, 0, 16, 372, 1, + 0, 0, 0, 18, 374, 1, 0, 0, 0, 20, 378, 1, + 0, 0, 0, 22, 382, 1, 0, 0, 0, 24, 408, 1, + 0, 0, 0, 26, 428, 1, 0, 0, 0, 28, 438, 1, + 0, 0, 0, 30, 443, 1, 0, 0, 0, 32, 445, 1, + 0, 0, 0, 34, 448, 1, 0, 0, 0, 36, 451, 1, + 0, 0, 0, 38, 456, 1, 0, 0, 0, 40, 467, 1, + 0, 0, 0, 42, 484, 1, 0, 0, 0, 44, 486, 1, + 0, 0, 0, 46, 492, 1, 0, 0, 0, 48, 496, 1, + 0, 0, 0, 50, 509, 1, 0, 0, 0, 52, 553, 1, + 0, 0, 0, 54, 555, 1, 0, 0, 0, 56, 558, 1, + 0, 0, 0, 58, 561, 1, 0, 0, 0, 60, 566, 1, + 0, 0, 0, 62, 568, 1, 0, 0, 0, 64, 587, 1, + 0, 0, 0, 66, 589, 1, 0, 0, 0, 68, 598, 1, + 0, 0, 0, 70, 604, 1, 0, 0, 0, 72, 610, 1, + 0, 0, 0, 74, 616, 1, 0, 0, 0, 76, 624, 1, + 0, 0, 0, 78, 632, 1, 0, 0, 0, 80, 640, 1, + 0, 0, 0, 82, 644, 1, 0, 0, 0, 84, 648, 1, + 0, 0, 0, 86, 654, 1, 0, 0, 0, 88, 672, 1, + 0, 0, 0, 90, 675, 1, 0, 0, 0, 92, 678, 1, + 0, 0, 0, 94, 687, 1, 0, 0, 0, 96, 689, 1, + 0, 0, 0, 98, 696, 1, 0, 0, 0, 100, 698, 1, + 0, 0, 0, 102, 702, 1, 0, 0, 0, 104, 707, 1, + 0, 0, 0, 106, 721, 1, 0, 0, 0, 108, 729, 1, + 0, 0, 0, 110, 736, 1, 0, 0, 0, 112, 744, 1, + 0, 0, 0, 114, 752, 1, 0, 0, 0, 116, 759, 1, + 0, 0, 0, 118, 774, 1, 0, 0, 0, 120, 776, 1, + 0, 0, 0, 122, 779, 1, 0, 0, 0, 124, 783, 1, + 0, 0, 0, 126, 790, 1, 0, 0, 0, 128, 797, 1, + 0, 0, 0, 130, 802, 1, 0, 0, 0, 132, 804, 1, + 0, 0, 0, 134, 823, 1, 0, 0, 0, 136, 843, 1, + 0, 0, 0, 138, 850, 1, 0, 0, 0, 140, 852, 1, + 0, 0, 0, 142, 855, 1, 0, 0, 0, 144, 863, 1, + 0, 0, 0, 146, 869, 1, 0, 0, 0, 148, 871, 1, + 0, 0, 0, 150, 889, 1, 0, 0, 0, 152, 903, 1, + 0, 0, 0, 154, 905, 1, 0, 0, 0, 156, 911, 1, + 0, 0, 0, 158, 924, 1, 0, 0, 0, 160, 927, 1, + 0, 0, 0, 162, 929, 1, 0, 0, 0, 164, 944, 1, + 0, 0, 0, 166, 946, 1, 0, 0, 0, 168, 954, 1, + 0, 0, 0, 170, 962, 1, 0, 0, 0, 172, 965, 1, + 0, 0, 0, 174, 967, 1, 0, 0, 0, 176, 977, 1, + 0, 0, 0, 178, 979, 1, 0, 0, 0, 180, 981, 1, + 0, 0, 0, 182, 984, 1, 0, 0, 0, 184, 989, 1, + 0, 0, 0, 186, 991, 1, 0, 0, 0, 188, 999, 1, + 0, 0, 0, 190, 1001, 1, 0, 0, 0, 192, 1003, 1, + 0, 0, 0, 194, 1011, 1, 0, 0, 0, 196, 1019, 1, + 0, 0, 0, 198, 1026, 1, 0, 0, 0, 200, 1028, 1, + 0, 0, 0, 202, 1038, 1, 0, 0, 0, 204, 1053, 1, + 0, 0, 0, 206, 1062, 1, 0, 0, 0, 208, 1064, 1, + 0, 0, 0, 210, 1068, 1, 0, 0, 0, 212, 1070, 1, + 0, 0, 0, 214, 1076, 1, 0, 0, 0, 216, 1078, 1, + 0, 0, 0, 218, 1082, 1, 0, 0, 0, 220, 1090, 1, + 0, 0, 0, 222, 1100, 1, 0, 0, 0, 224, 1104, 1, + 0, 0, 0, 226, 1108, 1, 0, 0, 0, 228, 1112, 1, + 0, 0, 0, 230, 1114, 1, 0, 0, 0, 232, 1122, 1, + 0, 0, 0, 234, 1124, 1, 0, 0, 0, 236, 1126, 1, + 0, 0, 0, 238, 1134, 1, 0, 0, 0, 240, 1142, 1, + 0, 0, 0, 242, 1144, 1, 0, 0, 0, 244, 1164, 1, + 0, 0, 0, 246, 1166, 1, 0, 0, 0, 248, 1178, 1, + 0, 0, 0, 250, 1180, 1, 0, 0, 0, 252, 1182, 1, + 0, 0, 0, 254, 1186, 1, 0, 0, 0, 256, 1194, 1, + 0, 0, 0, 258, 1203, 1, 0, 0, 0, 260, 1205, 1, + 0, 0, 0, 262, 1208, 1, 0, 0, 0, 264, 1218, 1, + 0, 0, 0, 266, 1227, 1, 0, 0, 0, 268, 1229, 1, + 0, 0, 0, 270, 1487, 1, 0, 0, 0, 272, 1489, 1, + 0, 0, 0, 274, 1500, 1, 0, 0, 0, 276, 1505, 1, + 0, 0, 0, 278, 1516, 1, 0, 0, 0, 280, 1529, 1, + 0, 0, 0, 282, 1532, 1, 0, 0, 0, 284, 1608, 1, + 0, 0, 0, 286, 1610, 1, 0, 0, 0, 288, 1614, 1, + 0, 0, 0, 290, 1623, 1, 0, 0, 0, 292, 1625, 1, + 0, 0, 0, 294, 1627, 1, 0, 0, 0, 296, 1629, 1, + 0, 0, 0, 298, 1631, 1, 0, 0, 0, 300, 1633, 1, + 0, 0, 0, 302, 1636, 1, 0, 0, 0, 304, 1644, 1, + 0, 0, 0, 306, 1646, 1, 0, 0, 0, 308, 1648, 1, + 0, 0, 0, 310, 1650, 1, 0, 0, 0, 312, 1652, 1, + 0, 0, 0, 314, 317, 3, 2, 1, 0, 315, 317, 3, + 62, 31, 0, 316, 314, 1, 0, 0, 0, 316, 315, 1, + 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 319, 5, + 0, 0, 1, 319, 1, 1, 0, 0, 0, 320, 325, 3, + 4, 2, 0, 321, 326, 3, 10, 5, 0, 322, 326, 3, + 22, 11, 0, 323, 326, 3, 24, 12, 0, 324, 326, 3, + 26, 13, 0, 325, 321, 1, 0, 0, 0, 325, 322, 1, + 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 324, 1, + 0, 0, 0, 326, 327, 1, 0, 0, 0, 327, 328, 3, + 60, 30, 0, 328, 3, 1, 0, 0, 0, 329, 332, 3, + 6, 3, 0, 330, 332, 3, 8, 4, 0, 331, 329, 1, + 0, 0, 0, 331, 330, 1, 0, 0, 0, 332, 335, 1, + 0, 0, 0, 333, 331, 1, 0, 0, 0, 333, 334, 1, + 0, 0, 0, 334, 5, 1, 0, 0, 0, 335, 333, 1, + 0, 0, 0, 336, 337, 5, 30, 0, 0, 337, 338, 3, + 308, 154, 0, 338, 7, 1, 0, 0, 0, 339, 340, 5, + 31, 0, 0, 340, 341, 5, 143, 0, 0, 341, 342, 3, + 308, 154, 0, 342, 9, 1, 0, 0, 0, 343, 347, 3, + 14, 7, 0, 344, 346, 3, 28, 14, 0, 345, 344, 1, + 0, 0, 0, 346, 349, 1, 0, 0, 0, 347, 345, 1, + 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 350, 1, + 0, 0, 0, 349, 347, 1, 0, 0, 0, 350, 351, 3, + 36, 18, 0, 351, 352, 3, 38, 19, 0, 352, 11, 1, + 0, 0, 0, 353, 354, 3, 14, 7, 0, 354, 355, 3, + 36, 18, 0, 355, 356, 3, 38, 19, 0, 356, 357, 3, + 60, 30, 0, 357, 13, 1, 0, 0, 0, 358, 360, 5, + 32, 0, 0, 359, 361, 7, 0, 0, 0, 360, 359, 1, + 0, 0, 0, 360, 361, 1, 0, 0, 0, 361, 368, 1, + 0, 0, 0, 362, 364, 3, 16, 8, 0, 363, 362, 1, + 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 363, 1, + 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 369, 1, + 0, 0, 0, 367, 369, 5, 1, 0, 0, 368, 363, 1, + 0, 0, 0, 368, 367, 1, 0, 0, 0, 369, 15, 1, + 0, 0, 0, 370, 373, 3, 230, 115, 0, 371, 373, 3, + 18, 9, 0, 372, 370, 1, 0, 0, 0, 372, 371, 1, + 0, 0, 0, 373, 17, 1, 0, 0, 0, 374, 375, 5, + 2, 0, 0, 375, 376, 3, 20, 10, 0, 376, 377, 5, + 3, 0, 0, 377, 19, 1, 0, 0, 0, 378, 379, 3, + 234, 117, 0, 379, 380, 5, 35, 0, 0, 380, 381, 3, + 230, 115, 0, 381, 21, 1, 0, 0, 0, 382, 406, 5, + 36, 0, 0, 383, 387, 3, 154, 77, 0, 384, 386, 3, + 28, 14, 0, 385, 384, 1, 0, 0, 0, 386, 389, 1, + 0, 0, 0, 387, 385, 1, 0, 0, 0, 387, 388, 1, + 0, 0, 0, 388, 390, 1, 0, 0, 0, 389, 387, 1, + 0, 0, 0, 390, 391, 3, 36, 18, 0, 391, 392, 3, + 38, 19, 0, 392, 407, 1, 0, 0, 0, 393, 395, 3, + 28, 14, 0, 394, 393, 1, 0, 0, 0, 395, 398, 1, + 0, 0, 0, 396, 394, 1, 0, 0, 0, 396, 397, 1, + 0, 0, 0, 397, 399, 1, 0, 0, 0, 398, 396, 1, + 0, 0, 0, 399, 400, 5, 37, 0, 0, 400, 402, 5, + 4, 0, 0, 401, 403, 3, 108, 54, 0, 402, 401, 1, + 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 404, 1, + 0, 0, 0, 404, 405, 5, 5, 0, 0, 405, 407, 3, + 38, 19, 0, 406, 383, 1, 0, 0, 0, 406, 396, 1, + 0, 0, 0, 407, 23, 1, 0, 0, 0, 408, 415, 5, + 38, 0, 0, 409, 411, 3, 228, 114, 0, 410, 409, 1, + 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 410, 1, + 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 416, 1, + 0, 0, 0, 414, 416, 5, 1, 0, 0, 415, 410, 1, + 0, 0, 0, 415, 414, 1, 0, 0, 0, 416, 420, 1, + 0, 0, 0, 417, 419, 3, 28, 14, 0, 418, 417, 1, + 0, 0, 0, 419, 422, 1, 0, 0, 0, 420, 418, 1, + 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 424, 1, + 0, 0, 0, 422, 420, 1, 0, 0, 0, 423, 425, 3, + 36, 18, 0, 424, 423, 1, 0, 0, 0, 424, 425, 1, + 0, 0, 0, 425, 426, 1, 0, 0, 0, 426, 427, 3, + 38, 19, 0, 427, 25, 1, 0, 0, 0, 428, 432, 5, + 39, 0, 0, 429, 431, 3, 28, 14, 0, 430, 429, 1, + 0, 0, 0, 431, 434, 1, 0, 0, 0, 432, 430, 1, + 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 435, 1, + 0, 0, 0, 434, 432, 1, 0, 0, 0, 435, 436, 3, + 36, 18, 0, 436, 437, 3, 38, 19, 0, 437, 27, 1, + 0, 0, 0, 438, 441, 5, 40, 0, 0, 439, 442, 3, + 30, 15, 0, 440, 442, 3, 32, 16, 0, 441, 439, 1, + 0, 0, 0, 441, 440, 1, 0, 0, 0, 442, 29, 1, + 0, 0, 0, 443, 444, 3, 34, 17, 0, 444, 31, 1, + 0, 0, 0, 445, 446, 5, 41, 0, 0, 446, 447, 3, + 34, 17, 0, 447, 33, 1, 0, 0, 0, 448, 449, 3, + 302, 151, 0, 449, 35, 1, 0, 0, 0, 450, 452, 5, + 37, 0, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, + 0, 0, 0, 452, 453, 1, 0, 0, 0, 453, 454, 3, + 110, 55, 0, 454, 37, 1, 0, 0, 0, 455, 457, 3, + 40, 20, 0, 456, 455, 1, 0, 0, 0, 456, 457, 1, + 0, 0, 0, 457, 459, 1, 0, 0, 0, 458, 460, 3, + 44, 22, 0, 459, 458, 1, 0, 0, 0, 459, 460, 1, + 0, 0, 0, 460, 462, 1, 0, 0, 0, 461, 463, 3, + 48, 24, 0, 462, 461, 1, 0, 0, 0, 462, 463, 1, + 0, 0, 0, 463, 465, 1, 0, 0, 0, 464, 466, 3, + 52, 26, 0, 465, 464, 1, 0, 0, 0, 465, 466, 1, + 0, 0, 0, 466, 39, 1, 0, 0, 0, 467, 469, 5, + 42, 0, 0, 468, 470, 3, 42, 21, 0, 469, 468, 1, + 0, 0, 0, 470, 471, 1, 0, 0, 0, 471, 469, 1, + 0, 0, 0, 471, 472, 1, 0, 0, 0, 472, 41, 1, + 0, 0, 0, 473, 485, 3, 270, 135, 0, 474, 485, 3, + 148, 74, 0, 475, 476, 5, 2, 0, 0, 476, 479, 3, + 234, 117, 0, 477, 478, 5, 35, 0, 0, 478, 480, 3, + 230, 115, 0, 479, 477, 1, 0, 0, 0, 479, 480, 1, + 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, + 3, 0, 0, 482, 485, 1, 0, 0, 0, 483, 485, 3, + 230, 115, 0, 484, 473, 1, 0, 0, 0, 484, 474, 1, + 0, 0, 0, 484, 475, 1, 0, 0, 0, 484, 483, 1, + 0, 0, 0, 485, 43, 1, 0, 0, 0, 486, 488, 5, + 44, 0, 0, 487, 489, 3, 46, 23, 0, 488, 487, 1, + 0, 0, 0, 489, 490, 1, 0, 0, 0, 490, 488, 1, + 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 45, 1, + 0, 0, 0, 492, 493, 3, 146, 73, 0, 493, 47, 1, + 0, 0, 0, 494, 497, 5, 45, 0, 0, 495, 497, 5, + 46, 0, 0, 496, 494, 1, 0, 0, 0, 496, 495, 1, + 0, 0, 0, 497, 499, 1, 0, 0, 0, 498, 500, 3, + 50, 25, 0, 499, 498, 1, 0, 0, 0, 500, 501, 1, + 0, 0, 0, 501, 499, 1, 0, 0, 0, 501, 502, 1, + 0, 0, 0, 502, 49, 1, 0, 0, 0, 503, 504, 7, + 1, 0, 0, 504, 510, 3, 268, 134, 0, 505, 508, 3, + 146, 73, 0, 506, 508, 3, 230, 115, 0, 507, 505, 1, + 0, 0, 0, 507, 506, 1, 0, 0, 0, 508, 510, 1, + 0, 0, 0, 509, 503, 1, 0, 0, 0, 509, 507, 1, + 0, 0, 0, 510, 51, 1, 0, 0, 0, 511, 513, 3, + 54, 27, 0, 512, 514, 3, 56, 28, 0, 513, 512, 1, + 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 516, 1, + 0, 0, 0, 515, 517, 3, 58, 29, 0, 516, 515, 1, + 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 554, 1, + 0, 0, 0, 518, 520, 3, 54, 27, 0, 519, 521, 3, + 58, 29, 0, 520, 519, 1, 0, 0, 0, 520, 521, 1, + 0, 0, 0, 521, 523, 1, 0, 0, 0, 522, 524, 3, + 56, 28, 0, 523, 522, 1, 0, 0, 0, 523, 524, 1, + 0, 0, 0, 524, 554, 1, 0, 0, 0, 525, 527, 3, + 56, 28, 0, 526, 528, 3, 54, 27, 0, 527, 526, 1, + 0, 0, 0, 527, 528, 1, 0, 0, 0, 528, 530, 1, + 0, 0, 0, 529, 531, 3, 58, 29, 0, 530, 529, 1, + 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 554, 1, + 0, 0, 0, 532, 534, 3, 56, 28, 0, 533, 535, 3, + 58, 29, 0, 534, 533, 1, 0, 0, 0, 534, 535, 1, + 0, 0, 0, 535, 537, 1, 0, 0, 0, 536, 538, 3, + 54, 27, 0, 537, 536, 1, 0, 0, 0, 537, 538, 1, + 0, 0, 0, 538, 554, 1, 0, 0, 0, 539, 541, 3, + 58, 29, 0, 540, 542, 3, 56, 28, 0, 541, 540, 1, + 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 544, 1, + 0, 0, 0, 543, 545, 3, 54, 27, 0, 544, 543, 1, + 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 554, 1, + 0, 0, 0, 546, 548, 3, 58, 29, 0, 547, 549, 3, + 54, 27, 0, 548, 547, 1, 0, 0, 0, 548, 549, 1, + 0, 0, 0, 549, 551, 1, 0, 0, 0, 550, 552, 3, + 56, 28, 0, 551, 550, 1, 0, 0, 0, 551, 552, 1, + 0, 0, 0, 552, 554, 1, 0, 0, 0, 553, 511, 1, + 0, 0, 0, 553, 518, 1, 0, 0, 0, 553, 525, 1, + 0, 0, 0, 553, 532, 1, 0, 0, 0, 553, 539, 1, + 0, 0, 0, 553, 546, 1, 0, 0, 0, 554, 53, 1, + 0, 0, 0, 555, 556, 5, 49, 0, 0, 556, 557, 3, + 208, 104, 0, 557, 55, 1, 0, 0, 0, 558, 559, 5, + 50, 0, 0, 559, 560, 3, 208, 104, 0, 560, 57, 1, + 0, 0, 0, 561, 562, 5, 51, 0, 0, 562, 563, 3, + 208, 104, 0, 563, 59, 1, 0, 0, 0, 564, 565, 5, + 52, 0, 0, 565, 567, 3, 130, 65, 0, 566, 564, 1, + 0, 0, 0, 566, 567, 1, 0, 0, 0, 567, 61, 1, + 0, 0, 0, 568, 574, 3, 4, 2, 0, 569, 572, 3, + 64, 32, 0, 570, 571, 5, 6, 0, 0, 571, 573, 3, + 62, 31, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, + 0, 0, 0, 573, 575, 1, 0, 0, 0, 574, 569, 1, + 0, 0, 0, 574, 575, 1, 0, 0, 0, 575, 63, 1, + 0, 0, 0, 576, 588, 3, 66, 33, 0, 577, 588, 3, + 68, 34, 0, 578, 588, 3, 70, 35, 0, 579, 588, 3, + 74, 37, 0, 580, 588, 3, 76, 38, 0, 581, 588, 3, + 78, 39, 0, 582, 588, 3, 72, 36, 0, 583, 588, 3, + 80, 40, 0, 584, 588, 3, 82, 41, 0, 585, 588, 3, + 84, 42, 0, 586, 588, 3, 86, 43, 0, 587, 576, 1, + 0, 0, 0, 587, 577, 1, 0, 0, 0, 587, 578, 1, + 0, 0, 0, 587, 579, 1, 0, 0, 0, 587, 580, 1, + 0, 0, 0, 587, 581, 1, 0, 0, 0, 587, 582, 1, + 0, 0, 0, 587, 583, 1, 0, 0, 0, 587, 584, 1, + 0, 0, 0, 587, 585, 1, 0, 0, 0, 587, 586, 1, + 0, 0, 0, 588, 65, 1, 0, 0, 0, 589, 591, 5, + 53, 0, 0, 590, 592, 5, 54, 0, 0, 591, 590, 1, + 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 593, 1, + 0, 0, 0, 593, 596, 3, 302, 151, 0, 594, 595, 5, + 55, 0, 0, 595, 597, 3, 96, 48, 0, 596, 594, 1, + 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 67, 1, + 0, 0, 0, 598, 600, 5, 56, 0, 0, 599, 601, 5, + 54, 0, 0, 600, 599, 1, 0, 0, 0, 600, 601, 1, + 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 603, 3, + 98, 49, 0, 603, 69, 1, 0, 0, 0, 604, 606, 5, + 57, 0, 0, 605, 607, 5, 54, 0, 0, 606, 605, 1, + 0, 0, 0, 606, 607, 1, 0, 0, 0, 607, 608, 1, + 0, 0, 0, 608, 609, 3, 98, 49, 0, 609, 71, 1, + 0, 0, 0, 610, 612, 5, 58, 0, 0, 611, 613, 5, + 54, 0, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, + 0, 0, 0, 613, 614, 1, 0, 0, 0, 614, 615, 3, + 96, 48, 0, 615, 73, 1, 0, 0, 0, 616, 618, 5, + 59, 0, 0, 617, 619, 5, 54, 0, 0, 618, 617, 1, + 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 1, + 0, 0, 0, 620, 621, 3, 94, 47, 0, 621, 622, 5, + 60, 0, 0, 622, 623, 3, 94, 47, 0, 623, 75, 1, + 0, 0, 0, 624, 626, 5, 62, 0, 0, 625, 627, 5, + 54, 0, 0, 626, 625, 1, 0, 0, 0, 626, 627, 1, + 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 3, + 94, 47, 0, 629, 630, 5, 60, 0, 0, 630, 631, 3, + 94, 47, 0, 631, 77, 1, 0, 0, 0, 632, 634, 5, + 63, 0, 0, 633, 635, 5, 54, 0, 0, 634, 633, 1, + 0, 0, 0, 634, 635, 1, 0, 0, 0, 635, 636, 1, + 0, 0, 0, 636, 637, 3, 94, 47, 0, 637, 638, 5, + 60, 0, 0, 638, 639, 3, 94, 47, 0, 639, 79, 1, + 0, 0, 0, 640, 641, 5, 64, 0, 0, 641, 642, 5, + 61, 0, 0, 642, 643, 3, 102, 51, 0, 643, 81, 1, + 0, 0, 0, 644, 645, 5, 65, 0, 0, 645, 646, 5, + 61, 0, 0, 646, 647, 3, 102, 51, 0, 647, 83, 1, + 0, 0, 0, 648, 649, 5, 65, 0, 0, 649, 650, 5, + 37, 0, 0, 650, 651, 3, 100, 50, 0, 651, 85, 1, + 0, 0, 0, 652, 653, 5, 66, 0, 0, 653, 655, 3, + 302, 151, 0, 654, 652, 1, 0, 0, 0, 654, 655, 1, + 0, 0, 0, 655, 661, 1, 0, 0, 0, 656, 658, 3, + 88, 44, 0, 657, 659, 3, 90, 45, 0, 658, 657, 1, + 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 662, 1, + 0, 0, 0, 660, 662, 3, 90, 45, 0, 661, 656, 1, + 0, 0, 0, 661, 660, 1, 0, 0, 0, 662, 666, 1, + 0, 0, 0, 663, 665, 3, 92, 46, 0, 664, 663, 1, + 0, 0, 0, 665, 668, 1, 0, 0, 0, 666, 664, 1, + 0, 0, 0, 666, 667, 1, 0, 0, 0, 667, 669, 1, + 0, 0, 0, 668, 666, 1, 0, 0, 0, 669, 670, 5, + 37, 0, 0, 670, 671, 3, 110, 55, 0, 671, 87, 1, + 0, 0, 0, 672, 673, 5, 65, 0, 0, 673, 674, 3, + 100, 50, 0, 674, 89, 1, 0, 0, 0, 675, 676, 5, + 64, 0, 0, 676, 677, 3, 100, 50, 0, 677, 91, 1, + 0, 0, 0, 678, 682, 5, 67, 0, 0, 679, 683, 3, + 302, 151, 0, 680, 681, 5, 41, 0, 0, 681, 683, 3, + 302, 151, 0, 682, 679, 1, 0, 0, 0, 682, 680, 1, + 0, 0, 0, 683, 93, 1, 0, 0, 0, 684, 688, 5, + 68, 0, 0, 685, 686, 5, 69, 0, 0, 686, 688, 3, + 302, 151, 0, 687, 684, 1, 0, 0, 0, 687, 685, 1, + 0, 0, 0, 688, 95, 1, 0, 0, 0, 689, 690, 5, + 69, 0, 0, 690, 691, 3, 302, 151, 0, 691, 97, 1, + 0, 0, 0, 692, 697, 3, 96, 48, 0, 693, 697, 5, + 68, 0, 0, 694, 697, 5, 41, 0, 0, 695, 697, 5, + 70, 0, 0, 696, 692, 1, 0, 0, 0, 696, 693, 1, + 0, 0, 0, 696, 694, 1, 0, 0, 0, 696, 695, 1, + 0, 0, 0, 697, 99, 1, 0, 0, 0, 698, 699, 5, + 4, 0, 0, 699, 700, 3, 104, 52, 0, 700, 701, 5, + 5, 0, 0, 701, 101, 1, 0, 0, 0, 702, 703, 5, + 4, 0, 0, 703, 704, 3, 104, 52, 0, 704, 705, 5, + 5, 0, 0, 705, 103, 1, 0, 0, 0, 706, 708, 3, + 108, 54, 0, 707, 706, 1, 0, 0, 0, 707, 708, 1, + 0, 0, 0, 708, 718, 1, 0, 0, 0, 709, 711, 3, + 106, 53, 0, 710, 712, 5, 7, 0, 0, 711, 710, 1, + 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 714, 1, + 0, 0, 0, 713, 715, 3, 108, 54, 0, 714, 713, 1, + 0, 0, 0, 714, 715, 1, 0, 0, 0, 715, 717, 1, + 0, 0, 0, 716, 709, 1, 0, 0, 0, 717, 720, 1, + 0, 0, 0, 718, 716, 1, 0, 0, 0, 718, 719, 1, + 0, 0, 0, 719, 105, 1, 0, 0, 0, 720, 718, 1, + 0, 0, 0, 721, 722, 5, 69, 0, 0, 722, 723, 3, + 228, 114, 0, 723, 725, 5, 4, 0, 0, 724, 726, 3, + 108, 54, 0, 725, 724, 1, 0, 0, 0, 725, 726, 1, + 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 728, 5, + 5, 0, 0, 728, 107, 1, 0, 0, 0, 729, 734, 3, + 158, 79, 0, 730, 732, 5, 7, 0, 0, 731, 733, 3, + 108, 54, 0, 732, 731, 1, 0, 0, 0, 732, 733, 1, + 0, 0, 0, 733, 735, 1, 0, 0, 0, 734, 730, 1, + 0, 0, 0, 734, 735, 1, 0, 0, 0, 735, 109, 1, + 0, 0, 0, 736, 739, 5, 4, 0, 0, 737, 740, 3, + 12, 6, 0, 738, 740, 3, 112, 56, 0, 739, 737, 1, + 0, 0, 0, 739, 738, 1, 0, 0, 0, 740, 741, 1, + 0, 0, 0, 741, 742, 5, 5, 0, 0, 742, 111, 1, + 0, 0, 0, 743, 745, 3, 116, 58, 0, 744, 743, 1, + 0, 0, 0, 744, 745, 1, 0, 0, 0, 745, 749, 1, + 0, 0, 0, 746, 748, 3, 114, 57, 0, 747, 746, 1, + 0, 0, 0, 748, 751, 1, 0, 0, 0, 749, 747, 1, + 0, 0, 0, 749, 750, 1, 0, 0, 0, 750, 113, 1, + 0, 0, 0, 751, 749, 1, 0, 0, 0, 752, 754, 3, + 118, 59, 0, 753, 755, 5, 7, 0, 0, 754, 753, 1, + 0, 0, 0, 754, 755, 1, 0, 0, 0, 755, 757, 1, + 0, 0, 0, 756, 758, 3, 116, 58, 0, 757, 756, 1, + 0, 0, 0, 757, 758, 1, 0, 0, 0, 758, 115, 1, + 0, 0, 0, 759, 764, 3, 170, 85, 0, 760, 762, 5, + 7, 0, 0, 761, 763, 3, 116, 58, 0, 762, 761, 1, + 0, 0, 0, 762, 763, 1, 0, 0, 0, 763, 765, 1, + 0, 0, 0, 764, 760, 1, 0, 0, 0, 764, 765, 1, + 0, 0, 0, 765, 117, 1, 0, 0, 0, 766, 775, 3, + 142, 71, 0, 767, 775, 3, 120, 60, 0, 768, 775, 3, + 140, 70, 0, 769, 775, 3, 122, 61, 0, 770, 775, 3, + 124, 62, 0, 771, 775, 3, 144, 72, 0, 772, 775, 3, + 126, 63, 0, 773, 775, 3, 128, 64, 0, 774, 766, 1, + 0, 0, 0, 774, 767, 1, 0, 0, 0, 774, 768, 1, + 0, 0, 0, 774, 769, 1, 0, 0, 0, 774, 770, 1, + 0, 0, 0, 774, 771, 1, 0, 0, 0, 774, 772, 1, + 0, 0, 0, 774, 773, 1, 0, 0, 0, 775, 119, 1, + 0, 0, 0, 776, 777, 5, 71, 0, 0, 777, 778, 3, + 110, 55, 0, 778, 121, 1, 0, 0, 0, 779, 780, 5, + 69, 0, 0, 780, 781, 3, 228, 114, 0, 781, 782, 3, + 110, 55, 0, 782, 123, 1, 0, 0, 0, 783, 785, 5, + 72, 0, 0, 784, 786, 5, 54, 0, 0, 785, 784, 1, + 0, 0, 0, 785, 786, 1, 0, 0, 0, 786, 787, 1, + 0, 0, 0, 787, 788, 3, 228, 114, 0, 788, 789, 3, + 110, 55, 0, 789, 125, 1, 0, 0, 0, 790, 791, 5, + 73, 0, 0, 791, 792, 5, 2, 0, 0, 792, 793, 3, + 234, 117, 0, 793, 794, 5, 35, 0, 0, 794, 795, 3, + 230, 115, 0, 795, 796, 5, 3, 0, 0, 796, 127, 1, + 0, 0, 0, 797, 798, 5, 52, 0, 0, 798, 799, 3, + 130, 65, 0, 799, 129, 1, 0, 0, 0, 800, 803, 3, + 132, 66, 0, 801, 803, 3, 134, 67, 0, 802, 800, 1, + 0, 0, 0, 802, 801, 1, 0, 0, 0, 803, 131, 1, + 0, 0, 0, 804, 805, 3, 230, 115, 0, 805, 809, 5, + 4, 0, 0, 806, 808, 3, 138, 69, 0, 807, 806, 1, + 0, 0, 0, 808, 811, 1, 0, 0, 0, 809, 807, 1, + 0, 0, 0, 809, 810, 1, 0, 0, 0, 810, 812, 1, + 0, 0, 0, 811, 809, 1, 0, 0, 0, 812, 813, 5, + 5, 0, 0, 813, 133, 1, 0, 0, 0, 814, 824, 5, + 165, 0, 0, 815, 819, 5, 2, 0, 0, 816, 818, 3, + 230, 115, 0, 817, 816, 1, 0, 0, 0, 818, 821, 1, + 0, 0, 0, 819, 817, 1, 0, 0, 0, 819, 820, 1, + 0, 0, 0, 820, 822, 1, 0, 0, 0, 821, 819, 1, + 0, 0, 0, 822, 824, 5, 3, 0, 0, 823, 814, 1, + 0, 0, 0, 823, 815, 1, 0, 0, 0, 824, 825, 1, + 0, 0, 0, 825, 829, 5, 4, 0, 0, 826, 828, 3, + 136, 68, 0, 827, 826, 1, 0, 0, 0, 828, 831, 1, + 0, 0, 0, 829, 827, 1, 0, 0, 0, 829, 830, 1, + 0, 0, 0, 830, 832, 1, 0, 0, 0, 831, 829, 1, + 0, 0, 0, 832, 833, 5, 5, 0, 0, 833, 135, 1, + 0, 0, 0, 834, 838, 5, 2, 0, 0, 835, 837, 3, + 138, 69, 0, 836, 835, 1, 0, 0, 0, 837, 840, 1, + 0, 0, 0, 838, 836, 1, 0, 0, 0, 838, 839, 1, + 0, 0, 0, 839, 841, 1, 0, 0, 0, 840, 838, 1, + 0, 0, 0, 841, 844, 5, 3, 0, 0, 842, 844, 5, + 165, 0, 0, 843, 834, 1, 0, 0, 0, 843, 842, 1, + 0, 0, 0, 844, 137, 1, 0, 0, 0, 845, 851, 3, + 302, 151, 0, 846, 851, 3, 288, 144, 0, 847, 851, 3, + 290, 145, 0, 848, 851, 3, 298, 149, 0, 849, 851, 5, + 74, 0, 0, 850, 845, 1, 0, 0, 0, 850, 846, 1, + 0, 0, 0, 850, 847, 1, 0, 0, 0, 850, 848, 1, + 0, 0, 0, 850, 849, 1, 0, 0, 0, 851, 139, 1, + 0, 0, 0, 852, 853, 5, 75, 0, 0, 853, 854, 3, + 110, 55, 0, 854, 141, 1, 0, 0, 0, 855, 860, 3, + 110, 55, 0, 856, 857, 5, 76, 0, 0, 857, 859, 3, + 110, 55, 0, 858, 856, 1, 0, 0, 0, 859, 862, 1, + 0, 0, 0, 860, 858, 1, 0, 0, 0, 860, 861, 1, + 0, 0, 0, 861, 143, 1, 0, 0, 0, 862, 860, 1, + 0, 0, 0, 863, 864, 5, 77, 0, 0, 864, 865, 3, + 146, 73, 0, 865, 145, 1, 0, 0, 0, 866, 870, 3, + 268, 134, 0, 867, 870, 3, 270, 135, 0, 868, 870, 3, + 148, 74, 0, 869, 866, 1, 0, 0, 0, 869, 867, 1, + 0, 0, 0, 869, 868, 1, 0, 0, 0, 870, 147, 1, + 0, 0, 0, 871, 872, 3, 302, 151, 0, 872, 873, 3, + 150, 75, 0, 873, 149, 1, 0, 0, 0, 874, 890, 5, + 165, 0, 0, 875, 877, 5, 2, 0, 0, 876, 878, 5, + 33, 0, 0, 877, 876, 1, 0, 0, 0, 877, 878, 1, + 0, 0, 0, 878, 879, 1, 0, 0, 0, 879, 884, 3, + 234, 117, 0, 880, 881, 5, 8, 0, 0, 881, 883, 3, + 234, 117, 0, 882, 880, 1, 0, 0, 0, 883, 886, 1, + 0, 0, 0, 884, 882, 1, 0, 0, 0, 884, 885, 1, + 0, 0, 0, 885, 887, 1, 0, 0, 0, 886, 884, 1, + 0, 0, 0, 887, 888, 5, 3, 0, 0, 888, 890, 1, + 0, 0, 0, 889, 874, 1, 0, 0, 0, 889, 875, 1, + 0, 0, 0, 890, 151, 1, 0, 0, 0, 891, 904, 5, + 165, 0, 0, 892, 893, 5, 2, 0, 0, 893, 898, 3, + 234, 117, 0, 894, 895, 5, 8, 0, 0, 895, 897, 3, + 234, 117, 0, 896, 894, 1, 0, 0, 0, 897, 900, 1, + 0, 0, 0, 898, 896, 1, 0, 0, 0, 898, 899, 1, + 0, 0, 0, 899, 901, 1, 0, 0, 0, 900, 898, 1, + 0, 0, 0, 901, 902, 5, 3, 0, 0, 902, 904, 1, + 0, 0, 0, 903, 891, 1, 0, 0, 0, 903, 892, 1, + 0, 0, 0, 904, 153, 1, 0, 0, 0, 905, 907, 5, + 4, 0, 0, 906, 908, 3, 156, 78, 0, 907, 906, 1, + 0, 0, 0, 907, 908, 1, 0, 0, 0, 908, 909, 1, + 0, 0, 0, 909, 910, 5, 5, 0, 0, 910, 155, 1, + 0, 0, 0, 911, 916, 3, 158, 79, 0, 912, 914, 5, + 7, 0, 0, 913, 915, 3, 156, 78, 0, 914, 913, 1, + 0, 0, 0, 914, 915, 1, 0, 0, 0, 915, 917, 1, + 0, 0, 0, 916, 912, 1, 0, 0, 0, 916, 917, 1, + 0, 0, 0, 917, 157, 1, 0, 0, 0, 918, 919, 3, + 226, 113, 0, 919, 920, 3, 162, 81, 0, 920, 925, 1, + 0, 0, 0, 921, 922, 3, 210, 105, 0, 922, 923, 3, + 160, 80, 0, 923, 925, 1, 0, 0, 0, 924, 918, 1, + 0, 0, 0, 924, 921, 1, 0, 0, 0, 925, 159, 1, + 0, 0, 0, 926, 928, 3, 162, 81, 0, 927, 926, 1, + 0, 0, 0, 927, 928, 1, 0, 0, 0, 928, 161, 1, + 0, 0, 0, 929, 930, 3, 164, 82, 0, 930, 939, 3, + 166, 83, 0, 931, 935, 5, 6, 0, 0, 932, 933, 3, + 164, 82, 0, 933, 934, 3, 166, 83, 0, 934, 936, 1, + 0, 0, 0, 935, 932, 1, 0, 0, 0, 935, 936, 1, + 0, 0, 0, 936, 938, 1, 0, 0, 0, 937, 931, 1, + 0, 0, 0, 938, 941, 1, 0, 0, 0, 939, 937, 1, + 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 163, 1, + 0, 0, 0, 941, 939, 1, 0, 0, 0, 942, 945, 3, + 228, 114, 0, 943, 945, 5, 9, 0, 0, 944, 942, 1, + 0, 0, 0, 944, 943, 1, 0, 0, 0, 945, 165, 1, + 0, 0, 0, 946, 951, 3, 168, 84, 0, 947, 948, 5, + 8, 0, 0, 948, 950, 3, 168, 84, 0, 949, 947, 1, + 0, 0, 0, 950, 953, 1, 0, 0, 0, 951, 949, 1, + 0, 0, 0, 951, 952, 1, 0, 0, 0, 952, 167, 1, + 0, 0, 0, 953, 951, 1, 0, 0, 0, 954, 955, 3, + 222, 111, 0, 955, 169, 1, 0, 0, 0, 956, 957, 3, + 226, 113, 0, 957, 958, 3, 174, 87, 0, 958, 963, 1, + 0, 0, 0, 959, 960, 3, 214, 107, 0, 960, 961, 3, + 172, 86, 0, 961, 963, 1, 0, 0, 0, 962, 956, 1, + 0, 0, 0, 962, 959, 1, 0, 0, 0, 963, 171, 1, + 0, 0, 0, 964, 966, 3, 174, 87, 0, 965, 964, 1, + 0, 0, 0, 965, 966, 1, 0, 0, 0, 966, 173, 1, + 0, 0, 0, 967, 974, 3, 182, 91, 0, 968, 970, 5, + 6, 0, 0, 969, 971, 3, 180, 90, 0, 970, 969, 1, + 0, 0, 0, 970, 971, 1, 0, 0, 0, 971, 973, 1, + 0, 0, 0, 972, 968, 1, 0, 0, 0, 973, 976, 1, + 0, 0, 0, 974, 972, 1, 0, 0, 0, 974, 975, 1, + 0, 0, 0, 975, 175, 1, 0, 0, 0, 976, 974, 1, + 0, 0, 0, 977, 978, 3, 190, 95, 0, 978, 177, 1, + 0, 0, 0, 979, 980, 3, 230, 115, 0, 980, 179, 1, + 0, 0, 0, 981, 982, 3, 184, 92, 0, 982, 983, 3, + 166, 83, 0, 983, 181, 1, 0, 0, 0, 984, 985, 3, + 184, 92, 0, 985, 986, 3, 186, 93, 0, 986, 183, 1, + 0, 0, 0, 987, 990, 3, 176, 88, 0, 988, 990, 3, + 178, 89, 0, 989, 987, 1, 0, 0, 0, 989, 988, 1, + 0, 0, 0, 990, 185, 1, 0, 0, 0, 991, 996, 3, + 188, 94, 0, 992, 993, 5, 8, 0, 0, 993, 995, 3, + 188, 94, 0, 994, 992, 1, 0, 0, 0, 995, 998, 1, + 0, 0, 0, 996, 994, 1, 0, 0, 0, 996, 997, 1, + 0, 0, 0, 997, 187, 1, 0, 0, 0, 998, 996, 1, + 0, 0, 0, 999, 1000, 3, 224, 112, 0, 1000, 189, 1, + 0, 0, 0, 1001, 1002, 3, 192, 96, 0, 1002, 191, 1, + 0, 0, 0, 1003, 1008, 3, 194, 97, 0, 1004, 1005, 5, + 10, 0, 0, 1005, 1007, 3, 194, 97, 0, 1006, 1004, 1, + 0, 0, 0, 1007, 1010, 1, 0, 0, 0, 1008, 1006, 1, + 0, 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 193, 1, + 0, 0, 0, 1010, 1008, 1, 0, 0, 0, 1011, 1016, 3, + 198, 99, 0, 1012, 1013, 5, 11, 0, 0, 1013, 1015, 3, + 198, 99, 0, 1014, 1012, 1, 0, 0, 0, 1015, 1018, 1, + 0, 0, 0, 1016, 1014, 1, 0, 0, 0, 1016, 1017, 1, + 0, 0, 0, 1017, 195, 1, 0, 0, 0, 1018, 1016, 1, + 0, 0, 0, 1019, 1021, 3, 202, 101, 0, 1020, 1022, 3, + 200, 100, 0, 1021, 1020, 1, 0, 0, 0, 1021, 1022, 1, + 0, 0, 0, 1022, 197, 1, 0, 0, 0, 1023, 1027, 3, + 196, 98, 0, 1024, 1025, 5, 12, 0, 0, 1025, 1027, 3, + 196, 98, 0, 1026, 1023, 1, 0, 0, 0, 1026, 1024, 1, + 0, 0, 0, 1027, 199, 1, 0, 0, 0, 1028, 1029, 7, + 2, 0, 0, 1029, 201, 1, 0, 0, 0, 1030, 1039, 3, + 302, 151, 0, 1031, 1039, 5, 9, 0, 0, 1032, 1033, 5, + 15, 0, 0, 1033, 1039, 3, 204, 102, 0, 1034, 1035, 5, + 2, 0, 0, 1035, 1036, 3, 190, 95, 0, 1036, 1037, 5, + 3, 0, 0, 1037, 1039, 1, 0, 0, 0, 1038, 1030, 1, + 0, 0, 0, 1038, 1031, 1, 0, 0, 0, 1038, 1032, 1, + 0, 0, 0, 1038, 1034, 1, 0, 0, 0, 1039, 203, 1, + 0, 0, 0, 1040, 1054, 3, 206, 103, 0, 1041, 1050, 5, + 2, 0, 0, 1042, 1047, 3, 206, 103, 0, 1043, 1044, 5, + 10, 0, 0, 1044, 1046, 3, 206, 103, 0, 1045, 1043, 1, + 0, 0, 0, 1046, 1049, 1, 0, 0, 0, 1047, 1045, 1, + 0, 0, 0, 1047, 1048, 1, 0, 0, 0, 1048, 1051, 1, + 0, 0, 0, 1049, 1047, 1, 0, 0, 0, 1050, 1042, 1, + 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1052, 1, + 0, 0, 0, 1052, 1054, 5, 3, 0, 0, 1053, 1040, 1, + 0, 0, 0, 1053, 1041, 1, 0, 0, 0, 1054, 205, 1, + 0, 0, 0, 1055, 1063, 3, 302, 151, 0, 1056, 1063, 5, + 9, 0, 0, 1057, 1060, 5, 12, 0, 0, 1058, 1061, 3, + 302, 151, 0, 1059, 1061, 5, 9, 0, 0, 1060, 1058, 1, + 0, 0, 0, 1060, 1059, 1, 0, 0, 0, 1061, 1063, 1, + 0, 0, 0, 1062, 1055, 1, 0, 0, 0, 1062, 1056, 1, + 0, 0, 0, 1062, 1057, 1, 0, 0, 0, 1063, 207, 1, + 0, 0, 0, 1064, 1065, 5, 150, 0, 0, 1065, 209, 1, + 0, 0, 0, 1066, 1069, 3, 218, 109, 0, 1067, 1069, 3, + 212, 106, 0, 1068, 1066, 1, 0, 0, 0, 1068, 1067, 1, + 0, 0, 0, 1069, 211, 1, 0, 0, 0, 1070, 1071, 5, + 16, 0, 0, 1071, 1072, 3, 162, 81, 0, 1072, 1073, 5, + 17, 0, 0, 1073, 213, 1, 0, 0, 0, 1074, 1077, 3, + 220, 110, 0, 1075, 1077, 3, 216, 108, 0, 1076, 1074, 1, + 0, 0, 0, 1076, 1075, 1, 0, 0, 0, 1077, 215, 1, + 0, 0, 0, 1078, 1079, 5, 16, 0, 0, 1079, 1080, 3, + 174, 87, 0, 1080, 1081, 5, 17, 0, 0, 1081, 217, 1, + 0, 0, 0, 1082, 1084, 5, 2, 0, 0, 1083, 1085, 3, + 222, 111, 0, 1084, 1083, 1, 0, 0, 0, 1085, 1086, 1, + 0, 0, 0, 1086, 1084, 1, 0, 0, 0, 1086, 1087, 1, + 0, 0, 0, 1087, 1088, 1, 0, 0, 0, 1088, 1089, 5, + 3, 0, 0, 1089, 219, 1, 0, 0, 0, 1090, 1092, 5, + 2, 0, 0, 1091, 1093, 3, 224, 112, 0, 1092, 1091, 1, + 0, 0, 0, 1093, 1094, 1, 0, 0, 0, 1094, 1092, 1, + 0, 0, 0, 1094, 1095, 1, 0, 0, 0, 1095, 1096, 1, + 0, 0, 0, 1096, 1097, 5, 3, 0, 0, 1097, 221, 1, + 0, 0, 0, 1098, 1101, 3, 226, 113, 0, 1099, 1101, 3, + 210, 105, 0, 1100, 1098, 1, 0, 0, 0, 1100, 1099, 1, + 0, 0, 0, 1101, 223, 1, 0, 0, 0, 1102, 1105, 3, + 226, 113, 0, 1103, 1105, 3, 214, 107, 0, 1104, 1102, 1, + 0, 0, 0, 1104, 1103, 1, 0, 0, 0, 1105, 225, 1, + 0, 0, 0, 1106, 1109, 3, 230, 115, 0, 1107, 1109, 3, + 232, 116, 0, 1108, 1106, 1, 0, 0, 0, 1108, 1107, 1, + 0, 0, 0, 1109, 227, 1, 0, 0, 0, 1110, 1113, 3, + 230, 115, 0, 1111, 1113, 3, 302, 151, 0, 1112, 1110, 1, + 0, 0, 0, 1112, 1111, 1, 0, 0, 0, 1113, 229, 1, + 0, 0, 0, 1114, 1115, 7, 3, 0, 0, 1115, 231, 1, + 0, 0, 0, 1116, 1123, 3, 302, 151, 0, 1117, 1123, 3, + 288, 144, 0, 1118, 1123, 3, 290, 145, 0, 1119, 1123, 3, + 298, 149, 0, 1120, 1123, 3, 306, 153, 0, 1121, 1123, 5, + 165, 0, 0, 1122, 1116, 1, 0, 0, 0, 1122, 1117, 1, + 0, 0, 0, 1122, 1118, 1, 0, 0, 0, 1122, 1119, 1, + 0, 0, 0, 1122, 1120, 1, 0, 0, 0, 1122, 1121, 1, + 0, 0, 0, 1123, 233, 1, 0, 0, 0, 1124, 1125, 3, + 236, 118, 0, 1125, 235, 1, 0, 0, 0, 1126, 1131, 3, + 238, 119, 0, 1127, 1128, 5, 18, 0, 0, 1128, 1130, 3, + 238, 119, 0, 1129, 1127, 1, 0, 0, 0, 1130, 1133, 1, + 0, 0, 0, 1131, 1129, 1, 0, 0, 0, 1131, 1132, 1, + 0, 0, 0, 1132, 237, 1, 0, 0, 0, 1133, 1131, 1, + 0, 0, 0, 1134, 1139, 3, 240, 120, 0, 1135, 1136, 5, + 19, 0, 0, 1136, 1138, 3, 240, 120, 0, 1137, 1135, 1, + 0, 0, 0, 1138, 1141, 1, 0, 0, 0, 1139, 1137, 1, + 0, 0, 0, 1139, 1140, 1, 0, 0, 0, 1140, 239, 1, + 0, 0, 0, 1141, 1139, 1, 0, 0, 0, 1142, 1143, 3, + 242, 121, 0, 1143, 241, 1, 0, 0, 0, 1144, 1162, 3, + 244, 122, 0, 1145, 1146, 5, 20, 0, 0, 1146, 1163, 3, + 244, 122, 0, 1147, 1148, 5, 21, 0, 0, 1148, 1163, 3, + 244, 122, 0, 1149, 1150, 5, 22, 0, 0, 1150, 1163, 3, + 244, 122, 0, 1151, 1152, 5, 23, 0, 0, 1152, 1163, 3, + 244, 122, 0, 1153, 1154, 5, 24, 0, 0, 1154, 1163, 3, + 244, 122, 0, 1155, 1156, 5, 25, 0, 0, 1156, 1163, 3, + 244, 122, 0, 1157, 1158, 5, 79, 0, 0, 1158, 1163, 3, + 152, 76, 0, 1159, 1160, 5, 78, 0, 0, 1160, 1161, 5, + 79, 0, 0, 1161, 1163, 3, 152, 76, 0, 1162, 1145, 1, + 0, 0, 0, 1162, 1147, 1, 0, 0, 0, 1162, 1149, 1, + 0, 0, 0, 1162, 1151, 1, 0, 0, 0, 1162, 1153, 1, + 0, 0, 0, 1162, 1155, 1, 0, 0, 0, 1162, 1157, 1, + 0, 0, 0, 1162, 1159, 1, 0, 0, 0, 1162, 1163, 1, + 0, 0, 0, 1163, 243, 1, 0, 0, 0, 1164, 1165, 3, + 246, 123, 0, 1165, 245, 1, 0, 0, 0, 1166, 1170, 3, + 256, 128, 0, 1167, 1169, 3, 248, 124, 0, 1168, 1167, 1, + 0, 0, 0, 1169, 1172, 1, 0, 0, 0, 1170, 1168, 1, + 0, 0, 0, 1170, 1171, 1, 0, 0, 0, 1171, 247, 1, + 0, 0, 0, 1172, 1170, 1, 0, 0, 0, 1173, 1174, 5, + 13, 0, 0, 1174, 1179, 3, 250, 125, 0, 1175, 1176, 5, + 26, 0, 0, 1176, 1179, 3, 252, 126, 0, 1177, 1179, 3, + 254, 127, 0, 1178, 1173, 1, 0, 0, 0, 1178, 1175, 1, + 0, 0, 0, 1178, 1177, 1, 0, 0, 0, 1179, 249, 1, + 0, 0, 0, 1180, 1181, 3, 256, 128, 0, 1181, 251, 1, + 0, 0, 0, 1182, 1183, 3, 256, 128, 0, 1183, 253, 1, + 0, 0, 0, 1184, 1187, 3, 294, 147, 0, 1185, 1187, 3, + 296, 148, 0, 1186, 1184, 1, 0, 0, 0, 1186, 1185, 1, + 0, 0, 0, 1187, 1191, 1, 0, 0, 0, 1188, 1190, 3, + 258, 129, 0, 1189, 1188, 1, 0, 0, 0, 1190, 1193, 1, + 0, 0, 0, 1191, 1189, 1, 0, 0, 0, 1191, 1192, 1, + 0, 0, 0, 1192, 255, 1, 0, 0, 0, 1193, 1191, 1, + 0, 0, 0, 1194, 1198, 3, 264, 132, 0, 1195, 1197, 3, + 258, 129, 0, 1196, 1195, 1, 0, 0, 0, 1197, 1200, 1, + 0, 0, 0, 1198, 1196, 1, 0, 0, 0, 1198, 1199, 1, + 0, 0, 0, 1199, 257, 1, 0, 0, 0, 1200, 1198, 1, + 0, 0, 0, 1201, 1204, 3, 260, 130, 0, 1202, 1204, 3, + 262, 131, 0, 1203, 1201, 1, 0, 0, 0, 1203, 1202, 1, + 0, 0, 0, 1204, 259, 1, 0, 0, 0, 1205, 1206, 5, + 1, 0, 0, 1206, 1207, 3, 264, 132, 0, 1207, 261, 1, + 0, 0, 0, 1208, 1209, 5, 11, 0, 0, 1209, 1210, 3, + 264, 132, 0, 1210, 263, 1, 0, 0, 0, 1211, 1212, 5, + 15, 0, 0, 1212, 1219, 3, 266, 133, 0, 1213, 1214, 5, + 13, 0, 0, 1214, 1219, 3, 266, 133, 0, 1215, 1216, 5, + 26, 0, 0, 1216, 1219, 3, 266, 133, 0, 1217, 1219, 3, + 266, 133, 0, 1218, 1211, 1, 0, 0, 0, 1218, 1213, 1, + 0, 0, 0, 1218, 1215, 1, 0, 0, 0, 1218, 1217, 1, + 0, 0, 0, 1219, 265, 1, 0, 0, 0, 1220, 1228, 3, + 268, 134, 0, 1221, 1228, 3, 270, 135, 0, 1222, 1228, 3, + 286, 143, 0, 1223, 1228, 3, 288, 144, 0, 1224, 1228, 3, + 290, 145, 0, 1225, 1228, 3, 298, 149, 0, 1226, 1228, 3, + 230, 115, 0, 1227, 1220, 1, 0, 0, 0, 1227, 1221, 1, + 0, 0, 0, 1227, 1222, 1, 0, 0, 0, 1227, 1223, 1, + 0, 0, 0, 1227, 1224, 1, 0, 0, 0, 1227, 1225, 1, + 0, 0, 0, 1227, 1226, 1, 0, 0, 0, 1228, 267, 1, + 0, 0, 0, 1229, 1230, 5, 2, 0, 0, 1230, 1231, 3, + 234, 117, 0, 1231, 1232, 5, 3, 0, 0, 1232, 269, 1, + 0, 0, 0, 1233, 1488, 3, 284, 142, 0, 1234, 1235, 5, + 80, 0, 0, 1235, 1236, 5, 2, 0, 0, 1236, 1237, 3, + 234, 117, 0, 1237, 1238, 5, 3, 0, 0, 1238, 1488, 1, + 0, 0, 0, 1239, 1488, 3, 274, 137, 0, 1240, 1241, 5, + 82, 0, 0, 1241, 1242, 5, 2, 0, 0, 1242, 1243, 3, + 234, 117, 0, 1243, 1244, 5, 8, 0, 0, 1244, 1245, 3, + 234, 117, 0, 1245, 1246, 5, 3, 0, 0, 1246, 1488, 1, + 0, 0, 0, 1247, 1248, 5, 83, 0, 0, 1248, 1249, 5, + 2, 0, 0, 1249, 1250, 3, 234, 117, 0, 1250, 1251, 5, + 3, 0, 0, 1251, 1488, 1, 0, 0, 0, 1252, 1253, 5, + 84, 0, 0, 1253, 1254, 5, 2, 0, 0, 1254, 1255, 3, + 230, 115, 0, 1255, 1256, 5, 3, 0, 0, 1256, 1488, 1, + 0, 0, 0, 1257, 1258, 5, 85, 0, 0, 1258, 1259, 5, + 2, 0, 0, 1259, 1260, 3, 234, 117, 0, 1260, 1261, 5, + 3, 0, 0, 1261, 1488, 1, 0, 0, 0, 1262, 1263, 5, + 86, 0, 0, 1263, 1264, 5, 2, 0, 0, 1264, 1265, 3, + 234, 117, 0, 1265, 1266, 5, 3, 0, 0, 1266, 1488, 1, + 0, 0, 0, 1267, 1273, 5, 87, 0, 0, 1268, 1269, 5, + 2, 0, 0, 1269, 1270, 3, 234, 117, 0, 1270, 1271, 5, + 3, 0, 0, 1271, 1274, 1, 0, 0, 0, 1272, 1274, 5, + 165, 0, 0, 1273, 1268, 1, 0, 0, 0, 1273, 1272, 1, + 0, 0, 0, 1274, 1488, 1, 0, 0, 0, 1275, 1276, 5, + 88, 0, 0, 1276, 1488, 5, 165, 0, 0, 1277, 1278, 5, + 89, 0, 0, 1278, 1279, 5, 2, 0, 0, 1279, 1280, 3, + 234, 117, 0, 1280, 1281, 5, 3, 0, 0, 1281, 1488, 1, + 0, 0, 0, 1282, 1283, 5, 90, 0, 0, 1283, 1284, 5, + 2, 0, 0, 1284, 1285, 3, 234, 117, 0, 1285, 1286, 5, + 3, 0, 0, 1286, 1488, 1, 0, 0, 0, 1287, 1288, 5, + 91, 0, 0, 1288, 1289, 5, 2, 0, 0, 1289, 1290, 3, + 234, 117, 0, 1290, 1291, 5, 3, 0, 0, 1291, 1488, 1, + 0, 0, 0, 1292, 1293, 5, 92, 0, 0, 1293, 1294, 5, + 2, 0, 0, 1294, 1295, 3, 234, 117, 0, 1295, 1296, 5, + 3, 0, 0, 1296, 1488, 1, 0, 0, 0, 1297, 1298, 5, + 93, 0, 0, 1298, 1488, 3, 152, 76, 0, 1299, 1488, 3, + 276, 138, 0, 1300, 1301, 5, 94, 0, 0, 1301, 1302, 5, + 2, 0, 0, 1302, 1303, 3, 234, 117, 0, 1303, 1304, 5, + 3, 0, 0, 1304, 1488, 1, 0, 0, 0, 1305, 1488, 3, + 278, 139, 0, 1306, 1307, 5, 95, 0, 0, 1307, 1308, 5, + 2, 0, 0, 1308, 1309, 3, 234, 117, 0, 1309, 1310, 5, + 3, 0, 0, 1310, 1488, 1, 0, 0, 0, 1311, 1312, 5, + 96, 0, 0, 1312, 1313, 5, 2, 0, 0, 1313, 1314, 3, + 234, 117, 0, 1314, 1315, 5, 3, 0, 0, 1315, 1488, 1, + 0, 0, 0, 1316, 1317, 5, 97, 0, 0, 1317, 1318, 5, + 2, 0, 0, 1318, 1319, 3, 234, 117, 0, 1319, 1320, 5, + 3, 0, 0, 1320, 1488, 1, 0, 0, 0, 1321, 1322, 5, + 99, 0, 0, 1322, 1323, 5, 2, 0, 0, 1323, 1324, 3, + 234, 117, 0, 1324, 1325, 5, 8, 0, 0, 1325, 1326, 3, + 234, 117, 0, 1326, 1327, 5, 3, 0, 0, 1327, 1488, 1, + 0, 0, 0, 1328, 1329, 5, 100, 0, 0, 1329, 1330, 5, + 2, 0, 0, 1330, 1331, 3, 234, 117, 0, 1331, 1332, 5, + 8, 0, 0, 1332, 1333, 3, 234, 117, 0, 1333, 1334, 5, + 3, 0, 0, 1334, 1488, 1, 0, 0, 0, 1335, 1336, 5, + 101, 0, 0, 1336, 1337, 5, 2, 0, 0, 1337, 1338, 3, + 234, 117, 0, 1338, 1339, 5, 8, 0, 0, 1339, 1340, 3, + 234, 117, 0, 1340, 1341, 5, 3, 0, 0, 1341, 1488, 1, + 0, 0, 0, 1342, 1343, 5, 102, 0, 0, 1343, 1344, 5, + 2, 0, 0, 1344, 1345, 3, 234, 117, 0, 1345, 1346, 5, + 8, 0, 0, 1346, 1347, 3, 234, 117, 0, 1347, 1348, 5, + 3, 0, 0, 1348, 1488, 1, 0, 0, 0, 1349, 1350, 5, + 103, 0, 0, 1350, 1351, 5, 2, 0, 0, 1351, 1352, 3, + 234, 117, 0, 1352, 1353, 5, 8, 0, 0, 1353, 1354, 3, + 234, 117, 0, 1354, 1355, 5, 3, 0, 0, 1355, 1488, 1, + 0, 0, 0, 1356, 1357, 5, 104, 0, 0, 1357, 1358, 5, + 2, 0, 0, 1358, 1359, 3, 234, 117, 0, 1359, 1360, 5, + 3, 0, 0, 1360, 1488, 1, 0, 0, 0, 1361, 1362, 5, + 105, 0, 0, 1362, 1363, 5, 2, 0, 0, 1363, 1364, 3, + 234, 117, 0, 1364, 1365, 5, 3, 0, 0, 1365, 1488, 1, + 0, 0, 0, 1366, 1367, 5, 106, 0, 0, 1367, 1368, 5, + 2, 0, 0, 1368, 1369, 3, 234, 117, 0, 1369, 1370, 5, + 3, 0, 0, 1370, 1488, 1, 0, 0, 0, 1371, 1372, 5, + 107, 0, 0, 1372, 1373, 5, 2, 0, 0, 1373, 1374, 3, + 234, 117, 0, 1374, 1375, 5, 3, 0, 0, 1375, 1488, 1, + 0, 0, 0, 1376, 1377, 5, 108, 0, 0, 1377, 1378, 5, + 2, 0, 0, 1378, 1379, 3, 234, 117, 0, 1379, 1380, 5, + 3, 0, 0, 1380, 1488, 1, 0, 0, 0, 1381, 1382, 5, + 109, 0, 0, 1382, 1383, 5, 2, 0, 0, 1383, 1384, 3, + 234, 117, 0, 1384, 1385, 5, 3, 0, 0, 1385, 1488, 1, + 0, 0, 0, 1386, 1387, 5, 110, 0, 0, 1387, 1388, 5, + 2, 0, 0, 1388, 1389, 3, 234, 117, 0, 1389, 1390, 5, + 3, 0, 0, 1390, 1488, 1, 0, 0, 0, 1391, 1392, 5, + 111, 0, 0, 1392, 1393, 5, 2, 0, 0, 1393, 1394, 3, + 234, 117, 0, 1394, 1395, 5, 3, 0, 0, 1395, 1488, 1, + 0, 0, 0, 1396, 1397, 5, 112, 0, 0, 1397, 1488, 5, + 165, 0, 0, 1398, 1399, 5, 113, 0, 0, 1399, 1488, 5, + 165, 0, 0, 1400, 1401, 5, 114, 0, 0, 1401, 1488, 5, + 165, 0, 0, 1402, 1403, 5, 119, 0, 0, 1403, 1404, 5, + 2, 0, 0, 1404, 1405, 3, 234, 117, 0, 1405, 1406, 5, + 3, 0, 0, 1406, 1488, 1, 0, 0, 0, 1407, 1408, 5, + 115, 0, 0, 1408, 1409, 5, 2, 0, 0, 1409, 1410, 3, + 234, 117, 0, 1410, 1411, 5, 3, 0, 0, 1411, 1488, 1, + 0, 0, 0, 1412, 1413, 5, 116, 0, 0, 1413, 1414, 5, + 2, 0, 0, 1414, 1415, 3, 234, 117, 0, 1415, 1416, 5, + 3, 0, 0, 1416, 1488, 1, 0, 0, 0, 1417, 1418, 5, + 117, 0, 0, 1418, 1419, 5, 2, 0, 0, 1419, 1420, 3, + 234, 117, 0, 1420, 1421, 5, 3, 0, 0, 1421, 1488, 1, + 0, 0, 0, 1422, 1423, 5, 118, 0, 0, 1423, 1424, 5, + 2, 0, 0, 1424, 1425, 3, 234, 117, 0, 1425, 1426, 5, + 3, 0, 0, 1426, 1488, 1, 0, 0, 0, 1427, 1428, 5, + 120, 0, 0, 1428, 1488, 3, 152, 76, 0, 1429, 1430, 5, + 121, 0, 0, 1430, 1431, 5, 2, 0, 0, 1431, 1432, 3, + 234, 117, 0, 1432, 1433, 5, 8, 0, 0, 1433, 1434, 3, + 234, 117, 0, 1434, 1435, 5, 8, 0, 0, 1435, 1436, 3, + 234, 117, 0, 1436, 1437, 5, 3, 0, 0, 1437, 1488, 1, + 0, 0, 0, 1438, 1439, 5, 122, 0, 0, 1439, 1440, 5, + 2, 0, 0, 1440, 1441, 3, 234, 117, 0, 1441, 1442, 5, + 8, 0, 0, 1442, 1443, 3, 234, 117, 0, 1443, 1444, 5, + 3, 0, 0, 1444, 1488, 1, 0, 0, 0, 1445, 1446, 5, + 123, 0, 0, 1446, 1447, 5, 2, 0, 0, 1447, 1448, 3, + 234, 117, 0, 1448, 1449, 5, 8, 0, 0, 1449, 1450, 3, + 234, 117, 0, 1450, 1451, 5, 3, 0, 0, 1451, 1488, 1, + 0, 0, 0, 1452, 1453, 5, 124, 0, 0, 1453, 1454, 5, + 2, 0, 0, 1454, 1455, 3, 234, 117, 0, 1455, 1456, 5, + 8, 0, 0, 1456, 1457, 3, 234, 117, 0, 1457, 1458, 5, + 3, 0, 0, 1458, 1488, 1, 0, 0, 0, 1459, 1460, 5, + 125, 0, 0, 1460, 1461, 5, 2, 0, 0, 1461, 1462, 3, + 234, 117, 0, 1462, 1463, 5, 3, 0, 0, 1463, 1488, 1, + 0, 0, 0, 1464, 1465, 5, 126, 0, 0, 1465, 1466, 5, + 2, 0, 0, 1466, 1467, 3, 234, 117, 0, 1467, 1468, 5, + 3, 0, 0, 1468, 1488, 1, 0, 0, 0, 1469, 1470, 5, + 127, 0, 0, 1470, 1471, 5, 2, 0, 0, 1471, 1472, 3, + 234, 117, 0, 1472, 1473, 5, 3, 0, 0, 1473, 1488, 1, + 0, 0, 0, 1474, 1475, 5, 128, 0, 0, 1475, 1476, 5, + 2, 0, 0, 1476, 1477, 3, 234, 117, 0, 1477, 1478, 5, + 3, 0, 0, 1478, 1488, 1, 0, 0, 0, 1479, 1480, 5, + 129, 0, 0, 1480, 1481, 5, 2, 0, 0, 1481, 1482, 3, + 234, 117, 0, 1482, 1483, 5, 3, 0, 0, 1483, 1488, 1, + 0, 0, 0, 1484, 1488, 3, 272, 136, 0, 1485, 1488, 3, + 280, 140, 0, 1486, 1488, 3, 282, 141, 0, 1487, 1233, 1, + 0, 0, 0, 1487, 1234, 1, 0, 0, 0, 1487, 1239, 1, + 0, 0, 0, 1487, 1240, 1, 0, 0, 0, 1487, 1247, 1, + 0, 0, 0, 1487, 1252, 1, 0, 0, 0, 1487, 1257, 1, + 0, 0, 0, 1487, 1262, 1, 0, 0, 0, 1487, 1267, 1, + 0, 0, 0, 1487, 1275, 1, 0, 0, 0, 1487, 1277, 1, + 0, 0, 0, 1487, 1282, 1, 0, 0, 0, 1487, 1287, 1, + 0, 0, 0, 1487, 1292, 1, 0, 0, 0, 1487, 1297, 1, + 0, 0, 0, 1487, 1299, 1, 0, 0, 0, 1487, 1300, 1, + 0, 0, 0, 1487, 1305, 1, 0, 0, 0, 1487, 1306, 1, + 0, 0, 0, 1487, 1311, 1, 0, 0, 0, 1487, 1316, 1, + 0, 0, 0, 1487, 1321, 1, 0, 0, 0, 1487, 1328, 1, + 0, 0, 0, 1487, 1335, 1, 0, 0, 0, 1487, 1342, 1, + 0, 0, 0, 1487, 1349, 1, 0, 0, 0, 1487, 1356, 1, + 0, 0, 0, 1487, 1361, 1, 0, 0, 0, 1487, 1366, 1, + 0, 0, 0, 1487, 1371, 1, 0, 0, 0, 1487, 1376, 1, + 0, 0, 0, 1487, 1381, 1, 0, 0, 0, 1487, 1386, 1, + 0, 0, 0, 1487, 1391, 1, 0, 0, 0, 1487, 1396, 1, + 0, 0, 0, 1487, 1398, 1, 0, 0, 0, 1487, 1400, 1, + 0, 0, 0, 1487, 1402, 1, 0, 0, 0, 1487, 1407, 1, + 0, 0, 0, 1487, 1412, 1, 0, 0, 0, 1487, 1417, 1, + 0, 0, 0, 1487, 1422, 1, 0, 0, 0, 1487, 1427, 1, + 0, 0, 0, 1487, 1429, 1, 0, 0, 0, 1487, 1438, 1, + 0, 0, 0, 1487, 1445, 1, 0, 0, 0, 1487, 1452, 1, + 0, 0, 0, 1487, 1459, 1, 0, 0, 0, 1487, 1464, 1, + 0, 0, 0, 1487, 1469, 1, 0, 0, 0, 1487, 1474, 1, + 0, 0, 0, 1487, 1479, 1, 0, 0, 0, 1487, 1484, 1, + 0, 0, 0, 1487, 1485, 1, 0, 0, 0, 1487, 1486, 1, + 0, 0, 0, 1488, 271, 1, 0, 0, 0, 1489, 1490, 5, + 130, 0, 0, 1490, 1491, 5, 2, 0, 0, 1491, 1492, 3, + 234, 117, 0, 1492, 1493, 5, 8, 0, 0, 1493, 1496, 3, + 234, 117, 0, 1494, 1495, 5, 8, 0, 0, 1495, 1497, 3, + 234, 117, 0, 1496, 1494, 1, 0, 0, 0, 1496, 1497, 1, + 0, 0, 0, 1497, 1498, 1, 0, 0, 0, 1498, 1499, 5, + 3, 0, 0, 1499, 273, 1, 0, 0, 0, 1500, 1501, 5, + 81, 0, 0, 1501, 1502, 5, 2, 0, 0, 1502, 1503, 3, + 234, 117, 0, 1503, 1504, 5, 3, 0, 0, 1504, 275, 1, + 0, 0, 0, 1505, 1506, 5, 131, 0, 0, 1506, 1507, 5, + 2, 0, 0, 1507, 1508, 3, 234, 117, 0, 1508, 1509, 5, + 8, 0, 0, 1509, 1512, 3, 234, 117, 0, 1510, 1511, 5, + 8, 0, 0, 1511, 1513, 3, 234, 117, 0, 1512, 1510, 1, + 0, 0, 0, 1512, 1513, 1, 0, 0, 0, 1513, 1514, 1, + 0, 0, 0, 1514, 1515, 5, 3, 0, 0, 1515, 277, 1, + 0, 0, 0, 1516, 1517, 5, 132, 0, 0, 1517, 1518, 5, + 2, 0, 0, 1518, 1519, 3, 234, 117, 0, 1519, 1520, 5, + 8, 0, 0, 1520, 1521, 3, 234, 117, 0, 1521, 1522, 5, + 8, 0, 0, 1522, 1525, 3, 234, 117, 0, 1523, 1524, 5, + 8, 0, 0, 1524, 1526, 3, 234, 117, 0, 1525, 1523, 1, + 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 1, + 0, 0, 0, 1527, 1528, 5, 3, 0, 0, 1528, 279, 1, + 0, 0, 0, 1529, 1530, 5, 133, 0, 0, 1530, 1531, 3, + 110, 55, 0, 1531, 281, 1, 0, 0, 0, 1532, 1533, 5, + 78, 0, 0, 1533, 1534, 5, 133, 0, 0, 1534, 1535, 3, + 110, 55, 0, 1535, 283, 1, 0, 0, 0, 1536, 1537, 5, + 134, 0, 0, 1537, 1539, 5, 2, 0, 0, 1538, 1540, 5, + 33, 0, 0, 1539, 1538, 1, 0, 0, 0, 1539, 1540, 1, + 0, 0, 0, 1540, 1543, 1, 0, 0, 0, 1541, 1544, 5, + 1, 0, 0, 1542, 1544, 3, 234, 117, 0, 1543, 1541, 1, + 0, 0, 0, 1543, 1542, 1, 0, 0, 0, 1544, 1545, 1, + 0, 0, 0, 1545, 1609, 5, 3, 0, 0, 1546, 1547, 5, + 135, 0, 0, 1547, 1549, 5, 2, 0, 0, 1548, 1550, 5, + 33, 0, 0, 1549, 1548, 1, 0, 0, 0, 1549, 1550, 1, + 0, 0, 0, 1550, 1551, 1, 0, 0, 0, 1551, 1552, 3, + 234, 117, 0, 1552, 1553, 5, 3, 0, 0, 1553, 1609, 1, + 0, 0, 0, 1554, 1555, 5, 136, 0, 0, 1555, 1557, 5, + 2, 0, 0, 1556, 1558, 5, 33, 0, 0, 1557, 1556, 1, + 0, 0, 0, 1557, 1558, 1, 0, 0, 0, 1558, 1559, 1, + 0, 0, 0, 1559, 1560, 3, 234, 117, 0, 1560, 1561, 5, + 3, 0, 0, 1561, 1609, 1, 0, 0, 0, 1562, 1563, 5, + 137, 0, 0, 1563, 1565, 5, 2, 0, 0, 1564, 1566, 5, + 33, 0, 0, 1565, 1564, 1, 0, 0, 0, 1565, 1566, 1, + 0, 0, 0, 1566, 1567, 1, 0, 0, 0, 1567, 1568, 3, + 234, 117, 0, 1568, 1569, 5, 3, 0, 0, 1569, 1609, 1, + 0, 0, 0, 1570, 1571, 5, 138, 0, 0, 1571, 1573, 5, + 2, 0, 0, 1572, 1574, 5, 33, 0, 0, 1573, 1572, 1, + 0, 0, 0, 1573, 1574, 1, 0, 0, 0, 1574, 1575, 1, + 0, 0, 0, 1575, 1576, 3, 234, 117, 0, 1576, 1577, 5, + 3, 0, 0, 1577, 1609, 1, 0, 0, 0, 1578, 1579, 5, + 139, 0, 0, 1579, 1581, 5, 2, 0, 0, 1580, 1582, 5, + 33, 0, 0, 1581, 1580, 1, 0, 0, 0, 1581, 1582, 1, + 0, 0, 0, 1582, 1583, 1, 0, 0, 0, 1583, 1584, 3, + 234, 117, 0, 1584, 1585, 5, 3, 0, 0, 1585, 1609, 1, + 0, 0, 0, 1586, 1587, 5, 140, 0, 0, 1587, 1589, 5, + 2, 0, 0, 1588, 1590, 5, 33, 0, 0, 1589, 1588, 1, + 0, 0, 0, 1589, 1590, 1, 0, 0, 0, 1590, 1591, 1, + 0, 0, 0, 1591, 1592, 3, 234, 117, 0, 1592, 1593, 5, + 3, 0, 0, 1593, 1609, 1, 0, 0, 0, 1594, 1595, 5, + 43, 0, 0, 1595, 1597, 5, 2, 0, 0, 1596, 1598, 5, + 33, 0, 0, 1597, 1596, 1, 0, 0, 0, 1597, 1598, 1, + 0, 0, 0, 1598, 1599, 1, 0, 0, 0, 1599, 1604, 3, + 234, 117, 0, 1600, 1601, 5, 6, 0, 0, 1601, 1602, 5, + 141, 0, 0, 1602, 1603, 5, 20, 0, 0, 1603, 1605, 3, + 300, 150, 0, 1604, 1600, 1, 0, 0, 0, 1604, 1605, 1, + 0, 0, 0, 1605, 1606, 1, 0, 0, 0, 1606, 1607, 5, + 3, 0, 0, 1607, 1609, 1, 0, 0, 0, 1608, 1536, 1, + 0, 0, 0, 1608, 1546, 1, 0, 0, 0, 1608, 1554, 1, + 0, 0, 0, 1608, 1562, 1, 0, 0, 0, 1608, 1570, 1, + 0, 0, 0, 1608, 1578, 1, 0, 0, 0, 1608, 1586, 1, + 0, 0, 0, 1608, 1594, 1, 0, 0, 0, 1609, 285, 1, + 0, 0, 0, 1610, 1612, 3, 302, 151, 0, 1611, 1613, 3, + 150, 75, 0, 1612, 1611, 1, 0, 0, 0, 1612, 1613, 1, + 0, 0, 0, 1613, 287, 1, 0, 0, 0, 1614, 1618, 3, + 300, 150, 0, 1615, 1619, 5, 148, 0, 0, 1616, 1617, 5, + 27, 0, 0, 1617, 1619, 3, 302, 151, 0, 1618, 1615, 1, + 0, 0, 0, 1618, 1616, 1, 0, 0, 0, 1618, 1619, 1, + 0, 0, 0, 1619, 289, 1, 0, 0, 0, 1620, 1624, 3, + 292, 146, 0, 1621, 1624, 3, 294, 147, 0, 1622, 1624, 3, + 296, 148, 0, 1623, 1620, 1, 0, 0, 0, 1623, 1621, 1, + 0, 0, 0, 1623, 1622, 1, 0, 0, 0, 1624, 291, 1, + 0, 0, 0, 1625, 1626, 7, 4, 0, 0, 1626, 293, 1, + 0, 0, 0, 1627, 1628, 7, 5, 0, 0, 1628, 295, 1, + 0, 0, 0, 1629, 1630, 7, 6, 0, 0, 1630, 297, 1, + 0, 0, 0, 1631, 1632, 7, 7, 0, 0, 1632, 299, 1, + 0, 0, 0, 1633, 1634, 7, 8, 0, 0, 1634, 301, 1, + 0, 0, 0, 1635, 1637, 5, 149, 0, 0, 1636, 1635, 1, + 0, 0, 0, 1636, 1637, 1, 0, 0, 0, 1637, 1640, 1, + 0, 0, 0, 1638, 1641, 3, 308, 154, 0, 1639, 1641, 3, + 304, 152, 0, 1640, 1638, 1, 0, 0, 0, 1640, 1639, 1, + 0, 0, 0, 1641, 303, 1, 0, 0, 0, 1642, 1645, 3, + 310, 155, 0, 1643, 1645, 3, 312, 156, 0, 1644, 1642, 1, + 0, 0, 0, 1644, 1643, 1, 0, 0, 0, 1645, 305, 1, + 0, 0, 0, 1646, 1647, 7, 9, 0, 0, 1647, 307, 1, + 0, 0, 0, 1648, 1649, 5, 142, 0, 0, 1649, 309, 1, + 0, 0, 0, 1650, 1651, 5, 144, 0, 0, 1651, 311, 1, + 0, 0, 0, 1652, 1653, 5, 143, 0, 0, 1653, 313, 1, + 0, 0, 0, 162, 316, 325, 331, 333, 347, 360, 365, 368, + 372, 387, 396, 402, 406, 412, 415, 420, 424, 432, 441, 451, + 456, 459, 462, 465, 471, 479, 484, 490, 496, 501, 507, 509, + 513, 516, 520, 523, 527, 530, 534, 537, 541, 544, 548, 551, + 553, 566, 572, 574, 587, 591, 596, 600, 606, 612, 618, 626, + 634, 654, 658, 661, 666, 682, 687, 696, 707, 711, 714, 718, + 725, 732, 734, 739, 744, 749, 754, 757, 762, 764, 774, 785, + 802, 809, 819, 823, 829, 838, 843, 850, 860, 869, 877, 884, + 889, 898, 903, 907, 914, 916, 924, 927, 935, 939, 944, 951, + 962, 965, 970, 974, 989, 996, 1008, 1016, 1021, 1026, 1038, 1047, + 1050, 1053, 1060, 1062, 1068, 1076, 1086, 1094, 1100, 1104, 1108, 1112, + 1122, 1131, 1139, 1162, 1170, 1178, 1186, 1191, 1198, 1203, 1218, 1227, + 1273, 1487, 1496, 1512, 1525, 1539, 1543, 1549, 1557, 1565, 1573, 1581, + 1589, 1597, 1604, 1608, 1612, 1618, 1623, 1636, 1640, 1644}; + staticData->serializedATN = antlr4::atn::SerializedATNView( + serializedATNSegment, + sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0])); antlr4::atn::ATNDeserializer deserializer; staticData->atn = deserializer.deserialize(staticData->serializedATN); const size_t count = staticData->atn->getNumberOfDecisions(); staticData->decisionToDFA.reserve(count); - for (size_t i = 0; i < count; i++) { - staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), i); + for (size_t i = 0; i < count; i++) { + staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), + i); } sparqlautomaticParserStaticData = staticData.release(); } -} +} // namespace -SparqlAutomaticParser::SparqlAutomaticParser(TokenStream *input) : SparqlAutomaticParser(input, antlr4::atn::ParserATNSimulatorOptions()) {} +SparqlAutomaticParser::SparqlAutomaticParser(TokenStream* input) + : SparqlAutomaticParser(input, antlr4::atn::ParserATNSimulatorOptions()) {} -SparqlAutomaticParser::SparqlAutomaticParser(TokenStream *input, const antlr4::atn::ParserATNSimulatorOptions &options) : Parser(input) { +SparqlAutomaticParser::SparqlAutomaticParser( + TokenStream* input, const antlr4::atn::ParserATNSimulatorOptions& options) + : Parser(input) { SparqlAutomaticParser::initialize(); - _interpreter = new atn::ParserATNSimulator(this, *sparqlautomaticParserStaticData->atn, sparqlautomaticParserStaticData->decisionToDFA, sparqlautomaticParserStaticData->sharedContextCache, options); + _interpreter = new atn::ParserATNSimulator( + this, *sparqlautomaticParserStaticData->atn, + sparqlautomaticParserStaticData->decisionToDFA, + sparqlautomaticParserStaticData->sharedContextCache, options); } -SparqlAutomaticParser::~SparqlAutomaticParser() { - delete _interpreter; -} +SparqlAutomaticParser::~SparqlAutomaticParser() { delete _interpreter; } const atn::ATN& SparqlAutomaticParser::getATN() const { return *sparqlautomaticParserStaticData->atn; @@ -767,52 +1649,55 @@ antlr4::atn::SerializedATNView SparqlAutomaticParser::getSerializedATN() const { return sparqlautomaticParserStaticData->serializedATN; } +//----------------- QueryOrUpdateContext +//------------------------------------------------------------------ -//----------------- QueryOrUpdateContext ------------------------------------------------------------------ - -SparqlAutomaticParser::QueryOrUpdateContext::QueryOrUpdateContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::QueryOrUpdateContext::QueryOrUpdateContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::QueryOrUpdateContext::EOF() { return getToken(SparqlAutomaticParser::EOF, 0); } -SparqlAutomaticParser::QueryContext* SparqlAutomaticParser::QueryOrUpdateContext::query() { +SparqlAutomaticParser::QueryContext* +SparqlAutomaticParser::QueryOrUpdateContext::query() { return getRuleContext(0); } -SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::QueryOrUpdateContext::update() { +SparqlAutomaticParser::UpdateContext* +SparqlAutomaticParser::QueryOrUpdateContext::update() { return getRuleContext(0); } - size_t SparqlAutomaticParser::QueryOrUpdateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQueryOrUpdate; } -void SparqlAutomaticParser::QueryOrUpdateContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterQueryOrUpdate(this); +void SparqlAutomaticParser::QueryOrUpdateContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterQueryOrUpdate(this); } -void SparqlAutomaticParser::QueryOrUpdateContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitQueryOrUpdate(this); +void SparqlAutomaticParser::QueryOrUpdateContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitQueryOrUpdate(this); } - -std::any SparqlAutomaticParser::QueryOrUpdateContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::QueryOrUpdateContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQueryOrUpdate(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::QueryOrUpdateContext* SparqlAutomaticParser::queryOrUpdate() { - QueryOrUpdateContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::QueryOrUpdateContext* +SparqlAutomaticParser::queryOrUpdate() { + QueryOrUpdateContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 0, SparqlAutomaticParser::RuleQueryOrUpdate); #if __cplusplus > 201703L @@ -826,27 +1711,27 @@ SparqlAutomaticParser::QueryOrUpdateContext* SparqlAutomaticParser::queryOrUpdat enterOuterAlt(_localctx, 1); setState(316); _errHandler->sync(this); - switch (getInterpreter()->adaptivePredict(_input, 0, _ctx)) { - case 1: { - setState(314); - query(); - break; - } + switch (getInterpreter()->adaptivePredict( + _input, 0, _ctx)) { + case 1: { + setState(314); + query(); + break; + } - case 2: { - setState(315); - update(); - break; - } + case 2: { + setState(315); + update(); + break; + } - default: - break; + default: + break; } setState(318); match(SparqlAutomaticParser::EOF); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -855,55 +1740,61 @@ SparqlAutomaticParser::QueryOrUpdateContext* SparqlAutomaticParser::queryOrUpdat return _localctx; } -//----------------- QueryContext ------------------------------------------------------------------ +//----------------- QueryContext +//------------------------------------------------------------------ -SparqlAutomaticParser::QueryContext::QueryContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::QueryContext::QueryContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::QueryContext::prologue() { +SparqlAutomaticParser::PrologueContext* +SparqlAutomaticParser::QueryContext::prologue() { return getRuleContext(0); } -SparqlAutomaticParser::ValuesClauseContext* SparqlAutomaticParser::QueryContext::valuesClause() { +SparqlAutomaticParser::ValuesClauseContext* +SparqlAutomaticParser::QueryContext::valuesClause() { return getRuleContext(0); } -SparqlAutomaticParser::SelectQueryContext* SparqlAutomaticParser::QueryContext::selectQuery() { +SparqlAutomaticParser::SelectQueryContext* +SparqlAutomaticParser::QueryContext::selectQuery() { return getRuleContext(0); } -SparqlAutomaticParser::ConstructQueryContext* SparqlAutomaticParser::QueryContext::constructQuery() { +SparqlAutomaticParser::ConstructQueryContext* +SparqlAutomaticParser::QueryContext::constructQuery() { return getRuleContext(0); } -SparqlAutomaticParser::DescribeQueryContext* SparqlAutomaticParser::QueryContext::describeQuery() { +SparqlAutomaticParser::DescribeQueryContext* +SparqlAutomaticParser::QueryContext::describeQuery() { return getRuleContext(0); } -SparqlAutomaticParser::AskQueryContext* SparqlAutomaticParser::QueryContext::askQuery() { +SparqlAutomaticParser::AskQueryContext* +SparqlAutomaticParser::QueryContext::askQuery() { return getRuleContext(0); } - size_t SparqlAutomaticParser::QueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuery; } -void SparqlAutomaticParser::QueryContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterQuery(this); +void SparqlAutomaticParser::QueryContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterQuery(this); } -void SparqlAutomaticParser::QueryContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitQuery(this); +void SparqlAutomaticParser::QueryContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitQuery(this); } - -std::any SparqlAutomaticParser::QueryContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::QueryContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuery(this); else @@ -911,7 +1802,8 @@ std::any SparqlAutomaticParser::QueryContext::accept(tree::ParseTreeVisitor *vis } SparqlAutomaticParser::QueryContext* SparqlAutomaticParser::query() { - QueryContext *_localctx = _tracker.createInstance(_ctx, getState()); + QueryContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 2, SparqlAutomaticParser::RuleQuery); #if __cplusplus > 201703L @@ -952,14 +1844,13 @@ SparqlAutomaticParser::QueryContext* SparqlAutomaticParser::query() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(327); valuesClause(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -968,47 +1859,51 @@ SparqlAutomaticParser::QueryContext* SparqlAutomaticParser::query() { return _localctx; } -//----------------- PrologueContext ------------------------------------------------------------------ +//----------------- PrologueContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PrologueContext::PrologueContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PrologueContext::PrologueContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::PrologueContext::baseDecl() { +std::vector +SparqlAutomaticParser::PrologueContext::baseDecl() { return getRuleContexts(); } -SparqlAutomaticParser::BaseDeclContext* SparqlAutomaticParser::PrologueContext::baseDecl(size_t i) { +SparqlAutomaticParser::BaseDeclContext* +SparqlAutomaticParser::PrologueContext::baseDecl(size_t i) { return getRuleContext(i); } -std::vector SparqlAutomaticParser::PrologueContext::prefixDecl() { +std::vector +SparqlAutomaticParser::PrologueContext::prefixDecl() { return getRuleContexts(); } -SparqlAutomaticParser::PrefixDeclContext* SparqlAutomaticParser::PrologueContext::prefixDecl(size_t i) { +SparqlAutomaticParser::PrefixDeclContext* +SparqlAutomaticParser::PrologueContext::prefixDecl(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::PrologueContext::getRuleIndex() const { return SparqlAutomaticParser::RulePrologue; } -void SparqlAutomaticParser::PrologueContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPrologue(this); +void SparqlAutomaticParser::PrologueContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPrologue(this); } -void SparqlAutomaticParser::PrologueContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPrologue(this); +void SparqlAutomaticParser::PrologueContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPrologue(this); } - -std::any SparqlAutomaticParser::PrologueContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PrologueContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPrologue(this); else @@ -1016,7 +1911,8 @@ std::any SparqlAutomaticParser::PrologueContext::accept(tree::ParseTreeVisitor * } SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::prologue() { - PrologueContext *_localctx = _tracker.createInstance(_ctx, getState()); + PrologueContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 4, SparqlAutomaticParser::RulePrologue); size_t _la = 0; @@ -1034,7 +1930,7 @@ SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::prologue() { _la = _input->LA(1); while (_la == SparqlAutomaticParser::BASE - || _la == SparqlAutomaticParser::PREFIX) { + || _la == SparqlAutomaticParser::PREFIX) { setState(331); _errHandler->sync(this); switch (_input->LA(1)) { @@ -1050,16 +1946,15 @@ SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::prologue() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(335); _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1068,39 +1963,40 @@ SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::prologue() { return _localctx; } -//----------------- BaseDeclContext ------------------------------------------------------------------ +//----------------- BaseDeclContext +//------------------------------------------------------------------ -SparqlAutomaticParser::BaseDeclContext::BaseDeclContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::BaseDeclContext::BaseDeclContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::BaseDeclContext::BASE() { return getToken(SparqlAutomaticParser::BASE, 0); } -SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::BaseDeclContext::iriref() { +SparqlAutomaticParser::IrirefContext* +SparqlAutomaticParser::BaseDeclContext::iriref() { return getRuleContext(0); } - size_t SparqlAutomaticParser::BaseDeclContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBaseDecl; } -void SparqlAutomaticParser::BaseDeclContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterBaseDecl(this); +void SparqlAutomaticParser::BaseDeclContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterBaseDecl(this); } -void SparqlAutomaticParser::BaseDeclContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitBaseDecl(this); +void SparqlAutomaticParser::BaseDeclContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitBaseDecl(this); } - -std::any SparqlAutomaticParser::BaseDeclContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::BaseDeclContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBaseDecl(this); else @@ -1108,7 +2004,8 @@ std::any SparqlAutomaticParser::BaseDeclContext::accept(tree::ParseTreeVisitor * } SparqlAutomaticParser::BaseDeclContext* SparqlAutomaticParser::baseDecl() { - BaseDeclContext *_localctx = _tracker.createInstance(_ctx, getState()); + BaseDeclContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 6, SparqlAutomaticParser::RuleBaseDecl); #if __cplusplus > 201703L @@ -1124,9 +2021,8 @@ SparqlAutomaticParser::BaseDeclContext* SparqlAutomaticParser::baseDecl() { match(SparqlAutomaticParser::BASE); setState(337); iriref(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1135,11 +2031,12 @@ SparqlAutomaticParser::BaseDeclContext* SparqlAutomaticParser::baseDecl() { return _localctx; } -//----------------- PrefixDeclContext ------------------------------------------------------------------ +//----------------- PrefixDeclContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PrefixDeclContext::PrefixDeclContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PrefixDeclContext::PrefixDeclContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::PrefixDeclContext::PREFIX() { return getToken(SparqlAutomaticParser::PREFIX, 0); @@ -1149,29 +2046,29 @@ tree::TerminalNode* SparqlAutomaticParser::PrefixDeclContext::PNAME_NS() { return getToken(SparqlAutomaticParser::PNAME_NS, 0); } -SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::PrefixDeclContext::iriref() { +SparqlAutomaticParser::IrirefContext* +SparqlAutomaticParser::PrefixDeclContext::iriref() { return getRuleContext(0); } - size_t SparqlAutomaticParser::PrefixDeclContext::getRuleIndex() const { return SparqlAutomaticParser::RulePrefixDecl; } -void SparqlAutomaticParser::PrefixDeclContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPrefixDecl(this); +void SparqlAutomaticParser::PrefixDeclContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPrefixDecl(this); } -void SparqlAutomaticParser::PrefixDeclContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPrefixDecl(this); +void SparqlAutomaticParser::PrefixDeclContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPrefixDecl(this); } - -std::any SparqlAutomaticParser::PrefixDeclContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PrefixDeclContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPrefixDecl(this); else @@ -1179,7 +2076,8 @@ std::any SparqlAutomaticParser::PrefixDeclContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::PrefixDeclContext* SparqlAutomaticParser::prefixDecl() { - PrefixDeclContext *_localctx = _tracker.createInstance(_ctx, getState()); + PrefixDeclContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 8, SparqlAutomaticParser::RulePrefixDecl); #if __cplusplus > 201703L @@ -1197,9 +2095,8 @@ SparqlAutomaticParser::PrefixDeclContext* SparqlAutomaticParser::prefixDecl() { match(SparqlAutomaticParser::PNAME_NS); setState(341); iriref(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1208,59 +2105,66 @@ SparqlAutomaticParser::PrefixDeclContext* SparqlAutomaticParser::prefixDecl() { return _localctx; } -//----------------- SelectQueryContext ------------------------------------------------------------------ +//----------------- SelectQueryContext +//------------------------------------------------------------------ -SparqlAutomaticParser::SelectQueryContext::SelectQueryContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::SelectQueryContext::SelectQueryContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::SelectQueryContext::selectClause() { +SparqlAutomaticParser::SelectClauseContext* +SparqlAutomaticParser::SelectQueryContext::selectClause() { return getRuleContext(0); } -SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::SelectQueryContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* +SparqlAutomaticParser::SelectQueryContext::whereClause() { return getRuleContext(0); } -SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::SelectQueryContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* +SparqlAutomaticParser::SelectQueryContext::solutionModifier() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::SelectQueryContext::datasetClause() { +std::vector +SparqlAutomaticParser::SelectQueryContext::datasetClause() { return getRuleContexts(); } -SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::SelectQueryContext::datasetClause(size_t i) { +SparqlAutomaticParser::DatasetClauseContext* +SparqlAutomaticParser::SelectQueryContext::datasetClause(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::SelectQueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSelectQuery; } -void SparqlAutomaticParser::SelectQueryContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterSelectQuery(this); +void SparqlAutomaticParser::SelectQueryContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterSelectQuery(this); } -void SparqlAutomaticParser::SelectQueryContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitSelectQuery(this); +void SparqlAutomaticParser::SelectQueryContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitSelectQuery(this); } - -std::any SparqlAutomaticParser::SelectQueryContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::SelectQueryContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSelectQuery(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SelectQueryContext* SparqlAutomaticParser::selectQuery() { - SelectQueryContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SelectQueryContext* +SparqlAutomaticParser::selectQuery() { + SelectQueryContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 10, SparqlAutomaticParser::RuleSelectQuery); size_t _la = 0; @@ -1289,9 +2193,8 @@ SparqlAutomaticParser::SelectQueryContext* SparqlAutomaticParser::selectQuery() whereClause(); setState(351); solutionModifier(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1300,47 +2203,51 @@ SparqlAutomaticParser::SelectQueryContext* SparqlAutomaticParser::selectQuery() return _localctx; } -//----------------- SubSelectContext ------------------------------------------------------------------ +//----------------- SubSelectContext +//------------------------------------------------------------------ -SparqlAutomaticParser::SubSelectContext::SubSelectContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::SubSelectContext::SubSelectContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::SubSelectContext::selectClause() { +SparqlAutomaticParser::SelectClauseContext* +SparqlAutomaticParser::SubSelectContext::selectClause() { return getRuleContext(0); } -SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::SubSelectContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* +SparqlAutomaticParser::SubSelectContext::whereClause() { return getRuleContext(0); } -SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::SubSelectContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* +SparqlAutomaticParser::SubSelectContext::solutionModifier() { return getRuleContext(0); } -SparqlAutomaticParser::ValuesClauseContext* SparqlAutomaticParser::SubSelectContext::valuesClause() { +SparqlAutomaticParser::ValuesClauseContext* +SparqlAutomaticParser::SubSelectContext::valuesClause() { return getRuleContext(0); } - size_t SparqlAutomaticParser::SubSelectContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSubSelect; } -void SparqlAutomaticParser::SubSelectContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterSubSelect(this); +void SparqlAutomaticParser::SubSelectContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterSubSelect(this); } -void SparqlAutomaticParser::SubSelectContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitSubSelect(this); +void SparqlAutomaticParser::SubSelectContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitSubSelect(this); } - -std::any SparqlAutomaticParser::SubSelectContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::SubSelectContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSubSelect(this); else @@ -1348,7 +2255,8 @@ std::any SparqlAutomaticParser::SubSelectContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::SubSelectContext* SparqlAutomaticParser::subSelect() { - SubSelectContext *_localctx = _tracker.createInstance(_ctx, getState()); + SubSelectContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 12, SparqlAutomaticParser::RuleSubSelect); #if __cplusplus > 201703L @@ -1368,9 +2276,8 @@ SparqlAutomaticParser::SubSelectContext* SparqlAutomaticParser::subSelect() { solutionModifier(); setState(356); valuesClause(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1379,11 +2286,12 @@ SparqlAutomaticParser::SubSelectContext* SparqlAutomaticParser::subSelect() { return _localctx; } -//----------------- SelectClauseContext ------------------------------------------------------------------ +//----------------- SelectClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::SelectClauseContext::SelectClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::SelectClauseContext::SelectClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::SelectClauseContext::SELECT() { return getToken(SparqlAutomaticParser::SELECT, 0); @@ -1397,41 +2305,44 @@ tree::TerminalNode* SparqlAutomaticParser::SelectClauseContext::REDUCED() { return getToken(SparqlAutomaticParser::REDUCED, 0); } -std::vector SparqlAutomaticParser::SelectClauseContext::varOrAlias() { +std::vector +SparqlAutomaticParser::SelectClauseContext::varOrAlias() { return getRuleContexts(); } -SparqlAutomaticParser::VarOrAliasContext* SparqlAutomaticParser::SelectClauseContext::varOrAlias(size_t i) { +SparqlAutomaticParser::VarOrAliasContext* +SparqlAutomaticParser::SelectClauseContext::varOrAlias(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::SelectClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSelectClause; } -void SparqlAutomaticParser::SelectClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterSelectClause(this); +void SparqlAutomaticParser::SelectClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterSelectClause(this); } -void SparqlAutomaticParser::SelectClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitSelectClause(this); +void SparqlAutomaticParser::SelectClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitSelectClause(this); } - -std::any SparqlAutomaticParser::SelectClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::SelectClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSelectClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::selectClause() { - SelectClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SelectClauseContext* +SparqlAutomaticParser::selectClause() { + SelectClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 14, SparqlAutomaticParser::RuleSelectClause); size_t _la = 0; @@ -1452,15 +2363,14 @@ SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::selectClause( _la = _input->LA(1); if (_la == SparqlAutomaticParser::DISTINCT - || _la == SparqlAutomaticParser::REDUCED) { + || _la == SparqlAutomaticParser::REDUCED) { setState(359); _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::DISTINCT - || _la == SparqlAutomaticParser::REDUCED)) { - _errHandler->recoverInline(this); - } - else { + || _la == SparqlAutomaticParser::REDUCED)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } @@ -1471,33 +2381,34 @@ SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::selectClause( case SparqlAutomaticParser::T__1: case SparqlAutomaticParser::VAR1: case SparqlAutomaticParser::VAR2: { - setState(363); + setState(363); _errHandler->sync(this); _la = _input->LA(1); do { setState(362); varOrAlias(); - setState(365); + setState(365); _errHandler->sync(this); _la = _input->LA(1); - } while (_la == SparqlAutomaticParser::T__1 || _la == SparqlAutomaticParser::VAR1 + } while (_la == SparqlAutomaticParser::T__1 || + _la == SparqlAutomaticParser::VAR1 - || _la == SparqlAutomaticParser::VAR2); + || _la == SparqlAutomaticParser::VAR2); break; } case SparqlAutomaticParser::T__0: { setState(367); - antlrcpp::downCast(_localctx)->asterisk = match(SparqlAutomaticParser::T__0); + antlrcpp::downCast(_localctx)->asterisk = + match(SparqlAutomaticParser::T__0); break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1506,39 +2417,41 @@ SparqlAutomaticParser::SelectClauseContext* SparqlAutomaticParser::selectClause( return _localctx; } -//----------------- VarOrAliasContext ------------------------------------------------------------------ +//----------------- VarOrAliasContext +//------------------------------------------------------------------ -SparqlAutomaticParser::VarOrAliasContext::VarOrAliasContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::VarOrAliasContext::VarOrAliasContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::VarOrAliasContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::VarOrAliasContext::var() { return getRuleContext(0); } -SparqlAutomaticParser::AliasContext* SparqlAutomaticParser::VarOrAliasContext::alias() { +SparqlAutomaticParser::AliasContext* +SparqlAutomaticParser::VarOrAliasContext::alias() { return getRuleContext(0); } - size_t SparqlAutomaticParser::VarOrAliasContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVarOrAlias; } -void SparqlAutomaticParser::VarOrAliasContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterVarOrAlias(this); +void SparqlAutomaticParser::VarOrAliasContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterVarOrAlias(this); } -void SparqlAutomaticParser::VarOrAliasContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitVarOrAlias(this); +void SparqlAutomaticParser::VarOrAliasContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitVarOrAlias(this); } - -std::any SparqlAutomaticParser::VarOrAliasContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::VarOrAliasContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVarOrAlias(this); else @@ -1546,7 +2459,8 @@ std::any SparqlAutomaticParser::VarOrAliasContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::VarOrAliasContext* SparqlAutomaticParser::varOrAlias() { - VarOrAliasContext *_localctx = _tracker.createInstance(_ctx, getState()); + VarOrAliasContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 16, SparqlAutomaticParser::RuleVarOrAlias); #if __cplusplus > 201703L @@ -1575,12 +2489,11 @@ SparqlAutomaticParser::VarOrAliasContext* SparqlAutomaticParser::varOrAlias() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1589,35 +2502,36 @@ SparqlAutomaticParser::VarOrAliasContext* SparqlAutomaticParser::varOrAlias() { return _localctx; } -//----------------- AliasContext ------------------------------------------------------------------ +//----------------- AliasContext +//------------------------------------------------------------------ -SparqlAutomaticParser::AliasContext::AliasContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::AliasContext::AliasContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::AliasWithoutBracketsContext* SparqlAutomaticParser::AliasContext::aliasWithoutBrackets() { +SparqlAutomaticParser::AliasWithoutBracketsContext* +SparqlAutomaticParser::AliasContext::aliasWithoutBrackets() { return getRuleContext(0); } - size_t SparqlAutomaticParser::AliasContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAlias; } -void SparqlAutomaticParser::AliasContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterAlias(this); +void SparqlAutomaticParser::AliasContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterAlias(this); } -void SparqlAutomaticParser::AliasContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitAlias(this); +void SparqlAutomaticParser::AliasContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitAlias(this); } - -std::any SparqlAutomaticParser::AliasContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::AliasContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAlias(this); else @@ -1625,7 +2539,8 @@ std::any SparqlAutomaticParser::AliasContext::accept(tree::ParseTreeVisitor *vis } SparqlAutomaticParser::AliasContext* SparqlAutomaticParser::alias() { - AliasContext *_localctx = _tracker.createInstance(_ctx, getState()); + AliasContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 18, SparqlAutomaticParser::RuleAlias); #if __cplusplus > 201703L @@ -1643,9 +2558,8 @@ SparqlAutomaticParser::AliasContext* SparqlAutomaticParser::alias() { aliasWithoutBrackets(); setState(376); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1654,13 +2568,15 @@ SparqlAutomaticParser::AliasContext* SparqlAutomaticParser::alias() { return _localctx; } -//----------------- AliasWithoutBracketsContext ------------------------------------------------------------------ +//----------------- AliasWithoutBracketsContext +//------------------------------------------------------------------ -SparqlAutomaticParser::AliasWithoutBracketsContext::AliasWithoutBracketsContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::AliasWithoutBracketsContext::AliasWithoutBracketsContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::AliasWithoutBracketsContext::expression() { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::AliasWithoutBracketsContext::expression() { return getRuleContext(0); } @@ -1668,37 +2584,41 @@ tree::TerminalNode* SparqlAutomaticParser::AliasWithoutBracketsContext::AS() { return getToken(SparqlAutomaticParser::AS, 0); } -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::AliasWithoutBracketsContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::AliasWithoutBracketsContext::var() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::AliasWithoutBracketsContext::getRuleIndex() const { +size_t SparqlAutomaticParser::AliasWithoutBracketsContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleAliasWithoutBrackets; } -void SparqlAutomaticParser::AliasWithoutBracketsContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::AliasWithoutBracketsContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterAliasWithoutBrackets(this); } -void SparqlAutomaticParser::AliasWithoutBracketsContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitAliasWithoutBrackets(this); +void SparqlAutomaticParser::AliasWithoutBracketsContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitAliasWithoutBrackets(this); } - -std::any SparqlAutomaticParser::AliasWithoutBracketsContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::AliasWithoutBracketsContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAliasWithoutBrackets(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::AliasWithoutBracketsContext* SparqlAutomaticParser::aliasWithoutBrackets() { - AliasWithoutBracketsContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::AliasWithoutBracketsContext* +SparqlAutomaticParser::aliasWithoutBrackets() { + AliasWithoutBracketsContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 20, SparqlAutomaticParser::RuleAliasWithoutBrackets); #if __cplusplus > 201703L @@ -1716,9 +2636,8 @@ SparqlAutomaticParser::AliasWithoutBracketsContext* SparqlAutomaticParser::alias match(SparqlAutomaticParser::AS); setState(380); var(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1727,25 +2646,29 @@ SparqlAutomaticParser::AliasWithoutBracketsContext* SparqlAutomaticParser::alias return _localctx; } -//----------------- ConstructQueryContext ------------------------------------------------------------------ +//----------------- ConstructQueryContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ConstructQueryContext::ConstructQueryContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ConstructQueryContext::ConstructQueryContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::ConstructQueryContext::CONSTRUCT() { return getToken(SparqlAutomaticParser::CONSTRUCT, 0); } -SparqlAutomaticParser::ConstructTemplateContext* SparqlAutomaticParser::ConstructQueryContext::constructTemplate() { +SparqlAutomaticParser::ConstructTemplateContext* +SparqlAutomaticParser::ConstructQueryContext::constructTemplate() { return getRuleContext(0); } -SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::ConstructQueryContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* +SparqlAutomaticParser::ConstructQueryContext::whereClause() { return getRuleContext(0); } -SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::ConstructQueryContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* +SparqlAutomaticParser::ConstructQueryContext::solutionModifier() { return getRuleContext(0); } @@ -1753,45 +2676,49 @@ tree::TerminalNode* SparqlAutomaticParser::ConstructQueryContext::WHERE() { return getToken(SparqlAutomaticParser::WHERE, 0); } -std::vector SparqlAutomaticParser::ConstructQueryContext::datasetClause() { +std::vector +SparqlAutomaticParser::ConstructQueryContext::datasetClause() { return getRuleContexts(); } -SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::ConstructQueryContext::datasetClause(size_t i) { +SparqlAutomaticParser::DatasetClauseContext* +SparqlAutomaticParser::ConstructQueryContext::datasetClause(size_t i) { return getRuleContext(i); } -SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::ConstructQueryContext::triplesTemplate() { +SparqlAutomaticParser::TriplesTemplateContext* +SparqlAutomaticParser::ConstructQueryContext::triplesTemplate() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ConstructQueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConstructQuery; } -void SparqlAutomaticParser::ConstructQueryContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterConstructQuery(this); +void SparqlAutomaticParser::ConstructQueryContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterConstructQuery(this); } -void SparqlAutomaticParser::ConstructQueryContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitConstructQuery(this); +void SparqlAutomaticParser::ConstructQueryContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitConstructQuery(this); } - -std::any SparqlAutomaticParser::ConstructQueryContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ConstructQueryContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConstructQuery(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConstructQueryContext* SparqlAutomaticParser::constructQuery() { - ConstructQueryContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ConstructQueryContext* +SparqlAutomaticParser::constructQuery() { + ConstructQueryContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 22, SparqlAutomaticParser::RuleConstructQuery); size_t _la = 0; @@ -1849,9 +2776,9 @@ SparqlAutomaticParser::ConstructQueryContext* SparqlAutomaticParser::constructQu _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(401); triplesTemplate(); } @@ -1862,12 +2789,11 @@ SparqlAutomaticParser::ConstructQueryContext* SparqlAutomaticParser::constructQu break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -1876,67 +2802,75 @@ SparqlAutomaticParser::ConstructQueryContext* SparqlAutomaticParser::constructQu return _localctx; } -//----------------- DescribeQueryContext ------------------------------------------------------------------ +//----------------- DescribeQueryContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DescribeQueryContext::DescribeQueryContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DescribeQueryContext::DescribeQueryContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::DescribeQueryContext::DESCRIBE() { return getToken(SparqlAutomaticParser::DESCRIBE, 0); } -SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::DescribeQueryContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* +SparqlAutomaticParser::DescribeQueryContext::solutionModifier() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::DescribeQueryContext::datasetClause() { +std::vector +SparqlAutomaticParser::DescribeQueryContext::datasetClause() { return getRuleContexts(); } -SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::DescribeQueryContext::datasetClause(size_t i) { +SparqlAutomaticParser::DatasetClauseContext* +SparqlAutomaticParser::DescribeQueryContext::datasetClause(size_t i) { return getRuleContext(i); } -SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::DescribeQueryContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* +SparqlAutomaticParser::DescribeQueryContext::whereClause() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::DescribeQueryContext::varOrIri() { +std::vector +SparqlAutomaticParser::DescribeQueryContext::varOrIri() { return getRuleContexts(); } -SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::DescribeQueryContext::varOrIri(size_t i) { +SparqlAutomaticParser::VarOrIriContext* +SparqlAutomaticParser::DescribeQueryContext::varOrIri(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::DescribeQueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDescribeQuery; } -void SparqlAutomaticParser::DescribeQueryContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDescribeQuery(this); +void SparqlAutomaticParser::DescribeQueryContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDescribeQuery(this); } -void SparqlAutomaticParser::DescribeQueryContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDescribeQuery(this); +void SparqlAutomaticParser::DescribeQueryContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDescribeQuery(this); } - -std::any SparqlAutomaticParser::DescribeQueryContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DescribeQueryContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDescribeQuery(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DescribeQueryContext* SparqlAutomaticParser::describeQuery() { - DescribeQueryContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DescribeQueryContext* +SparqlAutomaticParser::describeQuery() { + DescribeQueryContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 24, SparqlAutomaticParser::RuleDescribeQuery); size_t _la = 0; @@ -1960,17 +2894,17 @@ SparqlAutomaticParser::DescribeQueryContext* SparqlAutomaticParser::describeQuer case SparqlAutomaticParser::VAR1: case SparqlAutomaticParser::VAR2: case SparqlAutomaticParser::PREFIX_LANGTAG: { - setState(410); + setState(410); _errHandler->sync(this); _la = _input->LA(1); do { setState(409); varOrIri(); - setState(412); + setState(412); _errHandler->sync(this); _la = _input->LA(1); - } while ((((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0); + } while ((((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0); break; } @@ -1980,8 +2914,8 @@ SparqlAutomaticParser::DescribeQueryContext* SparqlAutomaticParser::describeQuer break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(420); _errHandler->sync(this); @@ -1999,15 +2933,14 @@ SparqlAutomaticParser::DescribeQueryContext* SparqlAutomaticParser::describeQuer _la = _input->LA(1); if (_la == SparqlAutomaticParser::T__3 - || _la == SparqlAutomaticParser::WHERE) { + || _la == SparqlAutomaticParser::WHERE) { setState(423); whereClause(); } setState(426); solutionModifier(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2016,51 +2949,55 @@ SparqlAutomaticParser::DescribeQueryContext* SparqlAutomaticParser::describeQuer return _localctx; } -//----------------- AskQueryContext ------------------------------------------------------------------ +//----------------- AskQueryContext +//------------------------------------------------------------------ -SparqlAutomaticParser::AskQueryContext::AskQueryContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::AskQueryContext::AskQueryContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::AskQueryContext::ASK() { return getToken(SparqlAutomaticParser::ASK, 0); } -SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::AskQueryContext::whereClause() { +SparqlAutomaticParser::WhereClauseContext* +SparqlAutomaticParser::AskQueryContext::whereClause() { return getRuleContext(0); } -SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::AskQueryContext::solutionModifier() { +SparqlAutomaticParser::SolutionModifierContext* +SparqlAutomaticParser::AskQueryContext::solutionModifier() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::AskQueryContext::datasetClause() { +std::vector +SparqlAutomaticParser::AskQueryContext::datasetClause() { return getRuleContexts(); } -SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::AskQueryContext::datasetClause(size_t i) { +SparqlAutomaticParser::DatasetClauseContext* +SparqlAutomaticParser::AskQueryContext::datasetClause(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::AskQueryContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAskQuery; } -void SparqlAutomaticParser::AskQueryContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterAskQuery(this); +void SparqlAutomaticParser::AskQueryContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterAskQuery(this); } -void SparqlAutomaticParser::AskQueryContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitAskQuery(this); +void SparqlAutomaticParser::AskQueryContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitAskQuery(this); } - -std::any SparqlAutomaticParser::AskQueryContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::AskQueryContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAskQuery(this); else @@ -2068,7 +3005,8 @@ std::any SparqlAutomaticParser::AskQueryContext::accept(tree::ParseTreeVisitor * } SparqlAutomaticParser::AskQueryContext* SparqlAutomaticParser::askQuery() { - AskQueryContext *_localctx = _tracker.createInstance(_ctx, getState()); + AskQueryContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 26, SparqlAutomaticParser::RuleAskQuery); size_t _la = 0; @@ -2097,9 +3035,8 @@ SparqlAutomaticParser::AskQueryContext* SparqlAutomaticParser::askQuery() { whereClause(); setState(436); solutionModifier(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2108,51 +3045,55 @@ SparqlAutomaticParser::AskQueryContext* SparqlAutomaticParser::askQuery() { return _localctx; } -//----------------- DatasetClauseContext ------------------------------------------------------------------ +//----------------- DatasetClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DatasetClauseContext::DatasetClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DatasetClauseContext::DatasetClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::DatasetClauseContext::FROM() { return getToken(SparqlAutomaticParser::FROM, 0); } -SparqlAutomaticParser::DefaultGraphClauseContext* SparqlAutomaticParser::DatasetClauseContext::defaultGraphClause() { +SparqlAutomaticParser::DefaultGraphClauseContext* +SparqlAutomaticParser::DatasetClauseContext::defaultGraphClause() { return getRuleContext(0); } -SparqlAutomaticParser::NamedGraphClauseContext* SparqlAutomaticParser::DatasetClauseContext::namedGraphClause() { +SparqlAutomaticParser::NamedGraphClauseContext* +SparqlAutomaticParser::DatasetClauseContext::namedGraphClause() { return getRuleContext(0); } - size_t SparqlAutomaticParser::DatasetClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDatasetClause; } -void SparqlAutomaticParser::DatasetClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDatasetClause(this); +void SparqlAutomaticParser::DatasetClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDatasetClause(this); } -void SparqlAutomaticParser::DatasetClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDatasetClause(this); +void SparqlAutomaticParser::DatasetClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDatasetClause(this); } - -std::any SparqlAutomaticParser::DatasetClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DatasetClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDatasetClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::datasetClause() { - DatasetClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DatasetClauseContext* +SparqlAutomaticParser::datasetClause() { + DatasetClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 28, SparqlAutomaticParser::RuleDatasetClause); #if __cplusplus > 201703L @@ -2184,12 +3125,11 @@ SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::datasetClaus break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2198,43 +3138,46 @@ SparqlAutomaticParser::DatasetClauseContext* SparqlAutomaticParser::datasetClaus return _localctx; } -//----------------- DefaultGraphClauseContext ------------------------------------------------------------------ +//----------------- DefaultGraphClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DefaultGraphClauseContext::DefaultGraphClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DefaultGraphClauseContext::DefaultGraphClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::SourceSelectorContext* SparqlAutomaticParser::DefaultGraphClauseContext::sourceSelector() { +SparqlAutomaticParser::SourceSelectorContext* +SparqlAutomaticParser::DefaultGraphClauseContext::sourceSelector() { return getRuleContext(0); } - size_t SparqlAutomaticParser::DefaultGraphClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDefaultGraphClause; } -void SparqlAutomaticParser::DefaultGraphClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDefaultGraphClause(this); +void SparqlAutomaticParser::DefaultGraphClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDefaultGraphClause(this); } -void SparqlAutomaticParser::DefaultGraphClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDefaultGraphClause(this); +void SparqlAutomaticParser::DefaultGraphClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDefaultGraphClause(this); } - -std::any SparqlAutomaticParser::DefaultGraphClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DefaultGraphClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDefaultGraphClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DefaultGraphClauseContext* SparqlAutomaticParser::defaultGraphClause() { - DefaultGraphClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DefaultGraphClauseContext* +SparqlAutomaticParser::defaultGraphClause() { + DefaultGraphClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 30, SparqlAutomaticParser::RuleDefaultGraphClause); #if __cplusplus > 201703L @@ -2248,9 +3191,8 @@ SparqlAutomaticParser::DefaultGraphClauseContext* SparqlAutomaticParser::default enterOuterAlt(_localctx, 1); setState(443); sourceSelector(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2259,47 +3201,50 @@ SparqlAutomaticParser::DefaultGraphClauseContext* SparqlAutomaticParser::default return _localctx; } -//----------------- NamedGraphClauseContext ------------------------------------------------------------------ +//----------------- NamedGraphClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::NamedGraphClauseContext::NamedGraphClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::NamedGraphClauseContext::NamedGraphClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::NamedGraphClauseContext::NAMED() { return getToken(SparqlAutomaticParser::NAMED, 0); } -SparqlAutomaticParser::SourceSelectorContext* SparqlAutomaticParser::NamedGraphClauseContext::sourceSelector() { +SparqlAutomaticParser::SourceSelectorContext* +SparqlAutomaticParser::NamedGraphClauseContext::sourceSelector() { return getRuleContext(0); } - size_t SparqlAutomaticParser::NamedGraphClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNamedGraphClause; } -void SparqlAutomaticParser::NamedGraphClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterNamedGraphClause(this); +void SparqlAutomaticParser::NamedGraphClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterNamedGraphClause(this); } -void SparqlAutomaticParser::NamedGraphClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitNamedGraphClause(this); +void SparqlAutomaticParser::NamedGraphClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitNamedGraphClause(this); } - -std::any SparqlAutomaticParser::NamedGraphClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::NamedGraphClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNamedGraphClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NamedGraphClauseContext* SparqlAutomaticParser::namedGraphClause() { - NamedGraphClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NamedGraphClauseContext* +SparqlAutomaticParser::namedGraphClause() { + NamedGraphClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 32, SparqlAutomaticParser::RuleNamedGraphClause); #if __cplusplus > 201703L @@ -2315,9 +3260,8 @@ SparqlAutomaticParser::NamedGraphClauseContext* SparqlAutomaticParser::namedGrap match(SparqlAutomaticParser::NAMED); setState(446); sourceSelector(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2326,43 +3270,46 @@ SparqlAutomaticParser::NamedGraphClauseContext* SparqlAutomaticParser::namedGrap return _localctx; } -//----------------- SourceSelectorContext ------------------------------------------------------------------ +//----------------- SourceSelectorContext +//------------------------------------------------------------------ -SparqlAutomaticParser::SourceSelectorContext::SourceSelectorContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::SourceSelectorContext::SourceSelectorContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::SourceSelectorContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::SourceSelectorContext::iri() { return getRuleContext(0); } - size_t SparqlAutomaticParser::SourceSelectorContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSourceSelector; } -void SparqlAutomaticParser::SourceSelectorContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterSourceSelector(this); +void SparqlAutomaticParser::SourceSelectorContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterSourceSelector(this); } -void SparqlAutomaticParser::SourceSelectorContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitSourceSelector(this); +void SparqlAutomaticParser::SourceSelectorContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitSourceSelector(this); } - -std::any SparqlAutomaticParser::SourceSelectorContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::SourceSelectorContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSourceSelector(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SourceSelectorContext* SparqlAutomaticParser::sourceSelector() { - SourceSelectorContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SourceSelectorContext* +SparqlAutomaticParser::sourceSelector() { + SourceSelectorContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 34, SparqlAutomaticParser::RuleSourceSelector); #if __cplusplus > 201703L @@ -2376,9 +3323,8 @@ SparqlAutomaticParser::SourceSelectorContext* SparqlAutomaticParser::sourceSelec enterOuterAlt(_localctx, 1); setState(448); iri(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2387,13 +3333,15 @@ SparqlAutomaticParser::SourceSelectorContext* SparqlAutomaticParser::sourceSelec return _localctx; } -//----------------- WhereClauseContext ------------------------------------------------------------------ +//----------------- WhereClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::WhereClauseContext::WhereClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::WhereClauseContext::WhereClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::WhereClauseContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::WhereClauseContext::groupGraphPattern() { return getRuleContext(0); } @@ -2401,33 +3349,34 @@ tree::TerminalNode* SparqlAutomaticParser::WhereClauseContext::WHERE() { return getToken(SparqlAutomaticParser::WHERE, 0); } - size_t SparqlAutomaticParser::WhereClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleWhereClause; } -void SparqlAutomaticParser::WhereClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterWhereClause(this); +void SparqlAutomaticParser::WhereClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterWhereClause(this); } -void SparqlAutomaticParser::WhereClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitWhereClause(this); +void SparqlAutomaticParser::WhereClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitWhereClause(this); } - -std::any SparqlAutomaticParser::WhereClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::WhereClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitWhereClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::whereClause() { - WhereClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::WhereClauseContext* +SparqlAutomaticParser::whereClause() { + WhereClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 36, SparqlAutomaticParser::RuleWhereClause); size_t _la = 0; @@ -2450,9 +3399,8 @@ SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::whereClause() } setState(453); groupGraphPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2461,55 +3409,61 @@ SparqlAutomaticParser::WhereClauseContext* SparqlAutomaticParser::whereClause() return _localctx; } -//----------------- SolutionModifierContext ------------------------------------------------------------------ +//----------------- SolutionModifierContext +//------------------------------------------------------------------ -SparqlAutomaticParser::SolutionModifierContext::SolutionModifierContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::SolutionModifierContext::SolutionModifierContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::GroupClauseContext* SparqlAutomaticParser::SolutionModifierContext::groupClause() { +SparqlAutomaticParser::GroupClauseContext* +SparqlAutomaticParser::SolutionModifierContext::groupClause() { return getRuleContext(0); } -SparqlAutomaticParser::HavingClauseContext* SparqlAutomaticParser::SolutionModifierContext::havingClause() { +SparqlAutomaticParser::HavingClauseContext* +SparqlAutomaticParser::SolutionModifierContext::havingClause() { return getRuleContext(0); } -SparqlAutomaticParser::OrderClauseContext* SparqlAutomaticParser::SolutionModifierContext::orderClause() { +SparqlAutomaticParser::OrderClauseContext* +SparqlAutomaticParser::SolutionModifierContext::orderClause() { return getRuleContext(0); } -SparqlAutomaticParser::LimitOffsetClausesContext* SparqlAutomaticParser::SolutionModifierContext::limitOffsetClauses() { +SparqlAutomaticParser::LimitOffsetClausesContext* +SparqlAutomaticParser::SolutionModifierContext::limitOffsetClauses() { return getRuleContext(0); } - size_t SparqlAutomaticParser::SolutionModifierContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSolutionModifier; } -void SparqlAutomaticParser::SolutionModifierContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterSolutionModifier(this); +void SparqlAutomaticParser::SolutionModifierContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterSolutionModifier(this); } -void SparqlAutomaticParser::SolutionModifierContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitSolutionModifier(this); +void SparqlAutomaticParser::SolutionModifierContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitSolutionModifier(this); } - -std::any SparqlAutomaticParser::SolutionModifierContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::SolutionModifierContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSolutionModifier(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::solutionModifier() { - SolutionModifierContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SolutionModifierContext* +SparqlAutomaticParser::solutionModifier() { + SolutionModifierContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 38, SparqlAutomaticParser::RuleSolutionModifier); size_t _la = 0; @@ -2544,7 +3498,7 @@ SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::solutionM _la = _input->LA(1); if (_la == SparqlAutomaticParser::ORDERBY - || _la == SparqlAutomaticParser::INTERNALSORTBY) { + || _la == SparqlAutomaticParser::INTERNALSORTBY) { setState(461); orderClause(); } @@ -2552,14 +3506,12 @@ SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::solutionM _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 3940649673949184) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 3940649673949184) != 0) { setState(464); limitOffsetClauses(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2568,51 +3520,55 @@ SparqlAutomaticParser::SolutionModifierContext* SparqlAutomaticParser::solutionM return _localctx; } -//----------------- GroupClauseContext ------------------------------------------------------------------ +//----------------- GroupClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GroupClauseContext::GroupClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GroupClauseContext::GroupClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::GroupClauseContext::GROUPBY() { return getToken(SparqlAutomaticParser::GROUPBY, 0); } -std::vector SparqlAutomaticParser::GroupClauseContext::groupCondition() { +std::vector +SparqlAutomaticParser::GroupClauseContext::groupCondition() { return getRuleContexts(); } -SparqlAutomaticParser::GroupConditionContext* SparqlAutomaticParser::GroupClauseContext::groupCondition(size_t i) { +SparqlAutomaticParser::GroupConditionContext* +SparqlAutomaticParser::GroupClauseContext::groupCondition(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::GroupClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGroupClause; } -void SparqlAutomaticParser::GroupClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGroupClause(this); +void SparqlAutomaticParser::GroupClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGroupClause(this); } -void SparqlAutomaticParser::GroupClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGroupClause(this); +void SparqlAutomaticParser::GroupClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGroupClause(this); } - -std::any SparqlAutomaticParser::GroupClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GroupClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupClauseContext* SparqlAutomaticParser::groupClause() { - GroupClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GroupClauseContext* +SparqlAutomaticParser::groupClause() { + GroupClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 40, SparqlAutomaticParser::RuleGroupClause); size_t _la = 0; @@ -2627,23 +3583,24 @@ SparqlAutomaticParser::GroupClauseContext* SparqlAutomaticParser::groupClause() enterOuterAlt(_localctx, 1); setState(467); match(SparqlAutomaticParser::GROUPBY); - setState(469); + setState(469); _errHandler->sync(this); _la = _input->LA(1); do { setState(468); groupCondition(); - setState(471); + setState(471); _errHandler->sync(this); _la = _input->LA(1); } while (_la == SparqlAutomaticParser::T__1 - || _la == SparqlAutomaticParser::GROUP_CONCAT || (((_la - 78) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0); - - } - catch (RecognitionException &e) { + || _la == SparqlAutomaticParser::GROUP_CONCAT || + (((_la - 78) & ~0x3fULL) == 0) && + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0); + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2652,21 +3609,25 @@ SparqlAutomaticParser::GroupClauseContext* SparqlAutomaticParser::groupClause() return _localctx; } -//----------------- GroupConditionContext ------------------------------------------------------------------ +//----------------- GroupConditionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GroupConditionContext::GroupConditionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GroupConditionContext::GroupConditionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::GroupConditionContext::builtInCall() { +SparqlAutomaticParser::BuiltInCallContext* +SparqlAutomaticParser::GroupConditionContext::builtInCall() { return getRuleContext(0); } -SparqlAutomaticParser::FunctionCallContext* SparqlAutomaticParser::GroupConditionContext::functionCall() { +SparqlAutomaticParser::FunctionCallContext* +SparqlAutomaticParser::GroupConditionContext::functionCall() { return getRuleContext(0); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::GroupConditionContext::expression() { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::GroupConditionContext::expression() { return getRuleContext(0); } @@ -2674,37 +3635,39 @@ tree::TerminalNode* SparqlAutomaticParser::GroupConditionContext::AS() { return getToken(SparqlAutomaticParser::AS, 0); } -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::GroupConditionContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::GroupConditionContext::var() { return getRuleContext(0); } - size_t SparqlAutomaticParser::GroupConditionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGroupCondition; } -void SparqlAutomaticParser::GroupConditionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGroupCondition(this); +void SparqlAutomaticParser::GroupConditionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGroupCondition(this); } -void SparqlAutomaticParser::GroupConditionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGroupCondition(this); +void SparqlAutomaticParser::GroupConditionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGroupCondition(this); } - -std::any SparqlAutomaticParser::GroupConditionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GroupConditionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupCondition(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupConditionContext* SparqlAutomaticParser::groupCondition() { - GroupConditionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GroupConditionContext* +SparqlAutomaticParser::groupCondition() { + GroupConditionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 42, SparqlAutomaticParser::RuleGroupCondition); size_t _la = 0; @@ -2826,12 +3789,11 @@ SparqlAutomaticParser::GroupConditionContext* SparqlAutomaticParser::groupCondit break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2840,51 +3802,55 @@ SparqlAutomaticParser::GroupConditionContext* SparqlAutomaticParser::groupCondit return _localctx; } -//----------------- HavingClauseContext ------------------------------------------------------------------ +//----------------- HavingClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::HavingClauseContext::HavingClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::HavingClauseContext::HavingClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::HavingClauseContext::HAVING() { return getToken(SparqlAutomaticParser::HAVING, 0); } -std::vector SparqlAutomaticParser::HavingClauseContext::havingCondition() { +std::vector +SparqlAutomaticParser::HavingClauseContext::havingCondition() { return getRuleContexts(); } -SparqlAutomaticParser::HavingConditionContext* SparqlAutomaticParser::HavingClauseContext::havingCondition(size_t i) { +SparqlAutomaticParser::HavingConditionContext* +SparqlAutomaticParser::HavingClauseContext::havingCondition(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::HavingClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleHavingClause; } -void SparqlAutomaticParser::HavingClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterHavingClause(this); +void SparqlAutomaticParser::HavingClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterHavingClause(this); } -void SparqlAutomaticParser::HavingClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitHavingClause(this); +void SparqlAutomaticParser::HavingClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitHavingClause(this); } - -std::any SparqlAutomaticParser::HavingClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::HavingClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitHavingClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::HavingClauseContext* SparqlAutomaticParser::havingClause() { - HavingClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::HavingClauseContext* +SparqlAutomaticParser::havingClause() { + HavingClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 44, SparqlAutomaticParser::RuleHavingClause); size_t _la = 0; @@ -2899,23 +3865,24 @@ SparqlAutomaticParser::HavingClauseContext* SparqlAutomaticParser::havingClause( enterOuterAlt(_localctx, 1); setState(486); match(SparqlAutomaticParser::HAVING); - setState(488); + setState(488); _errHandler->sync(this); _la = _input->LA(1); do { setState(487); havingCondition(); - setState(490); + setState(490); _errHandler->sync(this); _la = _input->LA(1); } while (_la == SparqlAutomaticParser::T__1 - || _la == SparqlAutomaticParser::GROUP_CONCAT || (((_la - 78) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 135) != 0); - - } - catch (RecognitionException &e) { + || _la == SparqlAutomaticParser::GROUP_CONCAT || + (((_la - 78) & ~0x3fULL) == 0) && + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 135) != 0); + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2924,43 +3891,46 @@ SparqlAutomaticParser::HavingClauseContext* SparqlAutomaticParser::havingClause( return _localctx; } -//----------------- HavingConditionContext ------------------------------------------------------------------ +//----------------- HavingConditionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::HavingConditionContext::HavingConditionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::HavingConditionContext::HavingConditionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::HavingConditionContext::constraint() { +SparqlAutomaticParser::ConstraintContext* +SparqlAutomaticParser::HavingConditionContext::constraint() { return getRuleContext(0); } - size_t SparqlAutomaticParser::HavingConditionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleHavingCondition; } -void SparqlAutomaticParser::HavingConditionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterHavingCondition(this); +void SparqlAutomaticParser::HavingConditionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterHavingCondition(this); } -void SparqlAutomaticParser::HavingConditionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitHavingCondition(this); +void SparqlAutomaticParser::HavingConditionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitHavingCondition(this); } - -std::any SparqlAutomaticParser::HavingConditionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::HavingConditionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitHavingCondition(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::HavingConditionContext* SparqlAutomaticParser::havingCondition() { - HavingConditionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::HavingConditionContext* +SparqlAutomaticParser::havingCondition() { + HavingConditionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 46, SparqlAutomaticParser::RuleHavingCondition); #if __cplusplus > 201703L @@ -2974,9 +3944,8 @@ SparqlAutomaticParser::HavingConditionContext* SparqlAutomaticParser::havingCond enterOuterAlt(_localctx, 1); setState(492); constraint(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -2985,55 +3954,60 @@ SparqlAutomaticParser::HavingConditionContext* SparqlAutomaticParser::havingCond return _localctx; } -//----------------- OrderClauseContext ------------------------------------------------------------------ +//----------------- OrderClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::OrderClauseContext::OrderClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::OrderClauseContext::OrderClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::OrderClauseContext::ORDERBY() { return getToken(SparqlAutomaticParser::ORDERBY, 0); } -tree::TerminalNode* SparqlAutomaticParser::OrderClauseContext::INTERNALSORTBY() { +tree::TerminalNode* +SparqlAutomaticParser::OrderClauseContext::INTERNALSORTBY() { return getToken(SparqlAutomaticParser::INTERNALSORTBY, 0); } -std::vector SparqlAutomaticParser::OrderClauseContext::orderCondition() { +std::vector +SparqlAutomaticParser::OrderClauseContext::orderCondition() { return getRuleContexts(); } -SparqlAutomaticParser::OrderConditionContext* SparqlAutomaticParser::OrderClauseContext::orderCondition(size_t i) { +SparqlAutomaticParser::OrderConditionContext* +SparqlAutomaticParser::OrderClauseContext::orderCondition(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::OrderClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleOrderClause; } -void SparqlAutomaticParser::OrderClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterOrderClause(this); +void SparqlAutomaticParser::OrderClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterOrderClause(this); } -void SparqlAutomaticParser::OrderClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitOrderClause(this); +void SparqlAutomaticParser::OrderClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitOrderClause(this); } - -std::any SparqlAutomaticParser::OrderClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::OrderClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitOrderClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::OrderClauseContext* SparqlAutomaticParser::orderClause() { - OrderClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::OrderClauseContext* +SparqlAutomaticParser::orderClause() { + OrderClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 48, SparqlAutomaticParser::RuleOrderClause); size_t _la = 0; @@ -3051,35 +4025,37 @@ SparqlAutomaticParser::OrderClauseContext* SparqlAutomaticParser::orderClause() switch (_input->LA(1)) { case SparqlAutomaticParser::ORDERBY: { setState(494); - antlrcpp::downCast(_localctx)->orderBy = match(SparqlAutomaticParser::ORDERBY); + antlrcpp::downCast(_localctx)->orderBy = + match(SparqlAutomaticParser::ORDERBY); break; } case SparqlAutomaticParser::INTERNALSORTBY: { setState(495); - antlrcpp::downCast(_localctx)->internalSortBy = match(SparqlAutomaticParser::INTERNALSORTBY); + antlrcpp::downCast(_localctx)->internalSortBy = + match(SparqlAutomaticParser::INTERNALSORTBY); break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - setState(499); + setState(499); _errHandler->sync(this); _la = _input->LA(1); do { setState(498); orderCondition(); - setState(501); + setState(501); _errHandler->sync(this); _la = _input->LA(1); - } while (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 431008558088196) != 0 || (((_la - 78) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0); - - } - catch (RecognitionException &e) { + } while ( + ((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 431008558088196) != 0 || + (((_la - 78) & ~0x3fULL) == 0) && + ((1ULL << (_la - 78)) & 9223372036853727229) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0); + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3088,13 +4064,15 @@ SparqlAutomaticParser::OrderClauseContext* SparqlAutomaticParser::orderClause() return _localctx; } -//----------------- OrderConditionContext ------------------------------------------------------------------ +//----------------- OrderConditionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::OrderConditionContext::OrderConditionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::OrderConditionContext::OrderConditionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::OrderConditionContext::brackettedExpression() { +SparqlAutomaticParser::BrackettedExpressionContext* +SparqlAutomaticParser::OrderConditionContext::brackettedExpression() { return getRuleContext(0); } @@ -3106,41 +4084,44 @@ tree::TerminalNode* SparqlAutomaticParser::OrderConditionContext::DESC() { return getToken(SparqlAutomaticParser::DESC, 0); } -SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::OrderConditionContext::constraint() { +SparqlAutomaticParser::ConstraintContext* +SparqlAutomaticParser::OrderConditionContext::constraint() { return getRuleContext(0); } -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::OrderConditionContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::OrderConditionContext::var() { return getRuleContext(0); } - size_t SparqlAutomaticParser::OrderConditionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleOrderCondition; } -void SparqlAutomaticParser::OrderConditionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterOrderCondition(this); +void SparqlAutomaticParser::OrderConditionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterOrderCondition(this); } -void SparqlAutomaticParser::OrderConditionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitOrderCondition(this); +void SparqlAutomaticParser::OrderConditionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitOrderCondition(this); } - -std::any SparqlAutomaticParser::OrderConditionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::OrderConditionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitOrderCondition(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::OrderConditionContext* SparqlAutomaticParser::orderCondition() { - OrderConditionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::OrderConditionContext* +SparqlAutomaticParser::orderCondition() { + OrderConditionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 50, SparqlAutomaticParser::RuleOrderCondition); size_t _la = 0; @@ -3162,10 +4143,9 @@ SparqlAutomaticParser::OrderConditionContext* SparqlAutomaticParser::orderCondit _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::ASC - || _la == SparqlAutomaticParser::DESC)) { - _errHandler->recoverInline(this); - } - else { + || _la == SparqlAutomaticParser::DESC)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } @@ -3326,18 +4306,17 @@ SparqlAutomaticParser::OrderConditionContext* SparqlAutomaticParser::orderCondit break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3346,51 +4325,56 @@ SparqlAutomaticParser::OrderConditionContext* SparqlAutomaticParser::orderCondit return _localctx; } -//----------------- LimitOffsetClausesContext ------------------------------------------------------------------ +//----------------- LimitOffsetClausesContext +//------------------------------------------------------------------ -SparqlAutomaticParser::LimitOffsetClausesContext::LimitOffsetClausesContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::LimitOffsetClausesContext::LimitOffsetClausesContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::LimitClauseContext* SparqlAutomaticParser::LimitOffsetClausesContext::limitClause() { +SparqlAutomaticParser::LimitClauseContext* +SparqlAutomaticParser::LimitOffsetClausesContext::limitClause() { return getRuleContext(0); } -SparqlAutomaticParser::OffsetClauseContext* SparqlAutomaticParser::LimitOffsetClausesContext::offsetClause() { +SparqlAutomaticParser::OffsetClauseContext* +SparqlAutomaticParser::LimitOffsetClausesContext::offsetClause() { return getRuleContext(0); } -SparqlAutomaticParser::TextLimitClauseContext* SparqlAutomaticParser::LimitOffsetClausesContext::textLimitClause() { +SparqlAutomaticParser::TextLimitClauseContext* +SparqlAutomaticParser::LimitOffsetClausesContext::textLimitClause() { return getRuleContext(0); } - size_t SparqlAutomaticParser::LimitOffsetClausesContext::getRuleIndex() const { return SparqlAutomaticParser::RuleLimitOffsetClauses; } -void SparqlAutomaticParser::LimitOffsetClausesContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterLimitOffsetClauses(this); +void SparqlAutomaticParser::LimitOffsetClausesContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterLimitOffsetClauses(this); } -void SparqlAutomaticParser::LimitOffsetClausesContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitLimitOffsetClauses(this); +void SparqlAutomaticParser::LimitOffsetClausesContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitLimitOffsetClauses(this); } - -std::any SparqlAutomaticParser::LimitOffsetClausesContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::LimitOffsetClausesContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitLimitOffsetClauses(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::LimitOffsetClausesContext* SparqlAutomaticParser::limitOffsetClauses() { - LimitOffsetClausesContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::LimitOffsetClausesContext* +SparqlAutomaticParser::limitOffsetClauses() { + LimitOffsetClausesContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 52, SparqlAutomaticParser::RuleLimitOffsetClauses); size_t _la = 0; @@ -3404,151 +4388,151 @@ SparqlAutomaticParser::LimitOffsetClausesContext* SparqlAutomaticParser::limitOf try { setState(553); _errHandler->sync(this); - switch (getInterpreter()->adaptivePredict(_input, 44, _ctx)) { - case 1: { - enterOuterAlt(_localctx, 1); - setState(511); - limitClause(); - setState(513); - _errHandler->sync(this); + switch (getInterpreter()->adaptivePredict( + _input, 44, _ctx)) { + case 1: { + enterOuterAlt(_localctx, 1); + setState(511); + limitClause(); + setState(513); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::OFFSET) { - setState(512); - offsetClause(); - } - setState(516); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::OFFSET) { + setState(512); + offsetClause(); + } + setState(516); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::TEXTLIMIT) { - setState(515); - textLimitClause(); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::TEXTLIMIT) { + setState(515); + textLimitClause(); + } + break; } - break; - } - case 2: { - enterOuterAlt(_localctx, 2); - setState(518); - limitClause(); - setState(520); - _errHandler->sync(this); + case 2: { + enterOuterAlt(_localctx, 2); + setState(518); + limitClause(); + setState(520); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::TEXTLIMIT) { - setState(519); - textLimitClause(); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::TEXTLIMIT) { + setState(519); + textLimitClause(); + } + setState(523); + _errHandler->sync(this); + + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::OFFSET) { + setState(522); + offsetClause(); + } + break; } - setState(523); - _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::OFFSET) { - setState(522); + case 3: { + enterOuterAlt(_localctx, 3); + setState(525); offsetClause(); - } - break; - } + setState(527); + _errHandler->sync(this); - case 3: { - enterOuterAlt(_localctx, 3); - setState(525); - offsetClause(); - setState(527); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::LIMIT) { + setState(526); + limitClause(); + } + setState(530); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::LIMIT) { - setState(526); - limitClause(); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::TEXTLIMIT) { + setState(529); + textLimitClause(); + } + break; } - setState(530); - _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::TEXTLIMIT) { - setState(529); - textLimitClause(); - } - break; - } + case 4: { + enterOuterAlt(_localctx, 4); + setState(532); + offsetClause(); + setState(534); + _errHandler->sync(this); - case 4: { - enterOuterAlt(_localctx, 4); - setState(532); - offsetClause(); - setState(534); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::TEXTLIMIT) { + setState(533); + textLimitClause(); + } + setState(537); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::TEXTLIMIT) { - setState(533); - textLimitClause(); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::LIMIT) { + setState(536); + limitClause(); + } + break; } - setState(537); - _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::LIMIT) { - setState(536); - limitClause(); - } - break; - } + case 5: { + enterOuterAlt(_localctx, 5); + setState(539); + textLimitClause(); + setState(541); + _errHandler->sync(this); - case 5: { - enterOuterAlt(_localctx, 5); - setState(539); - textLimitClause(); - setState(541); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::OFFSET) { + setState(540); + offsetClause(); + } + setState(544); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::OFFSET) { - setState(540); - offsetClause(); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::LIMIT) { + setState(543); + limitClause(); + } + break; } - setState(544); - _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::LIMIT) { - setState(543); - limitClause(); - } - break; - } + case 6: { + enterOuterAlt(_localctx, 6); + setState(546); + textLimitClause(); + setState(548); + _errHandler->sync(this); - case 6: { - enterOuterAlt(_localctx, 6); - setState(546); - textLimitClause(); - setState(548); - _errHandler->sync(this); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::LIMIT) { + setState(547); + limitClause(); + } + setState(551); + _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::LIMIT) { - setState(547); - limitClause(); + _la = _input->LA(1); + if (_la == SparqlAutomaticParser::OFFSET) { + setState(550); + offsetClause(); + } + break; } - setState(551); - _errHandler->sync(this); - _la = _input->LA(1); - if (_la == SparqlAutomaticParser::OFFSET) { - setState(550); - offsetClause(); - } - break; + default: + break; } - default: - break; - } - - } - catch (RecognitionException &e) { + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3557,47 +4541,50 @@ SparqlAutomaticParser::LimitOffsetClausesContext* SparqlAutomaticParser::limitOf return _localctx; } -//----------------- LimitClauseContext ------------------------------------------------------------------ +//----------------- LimitClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::LimitClauseContext::LimitClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::LimitClauseContext::LimitClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::LimitClauseContext::LIMIT() { return getToken(SparqlAutomaticParser::LIMIT, 0); } -SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::LimitClauseContext::integer() { +SparqlAutomaticParser::IntegerContext* +SparqlAutomaticParser::LimitClauseContext::integer() { return getRuleContext(0); } - size_t SparqlAutomaticParser::LimitClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleLimitClause; } -void SparqlAutomaticParser::LimitClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterLimitClause(this); +void SparqlAutomaticParser::LimitClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterLimitClause(this); } -void SparqlAutomaticParser::LimitClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitLimitClause(this); +void SparqlAutomaticParser::LimitClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitLimitClause(this); } - -std::any SparqlAutomaticParser::LimitClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::LimitClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitLimitClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::LimitClauseContext* SparqlAutomaticParser::limitClause() { - LimitClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::LimitClauseContext* +SparqlAutomaticParser::limitClause() { + LimitClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 54, SparqlAutomaticParser::RuleLimitClause); #if __cplusplus > 201703L @@ -3613,9 +4600,8 @@ SparqlAutomaticParser::LimitClauseContext* SparqlAutomaticParser::limitClause() match(SparqlAutomaticParser::LIMIT); setState(556); integer(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3624,47 +4610,50 @@ SparqlAutomaticParser::LimitClauseContext* SparqlAutomaticParser::limitClause() return _localctx; } -//----------------- OffsetClauseContext ------------------------------------------------------------------ +//----------------- OffsetClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::OffsetClauseContext::OffsetClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::OffsetClauseContext::OffsetClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::OffsetClauseContext::OFFSET() { return getToken(SparqlAutomaticParser::OFFSET, 0); } -SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::OffsetClauseContext::integer() { +SparqlAutomaticParser::IntegerContext* +SparqlAutomaticParser::OffsetClauseContext::integer() { return getRuleContext(0); } - size_t SparqlAutomaticParser::OffsetClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleOffsetClause; } -void SparqlAutomaticParser::OffsetClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterOffsetClause(this); +void SparqlAutomaticParser::OffsetClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterOffsetClause(this); } -void SparqlAutomaticParser::OffsetClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitOffsetClause(this); +void SparqlAutomaticParser::OffsetClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitOffsetClause(this); } - -std::any SparqlAutomaticParser::OffsetClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::OffsetClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitOffsetClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::OffsetClauseContext* SparqlAutomaticParser::offsetClause() { - OffsetClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::OffsetClauseContext* +SparqlAutomaticParser::offsetClause() { + OffsetClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 56, SparqlAutomaticParser::RuleOffsetClause); #if __cplusplus > 201703L @@ -3680,9 +4669,8 @@ SparqlAutomaticParser::OffsetClauseContext* SparqlAutomaticParser::offsetClause( match(SparqlAutomaticParser::OFFSET); setState(559); integer(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3691,47 +4679,50 @@ SparqlAutomaticParser::OffsetClauseContext* SparqlAutomaticParser::offsetClause( return _localctx; } -//----------------- TextLimitClauseContext ------------------------------------------------------------------ +//----------------- TextLimitClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TextLimitClauseContext::TextLimitClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TextLimitClauseContext::TextLimitClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::TextLimitClauseContext::TEXTLIMIT() { return getToken(SparqlAutomaticParser::TEXTLIMIT, 0); } -SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::TextLimitClauseContext::integer() { +SparqlAutomaticParser::IntegerContext* +SparqlAutomaticParser::TextLimitClauseContext::integer() { return getRuleContext(0); } - size_t SparqlAutomaticParser::TextLimitClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTextLimitClause; } -void SparqlAutomaticParser::TextLimitClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterTextLimitClause(this); +void SparqlAutomaticParser::TextLimitClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterTextLimitClause(this); } -void SparqlAutomaticParser::TextLimitClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitTextLimitClause(this); +void SparqlAutomaticParser::TextLimitClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitTextLimitClause(this); } - -std::any SparqlAutomaticParser::TextLimitClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TextLimitClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTextLimitClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TextLimitClauseContext* SparqlAutomaticParser::textLimitClause() { - TextLimitClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TextLimitClauseContext* +SparqlAutomaticParser::textLimitClause() { + TextLimitClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 58, SparqlAutomaticParser::RuleTextLimitClause); #if __cplusplus > 201703L @@ -3747,9 +4738,8 @@ SparqlAutomaticParser::TextLimitClauseContext* SparqlAutomaticParser::textLimitC match(SparqlAutomaticParser::TEXTLIMIT); setState(562); integer(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3758,47 +4748,50 @@ SparqlAutomaticParser::TextLimitClauseContext* SparqlAutomaticParser::textLimitC return _localctx; } -//----------------- ValuesClauseContext ------------------------------------------------------------------ +//----------------- ValuesClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ValuesClauseContext::ValuesClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ValuesClauseContext::ValuesClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::ValuesClauseContext::VALUES() { return getToken(SparqlAutomaticParser::VALUES, 0); } -SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::ValuesClauseContext::dataBlock() { +SparqlAutomaticParser::DataBlockContext* +SparqlAutomaticParser::ValuesClauseContext::dataBlock() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ValuesClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleValuesClause; } -void SparqlAutomaticParser::ValuesClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterValuesClause(this); +void SparqlAutomaticParser::ValuesClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterValuesClause(this); } -void SparqlAutomaticParser::ValuesClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitValuesClause(this); +void SparqlAutomaticParser::ValuesClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitValuesClause(this); } - -std::any SparqlAutomaticParser::ValuesClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ValuesClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitValuesClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ValuesClauseContext* SparqlAutomaticParser::valuesClause() { - ValuesClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ValuesClauseContext* +SparqlAutomaticParser::valuesClause() { + ValuesClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 60, SparqlAutomaticParser::RuleValuesClause); size_t _la = 0; @@ -3821,9 +4814,8 @@ SparqlAutomaticParser::ValuesClauseContext* SparqlAutomaticParser::valuesClause( setState(565); dataBlock(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3832,43 +4824,46 @@ SparqlAutomaticParser::ValuesClauseContext* SparqlAutomaticParser::valuesClause( return _localctx; } -//----------------- UpdateContext ------------------------------------------------------------------ +//----------------- UpdateContext +//------------------------------------------------------------------ -SparqlAutomaticParser::UpdateContext::UpdateContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::UpdateContext::UpdateContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PrologueContext* SparqlAutomaticParser::UpdateContext::prologue() { +SparqlAutomaticParser::PrologueContext* +SparqlAutomaticParser::UpdateContext::prologue() { return getRuleContext(0); } -SparqlAutomaticParser::Update1Context* SparqlAutomaticParser::UpdateContext::update1() { +SparqlAutomaticParser::Update1Context* +SparqlAutomaticParser::UpdateContext::update1() { return getRuleContext(0); } -SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::UpdateContext::update() { +SparqlAutomaticParser::UpdateContext* +SparqlAutomaticParser::UpdateContext::update() { return getRuleContext(0); } - size_t SparqlAutomaticParser::UpdateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleUpdate; } -void SparqlAutomaticParser::UpdateContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterUpdate(this); +void SparqlAutomaticParser::UpdateContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterUpdate(this); } -void SparqlAutomaticParser::UpdateContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitUpdate(this); +void SparqlAutomaticParser::UpdateContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitUpdate(this); } - -std::any SparqlAutomaticParser::UpdateContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::UpdateContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitUpdate(this); else @@ -3876,7 +4871,8 @@ std::any SparqlAutomaticParser::UpdateContext::accept(tree::ParseTreeVisitor *vi } SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::update() { - UpdateContext *_localctx = _tracker.createInstance(_ctx, getState()); + UpdateContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 62, SparqlAutomaticParser::RuleUpdate); size_t _la = 0; @@ -3895,8 +4891,7 @@ SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::update() { _errHandler->sync(this); _la = _input->LA(1); - if ((((_la - 53) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 53)) & 15993) != 0) { + if ((((_la - 53) & ~0x3fULL) == 0) && ((1ULL << (_la - 53)) & 15993) != 0) { setState(569); update1(); setState(572); @@ -3910,9 +4905,8 @@ SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::update() { update(); } } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -3921,75 +4915,86 @@ SparqlAutomaticParser::UpdateContext* SparqlAutomaticParser::update() { return _localctx; } -//----------------- Update1Context ------------------------------------------------------------------ +//----------------- Update1Context +//------------------------------------------------------------------ -SparqlAutomaticParser::Update1Context::Update1Context(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::Update1Context::Update1Context(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::LoadContext* SparqlAutomaticParser::Update1Context::load() { +SparqlAutomaticParser::LoadContext* +SparqlAutomaticParser::Update1Context::load() { return getRuleContext(0); } -SparqlAutomaticParser::ClearContext* SparqlAutomaticParser::Update1Context::clear() { +SparqlAutomaticParser::ClearContext* +SparqlAutomaticParser::Update1Context::clear() { return getRuleContext(0); } -SparqlAutomaticParser::DropContext* SparqlAutomaticParser::Update1Context::drop() { +SparqlAutomaticParser::DropContext* +SparqlAutomaticParser::Update1Context::drop() { return getRuleContext(0); } -SparqlAutomaticParser::AddContext* SparqlAutomaticParser::Update1Context::add() { +SparqlAutomaticParser::AddContext* +SparqlAutomaticParser::Update1Context::add() { return getRuleContext(0); } -SparqlAutomaticParser::MoveContext* SparqlAutomaticParser::Update1Context::move() { +SparqlAutomaticParser::MoveContext* +SparqlAutomaticParser::Update1Context::move() { return getRuleContext(0); } -SparqlAutomaticParser::CopyContext* SparqlAutomaticParser::Update1Context::copy() { +SparqlAutomaticParser::CopyContext* +SparqlAutomaticParser::Update1Context::copy() { return getRuleContext(0); } -SparqlAutomaticParser::CreateContext* SparqlAutomaticParser::Update1Context::create() { +SparqlAutomaticParser::CreateContext* +SparqlAutomaticParser::Update1Context::create() { return getRuleContext(0); } -SparqlAutomaticParser::InsertDataContext* SparqlAutomaticParser::Update1Context::insertData() { +SparqlAutomaticParser::InsertDataContext* +SparqlAutomaticParser::Update1Context::insertData() { return getRuleContext(0); } -SparqlAutomaticParser::DeleteDataContext* SparqlAutomaticParser::Update1Context::deleteData() { +SparqlAutomaticParser::DeleteDataContext* +SparqlAutomaticParser::Update1Context::deleteData() { return getRuleContext(0); } -SparqlAutomaticParser::DeleteWhereContext* SparqlAutomaticParser::Update1Context::deleteWhere() { +SparqlAutomaticParser::DeleteWhereContext* +SparqlAutomaticParser::Update1Context::deleteWhere() { return getRuleContext(0); } -SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::Update1Context::modify() { +SparqlAutomaticParser::ModifyContext* +SparqlAutomaticParser::Update1Context::modify() { return getRuleContext(0); } - size_t SparqlAutomaticParser::Update1Context::getRuleIndex() const { return SparqlAutomaticParser::RuleUpdate1; } -void SparqlAutomaticParser::Update1Context::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterUpdate1(this); +void SparqlAutomaticParser::Update1Context::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterUpdate1(this); } -void SparqlAutomaticParser::Update1Context::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitUpdate1(this); +void SparqlAutomaticParser::Update1Context::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitUpdate1(this); } - -std::any SparqlAutomaticParser::Update1Context::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::Update1Context::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitUpdate1(this); else @@ -3997,7 +5002,8 @@ std::any SparqlAutomaticParser::Update1Context::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::Update1Context* SparqlAutomaticParser::update1() { - Update1Context *_localctx = _tracker.createInstance(_ctx, getState()); + Update1Context* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 64, SparqlAutomaticParser::RuleUpdate1); #if __cplusplus > 201703L @@ -4010,90 +5016,90 @@ SparqlAutomaticParser::Update1Context* SparqlAutomaticParser::update1() { try { setState(587); _errHandler->sync(this); - switch (getInterpreter()->adaptivePredict(_input, 48, _ctx)) { - case 1: { - enterOuterAlt(_localctx, 1); - setState(576); - load(); - break; - } + switch (getInterpreter()->adaptivePredict( + _input, 48, _ctx)) { + case 1: { + enterOuterAlt(_localctx, 1); + setState(576); + load(); + break; + } - case 2: { - enterOuterAlt(_localctx, 2); - setState(577); - clear(); - break; - } + case 2: { + enterOuterAlt(_localctx, 2); + setState(577); + clear(); + break; + } - case 3: { - enterOuterAlt(_localctx, 3); - setState(578); - drop(); - break; - } + case 3: { + enterOuterAlt(_localctx, 3); + setState(578); + drop(); + break; + } - case 4: { - enterOuterAlt(_localctx, 4); - setState(579); - add(); - break; - } + case 4: { + enterOuterAlt(_localctx, 4); + setState(579); + add(); + break; + } - case 5: { - enterOuterAlt(_localctx, 5); - setState(580); - move(); - break; - } + case 5: { + enterOuterAlt(_localctx, 5); + setState(580); + move(); + break; + } - case 6: { - enterOuterAlt(_localctx, 6); - setState(581); - copy(); - break; - } + case 6: { + enterOuterAlt(_localctx, 6); + setState(581); + copy(); + break; + } - case 7: { - enterOuterAlt(_localctx, 7); - setState(582); - create(); - break; - } + case 7: { + enterOuterAlt(_localctx, 7); + setState(582); + create(); + break; + } - case 8: { - enterOuterAlt(_localctx, 8); - setState(583); - insertData(); - break; - } + case 8: { + enterOuterAlt(_localctx, 8); + setState(583); + insertData(); + break; + } - case 9: { - enterOuterAlt(_localctx, 9); - setState(584); - deleteData(); - break; - } + case 9: { + enterOuterAlt(_localctx, 9); + setState(584); + deleteData(); + break; + } - case 10: { - enterOuterAlt(_localctx, 10); - setState(585); - deleteWhere(); - break; - } + case 10: { + enterOuterAlt(_localctx, 10); + setState(585); + deleteWhere(); + break; + } - case 11: { - enterOuterAlt(_localctx, 11); - setState(586); - modify(); - break; - } + case 11: { + enterOuterAlt(_localctx, 11); + setState(586); + modify(); + break; + } - default: - break; + default: + break; } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4102,11 +5108,12 @@ SparqlAutomaticParser::Update1Context* SparqlAutomaticParser::update1() { return _localctx; } -//----------------- LoadContext ------------------------------------------------------------------ +//----------------- LoadContext +//------------------------------------------------------------------ -SparqlAutomaticParser::LoadContext::LoadContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::LoadContext::LoadContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::LoadContext::LOAD() { return getToken(SparqlAutomaticParser::LOAD, 0); @@ -4124,29 +5131,29 @@ tree::TerminalNode* SparqlAutomaticParser::LoadContext::INTO() { return getToken(SparqlAutomaticParser::INTO, 0); } -SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::LoadContext::graphRef() { +SparqlAutomaticParser::GraphRefContext* +SparqlAutomaticParser::LoadContext::graphRef() { return getRuleContext(0); } - size_t SparqlAutomaticParser::LoadContext::getRuleIndex() const { return SparqlAutomaticParser::RuleLoad; } -void SparqlAutomaticParser::LoadContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterLoad(this); +void SparqlAutomaticParser::LoadContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterLoad(this); } -void SparqlAutomaticParser::LoadContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitLoad(this); +void SparqlAutomaticParser::LoadContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitLoad(this); } - -std::any SparqlAutomaticParser::LoadContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::LoadContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitLoad(this); else @@ -4154,7 +5161,8 @@ std::any SparqlAutomaticParser::LoadContext::accept(tree::ParseTreeVisitor *visi } SparqlAutomaticParser::LoadContext* SparqlAutomaticParser::load() { - LoadContext *_localctx = _tracker.createInstance(_ctx, getState()); + LoadContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 66, SparqlAutomaticParser::RuleLoad); size_t _la = 0; @@ -4189,9 +5197,8 @@ SparqlAutomaticParser::LoadContext* SparqlAutomaticParser::load() { setState(595); graphRef(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4200,17 +5207,19 @@ SparqlAutomaticParser::LoadContext* SparqlAutomaticParser::load() { return _localctx; } -//----------------- ClearContext ------------------------------------------------------------------ +//----------------- ClearContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ClearContext::ClearContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ClearContext::ClearContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::ClearContext::CLEAR() { return getToken(SparqlAutomaticParser::CLEAR, 0); } -SparqlAutomaticParser::GraphRefAllContext* SparqlAutomaticParser::ClearContext::graphRefAll() { +SparqlAutomaticParser::GraphRefAllContext* +SparqlAutomaticParser::ClearContext::graphRefAll() { return getRuleContext(0); } @@ -4218,25 +5227,24 @@ tree::TerminalNode* SparqlAutomaticParser::ClearContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } - size_t SparqlAutomaticParser::ClearContext::getRuleIndex() const { return SparqlAutomaticParser::RuleClear; } -void SparqlAutomaticParser::ClearContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterClear(this); +void SparqlAutomaticParser::ClearContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterClear(this); } -void SparqlAutomaticParser::ClearContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitClear(this); +void SparqlAutomaticParser::ClearContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitClear(this); } - -std::any SparqlAutomaticParser::ClearContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ClearContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitClear(this); else @@ -4244,7 +5252,8 @@ std::any SparqlAutomaticParser::ClearContext::accept(tree::ParseTreeVisitor *vis } SparqlAutomaticParser::ClearContext* SparqlAutomaticParser::clear() { - ClearContext *_localctx = _tracker.createInstance(_ctx, getState()); + ClearContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 68, SparqlAutomaticParser::RuleClear); size_t _la = 0; @@ -4269,9 +5278,8 @@ SparqlAutomaticParser::ClearContext* SparqlAutomaticParser::clear() { } setState(602); graphRefAll(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4280,17 +5288,19 @@ SparqlAutomaticParser::ClearContext* SparqlAutomaticParser::clear() { return _localctx; } -//----------------- DropContext ------------------------------------------------------------------ +//----------------- DropContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DropContext::DropContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DropContext::DropContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::DropContext::DROP() { return getToken(SparqlAutomaticParser::DROP, 0); } -SparqlAutomaticParser::GraphRefAllContext* SparqlAutomaticParser::DropContext::graphRefAll() { +SparqlAutomaticParser::GraphRefAllContext* +SparqlAutomaticParser::DropContext::graphRefAll() { return getRuleContext(0); } @@ -4298,25 +5308,24 @@ tree::TerminalNode* SparqlAutomaticParser::DropContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } - size_t SparqlAutomaticParser::DropContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDrop; } -void SparqlAutomaticParser::DropContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDrop(this); +void SparqlAutomaticParser::DropContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDrop(this); } -void SparqlAutomaticParser::DropContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDrop(this); +void SparqlAutomaticParser::DropContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDrop(this); } - -std::any SparqlAutomaticParser::DropContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DropContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDrop(this); else @@ -4324,7 +5333,8 @@ std::any SparqlAutomaticParser::DropContext::accept(tree::ParseTreeVisitor *visi } SparqlAutomaticParser::DropContext* SparqlAutomaticParser::drop() { - DropContext *_localctx = _tracker.createInstance(_ctx, getState()); + DropContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 70, SparqlAutomaticParser::RuleDrop); size_t _la = 0; @@ -4349,9 +5359,8 @@ SparqlAutomaticParser::DropContext* SparqlAutomaticParser::drop() { } setState(608); graphRefAll(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4360,17 +5369,19 @@ SparqlAutomaticParser::DropContext* SparqlAutomaticParser::drop() { return _localctx; } -//----------------- CreateContext ------------------------------------------------------------------ +//----------------- CreateContext +//------------------------------------------------------------------ -SparqlAutomaticParser::CreateContext::CreateContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::CreateContext::CreateContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::CreateContext::CREATE() { return getToken(SparqlAutomaticParser::CREATE, 0); } -SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::CreateContext::graphRef() { +SparqlAutomaticParser::GraphRefContext* +SparqlAutomaticParser::CreateContext::graphRef() { return getRuleContext(0); } @@ -4378,25 +5389,24 @@ tree::TerminalNode* SparqlAutomaticParser::CreateContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } - size_t SparqlAutomaticParser::CreateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleCreate; } -void SparqlAutomaticParser::CreateContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterCreate(this); +void SparqlAutomaticParser::CreateContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterCreate(this); } -void SparqlAutomaticParser::CreateContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitCreate(this); +void SparqlAutomaticParser::CreateContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitCreate(this); } - -std::any SparqlAutomaticParser::CreateContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::CreateContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitCreate(this); else @@ -4404,7 +5414,8 @@ std::any SparqlAutomaticParser::CreateContext::accept(tree::ParseTreeVisitor *vi } SparqlAutomaticParser::CreateContext* SparqlAutomaticParser::create() { - CreateContext *_localctx = _tracker.createInstance(_ctx, getState()); + CreateContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 72, SparqlAutomaticParser::RuleCreate); size_t _la = 0; @@ -4429,9 +5440,8 @@ SparqlAutomaticParser::CreateContext* SparqlAutomaticParser::create() { } setState(614); graphRef(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4440,21 +5450,24 @@ SparqlAutomaticParser::CreateContext* SparqlAutomaticParser::create() { return _localctx; } -//----------------- AddContext ------------------------------------------------------------------ +//----------------- AddContext +//------------------------------------------------------------------ -SparqlAutomaticParser::AddContext::AddContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::AddContext::AddContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::AddContext::ADD() { return getToken(SparqlAutomaticParser::ADD, 0); } -std::vector SparqlAutomaticParser::AddContext::graphOrDefault() { +std::vector +SparqlAutomaticParser::AddContext::graphOrDefault() { return getRuleContexts(); } -SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::AddContext::graphOrDefault(size_t i) { +SparqlAutomaticParser::GraphOrDefaultContext* +SparqlAutomaticParser::AddContext::graphOrDefault(size_t i) { return getRuleContext(i); } @@ -4466,25 +5479,24 @@ tree::TerminalNode* SparqlAutomaticParser::AddContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } - size_t SparqlAutomaticParser::AddContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAdd; } -void SparqlAutomaticParser::AddContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterAdd(this); +void SparqlAutomaticParser::AddContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterAdd(this); } -void SparqlAutomaticParser::AddContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitAdd(this); +void SparqlAutomaticParser::AddContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitAdd(this); } - -std::any SparqlAutomaticParser::AddContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::AddContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAdd(this); else @@ -4492,7 +5504,7 @@ std::any SparqlAutomaticParser::AddContext::accept(tree::ParseTreeVisitor *visit } SparqlAutomaticParser::AddContext* SparqlAutomaticParser::add() { - AddContext *_localctx = _tracker.createInstance(_ctx, getState()); + AddContext* _localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 74, SparqlAutomaticParser::RuleAdd); size_t _la = 0; @@ -4521,9 +5533,8 @@ SparqlAutomaticParser::AddContext* SparqlAutomaticParser::add() { match(SparqlAutomaticParser::TO); setState(622); graphOrDefault(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4532,21 +5543,24 @@ SparqlAutomaticParser::AddContext* SparqlAutomaticParser::add() { return _localctx; } -//----------------- MoveContext ------------------------------------------------------------------ +//----------------- MoveContext +//------------------------------------------------------------------ -SparqlAutomaticParser::MoveContext::MoveContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::MoveContext::MoveContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::MoveContext::MOVE() { return getToken(SparqlAutomaticParser::MOVE, 0); } -std::vector SparqlAutomaticParser::MoveContext::graphOrDefault() { +std::vector +SparqlAutomaticParser::MoveContext::graphOrDefault() { return getRuleContexts(); } -SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::MoveContext::graphOrDefault(size_t i) { +SparqlAutomaticParser::GraphOrDefaultContext* +SparqlAutomaticParser::MoveContext::graphOrDefault(size_t i) { return getRuleContext(i); } @@ -4558,25 +5572,24 @@ tree::TerminalNode* SparqlAutomaticParser::MoveContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } - size_t SparqlAutomaticParser::MoveContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMove; } -void SparqlAutomaticParser::MoveContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterMove(this); +void SparqlAutomaticParser::MoveContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterMove(this); } -void SparqlAutomaticParser::MoveContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitMove(this); +void SparqlAutomaticParser::MoveContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitMove(this); } - -std::any SparqlAutomaticParser::MoveContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::MoveContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMove(this); else @@ -4584,7 +5597,8 @@ std::any SparqlAutomaticParser::MoveContext::accept(tree::ParseTreeVisitor *visi } SparqlAutomaticParser::MoveContext* SparqlAutomaticParser::move() { - MoveContext *_localctx = _tracker.createInstance(_ctx, getState()); + MoveContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 76, SparqlAutomaticParser::RuleMove); size_t _la = 0; @@ -4613,9 +5627,8 @@ SparqlAutomaticParser::MoveContext* SparqlAutomaticParser::move() { match(SparqlAutomaticParser::TO); setState(630); graphOrDefault(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4624,21 +5637,24 @@ SparqlAutomaticParser::MoveContext* SparqlAutomaticParser::move() { return _localctx; } -//----------------- CopyContext ------------------------------------------------------------------ +//----------------- CopyContext +//------------------------------------------------------------------ -SparqlAutomaticParser::CopyContext::CopyContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::CopyContext::CopyContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::CopyContext::COPY() { return getToken(SparqlAutomaticParser::COPY, 0); } -std::vector SparqlAutomaticParser::CopyContext::graphOrDefault() { +std::vector +SparqlAutomaticParser::CopyContext::graphOrDefault() { return getRuleContexts(); } -SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::CopyContext::graphOrDefault(size_t i) { +SparqlAutomaticParser::GraphOrDefaultContext* +SparqlAutomaticParser::CopyContext::graphOrDefault(size_t i) { return getRuleContext(i); } @@ -4650,25 +5666,24 @@ tree::TerminalNode* SparqlAutomaticParser::CopyContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } - size_t SparqlAutomaticParser::CopyContext::getRuleIndex() const { return SparqlAutomaticParser::RuleCopy; } -void SparqlAutomaticParser::CopyContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterCopy(this); +void SparqlAutomaticParser::CopyContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterCopy(this); } -void SparqlAutomaticParser::CopyContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitCopy(this); +void SparqlAutomaticParser::CopyContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitCopy(this); } - -std::any SparqlAutomaticParser::CopyContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::CopyContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitCopy(this); else @@ -4676,7 +5691,8 @@ std::any SparqlAutomaticParser::CopyContext::accept(tree::ParseTreeVisitor *visi } SparqlAutomaticParser::CopyContext* SparqlAutomaticParser::copy() { - CopyContext *_localctx = _tracker.createInstance(_ctx, getState()); + CopyContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 78, SparqlAutomaticParser::RuleCopy); size_t _la = 0; @@ -4705,9 +5721,8 @@ SparqlAutomaticParser::CopyContext* SparqlAutomaticParser::copy() { match(SparqlAutomaticParser::TO); setState(638); graphOrDefault(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4716,11 +5731,12 @@ SparqlAutomaticParser::CopyContext* SparqlAutomaticParser::copy() { return _localctx; } -//----------------- InsertDataContext ------------------------------------------------------------------ +//----------------- InsertDataContext +//------------------------------------------------------------------ -SparqlAutomaticParser::InsertDataContext::InsertDataContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::InsertDataContext::InsertDataContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::InsertDataContext::INSERT() { return getToken(SparqlAutomaticParser::INSERT, 0); @@ -4730,29 +5746,29 @@ tree::TerminalNode* SparqlAutomaticParser::InsertDataContext::DATA() { return getToken(SparqlAutomaticParser::DATA, 0); } -SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::InsertDataContext::quadData() { +SparqlAutomaticParser::QuadDataContext* +SparqlAutomaticParser::InsertDataContext::quadData() { return getRuleContext(0); } - size_t SparqlAutomaticParser::InsertDataContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInsertData; } -void SparqlAutomaticParser::InsertDataContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterInsertData(this); +void SparqlAutomaticParser::InsertDataContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterInsertData(this); } -void SparqlAutomaticParser::InsertDataContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitInsertData(this); +void SparqlAutomaticParser::InsertDataContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitInsertData(this); } - -std::any SparqlAutomaticParser::InsertDataContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::InsertDataContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInsertData(this); else @@ -4760,7 +5776,8 @@ std::any SparqlAutomaticParser::InsertDataContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::InsertDataContext* SparqlAutomaticParser::insertData() { - InsertDataContext *_localctx = _tracker.createInstance(_ctx, getState()); + InsertDataContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 80, SparqlAutomaticParser::RuleInsertData); #if __cplusplus > 201703L @@ -4778,9 +5795,8 @@ SparqlAutomaticParser::InsertDataContext* SparqlAutomaticParser::insertData() { match(SparqlAutomaticParser::DATA); setState(642); quadData(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4789,11 +5805,12 @@ SparqlAutomaticParser::InsertDataContext* SparqlAutomaticParser::insertData() { return _localctx; } -//----------------- DeleteDataContext ------------------------------------------------------------------ +//----------------- DeleteDataContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DeleteDataContext::DeleteDataContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DeleteDataContext::DeleteDataContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::DeleteDataContext::DELETE() { return getToken(SparqlAutomaticParser::DELETE, 0); @@ -4803,29 +5820,29 @@ tree::TerminalNode* SparqlAutomaticParser::DeleteDataContext::DATA() { return getToken(SparqlAutomaticParser::DATA, 0); } -SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::DeleteDataContext::quadData() { +SparqlAutomaticParser::QuadDataContext* +SparqlAutomaticParser::DeleteDataContext::quadData() { return getRuleContext(0); } - size_t SparqlAutomaticParser::DeleteDataContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDeleteData; } -void SparqlAutomaticParser::DeleteDataContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDeleteData(this); +void SparqlAutomaticParser::DeleteDataContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDeleteData(this); } -void SparqlAutomaticParser::DeleteDataContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDeleteData(this); +void SparqlAutomaticParser::DeleteDataContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDeleteData(this); } - -std::any SparqlAutomaticParser::DeleteDataContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DeleteDataContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDeleteData(this); else @@ -4833,7 +5850,8 @@ std::any SparqlAutomaticParser::DeleteDataContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::DeleteDataContext* SparqlAutomaticParser::deleteData() { - DeleteDataContext *_localctx = _tracker.createInstance(_ctx, getState()); + DeleteDataContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 82, SparqlAutomaticParser::RuleDeleteData); #if __cplusplus > 201703L @@ -4851,9 +5869,8 @@ SparqlAutomaticParser::DeleteDataContext* SparqlAutomaticParser::deleteData() { match(SparqlAutomaticParser::DATA); setState(646); quadData(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4862,11 +5879,12 @@ SparqlAutomaticParser::DeleteDataContext* SparqlAutomaticParser::deleteData() { return _localctx; } -//----------------- DeleteWhereContext ------------------------------------------------------------------ +//----------------- DeleteWhereContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DeleteWhereContext::DeleteWhereContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DeleteWhereContext::DeleteWhereContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::DeleteWhereContext::DELETE() { return getToken(SparqlAutomaticParser::DELETE, 0); @@ -4876,37 +5894,39 @@ tree::TerminalNode* SparqlAutomaticParser::DeleteWhereContext::WHERE() { return getToken(SparqlAutomaticParser::WHERE, 0); } -SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::DeleteWhereContext::quadPattern() { +SparqlAutomaticParser::QuadPatternContext* +SparqlAutomaticParser::DeleteWhereContext::quadPattern() { return getRuleContext(0); } - size_t SparqlAutomaticParser::DeleteWhereContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDeleteWhere; } -void SparqlAutomaticParser::DeleteWhereContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDeleteWhere(this); +void SparqlAutomaticParser::DeleteWhereContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDeleteWhere(this); } -void SparqlAutomaticParser::DeleteWhereContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDeleteWhere(this); +void SparqlAutomaticParser::DeleteWhereContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDeleteWhere(this); } - -std::any SparqlAutomaticParser::DeleteWhereContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DeleteWhereContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDeleteWhere(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DeleteWhereContext* SparqlAutomaticParser::deleteWhere() { - DeleteWhereContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DeleteWhereContext* +SparqlAutomaticParser::deleteWhere() { + DeleteWhereContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 84, SparqlAutomaticParser::RuleDeleteWhere); #if __cplusplus > 201703L @@ -4924,9 +5944,8 @@ SparqlAutomaticParser::DeleteWhereContext* SparqlAutomaticParser::deleteWhere() match(SparqlAutomaticParser::WHERE); setState(650); quadPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -4935,25 +5954,29 @@ SparqlAutomaticParser::DeleteWhereContext* SparqlAutomaticParser::deleteWhere() return _localctx; } -//----------------- ModifyContext ------------------------------------------------------------------ +//----------------- ModifyContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ModifyContext::ModifyContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ModifyContext::ModifyContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::ModifyContext::WHERE() { return getToken(SparqlAutomaticParser::WHERE, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::ModifyContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::ModifyContext::groupGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::DeleteClauseContext* SparqlAutomaticParser::ModifyContext::deleteClause() { +SparqlAutomaticParser::DeleteClauseContext* +SparqlAutomaticParser::ModifyContext::deleteClause() { return getRuleContext(0); } -SparqlAutomaticParser::InsertClauseContext* SparqlAutomaticParser::ModifyContext::insertClause() { +SparqlAutomaticParser::InsertClauseContext* +SparqlAutomaticParser::ModifyContext::insertClause() { return getRuleContext(0); } @@ -4965,33 +5988,34 @@ SparqlAutomaticParser::IriContext* SparqlAutomaticParser::ModifyContext::iri() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::ModifyContext::usingClause() { +std::vector +SparqlAutomaticParser::ModifyContext::usingClause() { return getRuleContexts(); } -SparqlAutomaticParser::UsingClauseContext* SparqlAutomaticParser::ModifyContext::usingClause(size_t i) { +SparqlAutomaticParser::UsingClauseContext* +SparqlAutomaticParser::ModifyContext::usingClause(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::ModifyContext::getRuleIndex() const { return SparqlAutomaticParser::RuleModify; } -void SparqlAutomaticParser::ModifyContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterModify(this); +void SparqlAutomaticParser::ModifyContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterModify(this); } -void SparqlAutomaticParser::ModifyContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitModify(this); +void SparqlAutomaticParser::ModifyContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitModify(this); } - -std::any SparqlAutomaticParser::ModifyContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ModifyContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitModify(this); else @@ -4999,7 +6023,8 @@ std::any SparqlAutomaticParser::ModifyContext::accept(tree::ParseTreeVisitor *vi } SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::modify() { - ModifyContext *_localctx = _tracker.createInstance(_ctx, getState()); + ModifyContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 86, SparqlAutomaticParser::RuleModify); size_t _la = 0; @@ -5045,8 +6070,8 @@ SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::modify() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(666); _errHandler->sync(this); @@ -5062,9 +6087,8 @@ SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::modify() { match(SparqlAutomaticParser::WHERE); setState(670); groupGraphPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5073,47 +6097,50 @@ SparqlAutomaticParser::ModifyContext* SparqlAutomaticParser::modify() { return _localctx; } -//----------------- DeleteClauseContext ------------------------------------------------------------------ +//----------------- DeleteClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DeleteClauseContext::DeleteClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DeleteClauseContext::DeleteClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::DeleteClauseContext::DELETE() { return getToken(SparqlAutomaticParser::DELETE, 0); } -SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::DeleteClauseContext::quadPattern() { +SparqlAutomaticParser::QuadPatternContext* +SparqlAutomaticParser::DeleteClauseContext::quadPattern() { return getRuleContext(0); } - size_t SparqlAutomaticParser::DeleteClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDeleteClause; } -void SparqlAutomaticParser::DeleteClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDeleteClause(this); +void SparqlAutomaticParser::DeleteClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDeleteClause(this); } -void SparqlAutomaticParser::DeleteClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDeleteClause(this); +void SparqlAutomaticParser::DeleteClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDeleteClause(this); } - -std::any SparqlAutomaticParser::DeleteClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DeleteClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDeleteClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DeleteClauseContext* SparqlAutomaticParser::deleteClause() { - DeleteClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DeleteClauseContext* +SparqlAutomaticParser::deleteClause() { + DeleteClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 88, SparqlAutomaticParser::RuleDeleteClause); #if __cplusplus > 201703L @@ -5129,9 +6156,8 @@ SparqlAutomaticParser::DeleteClauseContext* SparqlAutomaticParser::deleteClause( match(SparqlAutomaticParser::DELETE); setState(673); quadPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5140,47 +6166,50 @@ SparqlAutomaticParser::DeleteClauseContext* SparqlAutomaticParser::deleteClause( return _localctx; } -//----------------- InsertClauseContext ------------------------------------------------------------------ +//----------------- InsertClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::InsertClauseContext::InsertClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::InsertClauseContext::InsertClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::InsertClauseContext::INSERT() { return getToken(SparqlAutomaticParser::INSERT, 0); } -SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::InsertClauseContext::quadPattern() { +SparqlAutomaticParser::QuadPatternContext* +SparqlAutomaticParser::InsertClauseContext::quadPattern() { return getRuleContext(0); } - size_t SparqlAutomaticParser::InsertClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInsertClause; } -void SparqlAutomaticParser::InsertClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterInsertClause(this); +void SparqlAutomaticParser::InsertClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterInsertClause(this); } -void SparqlAutomaticParser::InsertClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitInsertClause(this); +void SparqlAutomaticParser::InsertClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitInsertClause(this); } - -std::any SparqlAutomaticParser::InsertClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::InsertClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInsertClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::InsertClauseContext* SparqlAutomaticParser::insertClause() { - InsertClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::InsertClauseContext* +SparqlAutomaticParser::insertClause() { + InsertClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 90, SparqlAutomaticParser::RuleInsertClause); #if __cplusplus > 201703L @@ -5196,9 +6225,8 @@ SparqlAutomaticParser::InsertClauseContext* SparqlAutomaticParser::insertClause( match(SparqlAutomaticParser::INSERT); setState(676); quadPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5207,17 +6235,19 @@ SparqlAutomaticParser::InsertClauseContext* SparqlAutomaticParser::insertClause( return _localctx; } -//----------------- UsingClauseContext ------------------------------------------------------------------ +//----------------- UsingClauseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::UsingClauseContext::UsingClauseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::UsingClauseContext::UsingClauseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::UsingClauseContext::USING() { return getToken(SparqlAutomaticParser::USING, 0); } -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::UsingClauseContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::UsingClauseContext::iri() { return getRuleContext(0); } @@ -5225,33 +6255,34 @@ tree::TerminalNode* SparqlAutomaticParser::UsingClauseContext::NAMED() { return getToken(SparqlAutomaticParser::NAMED, 0); } - size_t SparqlAutomaticParser::UsingClauseContext::getRuleIndex() const { return SparqlAutomaticParser::RuleUsingClause; } -void SparqlAutomaticParser::UsingClauseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterUsingClause(this); +void SparqlAutomaticParser::UsingClauseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterUsingClause(this); } -void SparqlAutomaticParser::UsingClauseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitUsingClause(this); +void SparqlAutomaticParser::UsingClauseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitUsingClause(this); } - -std::any SparqlAutomaticParser::UsingClauseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::UsingClauseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitUsingClause(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::UsingClauseContext* SparqlAutomaticParser::usingClause() { - UsingClauseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::UsingClauseContext* +SparqlAutomaticParser::usingClause() { + UsingClauseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 92, SparqlAutomaticParser::RuleUsingClause); #if __cplusplus > 201703L @@ -5285,12 +6316,11 @@ SparqlAutomaticParser::UsingClauseContext* SparqlAutomaticParser::usingClause() break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5299,11 +6329,12 @@ SparqlAutomaticParser::UsingClauseContext* SparqlAutomaticParser::usingClause() return _localctx; } -//----------------- GraphOrDefaultContext ------------------------------------------------------------------ +//----------------- GraphOrDefaultContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphOrDefaultContext::GraphOrDefaultContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphOrDefaultContext::GraphOrDefaultContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::GraphOrDefaultContext::DEFAULT() { return getToken(SparqlAutomaticParser::DEFAULT, 0); @@ -5313,37 +6344,39 @@ tree::TerminalNode* SparqlAutomaticParser::GraphOrDefaultContext::GRAPH() { return getToken(SparqlAutomaticParser::GRAPH, 0); } -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::GraphOrDefaultContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::GraphOrDefaultContext::iri() { return getRuleContext(0); } - size_t SparqlAutomaticParser::GraphOrDefaultContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphOrDefault; } -void SparqlAutomaticParser::GraphOrDefaultContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGraphOrDefault(this); +void SparqlAutomaticParser::GraphOrDefaultContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGraphOrDefault(this); } -void SparqlAutomaticParser::GraphOrDefaultContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGraphOrDefault(this); +void SparqlAutomaticParser::GraphOrDefaultContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGraphOrDefault(this); } - -std::any SparqlAutomaticParser::GraphOrDefaultContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GraphOrDefaultContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphOrDefault(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::graphOrDefault() { - GraphOrDefaultContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphOrDefaultContext* +SparqlAutomaticParser::graphOrDefault() { + GraphOrDefaultContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 94, SparqlAutomaticParser::RuleGraphOrDefault); #if __cplusplus > 201703L @@ -5373,12 +6406,11 @@ SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::graphOrDefa break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5387,39 +6419,40 @@ SparqlAutomaticParser::GraphOrDefaultContext* SparqlAutomaticParser::graphOrDefa return _localctx; } -//----------------- GraphRefContext ------------------------------------------------------------------ +//----------------- GraphRefContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphRefContext::GraphRefContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphRefContext::GraphRefContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::GraphRefContext::GRAPH() { return getToken(SparqlAutomaticParser::GRAPH, 0); } -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::GraphRefContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::GraphRefContext::iri() { return getRuleContext(0); } - size_t SparqlAutomaticParser::GraphRefContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphRef; } -void SparqlAutomaticParser::GraphRefContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGraphRef(this); +void SparqlAutomaticParser::GraphRefContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGraphRef(this); } -void SparqlAutomaticParser::GraphRefContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGraphRef(this); +void SparqlAutomaticParser::GraphRefContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGraphRef(this); } - -std::any SparqlAutomaticParser::GraphRefContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GraphRefContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphRef(this); else @@ -5427,7 +6460,8 @@ std::any SparqlAutomaticParser::GraphRefContext::accept(tree::ParseTreeVisitor * } SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::graphRef() { - GraphRefContext *_localctx = _tracker.createInstance(_ctx, getState()); + GraphRefContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 96, SparqlAutomaticParser::RuleGraphRef); #if __cplusplus > 201703L @@ -5443,9 +6477,8 @@ SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::graphRef() { match(SparqlAutomaticParser::GRAPH); setState(690); iri(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5454,13 +6487,15 @@ SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::graphRef() { return _localctx; } -//----------------- GraphRefAllContext ------------------------------------------------------------------ +//----------------- GraphRefAllContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphRefAllContext::GraphRefAllContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphRefAllContext::GraphRefAllContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::GraphRefContext* SparqlAutomaticParser::GraphRefAllContext::graphRef() { +SparqlAutomaticParser::GraphRefContext* +SparqlAutomaticParser::GraphRefAllContext::graphRef() { return getRuleContext(0); } @@ -5476,33 +6511,34 @@ tree::TerminalNode* SparqlAutomaticParser::GraphRefAllContext::ALL() { return getToken(SparqlAutomaticParser::ALL, 0); } - size_t SparqlAutomaticParser::GraphRefAllContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphRefAll; } -void SparqlAutomaticParser::GraphRefAllContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGraphRefAll(this); +void SparqlAutomaticParser::GraphRefAllContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGraphRefAll(this); } -void SparqlAutomaticParser::GraphRefAllContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGraphRefAll(this); +void SparqlAutomaticParser::GraphRefAllContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGraphRefAll(this); } - -std::any SparqlAutomaticParser::GraphRefAllContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GraphRefAllContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphRefAll(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphRefAllContext* SparqlAutomaticParser::graphRefAll() { - GraphRefAllContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphRefAllContext* +SparqlAutomaticParser::graphRefAll() { + GraphRefAllContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 98, SparqlAutomaticParser::RuleGraphRefAll); #if __cplusplus > 201703L @@ -5544,12 +6580,11 @@ SparqlAutomaticParser::GraphRefAllContext* SparqlAutomaticParser::graphRefAll() break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5558,43 +6593,46 @@ SparqlAutomaticParser::GraphRefAllContext* SparqlAutomaticParser::graphRefAll() return _localctx; } -//----------------- QuadPatternContext ------------------------------------------------------------------ +//----------------- QuadPatternContext +//------------------------------------------------------------------ -SparqlAutomaticParser::QuadPatternContext::QuadPatternContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::QuadPatternContext::QuadPatternContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::QuadPatternContext::quads() { +SparqlAutomaticParser::QuadsContext* +SparqlAutomaticParser::QuadPatternContext::quads() { return getRuleContext(0); } - size_t SparqlAutomaticParser::QuadPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuadPattern; } -void SparqlAutomaticParser::QuadPatternContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterQuadPattern(this); +void SparqlAutomaticParser::QuadPatternContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterQuadPattern(this); } -void SparqlAutomaticParser::QuadPatternContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitQuadPattern(this); +void SparqlAutomaticParser::QuadPatternContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitQuadPattern(this); } - -std::any SparqlAutomaticParser::QuadPatternContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::QuadPatternContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuadPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::quadPattern() { - QuadPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::QuadPatternContext* +SparqlAutomaticParser::quadPattern() { + QuadPatternContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 100, SparqlAutomaticParser::RuleQuadPattern); #if __cplusplus > 201703L @@ -5612,9 +6650,8 @@ SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::quadPattern() quads(); setState(700); match(SparqlAutomaticParser::T__4); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5623,35 +6660,36 @@ SparqlAutomaticParser::QuadPatternContext* SparqlAutomaticParser::quadPattern() return _localctx; } -//----------------- QuadDataContext ------------------------------------------------------------------ +//----------------- QuadDataContext +//------------------------------------------------------------------ -SparqlAutomaticParser::QuadDataContext::QuadDataContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::QuadDataContext::QuadDataContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::QuadDataContext::quads() { +SparqlAutomaticParser::QuadsContext* +SparqlAutomaticParser::QuadDataContext::quads() { return getRuleContext(0); } - size_t SparqlAutomaticParser::QuadDataContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuadData; } -void SparqlAutomaticParser::QuadDataContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterQuadData(this); +void SparqlAutomaticParser::QuadDataContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterQuadData(this); } -void SparqlAutomaticParser::QuadDataContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitQuadData(this); +void SparqlAutomaticParser::QuadDataContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitQuadData(this); } - -std::any SparqlAutomaticParser::QuadDataContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::QuadDataContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuadData(this); else @@ -5659,7 +6697,8 @@ std::any SparqlAutomaticParser::QuadDataContext::accept(tree::ParseTreeVisitor * } SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::quadData() { - QuadDataContext *_localctx = _tracker.createInstance(_ctx, getState()); + QuadDataContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 102, SparqlAutomaticParser::RuleQuadData); #if __cplusplus > 201703L @@ -5677,9 +6716,8 @@ SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::quadData() { quads(); setState(704); match(SparqlAutomaticParser::T__4); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5688,47 +6726,51 @@ SparqlAutomaticParser::QuadDataContext* SparqlAutomaticParser::quadData() { return _localctx; } -//----------------- QuadsContext ------------------------------------------------------------------ +//----------------- QuadsContext +//------------------------------------------------------------------ -SparqlAutomaticParser::QuadsContext::QuadsContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::QuadsContext::QuadsContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::QuadsContext::triplesTemplate() { +std::vector +SparqlAutomaticParser::QuadsContext::triplesTemplate() { return getRuleContexts(); } -SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::QuadsContext::triplesTemplate(size_t i) { +SparqlAutomaticParser::TriplesTemplateContext* +SparqlAutomaticParser::QuadsContext::triplesTemplate(size_t i) { return getRuleContext(i); } -std::vector SparqlAutomaticParser::QuadsContext::quadsNotTriples() { +std::vector +SparqlAutomaticParser::QuadsContext::quadsNotTriples() { return getRuleContexts(); } -SparqlAutomaticParser::QuadsNotTriplesContext* SparqlAutomaticParser::QuadsContext::quadsNotTriples(size_t i) { +SparqlAutomaticParser::QuadsNotTriplesContext* +SparqlAutomaticParser::QuadsContext::quadsNotTriples(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::QuadsContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuads; } -void SparqlAutomaticParser::QuadsContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterQuads(this); +void SparqlAutomaticParser::QuadsContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterQuads(this); } -void SparqlAutomaticParser::QuadsContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitQuads(this); +void SparqlAutomaticParser::QuadsContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitQuads(this); } - -std::any SparqlAutomaticParser::QuadsContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::QuadsContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuads(this); else @@ -5736,7 +6778,8 @@ std::any SparqlAutomaticParser::QuadsContext::accept(tree::ParseTreeVisitor *vis } SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { - QuadsContext *_localctx = _tracker.createInstance(_ctx, getState()); + QuadsContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 104, SparqlAutomaticParser::RuleQuads); size_t _la = 0; @@ -5753,9 +6796,9 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(706); triplesTemplate(); } @@ -5777,9 +6820,9 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(713); triplesTemplate(); } @@ -5787,9 +6830,8 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5798,51 +6840,55 @@ SparqlAutomaticParser::QuadsContext* SparqlAutomaticParser::quads() { return _localctx; } -//----------------- QuadsNotTriplesContext ------------------------------------------------------------------ +//----------------- QuadsNotTriplesContext +//------------------------------------------------------------------ -SparqlAutomaticParser::QuadsNotTriplesContext::QuadsNotTriplesContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::QuadsNotTriplesContext::QuadsNotTriplesContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::QuadsNotTriplesContext::GRAPH() { return getToken(SparqlAutomaticParser::GRAPH, 0); } -SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::QuadsNotTriplesContext::varOrIri() { +SparqlAutomaticParser::VarOrIriContext* +SparqlAutomaticParser::QuadsNotTriplesContext::varOrIri() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::QuadsNotTriplesContext::triplesTemplate() { +SparqlAutomaticParser::TriplesTemplateContext* +SparqlAutomaticParser::QuadsNotTriplesContext::triplesTemplate() { return getRuleContext(0); } - size_t SparqlAutomaticParser::QuadsNotTriplesContext::getRuleIndex() const { return SparqlAutomaticParser::RuleQuadsNotTriples; } -void SparqlAutomaticParser::QuadsNotTriplesContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterQuadsNotTriples(this); +void SparqlAutomaticParser::QuadsNotTriplesContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterQuadsNotTriples(this); } -void SparqlAutomaticParser::QuadsNotTriplesContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitQuadsNotTriples(this); +void SparqlAutomaticParser::QuadsNotTriplesContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitQuadsNotTriples(this); } - -std::any SparqlAutomaticParser::QuadsNotTriplesContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::QuadsNotTriplesContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitQuadsNotTriples(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::QuadsNotTriplesContext* SparqlAutomaticParser::quadsNotTriples() { - QuadsNotTriplesContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::QuadsNotTriplesContext* +SparqlAutomaticParser::quadsNotTriples() { + QuadsNotTriplesContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 106, SparqlAutomaticParser::RuleQuadsNotTriples); size_t _la = 0; @@ -5865,17 +6911,16 @@ SparqlAutomaticParser::QuadsNotTriplesContext* SparqlAutomaticParser::quadsNotTr _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(724); triplesTemplate(); } setState(727); match(SparqlAutomaticParser::T__4); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5884,47 +6929,51 @@ SparqlAutomaticParser::QuadsNotTriplesContext* SparqlAutomaticParser::quadsNotTr return _localctx; } -//----------------- TriplesTemplateContext ------------------------------------------------------------------ +//----------------- TriplesTemplateContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TriplesTemplateContext::TriplesTemplateContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TriplesTemplateContext::TriplesTemplateContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::TriplesSameSubjectContext* SparqlAutomaticParser::TriplesTemplateContext::triplesSameSubject() { +SparqlAutomaticParser::TriplesSameSubjectContext* +SparqlAutomaticParser::TriplesTemplateContext::triplesSameSubject() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::TriplesTemplateContext::triplesTemplate() { +SparqlAutomaticParser::TriplesTemplateContext* +SparqlAutomaticParser::TriplesTemplateContext::triplesTemplate() { return getRuleContext(0); } - size_t SparqlAutomaticParser::TriplesTemplateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesTemplate; } -void SparqlAutomaticParser::TriplesTemplateContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterTriplesTemplate(this); +void SparqlAutomaticParser::TriplesTemplateContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterTriplesTemplate(this); } -void SparqlAutomaticParser::TriplesTemplateContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitTriplesTemplate(this); +void SparqlAutomaticParser::TriplesTemplateContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitTriplesTemplate(this); } - -std::any SparqlAutomaticParser::TriplesTemplateContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TriplesTemplateContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesTemplate(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::triplesTemplate() { - TriplesTemplateContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesTemplateContext* +SparqlAutomaticParser::triplesTemplate() { + TriplesTemplateContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 108, SparqlAutomaticParser::RuleTriplesTemplate); size_t _la = 0; @@ -5950,16 +6999,15 @@ SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::triplesTem _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(731); triplesTemplate(); } } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -5968,47 +7016,51 @@ SparqlAutomaticParser::TriplesTemplateContext* SparqlAutomaticParser::triplesTem return _localctx; } -//----------------- GroupGraphPatternContext ------------------------------------------------------------------ +//----------------- GroupGraphPatternContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GroupGraphPatternContext::GroupGraphPatternContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GroupGraphPatternContext::GroupGraphPatternContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::SubSelectContext* SparqlAutomaticParser::GroupGraphPatternContext::subSelect() { +SparqlAutomaticParser::SubSelectContext* +SparqlAutomaticParser::GroupGraphPatternContext::subSelect() { return getRuleContext(0); } -SparqlAutomaticParser::GroupGraphPatternSubContext* SparqlAutomaticParser::GroupGraphPatternContext::groupGraphPatternSub() { +SparqlAutomaticParser::GroupGraphPatternSubContext* +SparqlAutomaticParser::GroupGraphPatternContext::groupGraphPatternSub() { return getRuleContext(0); } - size_t SparqlAutomaticParser::GroupGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGroupGraphPattern; } -void SparqlAutomaticParser::GroupGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGroupGraphPattern(this); +void SparqlAutomaticParser::GroupGraphPatternContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGroupGraphPattern(this); } -void SparqlAutomaticParser::GroupGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGroupGraphPattern(this); +void SparqlAutomaticParser::GroupGraphPatternContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGroupGraphPattern(this); } - -std::any SparqlAutomaticParser::GroupGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GroupGraphPatternContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::groupGraphPattern() { - GroupGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::groupGraphPattern() { + GroupGraphPatternContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 110, SparqlAutomaticParser::RuleGroupGraphPattern); #if __cplusplus > 201703L @@ -6071,14 +7123,13 @@ SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::groupGra break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(741); match(SparqlAutomaticParser::T__4); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6087,51 +7138,63 @@ SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::groupGra return _localctx; } -//----------------- GroupGraphPatternSubContext ------------------------------------------------------------------ +//----------------- GroupGraphPatternSubContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GroupGraphPatternSubContext::GroupGraphPatternSubContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GroupGraphPatternSubContext::GroupGraphPatternSubContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::GroupGraphPatternSubContext::triplesBlock() { +SparqlAutomaticParser::TriplesBlockContext* +SparqlAutomaticParser::GroupGraphPatternSubContext::triplesBlock() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::GroupGraphPatternSubContext::graphPatternNotTriplesAndMaybeTriples() { - return getRuleContexts(); +std::vector< + SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext*> +SparqlAutomaticParser::GroupGraphPatternSubContext:: + graphPatternNotTriplesAndMaybeTriples() { + return getRuleContexts< + SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext>(); } -SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* SparqlAutomaticParser::GroupGraphPatternSubContext::graphPatternNotTriplesAndMaybeTriples(size_t i) { - return getRuleContext(i); +SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* +SparqlAutomaticParser::GroupGraphPatternSubContext:: + graphPatternNotTriplesAndMaybeTriples(size_t i) { + return getRuleContext< + SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext>(i); } - -size_t SparqlAutomaticParser::GroupGraphPatternSubContext::getRuleIndex() const { +size_t SparqlAutomaticParser::GroupGraphPatternSubContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleGroupGraphPatternSub; } -void SparqlAutomaticParser::GroupGraphPatternSubContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GroupGraphPatternSubContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterGroupGraphPatternSub(this); } -void SparqlAutomaticParser::GroupGraphPatternSubContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGroupGraphPatternSub(this); +void SparqlAutomaticParser::GroupGraphPatternSubContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGroupGraphPatternSub(this); } - -std::any SparqlAutomaticParser::GroupGraphPatternSubContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GroupGraphPatternSubContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupGraphPatternSub(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupGraphPatternSubContext* SparqlAutomaticParser::groupGraphPatternSub() { - GroupGraphPatternSubContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GroupGraphPatternSubContext* +SparqlAutomaticParser::groupGraphPatternSub() { + GroupGraphPatternSubContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 112, SparqlAutomaticParser::RuleGroupGraphPatternSub); size_t _la = 0; @@ -6148,9 +7211,9 @@ SparqlAutomaticParser::GroupGraphPatternSubContext* SparqlAutomaticParser::group _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(743); triplesBlock(); } @@ -6159,17 +7222,17 @@ SparqlAutomaticParser::GroupGraphPatternSubContext* SparqlAutomaticParser::group _la = _input->LA(1); while (_la == SparqlAutomaticParser::T__3 - || _la == SparqlAutomaticParser::VALUES || (((_la - 69) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 69)) & 349) != 0) { + || _la == SparqlAutomaticParser::VALUES || + (((_la - 69) & ~0x3fULL) == 0) && + ((1ULL << (_la - 69)) & 349) != 0) { setState(746); graphPatternNotTriplesAndMaybeTriples(); setState(751); _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6178,48 +7241,60 @@ SparqlAutomaticParser::GroupGraphPatternSubContext* SparqlAutomaticParser::group return _localctx; } -//----------------- GraphPatternNotTriplesAndMaybeTriplesContext ------------------------------------------------------------------ +//----------------- GraphPatternNotTriplesAndMaybeTriplesContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::GraphPatternNotTriplesAndMaybeTriplesContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext:: + GraphPatternNotTriplesAndMaybeTriplesContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::GraphPatternNotTriplesContext* SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::graphPatternNotTriples() { - return getRuleContext(0); +SparqlAutomaticParser::GraphPatternNotTriplesContext* SparqlAutomaticParser:: + GraphPatternNotTriplesAndMaybeTriplesContext::graphPatternNotTriples() { + return getRuleContext( + 0); } -SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::triplesBlock() { +SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser:: + GraphPatternNotTriplesAndMaybeTriplesContext::triplesBlock() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::getRuleIndex() const { +size_t SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext:: + getRuleIndex() const { return SparqlAutomaticParser::RuleGraphPatternNotTriplesAndMaybeTriples; } -void SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext:: + enterRule(tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterGraphPatternNotTriplesAndMaybeTriples(this); } -void SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext:: + exitRule(tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitGraphPatternNotTriplesAndMaybeTriples(this); } - -std::any SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::accept(tree::ParseTreeVisitor *visitor) { +std::any +SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphPatternNotTriplesAndMaybeTriples(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* SparqlAutomaticParser::graphPatternNotTriplesAndMaybeTriples() { - GraphPatternNotTriplesAndMaybeTriplesContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 114, SparqlAutomaticParser::RuleGraphPatternNotTriplesAndMaybeTriples); +SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* +SparqlAutomaticParser::graphPatternNotTriplesAndMaybeTriples() { + GraphPatternNotTriplesAndMaybeTriplesContext* _localctx = + _tracker.createInstance( + _ctx, getState()); + enterRule(_localctx, 114, + SparqlAutomaticParser::RuleGraphPatternNotTriplesAndMaybeTriples); size_t _la = 0; #if __cplusplus > 201703L @@ -6245,15 +7320,14 @@ SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* SparqlAutom _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(756); triplesBlock(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6262,47 +7336,52 @@ SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* SparqlAutom return _localctx; } -//----------------- TriplesBlockContext ------------------------------------------------------------------ +//----------------- TriplesBlockContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TriplesBlockContext::TriplesBlockContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TriplesBlockContext::TriplesBlockContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::TriplesSameSubjectPathContext* SparqlAutomaticParser::TriplesBlockContext::triplesSameSubjectPath() { - return getRuleContext(0); +SparqlAutomaticParser::TriplesSameSubjectPathContext* +SparqlAutomaticParser::TriplesBlockContext::triplesSameSubjectPath() { + return getRuleContext( + 0); } -SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::TriplesBlockContext::triplesBlock() { +SparqlAutomaticParser::TriplesBlockContext* +SparqlAutomaticParser::TriplesBlockContext::triplesBlock() { return getRuleContext(0); } - size_t SparqlAutomaticParser::TriplesBlockContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesBlock; } -void SparqlAutomaticParser::TriplesBlockContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterTriplesBlock(this); +void SparqlAutomaticParser::TriplesBlockContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterTriplesBlock(this); } -void SparqlAutomaticParser::TriplesBlockContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitTriplesBlock(this); +void SparqlAutomaticParser::TriplesBlockContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitTriplesBlock(this); } - -std::any SparqlAutomaticParser::TriplesBlockContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TriplesBlockContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesBlock(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::triplesBlock() { - TriplesBlockContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesBlockContext* +SparqlAutomaticParser::triplesBlock() { + TriplesBlockContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 116, SparqlAutomaticParser::RuleTriplesBlock); size_t _la = 0; @@ -6328,16 +7407,15 @@ SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::triplesBlock( _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(761); triplesBlock(); } } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6346,71 +7424,86 @@ SparqlAutomaticParser::TriplesBlockContext* SparqlAutomaticParser::triplesBlock( return _localctx; } -//----------------- GraphPatternNotTriplesContext ------------------------------------------------------------------ +//----------------- GraphPatternNotTriplesContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphPatternNotTriplesContext::GraphPatternNotTriplesContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphPatternNotTriplesContext:: + GraphPatternNotTriplesContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::GroupOrUnionGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::groupOrUnionGraphPattern() { - return getRuleContext(0); +SparqlAutomaticParser::GroupOrUnionGraphPatternContext* SparqlAutomaticParser:: + GraphPatternNotTriplesContext::groupOrUnionGraphPattern() { + return getRuleContext( + 0); } -SparqlAutomaticParser::OptionalGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::optionalGraphPattern() { +SparqlAutomaticParser::OptionalGraphPatternContext* +SparqlAutomaticParser::GraphPatternNotTriplesContext::optionalGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::MinusGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::minusGraphPattern() { +SparqlAutomaticParser::MinusGraphPatternContext* +SparqlAutomaticParser::GraphPatternNotTriplesContext::minusGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::GraphGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::graphGraphPattern() { +SparqlAutomaticParser::GraphGraphPatternContext* +SparqlAutomaticParser::GraphPatternNotTriplesContext::graphGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::ServiceGraphPatternContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::serviceGraphPattern() { +SparqlAutomaticParser::ServiceGraphPatternContext* +SparqlAutomaticParser::GraphPatternNotTriplesContext::serviceGraphPattern() { return getRuleContext(0); } -SparqlAutomaticParser::FilterRContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::filterR() { +SparqlAutomaticParser::FilterRContext* +SparqlAutomaticParser::GraphPatternNotTriplesContext::filterR() { return getRuleContext(0); } -SparqlAutomaticParser::BindContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::bind() { +SparqlAutomaticParser::BindContext* +SparqlAutomaticParser::GraphPatternNotTriplesContext::bind() { return getRuleContext(0); } -SparqlAutomaticParser::InlineDataContext* SparqlAutomaticParser::GraphPatternNotTriplesContext::inlineData() { +SparqlAutomaticParser::InlineDataContext* +SparqlAutomaticParser::GraphPatternNotTriplesContext::inlineData() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::GraphPatternNotTriplesContext::getRuleIndex() const { +size_t SparqlAutomaticParser::GraphPatternNotTriplesContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleGraphPatternNotTriples; } -void SparqlAutomaticParser::GraphPatternNotTriplesContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GraphPatternNotTriplesContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterGraphPatternNotTriples(this); } -void SparqlAutomaticParser::GraphPatternNotTriplesContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GraphPatternNotTriplesContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitGraphPatternNotTriples(this); } - -std::any SparqlAutomaticParser::GraphPatternNotTriplesContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GraphPatternNotTriplesContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphPatternNotTriples(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphPatternNotTriplesContext* SparqlAutomaticParser::graphPatternNotTriples() { - GraphPatternNotTriplesContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphPatternNotTriplesContext* +SparqlAutomaticParser::graphPatternNotTriples() { + GraphPatternNotTriplesContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 118, SparqlAutomaticParser::RuleGraphPatternNotTriples); #if __cplusplus > 201703L @@ -6480,12 +7573,11 @@ SparqlAutomaticParser::GraphPatternNotTriplesContext* SparqlAutomaticParser::gra break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6494,47 +7586,53 @@ SparqlAutomaticParser::GraphPatternNotTriplesContext* SparqlAutomaticParser::gra return _localctx; } -//----------------- OptionalGraphPatternContext ------------------------------------------------------------------ +//----------------- OptionalGraphPatternContext +//------------------------------------------------------------------ -SparqlAutomaticParser::OptionalGraphPatternContext::OptionalGraphPatternContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::OptionalGraphPatternContext::OptionalGraphPatternContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -tree::TerminalNode* SparqlAutomaticParser::OptionalGraphPatternContext::OPTIONAL() { +tree::TerminalNode* +SparqlAutomaticParser::OptionalGraphPatternContext::OPTIONAL() { return getToken(SparqlAutomaticParser::OPTIONAL, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::OptionalGraphPatternContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::OptionalGraphPatternContext::groupGraphPattern() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::OptionalGraphPatternContext::getRuleIndex() const { +size_t SparqlAutomaticParser::OptionalGraphPatternContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleOptionalGraphPattern; } -void SparqlAutomaticParser::OptionalGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::OptionalGraphPatternContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterOptionalGraphPattern(this); } -void SparqlAutomaticParser::OptionalGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitOptionalGraphPattern(this); +void SparqlAutomaticParser::OptionalGraphPatternContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitOptionalGraphPattern(this); } - -std::any SparqlAutomaticParser::OptionalGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::OptionalGraphPatternContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitOptionalGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::OptionalGraphPatternContext* SparqlAutomaticParser::optionalGraphPattern() { - OptionalGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::OptionalGraphPatternContext* +SparqlAutomaticParser::optionalGraphPattern() { + OptionalGraphPatternContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 120, SparqlAutomaticParser::RuleOptionalGraphPattern); #if __cplusplus > 201703L @@ -6550,9 +7648,8 @@ SparqlAutomaticParser::OptionalGraphPatternContext* SparqlAutomaticParser::optio match(SparqlAutomaticParser::OPTIONAL); setState(777); groupGraphPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6561,51 +7658,55 @@ SparqlAutomaticParser::OptionalGraphPatternContext* SparqlAutomaticParser::optio return _localctx; } -//----------------- GraphGraphPatternContext ------------------------------------------------------------------ +//----------------- GraphGraphPatternContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphGraphPatternContext::GraphGraphPatternContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphGraphPatternContext::GraphGraphPatternContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::GraphGraphPatternContext::GRAPH() { return getToken(SparqlAutomaticParser::GRAPH, 0); } -SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::GraphGraphPatternContext::varOrIri() { +SparqlAutomaticParser::VarOrIriContext* +SparqlAutomaticParser::GraphGraphPatternContext::varOrIri() { return getRuleContext(0); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::GraphGraphPatternContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::GraphGraphPatternContext::groupGraphPattern() { return getRuleContext(0); } - size_t SparqlAutomaticParser::GraphGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphGraphPattern; } -void SparqlAutomaticParser::GraphGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGraphGraphPattern(this); +void SparqlAutomaticParser::GraphGraphPatternContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGraphGraphPattern(this); } -void SparqlAutomaticParser::GraphGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGraphGraphPattern(this); +void SparqlAutomaticParser::GraphGraphPatternContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGraphGraphPattern(this); } - -std::any SparqlAutomaticParser::GraphGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GraphGraphPatternContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphGraphPatternContext* SparqlAutomaticParser::graphGraphPattern() { - GraphGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphGraphPatternContext* +SparqlAutomaticParser::graphGraphPattern() { + GraphGraphPatternContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 122, SparqlAutomaticParser::RuleGraphGraphPattern); #if __cplusplus > 201703L @@ -6623,9 +7724,8 @@ SparqlAutomaticParser::GraphGraphPatternContext* SparqlAutomaticParser::graphGra varOrIri(); setState(781); groupGraphPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6634,55 +7734,61 @@ SparqlAutomaticParser::GraphGraphPatternContext* SparqlAutomaticParser::graphGra return _localctx; } -//----------------- ServiceGraphPatternContext ------------------------------------------------------------------ +//----------------- ServiceGraphPatternContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ServiceGraphPatternContext::ServiceGraphPatternContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ServiceGraphPatternContext::ServiceGraphPatternContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -tree::TerminalNode* SparqlAutomaticParser::ServiceGraphPatternContext::SERVICE() { +tree::TerminalNode* +SparqlAutomaticParser::ServiceGraphPatternContext::SERVICE() { return getToken(SparqlAutomaticParser::SERVICE, 0); } -SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::ServiceGraphPatternContext::varOrIri() { +SparqlAutomaticParser::VarOrIriContext* +SparqlAutomaticParser::ServiceGraphPatternContext::varOrIri() { return getRuleContext(0); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::ServiceGraphPatternContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::ServiceGraphPatternContext::groupGraphPattern() { return getRuleContext(0); } -tree::TerminalNode* SparqlAutomaticParser::ServiceGraphPatternContext::SILENT() { +tree::TerminalNode* +SparqlAutomaticParser::ServiceGraphPatternContext::SILENT() { return getToken(SparqlAutomaticParser::SILENT, 0); } - size_t SparqlAutomaticParser::ServiceGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleServiceGraphPattern; } -void SparqlAutomaticParser::ServiceGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterServiceGraphPattern(this); +void SparqlAutomaticParser::ServiceGraphPatternContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterServiceGraphPattern(this); } -void SparqlAutomaticParser::ServiceGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitServiceGraphPattern(this); +void SparqlAutomaticParser::ServiceGraphPatternContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitServiceGraphPattern(this); } - -std::any SparqlAutomaticParser::ServiceGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ServiceGraphPatternContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitServiceGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ServiceGraphPatternContext* SparqlAutomaticParser::serviceGraphPattern() { - ServiceGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ServiceGraphPatternContext* +SparqlAutomaticParser::serviceGraphPattern() { + ServiceGraphPatternContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 124, SparqlAutomaticParser::RuleServiceGraphPattern); size_t _la = 0; @@ -6709,9 +7815,8 @@ SparqlAutomaticParser::ServiceGraphPatternContext* SparqlAutomaticParser::servic varOrIri(); setState(788); groupGraphPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6720,17 +7825,19 @@ SparqlAutomaticParser::ServiceGraphPatternContext* SparqlAutomaticParser::servic return _localctx; } -//----------------- BindContext ------------------------------------------------------------------ +//----------------- BindContext +//------------------------------------------------------------------ -SparqlAutomaticParser::BindContext::BindContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::BindContext::BindContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::BindContext::BIND() { return getToken(SparqlAutomaticParser::BIND, 0); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::BindContext::expression() { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::BindContext::expression() { return getRuleContext(0); } @@ -6742,25 +7849,24 @@ SparqlAutomaticParser::VarContext* SparqlAutomaticParser::BindContext::var() { return getRuleContext(0); } - size_t SparqlAutomaticParser::BindContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBind; } -void SparqlAutomaticParser::BindContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterBind(this); +void SparqlAutomaticParser::BindContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterBind(this); } -void SparqlAutomaticParser::BindContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitBind(this); +void SparqlAutomaticParser::BindContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitBind(this); } - -std::any SparqlAutomaticParser::BindContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::BindContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBind(this); else @@ -6768,7 +7874,8 @@ std::any SparqlAutomaticParser::BindContext::accept(tree::ParseTreeVisitor *visi } SparqlAutomaticParser::BindContext* SparqlAutomaticParser::bind() { - BindContext *_localctx = _tracker.createInstance(_ctx, getState()); + BindContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 126, SparqlAutomaticParser::RuleBind); #if __cplusplus > 201703L @@ -6792,9 +7899,8 @@ SparqlAutomaticParser::BindContext* SparqlAutomaticParser::bind() { var(); setState(795); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6803,39 +7909,40 @@ SparqlAutomaticParser::BindContext* SparqlAutomaticParser::bind() { return _localctx; } -//----------------- InlineDataContext ------------------------------------------------------------------ +//----------------- InlineDataContext +//------------------------------------------------------------------ -SparqlAutomaticParser::InlineDataContext::InlineDataContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::InlineDataContext::InlineDataContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::InlineDataContext::VALUES() { return getToken(SparqlAutomaticParser::VALUES, 0); } -SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::InlineDataContext::dataBlock() { +SparqlAutomaticParser::DataBlockContext* +SparqlAutomaticParser::InlineDataContext::dataBlock() { return getRuleContext(0); } - size_t SparqlAutomaticParser::InlineDataContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInlineData; } -void SparqlAutomaticParser::InlineDataContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterInlineData(this); +void SparqlAutomaticParser::InlineDataContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterInlineData(this); } -void SparqlAutomaticParser::InlineDataContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitInlineData(this); +void SparqlAutomaticParser::InlineDataContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitInlineData(this); } - -std::any SparqlAutomaticParser::InlineDataContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::InlineDataContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInlineData(this); else @@ -6843,7 +7950,8 @@ std::any SparqlAutomaticParser::InlineDataContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::InlineDataContext* SparqlAutomaticParser::inlineData() { - InlineDataContext *_localctx = _tracker.createInstance(_ctx, getState()); + InlineDataContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 128, SparqlAutomaticParser::RuleInlineData); #if __cplusplus > 201703L @@ -6859,9 +7967,8 @@ SparqlAutomaticParser::InlineDataContext* SparqlAutomaticParser::inlineData() { match(SparqlAutomaticParser::VALUES); setState(798); dataBlock(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6870,39 +7977,41 @@ SparqlAutomaticParser::InlineDataContext* SparqlAutomaticParser::inlineData() { return _localctx; } -//----------------- DataBlockContext ------------------------------------------------------------------ +//----------------- DataBlockContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DataBlockContext::DataBlockContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DataBlockContext::DataBlockContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::InlineDataOneVarContext* SparqlAutomaticParser::DataBlockContext::inlineDataOneVar() { +SparqlAutomaticParser::InlineDataOneVarContext* +SparqlAutomaticParser::DataBlockContext::inlineDataOneVar() { return getRuleContext(0); } -SparqlAutomaticParser::InlineDataFullContext* SparqlAutomaticParser::DataBlockContext::inlineDataFull() { +SparqlAutomaticParser::InlineDataFullContext* +SparqlAutomaticParser::DataBlockContext::inlineDataFull() { return getRuleContext(0); } - size_t SparqlAutomaticParser::DataBlockContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDataBlock; } -void SparqlAutomaticParser::DataBlockContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDataBlock(this); +void SparqlAutomaticParser::DataBlockContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDataBlock(this); } -void SparqlAutomaticParser::DataBlockContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDataBlock(this); +void SparqlAutomaticParser::DataBlockContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDataBlock(this); } - -std::any SparqlAutomaticParser::DataBlockContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DataBlockContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDataBlock(this); else @@ -6910,7 +8019,8 @@ std::any SparqlAutomaticParser::DataBlockContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::dataBlock() { - DataBlockContext *_localctx = _tracker.createInstance(_ctx, getState()); + DataBlockContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 130, SparqlAutomaticParser::RuleDataBlock); #if __cplusplus > 201703L @@ -6940,12 +8050,11 @@ SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::dataBlock() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -6954,51 +8063,56 @@ SparqlAutomaticParser::DataBlockContext* SparqlAutomaticParser::dataBlock() { return _localctx; } -//----------------- InlineDataOneVarContext ------------------------------------------------------------------ +//----------------- InlineDataOneVarContext +//------------------------------------------------------------------ -SparqlAutomaticParser::InlineDataOneVarContext::InlineDataOneVarContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::InlineDataOneVarContext::InlineDataOneVarContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::InlineDataOneVarContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::InlineDataOneVarContext::var() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::InlineDataOneVarContext::dataBlockValue() { +std::vector +SparqlAutomaticParser::InlineDataOneVarContext::dataBlockValue() { return getRuleContexts(); } -SparqlAutomaticParser::DataBlockValueContext* SparqlAutomaticParser::InlineDataOneVarContext::dataBlockValue(size_t i) { +SparqlAutomaticParser::DataBlockValueContext* +SparqlAutomaticParser::InlineDataOneVarContext::dataBlockValue(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::InlineDataOneVarContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInlineDataOneVar; } -void SparqlAutomaticParser::InlineDataOneVarContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterInlineDataOneVar(this); +void SparqlAutomaticParser::InlineDataOneVarContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterInlineDataOneVar(this); } -void SparqlAutomaticParser::InlineDataOneVarContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitInlineDataOneVar(this); +void SparqlAutomaticParser::InlineDataOneVarContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitInlineDataOneVar(this); } - -std::any SparqlAutomaticParser::InlineDataOneVarContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::InlineDataOneVarContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInlineDataOneVar(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::InlineDataOneVarContext* SparqlAutomaticParser::inlineDataOneVar() { - InlineDataOneVarContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::InlineDataOneVarContext* +SparqlAutomaticParser::inlineDataOneVar() { + InlineDataOneVarContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 132, SparqlAutomaticParser::RuleInlineDataOneVar); size_t _la = 0; @@ -7018,9 +8132,10 @@ SparqlAutomaticParser::InlineDataOneVarContext* SparqlAutomaticParser::inlineDat setState(809); _errHandler->sync(this); _la = _input->LA(1); - while ((((_la - 28) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 28)) & 70368744177667) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 4063111) != 0) { + while ((((_la - 28) & ~0x3fULL) == 0) && + ((1ULL << (_la - 28)) & 70368744177667) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 4063111) != 0) { setState(806); dataBlockValue(); setState(811); @@ -7029,9 +8144,8 @@ SparqlAutomaticParser::InlineDataOneVarContext* SparqlAutomaticParser::inlineDat } setState(812); match(SparqlAutomaticParser::T__4); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7040,59 +8154,65 @@ SparqlAutomaticParser::InlineDataOneVarContext* SparqlAutomaticParser::inlineDat return _localctx; } -//----------------- InlineDataFullContext ------------------------------------------------------------------ +//----------------- InlineDataFullContext +//------------------------------------------------------------------ -SparqlAutomaticParser::InlineDataFullContext::InlineDataFullContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::InlineDataFullContext::InlineDataFullContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::InlineDataFullContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } -std::vector SparqlAutomaticParser::InlineDataFullContext::dataBlockSingle() { +std::vector +SparqlAutomaticParser::InlineDataFullContext::dataBlockSingle() { return getRuleContexts(); } -SparqlAutomaticParser::DataBlockSingleContext* SparqlAutomaticParser::InlineDataFullContext::dataBlockSingle(size_t i) { +SparqlAutomaticParser::DataBlockSingleContext* +SparqlAutomaticParser::InlineDataFullContext::dataBlockSingle(size_t i) { return getRuleContext(i); } -std::vector SparqlAutomaticParser::InlineDataFullContext::var() { +std::vector +SparqlAutomaticParser::InlineDataFullContext::var() { return getRuleContexts(); } -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::InlineDataFullContext::var(size_t i) { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::InlineDataFullContext::var(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::InlineDataFullContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInlineDataFull; } -void SparqlAutomaticParser::InlineDataFullContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterInlineDataFull(this); +void SparqlAutomaticParser::InlineDataFullContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterInlineDataFull(this); } -void SparqlAutomaticParser::InlineDataFullContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitInlineDataFull(this); +void SparqlAutomaticParser::InlineDataFullContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitInlineDataFull(this); } - -std::any SparqlAutomaticParser::InlineDataFullContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::InlineDataFullContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInlineDataFull(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::InlineDataFullContext* SparqlAutomaticParser::inlineDataFull() { - InlineDataFullContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::InlineDataFullContext* +SparqlAutomaticParser::inlineDataFull() { + InlineDataFullContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 134, SparqlAutomaticParser::RuleInlineDataFull); size_t _la = 0; @@ -7122,7 +8242,7 @@ SparqlAutomaticParser::InlineDataFullContext* SparqlAutomaticParser::inlineDataF _la = _input->LA(1); while (_la == SparqlAutomaticParser::VAR1 - || _la == SparqlAutomaticParser::VAR2) { + || _la == SparqlAutomaticParser::VAR2) { setState(816); var(); setState(821); @@ -7134,15 +8254,16 @@ SparqlAutomaticParser::InlineDataFullContext* SparqlAutomaticParser::inlineDataF break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(825); match(SparqlAutomaticParser::T__3); setState(829); _errHandler->sync(this); _la = _input->LA(1); - while (_la == SparqlAutomaticParser::T__1 || _la == SparqlAutomaticParser::NIL) { + while (_la == SparqlAutomaticParser::T__1 || + _la == SparqlAutomaticParser::NIL) { setState(826); dataBlockSingle(); setState(831); @@ -7151,9 +8272,8 @@ SparqlAutomaticParser::InlineDataFullContext* SparqlAutomaticParser::inlineDataF } setState(832); match(SparqlAutomaticParser::T__4); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7162,51 +8282,55 @@ SparqlAutomaticParser::InlineDataFullContext* SparqlAutomaticParser::inlineDataF return _localctx; } -//----------------- DataBlockSingleContext ------------------------------------------------------------------ +//----------------- DataBlockSingleContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DataBlockSingleContext::DataBlockSingleContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DataBlockSingleContext::DataBlockSingleContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::DataBlockSingleContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } -std::vector SparqlAutomaticParser::DataBlockSingleContext::dataBlockValue() { +std::vector +SparqlAutomaticParser::DataBlockSingleContext::dataBlockValue() { return getRuleContexts(); } -SparqlAutomaticParser::DataBlockValueContext* SparqlAutomaticParser::DataBlockSingleContext::dataBlockValue(size_t i) { +SparqlAutomaticParser::DataBlockValueContext* +SparqlAutomaticParser::DataBlockSingleContext::dataBlockValue(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::DataBlockSingleContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDataBlockSingle; } -void SparqlAutomaticParser::DataBlockSingleContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDataBlockSingle(this); +void SparqlAutomaticParser::DataBlockSingleContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDataBlockSingle(this); } -void SparqlAutomaticParser::DataBlockSingleContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDataBlockSingle(this); +void SparqlAutomaticParser::DataBlockSingleContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDataBlockSingle(this); } - -std::any SparqlAutomaticParser::DataBlockSingleContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DataBlockSingleContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDataBlockSingle(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DataBlockSingleContext* SparqlAutomaticParser::dataBlockSingle() { - DataBlockSingleContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DataBlockSingleContext* +SparqlAutomaticParser::dataBlockSingle() { + DataBlockSingleContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 136, SparqlAutomaticParser::RuleDataBlockSingle); size_t _la = 0; @@ -7228,9 +8352,10 @@ SparqlAutomaticParser::DataBlockSingleContext* SparqlAutomaticParser::dataBlockS setState(838); _errHandler->sync(this); _la = _input->LA(1); - while ((((_la - 28) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 28)) & 70368744177667) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 4063111) != 0) { + while ((((_la - 28) & ~0x3fULL) == 0) && + ((1ULL << (_la - 28)) & 70368744177667) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 4063111) != 0) { setState(835); dataBlockValue(); setState(840); @@ -7248,12 +8373,11 @@ SparqlAutomaticParser::DataBlockSingleContext* SparqlAutomaticParser::dataBlockS break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7262,25 +8386,30 @@ SparqlAutomaticParser::DataBlockSingleContext* SparqlAutomaticParser::dataBlockS return _localctx; } -//----------------- DataBlockValueContext ------------------------------------------------------------------ +//----------------- DataBlockValueContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DataBlockValueContext::DataBlockValueContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DataBlockValueContext::DataBlockValueContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::DataBlockValueContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::DataBlockValueContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::DataBlockValueContext::rdfLiteral() { +SparqlAutomaticParser::RdfLiteralContext* +SparqlAutomaticParser::DataBlockValueContext::rdfLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::DataBlockValueContext::numericLiteral() { +SparqlAutomaticParser::NumericLiteralContext* +SparqlAutomaticParser::DataBlockValueContext::numericLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::DataBlockValueContext::booleanLiteral() { +SparqlAutomaticParser::BooleanLiteralContext* +SparqlAutomaticParser::DataBlockValueContext::booleanLiteral() { return getRuleContext(0); } @@ -7288,33 +8417,34 @@ tree::TerminalNode* SparqlAutomaticParser::DataBlockValueContext::UNDEF() { return getToken(SparqlAutomaticParser::UNDEF, 0); } - size_t SparqlAutomaticParser::DataBlockValueContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDataBlockValue; } -void SparqlAutomaticParser::DataBlockValueContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDataBlockValue(this); +void SparqlAutomaticParser::DataBlockValueContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDataBlockValue(this); } -void SparqlAutomaticParser::DataBlockValueContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDataBlockValue(this); +void SparqlAutomaticParser::DataBlockValueContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDataBlockValue(this); } - -std::any SparqlAutomaticParser::DataBlockValueContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DataBlockValueContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDataBlockValue(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DataBlockValueContext* SparqlAutomaticParser::dataBlockValue() { - DataBlockValueContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DataBlockValueContext* +SparqlAutomaticParser::dataBlockValue() { + DataBlockValueContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 138, SparqlAutomaticParser::RuleDataBlockValue); #if __cplusplus > 201703L @@ -7378,12 +8508,11 @@ SparqlAutomaticParser::DataBlockValueContext* SparqlAutomaticParser::dataBlockVa break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7392,47 +8521,50 @@ SparqlAutomaticParser::DataBlockValueContext* SparqlAutomaticParser::dataBlockVa return _localctx; } -//----------------- MinusGraphPatternContext ------------------------------------------------------------------ +//----------------- MinusGraphPatternContext +//------------------------------------------------------------------ -SparqlAutomaticParser::MinusGraphPatternContext::MinusGraphPatternContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::MinusGraphPatternContext::MinusGraphPatternContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::MinusGraphPatternContext::MINUS() { return getToken(SparqlAutomaticParser::MINUS, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::MinusGraphPatternContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::MinusGraphPatternContext::groupGraphPattern() { return getRuleContext(0); } - size_t SparqlAutomaticParser::MinusGraphPatternContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMinusGraphPattern; } -void SparqlAutomaticParser::MinusGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterMinusGraphPattern(this); +void SparqlAutomaticParser::MinusGraphPatternContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterMinusGraphPattern(this); } -void SparqlAutomaticParser::MinusGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitMinusGraphPattern(this); +void SparqlAutomaticParser::MinusGraphPatternContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitMinusGraphPattern(this); } - -std::any SparqlAutomaticParser::MinusGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::MinusGraphPatternContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMinusGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MinusGraphPatternContext* SparqlAutomaticParser::minusGraphPattern() { - MinusGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::MinusGraphPatternContext* +SparqlAutomaticParser::minusGraphPattern() { + MinusGraphPatternContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 140, SparqlAutomaticParser::RuleMinusGraphPattern); #if __cplusplus > 201703L @@ -7448,9 +8580,8 @@ SparqlAutomaticParser::MinusGraphPatternContext* SparqlAutomaticParser::minusGra match(SparqlAutomaticParser::MINUS); setState(853); groupGraphPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7459,56 +8590,69 @@ SparqlAutomaticParser::MinusGraphPatternContext* SparqlAutomaticParser::minusGra return _localctx; } -//----------------- GroupOrUnionGraphPatternContext ------------------------------------------------------------------ +//----------------- GroupOrUnionGraphPatternContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GroupOrUnionGraphPatternContext::GroupOrUnionGraphPatternContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GroupOrUnionGraphPatternContext:: + GroupOrUnionGraphPatternContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::GroupOrUnionGraphPatternContext::groupGraphPattern() { +std::vector +SparqlAutomaticParser::GroupOrUnionGraphPatternContext::groupGraphPattern() { return getRuleContexts(); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::GroupOrUnionGraphPatternContext::groupGraphPattern(size_t i) { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::GroupOrUnionGraphPatternContext::groupGraphPattern( + size_t i) { return getRuleContext(i); } -std::vector SparqlAutomaticParser::GroupOrUnionGraphPatternContext::UNION() { +std::vector +SparqlAutomaticParser::GroupOrUnionGraphPatternContext::UNION() { return getTokens(SparqlAutomaticParser::UNION); } -tree::TerminalNode* SparqlAutomaticParser::GroupOrUnionGraphPatternContext::UNION(size_t i) { +tree::TerminalNode* +SparqlAutomaticParser::GroupOrUnionGraphPatternContext::UNION(size_t i) { return getToken(SparqlAutomaticParser::UNION, i); } - -size_t SparqlAutomaticParser::GroupOrUnionGraphPatternContext::getRuleIndex() const { +size_t SparqlAutomaticParser::GroupOrUnionGraphPatternContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleGroupOrUnionGraphPattern; } -void SparqlAutomaticParser::GroupOrUnionGraphPatternContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GroupOrUnionGraphPatternContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterGroupOrUnionGraphPattern(this); } -void SparqlAutomaticParser::GroupOrUnionGraphPatternContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::GroupOrUnionGraphPatternContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitGroupOrUnionGraphPattern(this); } - -std::any SparqlAutomaticParser::GroupOrUnionGraphPatternContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GroupOrUnionGraphPatternContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGroupOrUnionGraphPattern(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GroupOrUnionGraphPatternContext* SparqlAutomaticParser::groupOrUnionGraphPattern() { - GroupOrUnionGraphPatternContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 142, SparqlAutomaticParser::RuleGroupOrUnionGraphPattern); +SparqlAutomaticParser::GroupOrUnionGraphPatternContext* +SparqlAutomaticParser::groupOrUnionGraphPattern() { + GroupOrUnionGraphPatternContext* _localctx = + _tracker.createInstance(_ctx, + getState()); + enterRule(_localctx, 142, + SparqlAutomaticParser::RuleGroupOrUnionGraphPattern); size_t _la = 0; #if __cplusplus > 201703L @@ -7534,9 +8678,8 @@ SparqlAutomaticParser::GroupOrUnionGraphPatternContext* SparqlAutomaticParser::g _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7545,39 +8688,40 @@ SparqlAutomaticParser::GroupOrUnionGraphPatternContext* SparqlAutomaticParser::g return _localctx; } -//----------------- FilterRContext ------------------------------------------------------------------ +//----------------- FilterRContext +//------------------------------------------------------------------ -SparqlAutomaticParser::FilterRContext::FilterRContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::FilterRContext::FilterRContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::FilterRContext::FILTER() { return getToken(SparqlAutomaticParser::FILTER, 0); } -SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::FilterRContext::constraint() { +SparqlAutomaticParser::ConstraintContext* +SparqlAutomaticParser::FilterRContext::constraint() { return getRuleContext(0); } - size_t SparqlAutomaticParser::FilterRContext::getRuleIndex() const { return SparqlAutomaticParser::RuleFilterR; } -void SparqlAutomaticParser::FilterRContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterFilterR(this); +void SparqlAutomaticParser::FilterRContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterFilterR(this); } -void SparqlAutomaticParser::FilterRContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitFilterR(this); +void SparqlAutomaticParser::FilterRContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitFilterR(this); } - -std::any SparqlAutomaticParser::FilterRContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::FilterRContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitFilterR(this); else @@ -7585,7 +8729,8 @@ std::any SparqlAutomaticParser::FilterRContext::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::FilterRContext* SparqlAutomaticParser::filterR() { - FilterRContext *_localctx = _tracker.createInstance(_ctx, getState()); + FilterRContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 144, SparqlAutomaticParser::RuleFilterR); #if __cplusplus > 201703L @@ -7601,9 +8746,8 @@ SparqlAutomaticParser::FilterRContext* SparqlAutomaticParser::filterR() { match(SparqlAutomaticParser::FILTER); setState(864); constraint(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7612,43 +8756,46 @@ SparqlAutomaticParser::FilterRContext* SparqlAutomaticParser::filterR() { return _localctx; } -//----------------- ConstraintContext ------------------------------------------------------------------ +//----------------- ConstraintContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ConstraintContext::ConstraintContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ConstraintContext::ConstraintContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::ConstraintContext::brackettedExpression() { +SparqlAutomaticParser::BrackettedExpressionContext* +SparqlAutomaticParser::ConstraintContext::brackettedExpression() { return getRuleContext(0); } -SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::ConstraintContext::builtInCall() { +SparqlAutomaticParser::BuiltInCallContext* +SparqlAutomaticParser::ConstraintContext::builtInCall() { return getRuleContext(0); } -SparqlAutomaticParser::FunctionCallContext* SparqlAutomaticParser::ConstraintContext::functionCall() { +SparqlAutomaticParser::FunctionCallContext* +SparqlAutomaticParser::ConstraintContext::functionCall() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ConstraintContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConstraint; } -void SparqlAutomaticParser::ConstraintContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterConstraint(this); +void SparqlAutomaticParser::ConstraintContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterConstraint(this); } -void SparqlAutomaticParser::ConstraintContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitConstraint(this); +void SparqlAutomaticParser::ConstraintContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitConstraint(this); } - -std::any SparqlAutomaticParser::ConstraintContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ConstraintContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConstraint(this); else @@ -7656,7 +8803,8 @@ std::any SparqlAutomaticParser::ConstraintContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::constraint() { - ConstraintContext *_localctx = _tracker.createInstance(_ctx, getState()); + ConstraintContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 146, SparqlAutomaticParser::RuleConstraint); #if __cplusplus > 201703L @@ -7755,12 +8903,11 @@ SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::constraint() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7769,47 +8916,51 @@ SparqlAutomaticParser::ConstraintContext* SparqlAutomaticParser::constraint() { return _localctx; } -//----------------- FunctionCallContext ------------------------------------------------------------------ +//----------------- FunctionCallContext +//------------------------------------------------------------------ -SparqlAutomaticParser::FunctionCallContext::FunctionCallContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::FunctionCallContext::FunctionCallContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::FunctionCallContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::FunctionCallContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::FunctionCallContext::argList() { +SparqlAutomaticParser::ArgListContext* +SparqlAutomaticParser::FunctionCallContext::argList() { return getRuleContext(0); } - size_t SparqlAutomaticParser::FunctionCallContext::getRuleIndex() const { return SparqlAutomaticParser::RuleFunctionCall; } -void SparqlAutomaticParser::FunctionCallContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterFunctionCall(this); +void SparqlAutomaticParser::FunctionCallContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterFunctionCall(this); } -void SparqlAutomaticParser::FunctionCallContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitFunctionCall(this); +void SparqlAutomaticParser::FunctionCallContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitFunctionCall(this); } - -std::any SparqlAutomaticParser::FunctionCallContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::FunctionCallContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitFunctionCall(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::FunctionCallContext* SparqlAutomaticParser::functionCall() { - FunctionCallContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::FunctionCallContext* +SparqlAutomaticParser::functionCall() { + FunctionCallContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 148, SparqlAutomaticParser::RuleFunctionCall); #if __cplusplus > 201703L @@ -7825,9 +8976,8 @@ SparqlAutomaticParser::FunctionCallContext* SparqlAutomaticParser::functionCall( iri(); setState(872); argList(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7836,21 +8986,24 @@ SparqlAutomaticParser::FunctionCallContext* SparqlAutomaticParser::functionCall( return _localctx; } -//----------------- ArgListContext ------------------------------------------------------------------ +//----------------- ArgListContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ArgListContext::ArgListContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ArgListContext::ArgListContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::ArgListContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } -std::vector SparqlAutomaticParser::ArgListContext::expression() { +std::vector +SparqlAutomaticParser::ArgListContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::ArgListContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::ArgListContext::expression(size_t i) { return getRuleContext(i); } @@ -7858,25 +9011,24 @@ tree::TerminalNode* SparqlAutomaticParser::ArgListContext::DISTINCT() { return getToken(SparqlAutomaticParser::DISTINCT, 0); } - size_t SparqlAutomaticParser::ArgListContext::getRuleIndex() const { return SparqlAutomaticParser::RuleArgList; } -void SparqlAutomaticParser::ArgListContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterArgList(this); +void SparqlAutomaticParser::ArgListContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterArgList(this); } -void SparqlAutomaticParser::ArgListContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitArgList(this); +void SparqlAutomaticParser::ArgListContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitArgList(this); } - -std::any SparqlAutomaticParser::ArgListContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ArgListContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitArgList(this); else @@ -7884,7 +9036,8 @@ std::any SparqlAutomaticParser::ArgListContext::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::argList() { - ArgListContext *_localctx = _tracker.createInstance(_ctx, getState()); + ArgListContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 150, SparqlAutomaticParser::RuleArgList); size_t _la = 0; @@ -7937,12 +9090,11 @@ SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::argList() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -7951,51 +9103,55 @@ SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::argList() { return _localctx; } -//----------------- ExpressionListContext ------------------------------------------------------------------ +//----------------- ExpressionListContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ExpressionListContext::ExpressionListContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ExpressionListContext::ExpressionListContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::ExpressionListContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } -std::vector SparqlAutomaticParser::ExpressionListContext::expression() { +std::vector +SparqlAutomaticParser::ExpressionListContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::ExpressionListContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::ExpressionListContext::expression(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::ExpressionListContext::getRuleIndex() const { return SparqlAutomaticParser::RuleExpressionList; } -void SparqlAutomaticParser::ExpressionListContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterExpressionList(this); +void SparqlAutomaticParser::ExpressionListContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterExpressionList(this); } -void SparqlAutomaticParser::ExpressionListContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitExpressionList(this); +void SparqlAutomaticParser::ExpressionListContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitExpressionList(this); } - -std::any SparqlAutomaticParser::ExpressionListContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ExpressionListContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitExpressionList(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ExpressionListContext* SparqlAutomaticParser::expressionList() { - ExpressionListContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ExpressionListContext* +SparqlAutomaticParser::expressionList() { + ExpressionListContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 152, SparqlAutomaticParser::RuleExpressionList); size_t _la = 0; @@ -8040,12 +9196,11 @@ SparqlAutomaticParser::ExpressionListContext* SparqlAutomaticParser::expressionL break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8054,43 +9209,46 @@ SparqlAutomaticParser::ExpressionListContext* SparqlAutomaticParser::expressionL return _localctx; } -//----------------- ConstructTemplateContext ------------------------------------------------------------------ +//----------------- ConstructTemplateContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ConstructTemplateContext::ConstructTemplateContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ConstructTemplateContext::ConstructTemplateContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::ConstructTriplesContext* SparqlAutomaticParser::ConstructTemplateContext::constructTriples() { +SparqlAutomaticParser::ConstructTriplesContext* +SparqlAutomaticParser::ConstructTemplateContext::constructTriples() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ConstructTemplateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConstructTemplate; } -void SparqlAutomaticParser::ConstructTemplateContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterConstructTemplate(this); +void SparqlAutomaticParser::ConstructTemplateContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterConstructTemplate(this); } -void SparqlAutomaticParser::ConstructTemplateContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitConstructTemplate(this); +void SparqlAutomaticParser::ConstructTemplateContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitConstructTemplate(this); } - -std::any SparqlAutomaticParser::ConstructTemplateContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ConstructTemplateContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConstructTemplate(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConstructTemplateContext* SparqlAutomaticParser::constructTemplate() { - ConstructTemplateContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ConstructTemplateContext* +SparqlAutomaticParser::constructTemplate() { + ConstructTemplateContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 154, SparqlAutomaticParser::RuleConstructTemplate); size_t _la = 0; @@ -8109,17 +9267,16 @@ SparqlAutomaticParser::ConstructTemplateContext* SparqlAutomaticParser::construc _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(906); constructTriples(); } setState(909); match(SparqlAutomaticParser::T__4); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8128,47 +9285,51 @@ SparqlAutomaticParser::ConstructTemplateContext* SparqlAutomaticParser::construc return _localctx; } -//----------------- ConstructTriplesContext ------------------------------------------------------------------ +//----------------- ConstructTriplesContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ConstructTriplesContext::ConstructTriplesContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ConstructTriplesContext::ConstructTriplesContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::TriplesSameSubjectContext* SparqlAutomaticParser::ConstructTriplesContext::triplesSameSubject() { +SparqlAutomaticParser::TriplesSameSubjectContext* +SparqlAutomaticParser::ConstructTriplesContext::triplesSameSubject() { return getRuleContext(0); } -SparqlAutomaticParser::ConstructTriplesContext* SparqlAutomaticParser::ConstructTriplesContext::constructTriples() { +SparqlAutomaticParser::ConstructTriplesContext* +SparqlAutomaticParser::ConstructTriplesContext::constructTriples() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ConstructTriplesContext::getRuleIndex() const { return SparqlAutomaticParser::RuleConstructTriples; } -void SparqlAutomaticParser::ConstructTriplesContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterConstructTriples(this); +void SparqlAutomaticParser::ConstructTriplesContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterConstructTriples(this); } -void SparqlAutomaticParser::ConstructTriplesContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitConstructTriples(this); +void SparqlAutomaticParser::ConstructTriplesContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitConstructTriples(this); } - -std::any SparqlAutomaticParser::ConstructTriplesContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ConstructTriplesContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConstructTriples(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConstructTriplesContext* SparqlAutomaticParser::constructTriples() { - ConstructTriplesContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ConstructTriplesContext* +SparqlAutomaticParser::constructTriples() { + ConstructTriplesContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 156, SparqlAutomaticParser::RuleConstructTriples); size_t _la = 0; @@ -8194,16 +9355,15 @@ SparqlAutomaticParser::ConstructTriplesContext* SparqlAutomaticParser::construct _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0) { setState(913); constructTriples(); } } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8212,55 +9372,61 @@ SparqlAutomaticParser::ConstructTriplesContext* SparqlAutomaticParser::construct return _localctx; } -//----------------- TriplesSameSubjectContext ------------------------------------------------------------------ +//----------------- TriplesSameSubjectContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TriplesSameSubjectContext::TriplesSameSubjectContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TriplesSameSubjectContext::TriplesSameSubjectContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::TriplesSameSubjectContext::varOrTerm() { +SparqlAutomaticParser::VarOrTermContext* +SparqlAutomaticParser::TriplesSameSubjectContext::varOrTerm() { return getRuleContext(0); } -SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::TriplesSameSubjectContext::propertyListNotEmpty() { +SparqlAutomaticParser::PropertyListNotEmptyContext* +SparqlAutomaticParser::TriplesSameSubjectContext::propertyListNotEmpty() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesNodeContext* SparqlAutomaticParser::TriplesSameSubjectContext::triplesNode() { +SparqlAutomaticParser::TriplesNodeContext* +SparqlAutomaticParser::TriplesSameSubjectContext::triplesNode() { return getRuleContext(0); } -SparqlAutomaticParser::PropertyListContext* SparqlAutomaticParser::TriplesSameSubjectContext::propertyList() { +SparqlAutomaticParser::PropertyListContext* +SparqlAutomaticParser::TriplesSameSubjectContext::propertyList() { return getRuleContext(0); } - size_t SparqlAutomaticParser::TriplesSameSubjectContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesSameSubject; } -void SparqlAutomaticParser::TriplesSameSubjectContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterTriplesSameSubject(this); +void SparqlAutomaticParser::TriplesSameSubjectContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterTriplesSameSubject(this); } -void SparqlAutomaticParser::TriplesSameSubjectContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitTriplesSameSubject(this); +void SparqlAutomaticParser::TriplesSameSubjectContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitTriplesSameSubject(this); } - -std::any SparqlAutomaticParser::TriplesSameSubjectContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TriplesSameSubjectContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesSameSubject(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesSameSubjectContext* SparqlAutomaticParser::triplesSameSubject() { - TriplesSameSubjectContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesSameSubjectContext* +SparqlAutomaticParser::triplesSameSubject() { + TriplesSameSubjectContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 158, SparqlAutomaticParser::RuleTriplesSameSubject); #if __cplusplus > 201703L @@ -8316,12 +9482,11 @@ SparqlAutomaticParser::TriplesSameSubjectContext* SparqlAutomaticParser::triples break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8330,43 +9495,46 @@ SparqlAutomaticParser::TriplesSameSubjectContext* SparqlAutomaticParser::triples return _localctx; } -//----------------- PropertyListContext ------------------------------------------------------------------ +//----------------- PropertyListContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PropertyListContext::PropertyListContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PropertyListContext::PropertyListContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::PropertyListContext::propertyListNotEmpty() { +SparqlAutomaticParser::PropertyListNotEmptyContext* +SparqlAutomaticParser::PropertyListContext::propertyListNotEmpty() { return getRuleContext(0); } - size_t SparqlAutomaticParser::PropertyListContext::getRuleIndex() const { return SparqlAutomaticParser::RulePropertyList; } -void SparqlAutomaticParser::PropertyListContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPropertyList(this); +void SparqlAutomaticParser::PropertyListContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPropertyList(this); } -void SparqlAutomaticParser::PropertyListContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPropertyList(this); +void SparqlAutomaticParser::PropertyListContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPropertyList(this); } - -std::any SparqlAutomaticParser::PropertyListContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PropertyListContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPropertyList(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PropertyListContext* SparqlAutomaticParser::propertyList() { - PropertyListContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PropertyListContext* +SparqlAutomaticParser::propertyList() { + PropertyListContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 160, SparqlAutomaticParser::RulePropertyList); size_t _la = 0; @@ -8383,14 +9551,13 @@ SparqlAutomaticParser::PropertyListContext* SparqlAutomaticParser::propertyList( _errHandler->sync(this); _la = _input->LA(1); - if (_la == SparqlAutomaticParser::T__8 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0) { + if (_la == SparqlAutomaticParser::T__8 || + (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0) { setState(926); propertyListNotEmpty(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8399,55 +9566,63 @@ SparqlAutomaticParser::PropertyListContext* SparqlAutomaticParser::propertyList( return _localctx; } -//----------------- PropertyListNotEmptyContext ------------------------------------------------------------------ +//----------------- PropertyListNotEmptyContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PropertyListNotEmptyContext::PropertyListNotEmptyContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PropertyListNotEmptyContext::PropertyListNotEmptyContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::PropertyListNotEmptyContext::verb() { +std::vector +SparqlAutomaticParser::PropertyListNotEmptyContext::verb() { return getRuleContexts(); } -SparqlAutomaticParser::VerbContext* SparqlAutomaticParser::PropertyListNotEmptyContext::verb(size_t i) { +SparqlAutomaticParser::VerbContext* +SparqlAutomaticParser::PropertyListNotEmptyContext::verb(size_t i) { return getRuleContext(i); } -std::vector SparqlAutomaticParser::PropertyListNotEmptyContext::objectList() { +std::vector +SparqlAutomaticParser::PropertyListNotEmptyContext::objectList() { return getRuleContexts(); } -SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::PropertyListNotEmptyContext::objectList(size_t i) { +SparqlAutomaticParser::ObjectListContext* +SparqlAutomaticParser::PropertyListNotEmptyContext::objectList(size_t i) { return getRuleContext(i); } - -size_t SparqlAutomaticParser::PropertyListNotEmptyContext::getRuleIndex() const { +size_t SparqlAutomaticParser::PropertyListNotEmptyContext::getRuleIndex() + const { return SparqlAutomaticParser::RulePropertyListNotEmpty; } -void SparqlAutomaticParser::PropertyListNotEmptyContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PropertyListNotEmptyContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterPropertyListNotEmpty(this); } -void SparqlAutomaticParser::PropertyListNotEmptyContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPropertyListNotEmpty(this); +void SparqlAutomaticParser::PropertyListNotEmptyContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPropertyListNotEmpty(this); } - -std::any SparqlAutomaticParser::PropertyListNotEmptyContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PropertyListNotEmptyContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPropertyListNotEmpty(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::propertyListNotEmpty() { - PropertyListNotEmptyContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PropertyListNotEmptyContext* +SparqlAutomaticParser::propertyListNotEmpty() { + PropertyListNotEmptyContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 162, SparqlAutomaticParser::RulePropertyListNotEmpty); size_t _la = 0; @@ -8474,8 +9649,9 @@ SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::prope _errHandler->sync(this); _la = _input->LA(1); - if (_la == SparqlAutomaticParser::T__8 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0) { + if (_la == SparqlAutomaticParser::T__8 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0) { setState(932); verb(); setState(933); @@ -8485,9 +9661,8 @@ SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::prope _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8496,35 +9671,36 @@ SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::prope return _localctx; } -//----------------- VerbContext ------------------------------------------------------------------ +//----------------- VerbContext +//------------------------------------------------------------------ -SparqlAutomaticParser::VerbContext::VerbContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::VerbContext::VerbContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::VerbContext::varOrIri() { +SparqlAutomaticParser::VarOrIriContext* +SparqlAutomaticParser::VerbContext::varOrIri() { return getRuleContext(0); } - size_t SparqlAutomaticParser::VerbContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVerb; } -void SparqlAutomaticParser::VerbContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterVerb(this); +void SparqlAutomaticParser::VerbContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterVerb(this); } -void SparqlAutomaticParser::VerbContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitVerb(this); +void SparqlAutomaticParser::VerbContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitVerb(this); } - -std::any SparqlAutomaticParser::VerbContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::VerbContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVerb(this); else @@ -8532,7 +9708,8 @@ std::any SparqlAutomaticParser::VerbContext::accept(tree::ParseTreeVisitor *visi } SparqlAutomaticParser::VerbContext* SparqlAutomaticParser::verb() { - VerbContext *_localctx = _tracker.createInstance(_ctx, getState()); + VerbContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 164, SparqlAutomaticParser::RuleVerb); #if __cplusplus > 201703L @@ -8565,12 +9742,11 @@ SparqlAutomaticParser::VerbContext* SparqlAutomaticParser::verb() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8579,39 +9755,41 @@ SparqlAutomaticParser::VerbContext* SparqlAutomaticParser::verb() { return _localctx; } -//----------------- ObjectListContext ------------------------------------------------------------------ +//----------------- ObjectListContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ObjectListContext::ObjectListContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ObjectListContext::ObjectListContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::ObjectListContext::objectR() { +std::vector +SparqlAutomaticParser::ObjectListContext::objectR() { return getRuleContexts(); } -SparqlAutomaticParser::ObjectRContext* SparqlAutomaticParser::ObjectListContext::objectR(size_t i) { +SparqlAutomaticParser::ObjectRContext* +SparqlAutomaticParser::ObjectListContext::objectR(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::ObjectListContext::getRuleIndex() const { return SparqlAutomaticParser::RuleObjectList; } -void SparqlAutomaticParser::ObjectListContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterObjectList(this); +void SparqlAutomaticParser::ObjectListContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterObjectList(this); } -void SparqlAutomaticParser::ObjectListContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitObjectList(this); +void SparqlAutomaticParser::ObjectListContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitObjectList(this); } - -std::any SparqlAutomaticParser::ObjectListContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ObjectListContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitObjectList(this); else @@ -8619,7 +9797,8 @@ std::any SparqlAutomaticParser::ObjectListContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::objectList() { - ObjectListContext *_localctx = _tracker.createInstance(_ctx, getState()); + ObjectListContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 166, SparqlAutomaticParser::RuleObjectList); size_t _la = 0; @@ -8646,9 +9825,8 @@ SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::objectList() { _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8657,35 +9835,36 @@ SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::objectList() { return _localctx; } -//----------------- ObjectRContext ------------------------------------------------------------------ +//----------------- ObjectRContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ObjectRContext::ObjectRContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ObjectRContext::ObjectRContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::ObjectRContext::graphNode() { +SparqlAutomaticParser::GraphNodeContext* +SparqlAutomaticParser::ObjectRContext::graphNode() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ObjectRContext::getRuleIndex() const { return SparqlAutomaticParser::RuleObjectR; } -void SparqlAutomaticParser::ObjectRContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterObjectR(this); +void SparqlAutomaticParser::ObjectRContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterObjectR(this); } -void SparqlAutomaticParser::ObjectRContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitObjectR(this); +void SparqlAutomaticParser::ObjectRContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitObjectR(this); } - -std::any SparqlAutomaticParser::ObjectRContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ObjectRContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitObjectR(this); else @@ -8693,7 +9872,8 @@ std::any SparqlAutomaticParser::ObjectRContext::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::ObjectRContext* SparqlAutomaticParser::objectR() { - ObjectRContext *_localctx = _tracker.createInstance(_ctx, getState()); + ObjectRContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 168, SparqlAutomaticParser::RuleObjectR); #if __cplusplus > 201703L @@ -8707,9 +9887,8 @@ SparqlAutomaticParser::ObjectRContext* SparqlAutomaticParser::objectR() { enterOuterAlt(_localctx, 1); setState(954); graphNode(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8718,55 +9897,66 @@ SparqlAutomaticParser::ObjectRContext* SparqlAutomaticParser::objectR() { return _localctx; } -//----------------- TriplesSameSubjectPathContext ------------------------------------------------------------------ +//----------------- TriplesSameSubjectPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TriplesSameSubjectPathContext::TriplesSameSubjectPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TriplesSameSubjectPathContext:: + TriplesSameSubjectPathContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::TriplesSameSubjectPathContext::varOrTerm() { +SparqlAutomaticParser::VarOrTermContext* +SparqlAutomaticParser::TriplesSameSubjectPathContext::varOrTerm() { return getRuleContext(0); } -SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::TriplesSameSubjectPathContext::propertyListPathNotEmpty() { - return getRuleContext(0); +SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser:: + TriplesSameSubjectPathContext::propertyListPathNotEmpty() { + return getRuleContext( + 0); } -SparqlAutomaticParser::TriplesNodePathContext* SparqlAutomaticParser::TriplesSameSubjectPathContext::triplesNodePath() { +SparqlAutomaticParser::TriplesNodePathContext* +SparqlAutomaticParser::TriplesSameSubjectPathContext::triplesNodePath() { return getRuleContext(0); } -SparqlAutomaticParser::PropertyListPathContext* SparqlAutomaticParser::TriplesSameSubjectPathContext::propertyListPath() { +SparqlAutomaticParser::PropertyListPathContext* +SparqlAutomaticParser::TriplesSameSubjectPathContext::propertyListPath() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::TriplesSameSubjectPathContext::getRuleIndex() const { +size_t SparqlAutomaticParser::TriplesSameSubjectPathContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleTriplesSameSubjectPath; } -void SparqlAutomaticParser::TriplesSameSubjectPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::TriplesSameSubjectPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterTriplesSameSubjectPath(this); } -void SparqlAutomaticParser::TriplesSameSubjectPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::TriplesSameSubjectPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitTriplesSameSubjectPath(this); } - -std::any SparqlAutomaticParser::TriplesSameSubjectPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TriplesSameSubjectPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesSameSubjectPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesSameSubjectPathContext* SparqlAutomaticParser::triplesSameSubjectPath() { - TriplesSameSubjectPathContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesSameSubjectPathContext* +SparqlAutomaticParser::triplesSameSubjectPath() { + TriplesSameSubjectPathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 170, SparqlAutomaticParser::RuleTriplesSameSubjectPath); #if __cplusplus > 201703L @@ -8822,12 +10012,11 @@ SparqlAutomaticParser::TriplesSameSubjectPathContext* SparqlAutomaticParser::tri break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8836,43 +10025,47 @@ SparqlAutomaticParser::TriplesSameSubjectPathContext* SparqlAutomaticParser::tri return _localctx; } -//----------------- PropertyListPathContext ------------------------------------------------------------------ +//----------------- PropertyListPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PropertyListPathContext::PropertyListPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PropertyListPathContext::PropertyListPathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::PropertyListPathContext::propertyListPathNotEmpty() { - return getRuleContext(0); +SparqlAutomaticParser::PropertyListPathNotEmptyContext* +SparqlAutomaticParser::PropertyListPathContext::propertyListPathNotEmpty() { + return getRuleContext( + 0); } - size_t SparqlAutomaticParser::PropertyListPathContext::getRuleIndex() const { return SparqlAutomaticParser::RulePropertyListPath; } -void SparqlAutomaticParser::PropertyListPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPropertyListPath(this); +void SparqlAutomaticParser::PropertyListPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPropertyListPath(this); } -void SparqlAutomaticParser::PropertyListPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPropertyListPath(this); +void SparqlAutomaticParser::PropertyListPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPropertyListPath(this); } - -std::any SparqlAutomaticParser::PropertyListPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PropertyListPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPropertyListPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PropertyListPathContext* SparqlAutomaticParser::propertyListPath() { - PropertyListPathContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PropertyListPathContext* +SparqlAutomaticParser::propertyListPath() { + PropertyListPathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 172, SparqlAutomaticParser::RulePropertyListPath); size_t _la = 0; @@ -8889,15 +10082,13 @@ SparqlAutomaticParser::PropertyListPathContext* SparqlAutomaticParser::propertyL _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 37380) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 37380) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && ((1ULL << (_la - 142)) & 183) != 0) { setState(964); propertyListPathNotEmpty(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8906,52 +10097,64 @@ SparqlAutomaticParser::PropertyListPathContext* SparqlAutomaticParser::propertyL return _localctx; } -//----------------- PropertyListPathNotEmptyContext ------------------------------------------------------------------ +//----------------- PropertyListPathNotEmptyContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PropertyListPathNotEmptyContext::PropertyListPathNotEmptyContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PropertyListPathNotEmptyContext:: + PropertyListPathNotEmptyContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::TupleWithPathContext* SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithPath() { +SparqlAutomaticParser::TupleWithPathContext* +SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithPath() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithoutPath() { +std::vector +SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithoutPath() { return getRuleContexts(); } -SparqlAutomaticParser::TupleWithoutPathContext* SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithoutPath(size_t i) { +SparqlAutomaticParser::TupleWithoutPathContext* +SparqlAutomaticParser::PropertyListPathNotEmptyContext::tupleWithoutPath( + size_t i) { return getRuleContext(i); } - -size_t SparqlAutomaticParser::PropertyListPathNotEmptyContext::getRuleIndex() const { +size_t SparqlAutomaticParser::PropertyListPathNotEmptyContext::getRuleIndex() + const { return SparqlAutomaticParser::RulePropertyListPathNotEmpty; } -void SparqlAutomaticParser::PropertyListPathNotEmptyContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PropertyListPathNotEmptyContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterPropertyListPathNotEmpty(this); } -void SparqlAutomaticParser::PropertyListPathNotEmptyContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PropertyListPathNotEmptyContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitPropertyListPathNotEmpty(this); } - -std::any SparqlAutomaticParser::PropertyListPathNotEmptyContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PropertyListPathNotEmptyContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPropertyListPathNotEmpty(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::propertyListPathNotEmpty() { - PropertyListPathNotEmptyContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 174, SparqlAutomaticParser::RulePropertyListPathNotEmpty); +SparqlAutomaticParser::PropertyListPathNotEmptyContext* +SparqlAutomaticParser::propertyListPathNotEmpty() { + PropertyListPathNotEmptyContext* _localctx = + _tracker.createInstance(_ctx, + getState()); + enterRule(_localctx, 174, + SparqlAutomaticParser::RulePropertyListPathNotEmpty); size_t _la = 0; #if __cplusplus > 201703L @@ -8975,9 +10178,9 @@ SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::p _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 37380) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 183) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 37380) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 183) != 0) { setState(969); tupleWithoutPath(); } @@ -8985,9 +10188,8 @@ SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::p _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -8996,35 +10198,36 @@ SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::p return _localctx; } -//----------------- VerbPathContext ------------------------------------------------------------------ +//----------------- VerbPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::VerbPathContext::VerbPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::VerbPathContext::VerbPathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PathContext* SparqlAutomaticParser::VerbPathContext::path() { +SparqlAutomaticParser::PathContext* +SparqlAutomaticParser::VerbPathContext::path() { return getRuleContext(0); } - size_t SparqlAutomaticParser::VerbPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVerbPath; } -void SparqlAutomaticParser::VerbPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterVerbPath(this); +void SparqlAutomaticParser::VerbPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterVerbPath(this); } -void SparqlAutomaticParser::VerbPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitVerbPath(this); +void SparqlAutomaticParser::VerbPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitVerbPath(this); } - -std::any SparqlAutomaticParser::VerbPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::VerbPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVerbPath(this); else @@ -9032,7 +10235,8 @@ std::any SparqlAutomaticParser::VerbPathContext::accept(tree::ParseTreeVisitor * } SparqlAutomaticParser::VerbPathContext* SparqlAutomaticParser::verbPath() { - VerbPathContext *_localctx = _tracker.createInstance(_ctx, getState()); + VerbPathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 176, SparqlAutomaticParser::RuleVerbPath); #if __cplusplus > 201703L @@ -9046,9 +10250,8 @@ SparqlAutomaticParser::VerbPathContext* SparqlAutomaticParser::verbPath() { enterOuterAlt(_localctx, 1); setState(977); path(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9057,35 +10260,36 @@ SparqlAutomaticParser::VerbPathContext* SparqlAutomaticParser::verbPath() { return _localctx; } -//----------------- VerbSimpleContext ------------------------------------------------------------------ +//----------------- VerbSimpleContext +//------------------------------------------------------------------ -SparqlAutomaticParser::VerbSimpleContext::VerbSimpleContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::VerbSimpleContext::VerbSimpleContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::VerbSimpleContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::VerbSimpleContext::var() { return getRuleContext(0); } - size_t SparqlAutomaticParser::VerbSimpleContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVerbSimple; } -void SparqlAutomaticParser::VerbSimpleContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterVerbSimple(this); +void SparqlAutomaticParser::VerbSimpleContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterVerbSimple(this); } -void SparqlAutomaticParser::VerbSimpleContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitVerbSimple(this); +void SparqlAutomaticParser::VerbSimpleContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitVerbSimple(this); } - -std::any SparqlAutomaticParser::VerbSimpleContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::VerbSimpleContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVerbSimple(this); else @@ -9093,7 +10297,8 @@ std::any SparqlAutomaticParser::VerbSimpleContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::VerbSimpleContext* SparqlAutomaticParser::verbSimple() { - VerbSimpleContext *_localctx = _tracker.createInstance(_ctx, getState()); + VerbSimpleContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 178, SparqlAutomaticParser::RuleVerbSimple); #if __cplusplus > 201703L @@ -9107,9 +10312,8 @@ SparqlAutomaticParser::VerbSimpleContext* SparqlAutomaticParser::verbSimple() { enterOuterAlt(_localctx, 1); setState(979); var(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9118,47 +10322,51 @@ SparqlAutomaticParser::VerbSimpleContext* SparqlAutomaticParser::verbSimple() { return _localctx; } -//----------------- TupleWithoutPathContext ------------------------------------------------------------------ +//----------------- TupleWithoutPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TupleWithoutPathContext::TupleWithoutPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TupleWithoutPathContext::TupleWithoutPathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VerbPathOrSimpleContext* SparqlAutomaticParser::TupleWithoutPathContext::verbPathOrSimple() { +SparqlAutomaticParser::VerbPathOrSimpleContext* +SparqlAutomaticParser::TupleWithoutPathContext::verbPathOrSimple() { return getRuleContext(0); } -SparqlAutomaticParser::ObjectListContext* SparqlAutomaticParser::TupleWithoutPathContext::objectList() { +SparqlAutomaticParser::ObjectListContext* +SparqlAutomaticParser::TupleWithoutPathContext::objectList() { return getRuleContext(0); } - size_t SparqlAutomaticParser::TupleWithoutPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTupleWithoutPath; } -void SparqlAutomaticParser::TupleWithoutPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterTupleWithoutPath(this); +void SparqlAutomaticParser::TupleWithoutPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterTupleWithoutPath(this); } -void SparqlAutomaticParser::TupleWithoutPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitTupleWithoutPath(this); +void SparqlAutomaticParser::TupleWithoutPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitTupleWithoutPath(this); } - -std::any SparqlAutomaticParser::TupleWithoutPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TupleWithoutPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTupleWithoutPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TupleWithoutPathContext* SparqlAutomaticParser::tupleWithoutPath() { - TupleWithoutPathContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TupleWithoutPathContext* +SparqlAutomaticParser::tupleWithoutPath() { + TupleWithoutPathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 180, SparqlAutomaticParser::RuleTupleWithoutPath); #if __cplusplus > 201703L @@ -9174,9 +10382,8 @@ SparqlAutomaticParser::TupleWithoutPathContext* SparqlAutomaticParser::tupleWith verbPathOrSimple(); setState(982); objectList(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9185,47 +10392,51 @@ SparqlAutomaticParser::TupleWithoutPathContext* SparqlAutomaticParser::tupleWith return _localctx; } -//----------------- TupleWithPathContext ------------------------------------------------------------------ +//----------------- TupleWithPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TupleWithPathContext::TupleWithPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TupleWithPathContext::TupleWithPathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VerbPathOrSimpleContext* SparqlAutomaticParser::TupleWithPathContext::verbPathOrSimple() { +SparqlAutomaticParser::VerbPathOrSimpleContext* +SparqlAutomaticParser::TupleWithPathContext::verbPathOrSimple() { return getRuleContext(0); } -SparqlAutomaticParser::ObjectListPathContext* SparqlAutomaticParser::TupleWithPathContext::objectListPath() { +SparqlAutomaticParser::ObjectListPathContext* +SparqlAutomaticParser::TupleWithPathContext::objectListPath() { return getRuleContext(0); } - size_t SparqlAutomaticParser::TupleWithPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTupleWithPath; } -void SparqlAutomaticParser::TupleWithPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterTupleWithPath(this); +void SparqlAutomaticParser::TupleWithPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterTupleWithPath(this); } -void SparqlAutomaticParser::TupleWithPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitTupleWithPath(this); +void SparqlAutomaticParser::TupleWithPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitTupleWithPath(this); } - -std::any SparqlAutomaticParser::TupleWithPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TupleWithPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTupleWithPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TupleWithPathContext* SparqlAutomaticParser::tupleWithPath() { - TupleWithPathContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TupleWithPathContext* +SparqlAutomaticParser::tupleWithPath() { + TupleWithPathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 182, SparqlAutomaticParser::RuleTupleWithPath); #if __cplusplus > 201703L @@ -9241,9 +10452,8 @@ SparqlAutomaticParser::TupleWithPathContext* SparqlAutomaticParser::tupleWithPat verbPathOrSimple(); setState(985); objectListPath(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9252,47 +10462,51 @@ SparqlAutomaticParser::TupleWithPathContext* SparqlAutomaticParser::tupleWithPat return _localctx; } -//----------------- VerbPathOrSimpleContext ------------------------------------------------------------------ +//----------------- VerbPathOrSimpleContext +//------------------------------------------------------------------ -SparqlAutomaticParser::VerbPathOrSimpleContext::VerbPathOrSimpleContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::VerbPathOrSimpleContext::VerbPathOrSimpleContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VerbPathContext* SparqlAutomaticParser::VerbPathOrSimpleContext::verbPath() { +SparqlAutomaticParser::VerbPathContext* +SparqlAutomaticParser::VerbPathOrSimpleContext::verbPath() { return getRuleContext(0); } -SparqlAutomaticParser::VerbSimpleContext* SparqlAutomaticParser::VerbPathOrSimpleContext::verbSimple() { +SparqlAutomaticParser::VerbSimpleContext* +SparqlAutomaticParser::VerbPathOrSimpleContext::verbSimple() { return getRuleContext(0); } - size_t SparqlAutomaticParser::VerbPathOrSimpleContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVerbPathOrSimple; } -void SparqlAutomaticParser::VerbPathOrSimpleContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterVerbPathOrSimple(this); +void SparqlAutomaticParser::VerbPathOrSimpleContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterVerbPathOrSimple(this); } -void SparqlAutomaticParser::VerbPathOrSimpleContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitVerbPathOrSimple(this); +void SparqlAutomaticParser::VerbPathOrSimpleContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitVerbPathOrSimple(this); } - -std::any SparqlAutomaticParser::VerbPathOrSimpleContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::VerbPathOrSimpleContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVerbPathOrSimple(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::VerbPathOrSimpleContext* SparqlAutomaticParser::verbPathOrSimple() { - VerbPathOrSimpleContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::VerbPathOrSimpleContext* +SparqlAutomaticParser::verbPathOrSimple() { + VerbPathOrSimpleContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 184, SparqlAutomaticParser::RuleVerbPathOrSimple); #if __cplusplus > 201703L @@ -9327,12 +10541,11 @@ SparqlAutomaticParser::VerbPathOrSimpleContext* SparqlAutomaticParser::verbPathO break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9341,47 +10554,51 @@ SparqlAutomaticParser::VerbPathOrSimpleContext* SparqlAutomaticParser::verbPathO return _localctx; } -//----------------- ObjectListPathContext ------------------------------------------------------------------ +//----------------- ObjectListPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ObjectListPathContext::ObjectListPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ObjectListPathContext::ObjectListPathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::ObjectListPathContext::objectPath() { +std::vector +SparqlAutomaticParser::ObjectListPathContext::objectPath() { return getRuleContexts(); } -SparqlAutomaticParser::ObjectPathContext* SparqlAutomaticParser::ObjectListPathContext::objectPath(size_t i) { +SparqlAutomaticParser::ObjectPathContext* +SparqlAutomaticParser::ObjectListPathContext::objectPath(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::ObjectListPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleObjectListPath; } -void SparqlAutomaticParser::ObjectListPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterObjectListPath(this); +void SparqlAutomaticParser::ObjectListPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterObjectListPath(this); } -void SparqlAutomaticParser::ObjectListPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitObjectListPath(this); +void SparqlAutomaticParser::ObjectListPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitObjectListPath(this); } - -std::any SparqlAutomaticParser::ObjectListPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ObjectListPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitObjectListPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ObjectListPathContext* SparqlAutomaticParser::objectListPath() { - ObjectListPathContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ObjectListPathContext* +SparqlAutomaticParser::objectListPath() { + ObjectListPathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 186, SparqlAutomaticParser::RuleObjectListPath); size_t _la = 0; @@ -9408,9 +10625,8 @@ SparqlAutomaticParser::ObjectListPathContext* SparqlAutomaticParser::objectListP _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9419,35 +10635,36 @@ SparqlAutomaticParser::ObjectListPathContext* SparqlAutomaticParser::objectListP return _localctx; } -//----------------- ObjectPathContext ------------------------------------------------------------------ +//----------------- ObjectPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ObjectPathContext::ObjectPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ObjectPathContext::ObjectPathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::GraphNodePathContext* SparqlAutomaticParser::ObjectPathContext::graphNodePath() { +SparqlAutomaticParser::GraphNodePathContext* +SparqlAutomaticParser::ObjectPathContext::graphNodePath() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ObjectPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleObjectPath; } -void SparqlAutomaticParser::ObjectPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterObjectPath(this); +void SparqlAutomaticParser::ObjectPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterObjectPath(this); } -void SparqlAutomaticParser::ObjectPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitObjectPath(this); +void SparqlAutomaticParser::ObjectPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitObjectPath(this); } - -std::any SparqlAutomaticParser::ObjectPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ObjectPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitObjectPath(this); else @@ -9455,7 +10672,8 @@ std::any SparqlAutomaticParser::ObjectPathContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::ObjectPathContext* SparqlAutomaticParser::objectPath() { - ObjectPathContext *_localctx = _tracker.createInstance(_ctx, getState()); + ObjectPathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 188, SparqlAutomaticParser::RuleObjectPath); #if __cplusplus > 201703L @@ -9469,9 +10687,8 @@ SparqlAutomaticParser::ObjectPathContext* SparqlAutomaticParser::objectPath() { enterOuterAlt(_localctx, 1); setState(999); graphNodePath(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9480,35 +10697,36 @@ SparqlAutomaticParser::ObjectPathContext* SparqlAutomaticParser::objectPath() { return _localctx; } -//----------------- PathContext ------------------------------------------------------------------ +//----------------- PathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PathContext::PathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PathContext::PathContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PathAlternativeContext* SparqlAutomaticParser::PathContext::pathAlternative() { +SparqlAutomaticParser::PathAlternativeContext* +SparqlAutomaticParser::PathContext::pathAlternative() { return getRuleContext(0); } - size_t SparqlAutomaticParser::PathContext::getRuleIndex() const { return SparqlAutomaticParser::RulePath; } -void SparqlAutomaticParser::PathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPath(this); +void SparqlAutomaticParser::PathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPath(this); } -void SparqlAutomaticParser::PathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPath(this); +void SparqlAutomaticParser::PathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPath(this); } - -std::any SparqlAutomaticParser::PathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPath(this); else @@ -9516,7 +10734,8 @@ std::any SparqlAutomaticParser::PathContext::accept(tree::ParseTreeVisitor *visi } SparqlAutomaticParser::PathContext* SparqlAutomaticParser::path() { - PathContext *_localctx = _tracker.createInstance(_ctx, getState()); + PathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 190, SparqlAutomaticParser::RulePath); #if __cplusplus > 201703L @@ -9530,9 +10749,8 @@ SparqlAutomaticParser::PathContext* SparqlAutomaticParser::path() { enterOuterAlt(_localctx, 1); setState(1001); pathAlternative(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9541,47 +10759,51 @@ SparqlAutomaticParser::PathContext* SparqlAutomaticParser::path() { return _localctx; } -//----------------- PathAlternativeContext ------------------------------------------------------------------ +//----------------- PathAlternativeContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PathAlternativeContext::PathAlternativeContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PathAlternativeContext::PathAlternativeContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::PathAlternativeContext::pathSequence() { +std::vector +SparqlAutomaticParser::PathAlternativeContext::pathSequence() { return getRuleContexts(); } -SparqlAutomaticParser::PathSequenceContext* SparqlAutomaticParser::PathAlternativeContext::pathSequence(size_t i) { +SparqlAutomaticParser::PathSequenceContext* +SparqlAutomaticParser::PathAlternativeContext::pathSequence(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::PathAlternativeContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathAlternative; } -void SparqlAutomaticParser::PathAlternativeContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPathAlternative(this); +void SparqlAutomaticParser::PathAlternativeContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPathAlternative(this); } -void SparqlAutomaticParser::PathAlternativeContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPathAlternative(this); +void SparqlAutomaticParser::PathAlternativeContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPathAlternative(this); } - -std::any SparqlAutomaticParser::PathAlternativeContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathAlternativeContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathAlternative(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathAlternativeContext* SparqlAutomaticParser::pathAlternative() { - PathAlternativeContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathAlternativeContext* +SparqlAutomaticParser::pathAlternative() { + PathAlternativeContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 192, SparqlAutomaticParser::RulePathAlternative); size_t _la = 0; @@ -9608,9 +10830,8 @@ SparqlAutomaticParser::PathAlternativeContext* SparqlAutomaticParser::pathAltern _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9619,47 +10840,51 @@ SparqlAutomaticParser::PathAlternativeContext* SparqlAutomaticParser::pathAltern return _localctx; } -//----------------- PathSequenceContext ------------------------------------------------------------------ +//----------------- PathSequenceContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PathSequenceContext::PathSequenceContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PathSequenceContext::PathSequenceContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::PathSequenceContext::pathEltOrInverse() { +std::vector +SparqlAutomaticParser::PathSequenceContext::pathEltOrInverse() { return getRuleContexts(); } -SparqlAutomaticParser::PathEltOrInverseContext* SparqlAutomaticParser::PathSequenceContext::pathEltOrInverse(size_t i) { +SparqlAutomaticParser::PathEltOrInverseContext* +SparqlAutomaticParser::PathSequenceContext::pathEltOrInverse(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::PathSequenceContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathSequence; } -void SparqlAutomaticParser::PathSequenceContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPathSequence(this); +void SparqlAutomaticParser::PathSequenceContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPathSequence(this); } -void SparqlAutomaticParser::PathSequenceContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPathSequence(this); +void SparqlAutomaticParser::PathSequenceContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPathSequence(this); } - -std::any SparqlAutomaticParser::PathSequenceContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathSequenceContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathSequence(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathSequenceContext* SparqlAutomaticParser::pathSequence() { - PathSequenceContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathSequenceContext* +SparqlAutomaticParser::pathSequence() { + PathSequenceContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 194, SparqlAutomaticParser::RulePathSequence); size_t _la = 0; @@ -9686,9 +10911,8 @@ SparqlAutomaticParser::PathSequenceContext* SparqlAutomaticParser::pathSequence( _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9697,39 +10921,41 @@ SparqlAutomaticParser::PathSequenceContext* SparqlAutomaticParser::pathSequence( return _localctx; } -//----------------- PathEltContext ------------------------------------------------------------------ +//----------------- PathEltContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PathEltContext::PathEltContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PathEltContext::PathEltContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PathPrimaryContext* SparqlAutomaticParser::PathEltContext::pathPrimary() { +SparqlAutomaticParser::PathPrimaryContext* +SparqlAutomaticParser::PathEltContext::pathPrimary() { return getRuleContext(0); } -SparqlAutomaticParser::PathModContext* SparqlAutomaticParser::PathEltContext::pathMod() { +SparqlAutomaticParser::PathModContext* +SparqlAutomaticParser::PathEltContext::pathMod() { return getRuleContext(0); } - size_t SparqlAutomaticParser::PathEltContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathElt; } -void SparqlAutomaticParser::PathEltContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPathElt(this); +void SparqlAutomaticParser::PathEltContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPathElt(this); } -void SparqlAutomaticParser::PathEltContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPathElt(this); +void SparqlAutomaticParser::PathEltContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPathElt(this); } - -std::any SparqlAutomaticParser::PathEltContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathEltContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathElt(this); else @@ -9737,7 +10963,8 @@ std::any SparqlAutomaticParser::PathEltContext::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::PathEltContext* SparqlAutomaticParser::pathElt() { - PathEltContext *_localctx = _tracker.createInstance(_ctx, getState()); + PathEltContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 196, SparqlAutomaticParser::RulePathElt); size_t _la = 0; @@ -9756,14 +10983,12 @@ SparqlAutomaticParser::PathEltContext* SparqlAutomaticParser::pathElt() { _errHandler->sync(this); _la = _input->LA(1); - if (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 24578) != 0) { + if (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 24578) != 0) { setState(1020); pathMod(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9772,43 +10997,46 @@ SparqlAutomaticParser::PathEltContext* SparqlAutomaticParser::pathElt() { return _localctx; } -//----------------- PathEltOrInverseContext ------------------------------------------------------------------ +//----------------- PathEltOrInverseContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PathEltOrInverseContext::PathEltOrInverseContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PathEltOrInverseContext::PathEltOrInverseContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PathEltContext* SparqlAutomaticParser::PathEltOrInverseContext::pathElt() { +SparqlAutomaticParser::PathEltContext* +SparqlAutomaticParser::PathEltOrInverseContext::pathElt() { return getRuleContext(0); } - size_t SparqlAutomaticParser::PathEltOrInverseContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathEltOrInverse; } -void SparqlAutomaticParser::PathEltOrInverseContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPathEltOrInverse(this); +void SparqlAutomaticParser::PathEltOrInverseContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPathEltOrInverse(this); } -void SparqlAutomaticParser::PathEltOrInverseContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPathEltOrInverse(this); +void SparqlAutomaticParser::PathEltOrInverseContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPathEltOrInverse(this); } - -std::any SparqlAutomaticParser::PathEltOrInverseContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathEltOrInverseContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathEltOrInverse(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathEltOrInverseContext* SparqlAutomaticParser::pathEltOrInverse() { - PathEltOrInverseContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathEltOrInverseContext* +SparqlAutomaticParser::pathEltOrInverse() { + PathEltOrInverseContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 198, SparqlAutomaticParser::RulePathEltOrInverse); #if __cplusplus > 201703L @@ -9838,18 +11066,18 @@ SparqlAutomaticParser::PathEltOrInverseContext* SparqlAutomaticParser::pathEltOr case SparqlAutomaticParser::T__11: { enterOuterAlt(_localctx, 2); setState(1024); - antlrcpp::downCast(_localctx)->negationOperator = match(SparqlAutomaticParser::T__11); + antlrcpp::downCast(_localctx) + ->negationOperator = match(SparqlAutomaticParser::T__11); setState(1025); pathElt(); break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9858,31 +11086,31 @@ SparqlAutomaticParser::PathEltOrInverseContext* SparqlAutomaticParser::pathEltOr return _localctx; } -//----------------- PathModContext ------------------------------------------------------------------ - -SparqlAutomaticParser::PathModContext::PathModContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +//----------------- PathModContext +//------------------------------------------------------------------ +SparqlAutomaticParser::PathModContext::PathModContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} size_t SparqlAutomaticParser::PathModContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathMod; } -void SparqlAutomaticParser::PathModContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPathMod(this); +void SparqlAutomaticParser::PathModContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPathMod(this); } -void SparqlAutomaticParser::PathModContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPathMod(this); +void SparqlAutomaticParser::PathModContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPathMod(this); } - -std::any SparqlAutomaticParser::PathModContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathModContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathMod(this); else @@ -9890,7 +11118,8 @@ std::any SparqlAutomaticParser::PathModContext::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::PathModContext* SparqlAutomaticParser::pathMod() { - PathModContext *_localctx = _tracker.createInstance(_ctx, getState()); + PathModContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 200, SparqlAutomaticParser::RulePathMod); size_t _la = 0; @@ -9905,17 +11134,14 @@ SparqlAutomaticParser::PathModContext* SparqlAutomaticParser::pathMod() { enterOuterAlt(_localctx, 1); setState(1028); _la = _input->LA(1); - if (!(((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 24578) != 0)) { - _errHandler->recoverInline(this); - } - else { + if (!(((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 24578) != 0)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -9924,51 +11150,57 @@ SparqlAutomaticParser::PathModContext* SparqlAutomaticParser::pathMod() { return _localctx; } -//----------------- PathPrimaryContext ------------------------------------------------------------------ +//----------------- PathPrimaryContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PathPrimaryContext::PathPrimaryContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PathPrimaryContext::PathPrimaryContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::PathPrimaryContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::PathPrimaryContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::PathNegatedPropertySetContext* SparqlAutomaticParser::PathPrimaryContext::pathNegatedPropertySet() { - return getRuleContext(0); +SparqlAutomaticParser::PathNegatedPropertySetContext* +SparqlAutomaticParser::PathPrimaryContext::pathNegatedPropertySet() { + return getRuleContext( + 0); } -SparqlAutomaticParser::PathContext* SparqlAutomaticParser::PathPrimaryContext::path() { +SparqlAutomaticParser::PathContext* +SparqlAutomaticParser::PathPrimaryContext::path() { return getRuleContext(0); } - size_t SparqlAutomaticParser::PathPrimaryContext::getRuleIndex() const { return SparqlAutomaticParser::RulePathPrimary; } -void SparqlAutomaticParser::PathPrimaryContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPathPrimary(this); +void SparqlAutomaticParser::PathPrimaryContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPathPrimary(this); } -void SparqlAutomaticParser::PathPrimaryContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPathPrimary(this); +void SparqlAutomaticParser::PathPrimaryContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPathPrimary(this); } - -std::any SparqlAutomaticParser::PathPrimaryContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathPrimaryContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathPrimary(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathPrimaryContext* SparqlAutomaticParser::pathPrimary() { - PathPrimaryContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathPrimaryContext* +SparqlAutomaticParser::pathPrimary() { + PathPrimaryContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 202, SparqlAutomaticParser::RulePathPrimary); #if __cplusplus > 201703L @@ -10019,12 +11251,11 @@ SparqlAutomaticParser::PathPrimaryContext* SparqlAutomaticParser::pathPrimary() break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10033,47 +11264,56 @@ SparqlAutomaticParser::PathPrimaryContext* SparqlAutomaticParser::pathPrimary() return _localctx; } -//----------------- PathNegatedPropertySetContext ------------------------------------------------------------------ +//----------------- PathNegatedPropertySetContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PathNegatedPropertySetContext::PathNegatedPropertySetContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PathNegatedPropertySetContext:: + PathNegatedPropertySetContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::PathNegatedPropertySetContext::pathOneInPropertySet() { +std::vector +SparqlAutomaticParser::PathNegatedPropertySetContext::pathOneInPropertySet() { return getRuleContexts(); } -SparqlAutomaticParser::PathOneInPropertySetContext* SparqlAutomaticParser::PathNegatedPropertySetContext::pathOneInPropertySet(size_t i) { +SparqlAutomaticParser::PathOneInPropertySetContext* +SparqlAutomaticParser::PathNegatedPropertySetContext::pathOneInPropertySet( + size_t i) { return getRuleContext(i); } - -size_t SparqlAutomaticParser::PathNegatedPropertySetContext::getRuleIndex() const { +size_t SparqlAutomaticParser::PathNegatedPropertySetContext::getRuleIndex() + const { return SparqlAutomaticParser::RulePathNegatedPropertySet; } -void SparqlAutomaticParser::PathNegatedPropertySetContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PathNegatedPropertySetContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterPathNegatedPropertySet(this); } -void SparqlAutomaticParser::PathNegatedPropertySetContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PathNegatedPropertySetContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitPathNegatedPropertySet(this); } - -std::any SparqlAutomaticParser::PathNegatedPropertySetContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathNegatedPropertySetContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathNegatedPropertySet(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathNegatedPropertySetContext* SparqlAutomaticParser::pathNegatedPropertySet() { - PathNegatedPropertySetContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathNegatedPropertySetContext* +SparqlAutomaticParser::pathNegatedPropertySet() { + PathNegatedPropertySetContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 204, SparqlAutomaticParser::RulePathNegatedPropertySet); size_t _la = 0; @@ -10110,8 +11350,9 @@ SparqlAutomaticParser::PathNegatedPropertySetContext* SparqlAutomaticParser::pat _la = _input->LA(1); if (_la == SparqlAutomaticParser::T__8 - || _la == SparqlAutomaticParser::T__11 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 135) != 0) { + || _la == SparqlAutomaticParser::T__11 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 135) != 0) { setState(1042); pathOneInPropertySet(); setState(1047); @@ -10132,12 +11373,11 @@ SparqlAutomaticParser::PathNegatedPropertySetContext* SparqlAutomaticParser::pat break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10146,43 +11386,48 @@ SparqlAutomaticParser::PathNegatedPropertySetContext* SparqlAutomaticParser::pat return _localctx; } -//----------------- PathOneInPropertySetContext ------------------------------------------------------------------ +//----------------- PathOneInPropertySetContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PathOneInPropertySetContext::PathOneInPropertySetContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PathOneInPropertySetContext::PathOneInPropertySetContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::PathOneInPropertySetContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::PathOneInPropertySetContext::iri() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::PathOneInPropertySetContext::getRuleIndex() const { +size_t SparqlAutomaticParser::PathOneInPropertySetContext::getRuleIndex() + const { return SparqlAutomaticParser::RulePathOneInPropertySet; } -void SparqlAutomaticParser::PathOneInPropertySetContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::PathOneInPropertySetContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterPathOneInPropertySet(this); } -void SparqlAutomaticParser::PathOneInPropertySetContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPathOneInPropertySet(this); +void SparqlAutomaticParser::PathOneInPropertySetContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPathOneInPropertySet(this); } - -std::any SparqlAutomaticParser::PathOneInPropertySetContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PathOneInPropertySetContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPathOneInPropertySet(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PathOneInPropertySetContext* SparqlAutomaticParser::pathOneInPropertySet() { - PathOneInPropertySetContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PathOneInPropertySetContext* +SparqlAutomaticParser::pathOneInPropertySet() { + PathOneInPropertySetContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 206, SparqlAutomaticParser::RulePathOneInPropertySet); #if __cplusplus > 201703L @@ -10235,18 +11480,17 @@ SparqlAutomaticParser::PathOneInPropertySetContext* SparqlAutomaticParser::pathO break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10255,35 +11499,35 @@ SparqlAutomaticParser::PathOneInPropertySetContext* SparqlAutomaticParser::pathO return _localctx; } -//----------------- IntegerContext ------------------------------------------------------------------ +//----------------- IntegerContext +//------------------------------------------------------------------ -SparqlAutomaticParser::IntegerContext::IntegerContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::IntegerContext::IntegerContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::IntegerContext::INTEGER() { return getToken(SparqlAutomaticParser::INTEGER, 0); } - size_t SparqlAutomaticParser::IntegerContext::getRuleIndex() const { return SparqlAutomaticParser::RuleInteger; } -void SparqlAutomaticParser::IntegerContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterInteger(this); +void SparqlAutomaticParser::IntegerContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterInteger(this); } -void SparqlAutomaticParser::IntegerContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitInteger(this); +void SparqlAutomaticParser::IntegerContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitInteger(this); } - -std::any SparqlAutomaticParser::IntegerContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::IntegerContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitInteger(this); else @@ -10291,7 +11535,8 @@ std::any SparqlAutomaticParser::IntegerContext::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::integer() { - IntegerContext *_localctx = _tracker.createInstance(_ctx, getState()); + IntegerContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 208, SparqlAutomaticParser::RuleInteger); #if __cplusplus > 201703L @@ -10305,9 +11550,8 @@ SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::integer() { enterOuterAlt(_localctx, 1); setState(1064); match(SparqlAutomaticParser::INTEGER); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10316,47 +11560,51 @@ SparqlAutomaticParser::IntegerContext* SparqlAutomaticParser::integer() { return _localctx; } -//----------------- TriplesNodeContext ------------------------------------------------------------------ +//----------------- TriplesNodeContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TriplesNodeContext::TriplesNodeContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TriplesNodeContext::TriplesNodeContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::TriplesNodeContext::collection() { +SparqlAutomaticParser::CollectionContext* +SparqlAutomaticParser::TriplesNodeContext::collection() { return getRuleContext(0); } -SparqlAutomaticParser::BlankNodePropertyListContext* SparqlAutomaticParser::TriplesNodeContext::blankNodePropertyList() { +SparqlAutomaticParser::BlankNodePropertyListContext* +SparqlAutomaticParser::TriplesNodeContext::blankNodePropertyList() { return getRuleContext(0); } - size_t SparqlAutomaticParser::TriplesNodeContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesNode; } -void SparqlAutomaticParser::TriplesNodeContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterTriplesNode(this); +void SparqlAutomaticParser::TriplesNodeContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterTriplesNode(this); } -void SparqlAutomaticParser::TriplesNodeContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitTriplesNode(this); +void SparqlAutomaticParser::TriplesNodeContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitTriplesNode(this); } - -std::any SparqlAutomaticParser::TriplesNodeContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TriplesNodeContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesNode(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesNodeContext* SparqlAutomaticParser::triplesNode() { - TriplesNodeContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesNodeContext* +SparqlAutomaticParser::triplesNode() { + TriplesNodeContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 210, SparqlAutomaticParser::RuleTriplesNode); #if __cplusplus > 201703L @@ -10384,12 +11632,11 @@ SparqlAutomaticParser::TriplesNodeContext* SparqlAutomaticParser::triplesNode() break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10398,43 +11645,50 @@ SparqlAutomaticParser::TriplesNodeContext* SparqlAutomaticParser::triplesNode() return _localctx; } -//----------------- BlankNodePropertyListContext ------------------------------------------------------------------ +//----------------- BlankNodePropertyListContext +//------------------------------------------------------------------ -SparqlAutomaticParser::BlankNodePropertyListContext::BlankNodePropertyListContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::BlankNodePropertyListContext:: + BlankNodePropertyListContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PropertyListNotEmptyContext* SparqlAutomaticParser::BlankNodePropertyListContext::propertyListNotEmpty() { +SparqlAutomaticParser::PropertyListNotEmptyContext* +SparqlAutomaticParser::BlankNodePropertyListContext::propertyListNotEmpty() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::BlankNodePropertyListContext::getRuleIndex() const { +size_t SparqlAutomaticParser::BlankNodePropertyListContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleBlankNodePropertyList; } -void SparqlAutomaticParser::BlankNodePropertyListContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BlankNodePropertyListContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterBlankNodePropertyList(this); } -void SparqlAutomaticParser::BlankNodePropertyListContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BlankNodePropertyListContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitBlankNodePropertyList(this); } - -std::any SparqlAutomaticParser::BlankNodePropertyListContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::BlankNodePropertyListContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBlankNodePropertyList(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BlankNodePropertyListContext* SparqlAutomaticParser::blankNodePropertyList() { - BlankNodePropertyListContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::BlankNodePropertyListContext* +SparqlAutomaticParser::blankNodePropertyList() { + BlankNodePropertyListContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 212, SparqlAutomaticParser::RuleBlankNodePropertyList); #if __cplusplus > 201703L @@ -10452,9 +11706,8 @@ SparqlAutomaticParser::BlankNodePropertyListContext* SparqlAutomaticParser::blan propertyListNotEmpty(); setState(1072); match(SparqlAutomaticParser::T__16); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10463,47 +11716,52 @@ SparqlAutomaticParser::BlankNodePropertyListContext* SparqlAutomaticParser::blan return _localctx; } -//----------------- TriplesNodePathContext ------------------------------------------------------------------ +//----------------- TriplesNodePathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::TriplesNodePathContext::TriplesNodePathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::TriplesNodePathContext::TriplesNodePathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::CollectionPathContext* SparqlAutomaticParser::TriplesNodePathContext::collectionPath() { +SparqlAutomaticParser::CollectionPathContext* +SparqlAutomaticParser::TriplesNodePathContext::collectionPath() { return getRuleContext(0); } -SparqlAutomaticParser::BlankNodePropertyListPathContext* SparqlAutomaticParser::TriplesNodePathContext::blankNodePropertyListPath() { - return getRuleContext(0); +SparqlAutomaticParser::BlankNodePropertyListPathContext* +SparqlAutomaticParser::TriplesNodePathContext::blankNodePropertyListPath() { + return getRuleContext< + SparqlAutomaticParser::BlankNodePropertyListPathContext>(0); } - size_t SparqlAutomaticParser::TriplesNodePathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleTriplesNodePath; } -void SparqlAutomaticParser::TriplesNodePathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterTriplesNodePath(this); +void SparqlAutomaticParser::TriplesNodePathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterTriplesNodePath(this); } -void SparqlAutomaticParser::TriplesNodePathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitTriplesNodePath(this); +void SparqlAutomaticParser::TriplesNodePathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitTriplesNodePath(this); } - -std::any SparqlAutomaticParser::TriplesNodePathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::TriplesNodePathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitTriplesNodePath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::TriplesNodePathContext* SparqlAutomaticParser::triplesNodePath() { - TriplesNodePathContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::TriplesNodePathContext* +SparqlAutomaticParser::triplesNodePath() { + TriplesNodePathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 214, SparqlAutomaticParser::RuleTriplesNodePath); #if __cplusplus > 201703L @@ -10531,12 +11789,11 @@ SparqlAutomaticParser::TriplesNodePathContext* SparqlAutomaticParser::triplesNod break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10545,44 +11802,54 @@ SparqlAutomaticParser::TriplesNodePathContext* SparqlAutomaticParser::triplesNod return _localctx; } -//----------------- BlankNodePropertyListPathContext ------------------------------------------------------------------ +//----------------- BlankNodePropertyListPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::BlankNodePropertyListPathContext::BlankNodePropertyListPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::BlankNodePropertyListPathContext:: + BlankNodePropertyListPathContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser::BlankNodePropertyListPathContext::propertyListPathNotEmpty() { - return getRuleContext(0); +SparqlAutomaticParser::PropertyListPathNotEmptyContext* SparqlAutomaticParser:: + BlankNodePropertyListPathContext::propertyListPathNotEmpty() { + return getRuleContext( + 0); } - -size_t SparqlAutomaticParser::BlankNodePropertyListPathContext::getRuleIndex() const { +size_t SparqlAutomaticParser::BlankNodePropertyListPathContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleBlankNodePropertyListPath; } -void SparqlAutomaticParser::BlankNodePropertyListPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BlankNodePropertyListPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterBlankNodePropertyListPath(this); } -void SparqlAutomaticParser::BlankNodePropertyListPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BlankNodePropertyListPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitBlankNodePropertyListPath(this); } - -std::any SparqlAutomaticParser::BlankNodePropertyListPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::BlankNodePropertyListPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBlankNodePropertyListPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BlankNodePropertyListPathContext* SparqlAutomaticParser::blankNodePropertyListPath() { - BlankNodePropertyListPathContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 216, SparqlAutomaticParser::RuleBlankNodePropertyListPath); +SparqlAutomaticParser::BlankNodePropertyListPathContext* +SparqlAutomaticParser::blankNodePropertyListPath() { + BlankNodePropertyListPathContext* _localctx = + _tracker.createInstance(_ctx, + getState()); + enterRule(_localctx, 216, + SparqlAutomaticParser::RuleBlankNodePropertyListPath); #if __cplusplus > 201703L auto onExit = finally([=, this] { @@ -10599,9 +11866,8 @@ SparqlAutomaticParser::BlankNodePropertyListPathContext* SparqlAutomaticParser:: propertyListPathNotEmpty(); setState(1080); match(SparqlAutomaticParser::T__16); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10610,39 +11876,41 @@ SparqlAutomaticParser::BlankNodePropertyListPathContext* SparqlAutomaticParser:: return _localctx; } -//----------------- CollectionContext ------------------------------------------------------------------ +//----------------- CollectionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::CollectionContext::CollectionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::CollectionContext::CollectionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::CollectionContext::graphNode() { +std::vector +SparqlAutomaticParser::CollectionContext::graphNode() { return getRuleContexts(); } -SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::CollectionContext::graphNode(size_t i) { +SparqlAutomaticParser::GraphNodeContext* +SparqlAutomaticParser::CollectionContext::graphNode(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::CollectionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleCollection; } -void SparqlAutomaticParser::CollectionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterCollection(this); +void SparqlAutomaticParser::CollectionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterCollection(this); } -void SparqlAutomaticParser::CollectionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitCollection(this); +void SparqlAutomaticParser::CollectionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitCollection(this); } - -std::any SparqlAutomaticParser::CollectionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::CollectionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitCollection(this); else @@ -10650,7 +11918,8 @@ std::any SparqlAutomaticParser::CollectionContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::collection() { - CollectionContext *_localctx = _tracker.createInstance(_ctx, getState()); + CollectionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 218, SparqlAutomaticParser::RuleCollection); size_t _la = 0; @@ -10665,23 +11934,22 @@ SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::collection() { enterOuterAlt(_localctx, 1); setState(1082); match(SparqlAutomaticParser::T__1); - setState(1084); + setState(1084); _errHandler->sync(this); _la = _input->LA(1); do { setState(1083); graphNode(); - setState(1086); + setState(1086); _errHandler->sync(this); _la = _input->LA(1); - } while (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0); + } while (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0); setState(1088); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10690,47 +11958,51 @@ SparqlAutomaticParser::CollectionContext* SparqlAutomaticParser::collection() { return _localctx; } -//----------------- CollectionPathContext ------------------------------------------------------------------ +//----------------- CollectionPathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::CollectionPathContext::CollectionPathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::CollectionPathContext::CollectionPathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::CollectionPathContext::graphNodePath() { +std::vector +SparqlAutomaticParser::CollectionPathContext::graphNodePath() { return getRuleContexts(); } -SparqlAutomaticParser::GraphNodePathContext* SparqlAutomaticParser::CollectionPathContext::graphNodePath(size_t i) { +SparqlAutomaticParser::GraphNodePathContext* +SparqlAutomaticParser::CollectionPathContext::graphNodePath(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::CollectionPathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleCollectionPath; } -void SparqlAutomaticParser::CollectionPathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterCollectionPath(this); +void SparqlAutomaticParser::CollectionPathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterCollectionPath(this); } -void SparqlAutomaticParser::CollectionPathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitCollectionPath(this); +void SparqlAutomaticParser::CollectionPathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitCollectionPath(this); } - -std::any SparqlAutomaticParser::CollectionPathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::CollectionPathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitCollectionPath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::CollectionPathContext* SparqlAutomaticParser::collectionPath() { - CollectionPathContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::CollectionPathContext* +SparqlAutomaticParser::collectionPath() { + CollectionPathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 220, SparqlAutomaticParser::RuleCollectionPath); size_t _la = 0; @@ -10745,23 +12017,22 @@ SparqlAutomaticParser::CollectionPathContext* SparqlAutomaticParser::collectionP enterOuterAlt(_localctx, 1); setState(1090); match(SparqlAutomaticParser::T__1); - setState(1092); + setState(1092); _errHandler->sync(this); _la = _input->LA(1); do { setState(1091); graphNodePath(); - setState(1094); + setState(1094); _errHandler->sync(this); _la = _input->LA(1); - } while (((_la & ~ 0x3fULL) == 0) && - ((1ULL << _la) & 805371908) != 0 || (((_la - 142) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 142)) & 29228991) != 0); + } while (((_la & ~0x3fULL) == 0) && ((1ULL << _la) & 805371908) != 0 || + (((_la - 142) & ~0x3fULL) == 0) && + ((1ULL << (_la - 142)) & 29228991) != 0); setState(1096); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10770,39 +12041,41 @@ SparqlAutomaticParser::CollectionPathContext* SparqlAutomaticParser::collectionP return _localctx; } -//----------------- GraphNodeContext ------------------------------------------------------------------ +//----------------- GraphNodeContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphNodeContext::GraphNodeContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphNodeContext::GraphNodeContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::GraphNodeContext::varOrTerm() { +SparqlAutomaticParser::VarOrTermContext* +SparqlAutomaticParser::GraphNodeContext::varOrTerm() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesNodeContext* SparqlAutomaticParser::GraphNodeContext::triplesNode() { +SparqlAutomaticParser::TriplesNodeContext* +SparqlAutomaticParser::GraphNodeContext::triplesNode() { return getRuleContext(0); } - size_t SparqlAutomaticParser::GraphNodeContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphNode; } -void SparqlAutomaticParser::GraphNodeContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGraphNode(this); +void SparqlAutomaticParser::GraphNodeContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGraphNode(this); } -void SparqlAutomaticParser::GraphNodeContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGraphNode(this); +void SparqlAutomaticParser::GraphNodeContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGraphNode(this); } - -std::any SparqlAutomaticParser::GraphNodeContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GraphNodeContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphNode(this); else @@ -10810,7 +12083,8 @@ std::any SparqlAutomaticParser::GraphNodeContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::graphNode() { - GraphNodeContext *_localctx = _tracker.createInstance(_ctx, getState()); + GraphNodeContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 222, SparqlAutomaticParser::RuleGraphNode); #if __cplusplus > 201703L @@ -10862,12 +12136,11 @@ SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::graphNode() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10876,47 +12149,51 @@ SparqlAutomaticParser::GraphNodeContext* SparqlAutomaticParser::graphNode() { return _localctx; } -//----------------- GraphNodePathContext ------------------------------------------------------------------ +//----------------- GraphNodePathContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphNodePathContext::GraphNodePathContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphNodePathContext::GraphNodePathContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::GraphNodePathContext::varOrTerm() { +SparqlAutomaticParser::VarOrTermContext* +SparqlAutomaticParser::GraphNodePathContext::varOrTerm() { return getRuleContext(0); } -SparqlAutomaticParser::TriplesNodePathContext* SparqlAutomaticParser::GraphNodePathContext::triplesNodePath() { +SparqlAutomaticParser::TriplesNodePathContext* +SparqlAutomaticParser::GraphNodePathContext::triplesNodePath() { return getRuleContext(0); } - size_t SparqlAutomaticParser::GraphNodePathContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphNodePath; } -void SparqlAutomaticParser::GraphNodePathContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGraphNodePath(this); +void SparqlAutomaticParser::GraphNodePathContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGraphNodePath(this); } -void SparqlAutomaticParser::GraphNodePathContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGraphNodePath(this); +void SparqlAutomaticParser::GraphNodePathContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGraphNodePath(this); } - -std::any SparqlAutomaticParser::GraphNodePathContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GraphNodePathContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphNodePath(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::GraphNodePathContext* SparqlAutomaticParser::graphNodePath() { - GraphNodePathContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::GraphNodePathContext* +SparqlAutomaticParser::graphNodePath() { + GraphNodePathContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 224, SparqlAutomaticParser::RuleGraphNodePath); #if __cplusplus > 201703L @@ -10968,12 +12245,11 @@ SparqlAutomaticParser::GraphNodePathContext* SparqlAutomaticParser::graphNodePat break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -10982,39 +12258,41 @@ SparqlAutomaticParser::GraphNodePathContext* SparqlAutomaticParser::graphNodePat return _localctx; } -//----------------- VarOrTermContext ------------------------------------------------------------------ +//----------------- VarOrTermContext +//------------------------------------------------------------------ -SparqlAutomaticParser::VarOrTermContext::VarOrTermContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::VarOrTermContext::VarOrTermContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::VarOrTermContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::VarOrTermContext::var() { return getRuleContext(0); } -SparqlAutomaticParser::GraphTermContext* SparqlAutomaticParser::VarOrTermContext::graphTerm() { +SparqlAutomaticParser::GraphTermContext* +SparqlAutomaticParser::VarOrTermContext::graphTerm() { return getRuleContext(0); } - size_t SparqlAutomaticParser::VarOrTermContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVarOrTerm; } -void SparqlAutomaticParser::VarOrTermContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterVarOrTerm(this); +void SparqlAutomaticParser::VarOrTermContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterVarOrTerm(this); } -void SparqlAutomaticParser::VarOrTermContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitVarOrTerm(this); +void SparqlAutomaticParser::VarOrTermContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitVarOrTerm(this); } - -std::any SparqlAutomaticParser::VarOrTermContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::VarOrTermContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVarOrTerm(this); else @@ -11022,7 +12300,8 @@ std::any SparqlAutomaticParser::VarOrTermContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::varOrTerm() { - VarOrTermContext *_localctx = _tracker.createInstance(_ctx, getState()); + VarOrTermContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 226, SparqlAutomaticParser::RuleVarOrTerm); #if __cplusplus > 201703L @@ -11072,12 +12351,11 @@ SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::varOrTerm() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11086,39 +12364,41 @@ SparqlAutomaticParser::VarOrTermContext* SparqlAutomaticParser::varOrTerm() { return _localctx; } -//----------------- VarOrIriContext ------------------------------------------------------------------ +//----------------- VarOrIriContext +//------------------------------------------------------------------ -SparqlAutomaticParser::VarOrIriContext::VarOrIriContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::VarOrIriContext::VarOrIriContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::VarOrIriContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::VarOrIriContext::var() { return getRuleContext(0); } -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::VarOrIriContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::VarOrIriContext::iri() { return getRuleContext(0); } - size_t SparqlAutomaticParser::VarOrIriContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVarOrIri; } -void SparqlAutomaticParser::VarOrIriContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterVarOrIri(this); +void SparqlAutomaticParser::VarOrIriContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterVarOrIri(this); } -void SparqlAutomaticParser::VarOrIriContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitVarOrIri(this); +void SparqlAutomaticParser::VarOrIriContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitVarOrIri(this); } - -std::any SparqlAutomaticParser::VarOrIriContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::VarOrIriContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVarOrIri(this); else @@ -11126,7 +12406,8 @@ std::any SparqlAutomaticParser::VarOrIriContext::accept(tree::ParseTreeVisitor * } SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::varOrIri() { - VarOrIriContext *_localctx = _tracker.createInstance(_ctx, getState()); + VarOrIriContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 228, SparqlAutomaticParser::RuleVarOrIri); #if __cplusplus > 201703L @@ -11158,12 +12439,11 @@ SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::varOrIri() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11172,11 +12452,12 @@ SparqlAutomaticParser::VarOrIriContext* SparqlAutomaticParser::varOrIri() { return _localctx; } -//----------------- VarContext ------------------------------------------------------------------ +//----------------- VarContext +//------------------------------------------------------------------ -SparqlAutomaticParser::VarContext::VarContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::VarContext::VarContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::VarContext::VAR1() { return getToken(SparqlAutomaticParser::VAR1, 0); @@ -11186,25 +12467,24 @@ tree::TerminalNode* SparqlAutomaticParser::VarContext::VAR2() { return getToken(SparqlAutomaticParser::VAR2, 0); } - size_t SparqlAutomaticParser::VarContext::getRuleIndex() const { return SparqlAutomaticParser::RuleVar; } -void SparqlAutomaticParser::VarContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterVar(this); +void SparqlAutomaticParser::VarContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterVar(this); } -void SparqlAutomaticParser::VarContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitVar(this); +void SparqlAutomaticParser::VarContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitVar(this); } - -std::any SparqlAutomaticParser::VarContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::VarContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitVar(this); else @@ -11212,7 +12492,7 @@ std::any SparqlAutomaticParser::VarContext::accept(tree::ParseTreeVisitor *visit } SparqlAutomaticParser::VarContext* SparqlAutomaticParser::var() { - VarContext *_localctx = _tracker.createInstance(_ctx, getState()); + VarContext* _localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 230, SparqlAutomaticParser::RuleVar); size_t _la = 0; @@ -11229,16 +12509,14 @@ SparqlAutomaticParser::VarContext* SparqlAutomaticParser::var() { _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::VAR1 - || _la == SparqlAutomaticParser::VAR2)) { - _errHandler->recoverInline(this); - } - else { + || _la == SparqlAutomaticParser::VAR2)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11247,29 +12525,35 @@ SparqlAutomaticParser::VarContext* SparqlAutomaticParser::var() { return _localctx; } -//----------------- GraphTermContext ------------------------------------------------------------------ +//----------------- GraphTermContext +//------------------------------------------------------------------ -SparqlAutomaticParser::GraphTermContext::GraphTermContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::GraphTermContext::GraphTermContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::GraphTermContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::GraphTermContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::GraphTermContext::rdfLiteral() { +SparqlAutomaticParser::RdfLiteralContext* +SparqlAutomaticParser::GraphTermContext::rdfLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::GraphTermContext::numericLiteral() { +SparqlAutomaticParser::NumericLiteralContext* +SparqlAutomaticParser::GraphTermContext::numericLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::GraphTermContext::booleanLiteral() { +SparqlAutomaticParser::BooleanLiteralContext* +SparqlAutomaticParser::GraphTermContext::booleanLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::GraphTermContext::blankNode() { +SparqlAutomaticParser::BlankNodeContext* +SparqlAutomaticParser::GraphTermContext::blankNode() { return getRuleContext(0); } @@ -11277,25 +12561,24 @@ tree::TerminalNode* SparqlAutomaticParser::GraphTermContext::NIL() { return getToken(SparqlAutomaticParser::NIL, 0); } - size_t SparqlAutomaticParser::GraphTermContext::getRuleIndex() const { return SparqlAutomaticParser::RuleGraphTerm; } -void SparqlAutomaticParser::GraphTermContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterGraphTerm(this); +void SparqlAutomaticParser::GraphTermContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterGraphTerm(this); } -void SparqlAutomaticParser::GraphTermContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitGraphTerm(this); +void SparqlAutomaticParser::GraphTermContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitGraphTerm(this); } - -std::any SparqlAutomaticParser::GraphTermContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::GraphTermContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitGraphTerm(this); else @@ -11303,7 +12586,8 @@ std::any SparqlAutomaticParser::GraphTermContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::GraphTermContext* SparqlAutomaticParser::graphTerm() { - GraphTermContext *_localctx = _tracker.createInstance(_ctx, getState()); + GraphTermContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 232, SparqlAutomaticParser::RuleGraphTerm); #if __cplusplus > 201703L @@ -11375,12 +12659,11 @@ SparqlAutomaticParser::GraphTermContext* SparqlAutomaticParser::graphTerm() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11389,35 +12672,37 @@ SparqlAutomaticParser::GraphTermContext* SparqlAutomaticParser::graphTerm() { return _localctx; } -//----------------- ExpressionContext ------------------------------------------------------------------ +//----------------- ExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ExpressionContext::ExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ExpressionContext::ExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::ConditionalOrExpressionContext* SparqlAutomaticParser::ExpressionContext::conditionalOrExpression() { - return getRuleContext(0); +SparqlAutomaticParser::ConditionalOrExpressionContext* +SparqlAutomaticParser::ExpressionContext::conditionalOrExpression() { + return getRuleContext( + 0); } - size_t SparqlAutomaticParser::ExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleExpression; } -void SparqlAutomaticParser::ExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterExpression(this); +void SparqlAutomaticParser::ExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterExpression(this); } -void SparqlAutomaticParser::ExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitExpression(this); +void SparqlAutomaticParser::ExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitExpression(this); } - -std::any SparqlAutomaticParser::ExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitExpression(this); else @@ -11425,7 +12710,8 @@ std::any SparqlAutomaticParser::ExpressionContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::expression() { - ExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); + ExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 234, SparqlAutomaticParser::RuleExpression); #if __cplusplus > 201703L @@ -11439,9 +12725,8 @@ SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::expression() { enterOuterAlt(_localctx, 1); setState(1124); conditionalOrExpression(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11450,47 +12735,59 @@ SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::expression() { return _localctx; } -//----------------- ConditionalOrExpressionContext ------------------------------------------------------------------ +//----------------- ConditionalOrExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ConditionalOrExpressionContext::ConditionalOrExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ConditionalOrExpressionContext:: + ConditionalOrExpressionContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::ConditionalOrExpressionContext::conditionalAndExpression() { - return getRuleContexts(); +std::vector +SparqlAutomaticParser::ConditionalOrExpressionContext:: + conditionalAndExpression() { + return getRuleContexts< + SparqlAutomaticParser::ConditionalAndExpressionContext>(); } -SparqlAutomaticParser::ConditionalAndExpressionContext* SparqlAutomaticParser::ConditionalOrExpressionContext::conditionalAndExpression(size_t i) { - return getRuleContext(i); +SparqlAutomaticParser::ConditionalAndExpressionContext* +SparqlAutomaticParser::ConditionalOrExpressionContext::conditionalAndExpression( + size_t i) { + return getRuleContext( + i); } - -size_t SparqlAutomaticParser::ConditionalOrExpressionContext::getRuleIndex() const { +size_t SparqlAutomaticParser::ConditionalOrExpressionContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleConditionalOrExpression; } -void SparqlAutomaticParser::ConditionalOrExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::ConditionalOrExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterConditionalOrExpression(this); } -void SparqlAutomaticParser::ConditionalOrExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::ConditionalOrExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitConditionalOrExpression(this); } - -std::any SparqlAutomaticParser::ConditionalOrExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ConditionalOrExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConditionalOrExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConditionalOrExpressionContext* SparqlAutomaticParser::conditionalOrExpression() { - ConditionalOrExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ConditionalOrExpressionContext* +SparqlAutomaticParser::conditionalOrExpression() { + ConditionalOrExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 236, SparqlAutomaticParser::RuleConditionalOrExpression); size_t _la = 0; @@ -11517,9 +12814,8 @@ SparqlAutomaticParser::ConditionalOrExpressionContext* SparqlAutomaticParser::co _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11528,48 +12824,58 @@ SparqlAutomaticParser::ConditionalOrExpressionContext* SparqlAutomaticParser::co return _localctx; } -//----------------- ConditionalAndExpressionContext ------------------------------------------------------------------ +//----------------- ConditionalAndExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ConditionalAndExpressionContext::ConditionalAndExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ConditionalAndExpressionContext:: + ConditionalAndExpressionContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::ConditionalAndExpressionContext::valueLogical() { +std::vector +SparqlAutomaticParser::ConditionalAndExpressionContext::valueLogical() { return getRuleContexts(); } -SparqlAutomaticParser::ValueLogicalContext* SparqlAutomaticParser::ConditionalAndExpressionContext::valueLogical(size_t i) { +SparqlAutomaticParser::ValueLogicalContext* +SparqlAutomaticParser::ConditionalAndExpressionContext::valueLogical(size_t i) { return getRuleContext(i); } - -size_t SparqlAutomaticParser::ConditionalAndExpressionContext::getRuleIndex() const { +size_t SparqlAutomaticParser::ConditionalAndExpressionContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleConditionalAndExpression; } -void SparqlAutomaticParser::ConditionalAndExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::ConditionalAndExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterConditionalAndExpression(this); } -void SparqlAutomaticParser::ConditionalAndExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::ConditionalAndExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitConditionalAndExpression(this); } - -std::any SparqlAutomaticParser::ConditionalAndExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ConditionalAndExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitConditionalAndExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ConditionalAndExpressionContext* SparqlAutomaticParser::conditionalAndExpression() { - ConditionalAndExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 238, SparqlAutomaticParser::RuleConditionalAndExpression); +SparqlAutomaticParser::ConditionalAndExpressionContext* +SparqlAutomaticParser::conditionalAndExpression() { + ConditionalAndExpressionContext* _localctx = + _tracker.createInstance(_ctx, + getState()); + enterRule(_localctx, 238, + SparqlAutomaticParser::RuleConditionalAndExpression); size_t _la = 0; #if __cplusplus > 201703L @@ -11595,9 +12901,8 @@ SparqlAutomaticParser::ConditionalAndExpressionContext* SparqlAutomaticParser::c _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11606,43 +12911,46 @@ SparqlAutomaticParser::ConditionalAndExpressionContext* SparqlAutomaticParser::c return _localctx; } -//----------------- ValueLogicalContext ------------------------------------------------------------------ +//----------------- ValueLogicalContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ValueLogicalContext::ValueLogicalContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ValueLogicalContext::ValueLogicalContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::RelationalExpressionContext* SparqlAutomaticParser::ValueLogicalContext::relationalExpression() { +SparqlAutomaticParser::RelationalExpressionContext* +SparqlAutomaticParser::ValueLogicalContext::relationalExpression() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ValueLogicalContext::getRuleIndex() const { return SparqlAutomaticParser::RuleValueLogical; } -void SparqlAutomaticParser::ValueLogicalContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterValueLogical(this); +void SparqlAutomaticParser::ValueLogicalContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterValueLogical(this); } -void SparqlAutomaticParser::ValueLogicalContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitValueLogical(this); +void SparqlAutomaticParser::ValueLogicalContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitValueLogical(this); } - -std::any SparqlAutomaticParser::ValueLogicalContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ValueLogicalContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitValueLogical(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::ValueLogicalContext* SparqlAutomaticParser::valueLogical() { - ValueLogicalContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::ValueLogicalContext* +SparqlAutomaticParser::valueLogical() { + ValueLogicalContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 240, SparqlAutomaticParser::RuleValueLogical); #if __cplusplus > 201703L @@ -11656,9 +12964,8 @@ SparqlAutomaticParser::ValueLogicalContext* SparqlAutomaticParser::valueLogical( enterOuterAlt(_localctx, 1); setState(1142); relationalExpression(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11667,17 +12974,21 @@ SparqlAutomaticParser::ValueLogicalContext* SparqlAutomaticParser::valueLogical( return _localctx; } -//----------------- RelationalExpressionContext ------------------------------------------------------------------ +//----------------- RelationalExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::RelationalExpressionContext::RelationalExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::RelationalExpressionContext::RelationalExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -std::vector SparqlAutomaticParser::RelationalExpressionContext::numericExpression() { +std::vector +SparqlAutomaticParser::RelationalExpressionContext::numericExpression() { return getRuleContexts(); } -SparqlAutomaticParser::NumericExpressionContext* SparqlAutomaticParser::RelationalExpressionContext::numericExpression(size_t i) { +SparqlAutomaticParser::NumericExpressionContext* +SparqlAutomaticParser::RelationalExpressionContext::numericExpression( + size_t i) { return getRuleContext(i); } @@ -11685,7 +12996,8 @@ tree::TerminalNode* SparqlAutomaticParser::RelationalExpressionContext::IN() { return getToken(SparqlAutomaticParser::IN, 0); } -SparqlAutomaticParser::ExpressionListContext* SparqlAutomaticParser::RelationalExpressionContext::expressionList() { +SparqlAutomaticParser::ExpressionListContext* +SparqlAutomaticParser::RelationalExpressionContext::expressionList() { return getRuleContext(0); } @@ -11693,33 +13005,36 @@ tree::TerminalNode* SparqlAutomaticParser::RelationalExpressionContext::NOT() { return getToken(SparqlAutomaticParser::NOT, 0); } - -size_t SparqlAutomaticParser::RelationalExpressionContext::getRuleIndex() const { +size_t SparqlAutomaticParser::RelationalExpressionContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleRelationalExpression; } -void SparqlAutomaticParser::RelationalExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::RelationalExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterRelationalExpression(this); } -void SparqlAutomaticParser::RelationalExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitRelationalExpression(this); +void SparqlAutomaticParser::RelationalExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitRelationalExpression(this); } - -std::any SparqlAutomaticParser::RelationalExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::RelationalExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitRelationalExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::RelationalExpressionContext* SparqlAutomaticParser::relationalExpression() { - RelationalExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::RelationalExpressionContext* +SparqlAutomaticParser::relationalExpression() { + RelationalExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 242, SparqlAutomaticParser::RuleRelationalExpression); #if __cplusplus > 201703L @@ -11794,7 +13109,8 @@ SparqlAutomaticParser::RelationalExpressionContext* SparqlAutomaticParser::relat case SparqlAutomaticParser::NOT: { setState(1159); - antlrcpp::downCast(_localctx)->notToken = match(SparqlAutomaticParser::NOT); + antlrcpp::downCast(_localctx)->notToken = + match(SparqlAutomaticParser::NOT); setState(1160); match(SparqlAutomaticParser::IN); setState(1161); @@ -11811,12 +13127,11 @@ SparqlAutomaticParser::RelationalExpressionContext* SparqlAutomaticParser::relat break; } - default: - break; + default: + break; } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11825,43 +13140,46 @@ SparqlAutomaticParser::RelationalExpressionContext* SparqlAutomaticParser::relat return _localctx; } -//----------------- NumericExpressionContext ------------------------------------------------------------------ +//----------------- NumericExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::NumericExpressionContext::NumericExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::NumericExpressionContext::NumericExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::AdditiveExpressionContext* SparqlAutomaticParser::NumericExpressionContext::additiveExpression() { +SparqlAutomaticParser::AdditiveExpressionContext* +SparqlAutomaticParser::NumericExpressionContext::additiveExpression() { return getRuleContext(0); } - size_t SparqlAutomaticParser::NumericExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNumericExpression; } -void SparqlAutomaticParser::NumericExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterNumericExpression(this); +void SparqlAutomaticParser::NumericExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterNumericExpression(this); } -void SparqlAutomaticParser::NumericExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitNumericExpression(this); +void SparqlAutomaticParser::NumericExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitNumericExpression(this); } - -std::any SparqlAutomaticParser::NumericExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::NumericExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericExpressionContext* SparqlAutomaticParser::numericExpression() { - NumericExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericExpressionContext* +SparqlAutomaticParser::numericExpression() { + NumericExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 244, SparqlAutomaticParser::RuleNumericExpression); #if __cplusplus > 201703L @@ -11875,9 +13193,8 @@ SparqlAutomaticParser::NumericExpressionContext* SparqlAutomaticParser::numericE enterOuterAlt(_localctx, 1); setState(1164); additiveExpression(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11886,51 +13203,61 @@ SparqlAutomaticParser::NumericExpressionContext* SparqlAutomaticParser::numericE return _localctx; } -//----------------- AdditiveExpressionContext ------------------------------------------------------------------ +//----------------- AdditiveExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::AdditiveExpressionContext::AdditiveExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::AdditiveExpressionContext::AdditiveExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::AdditiveExpressionContext::multiplicativeExpression() { - return getRuleContext(0); +SparqlAutomaticParser::MultiplicativeExpressionContext* +SparqlAutomaticParser::AdditiveExpressionContext::multiplicativeExpression() { + return getRuleContext( + 0); } -std::vector SparqlAutomaticParser::AdditiveExpressionContext::multiplicativeExpressionWithSign() { - return getRuleContexts(); +std::vector +SparqlAutomaticParser::AdditiveExpressionContext:: + multiplicativeExpressionWithSign() { + return getRuleContexts< + SparqlAutomaticParser::MultiplicativeExpressionWithSignContext>(); } -SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* SparqlAutomaticParser::AdditiveExpressionContext::multiplicativeExpressionWithSign(size_t i) { - return getRuleContext(i); +SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* +SparqlAutomaticParser::AdditiveExpressionContext:: + multiplicativeExpressionWithSign(size_t i) { + return getRuleContext< + SparqlAutomaticParser::MultiplicativeExpressionWithSignContext>(i); } - size_t SparqlAutomaticParser::AdditiveExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAdditiveExpression; } -void SparqlAutomaticParser::AdditiveExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterAdditiveExpression(this); -} - -void SparqlAutomaticParser::AdditiveExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitAdditiveExpression(this); +void SparqlAutomaticParser::AdditiveExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterAdditiveExpression(this); } +void SparqlAutomaticParser::AdditiveExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitAdditiveExpression(this); +} -std::any SparqlAutomaticParser::AdditiveExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::AdditiveExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAdditiveExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::AdditiveExpressionContext* SparqlAutomaticParser::additiveExpression() { - AdditiveExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::AdditiveExpressionContext* +SparqlAutomaticParser::additiveExpression() { + AdditiveExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 246, SparqlAutomaticParser::RuleAdditiveExpression); size_t _la = 0; @@ -11950,17 +13277,17 @@ SparqlAutomaticParser::AdditiveExpressionContext* SparqlAutomaticParser::additiv _la = _input->LA(1); while (_la == SparqlAutomaticParser::T__12 - || _la == SparqlAutomaticParser::T__25 || (((_la - 153) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 153)) & 63) != 0) { + || _la == SparqlAutomaticParser::T__25 || + (((_la - 153) & ~0x3fULL) == 0) && + ((1ULL << (_la - 153)) & 63) != 0) { setState(1167); multiplicativeExpressionWithSign(); setState(1172); _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -11969,52 +13296,67 @@ SparqlAutomaticParser::AdditiveExpressionContext* SparqlAutomaticParser::additiv return _localctx; } -//----------------- MultiplicativeExpressionWithSignContext ------------------------------------------------------------------ +//----------------- MultiplicativeExpressionWithSignContext +//------------------------------------------------------------------ -SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::MultiplicativeExpressionWithSignContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::MultiplicativeExpressionWithSignContext:: + MultiplicativeExpressionWithSignContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PlusSubexpressionContext* SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::plusSubexpression() { +SparqlAutomaticParser::PlusSubexpressionContext* SparqlAutomaticParser:: + MultiplicativeExpressionWithSignContext::plusSubexpression() { return getRuleContext(0); } -SparqlAutomaticParser::MinusSubexpressionContext* SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::minusSubexpression() { +SparqlAutomaticParser::MinusSubexpressionContext* SparqlAutomaticParser:: + MultiplicativeExpressionWithSignContext::minusSubexpression() { return getRuleContext(0); } -SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::multiplicativeExpressionWithLeadingSignButNoSpace() { - return getRuleContext(0); +SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* +SparqlAutomaticParser::MultiplicativeExpressionWithSignContext:: + multiplicativeExpressionWithLeadingSignButNoSpace() { + return getRuleContext< + SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext>(0); } - -size_t SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::getRuleIndex() const { +size_t +SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleMultiplicativeExpressionWithSign; } -void SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterMultiplicativeExpressionWithSign(this); } -void SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitMultiplicativeExpressionWithSign(this); } - -std::any SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::MultiplicativeExpressionWithSignContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMultiplicativeExpressionWithSign(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* SparqlAutomaticParser::multiplicativeExpressionWithSign() { - MultiplicativeExpressionWithSignContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 248, SparqlAutomaticParser::RuleMultiplicativeExpressionWithSign); +SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* +SparqlAutomaticParser::multiplicativeExpressionWithSign() { + MultiplicativeExpressionWithSignContext* _localctx = + _tracker.createInstance( + _ctx, getState()); + enterRule(_localctx, 248, + SparqlAutomaticParser::RuleMultiplicativeExpressionWithSign); #if __cplusplus > 201703L auto onExit = finally([=, this] { @@ -12057,12 +13399,11 @@ SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* SparqlAutomaticP break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12071,43 +13412,47 @@ SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* SparqlAutomaticP return _localctx; } -//----------------- PlusSubexpressionContext ------------------------------------------------------------------ +//----------------- PlusSubexpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PlusSubexpressionContext::PlusSubexpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PlusSubexpressionContext::PlusSubexpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::PlusSubexpressionContext::multiplicativeExpression() { - return getRuleContext(0); +SparqlAutomaticParser::MultiplicativeExpressionContext* +SparqlAutomaticParser::PlusSubexpressionContext::multiplicativeExpression() { + return getRuleContext( + 0); } - size_t SparqlAutomaticParser::PlusSubexpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RulePlusSubexpression; } -void SparqlAutomaticParser::PlusSubexpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPlusSubexpression(this); +void SparqlAutomaticParser::PlusSubexpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPlusSubexpression(this); } -void SparqlAutomaticParser::PlusSubexpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPlusSubexpression(this); +void SparqlAutomaticParser::PlusSubexpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPlusSubexpression(this); } - -std::any SparqlAutomaticParser::PlusSubexpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PlusSubexpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPlusSubexpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PlusSubexpressionContext* SparqlAutomaticParser::plusSubexpression() { - PlusSubexpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PlusSubexpressionContext* +SparqlAutomaticParser::plusSubexpression() { + PlusSubexpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 250, SparqlAutomaticParser::RulePlusSubexpression); #if __cplusplus > 201703L @@ -12121,9 +13466,8 @@ SparqlAutomaticParser::PlusSubexpressionContext* SparqlAutomaticParser::plusSube enterOuterAlt(_localctx, 1); setState(1180); multiplicativeExpression(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12132,43 +13476,47 @@ SparqlAutomaticParser::PlusSubexpressionContext* SparqlAutomaticParser::plusSube return _localctx; } -//----------------- MinusSubexpressionContext ------------------------------------------------------------------ +//----------------- MinusSubexpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::MinusSubexpressionContext::MinusSubexpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::MinusSubexpressionContext::MinusSubexpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::MinusSubexpressionContext::multiplicativeExpression() { - return getRuleContext(0); +SparqlAutomaticParser::MultiplicativeExpressionContext* +SparqlAutomaticParser::MinusSubexpressionContext::multiplicativeExpression() { + return getRuleContext( + 0); } - size_t SparqlAutomaticParser::MinusSubexpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMinusSubexpression; } -void SparqlAutomaticParser::MinusSubexpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterMinusSubexpression(this); +void SparqlAutomaticParser::MinusSubexpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterMinusSubexpression(this); } -void SparqlAutomaticParser::MinusSubexpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitMinusSubexpression(this); +void SparqlAutomaticParser::MinusSubexpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitMinusSubexpression(this); } - -std::any SparqlAutomaticParser::MinusSubexpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::MinusSubexpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMinusSubexpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MinusSubexpressionContext* SparqlAutomaticParser::minusSubexpression() { - MinusSubexpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::MinusSubexpressionContext* +SparqlAutomaticParser::minusSubexpression() { + MinusSubexpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 252, SparqlAutomaticParser::RuleMinusSubexpression); #if __cplusplus > 201703L @@ -12182,9 +13530,8 @@ SparqlAutomaticParser::MinusSubexpressionContext* SparqlAutomaticParser::minusSu enterOuterAlt(_localctx, 1); setState(1182); multiplicativeExpression(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12193,56 +13540,88 @@ SparqlAutomaticParser::MinusSubexpressionContext* SparqlAutomaticParser::minusSu return _localctx; } -//----------------- MultiplicativeExpressionWithLeadingSignButNoSpaceContext ------------------------------------------------------------------ +//----------------- MultiplicativeExpressionWithLeadingSignButNoSpaceContext +//------------------------------------------------------------------ -SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::MultiplicativeExpressionWithLeadingSignButNoSpaceContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::numericLiteralPositive() { - return getRuleContext(0); +SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: + numericLiteralPositive() { + return getRuleContext( + 0); } -SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::numericLiteralNegative() { - return getRuleContext(0); +SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: + numericLiteralNegative() { + return getRuleContext( + 0); } -std::vector SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::multiplyOrDivideExpression() { - return getRuleContexts(); +std::vector +SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: + multiplyOrDivideExpression() { + return getRuleContexts< + SparqlAutomaticParser::MultiplyOrDivideExpressionContext>(); } -SparqlAutomaticParser::MultiplyOrDivideExpressionContext* SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::multiplyOrDivideExpression(size_t i) { - return getRuleContext(i); +SparqlAutomaticParser::MultiplyOrDivideExpressionContext* +SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext:: + multiplyOrDivideExpression(size_t i) { + return getRuleContext< + SparqlAutomaticParser::MultiplyOrDivideExpressionContext>(i); } - -size_t SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::getRuleIndex() const { - return SparqlAutomaticParser::RuleMultiplicativeExpressionWithLeadingSignButNoSpace; +size_t SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext::getRuleIndex() + const { + return SparqlAutomaticParser:: + RuleMultiplicativeExpressionWithLeadingSignButNoSpace; } -void SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) - parserListener->enterMultiplicativeExpressionWithLeadingSignButNoSpace(this); + parserListener->enterMultiplicativeExpressionWithLeadingSignButNoSpace( + this); } -void SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitMultiplicativeExpressionWithLeadingSignButNoSpace(this); } - -std::any SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) - return parserVisitor->visitMultiplicativeExpressionWithLeadingSignButNoSpace(this); + return parserVisitor + ->visitMultiplicativeExpressionWithLeadingSignButNoSpace(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* SparqlAutomaticParser::multiplicativeExpressionWithLeadingSignButNoSpace() { - MultiplicativeExpressionWithLeadingSignButNoSpaceContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 254, SparqlAutomaticParser::RuleMultiplicativeExpressionWithLeadingSignButNoSpace); +SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* +SparqlAutomaticParser::multiplicativeExpressionWithLeadingSignButNoSpace() { + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* _localctx = + _tracker.createInstance< + MultiplicativeExpressionWithLeadingSignButNoSpaceContext>(_ctx, + getState()); + enterRule(_localctx, 254, + SparqlAutomaticParser:: + RuleMultiplicativeExpressionWithLeadingSignButNoSpace); size_t _la = 0; #if __cplusplus > 201703L @@ -12273,24 +13652,23 @@ SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(1191); _errHandler->sync(this); _la = _input->LA(1); while (_la == SparqlAutomaticParser::T__0 - || _la == SparqlAutomaticParser::T__10) { + || _la == SparqlAutomaticParser::T__10) { setState(1188); multiplyOrDivideExpression(); setState(1193); _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12299,52 +13677,67 @@ SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext* return _localctx; } -//----------------- MultiplicativeExpressionContext ------------------------------------------------------------------ +//----------------- MultiplicativeExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::MultiplicativeExpressionContext::MultiplicativeExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::MultiplicativeExpressionContext:: + MultiplicativeExpressionContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::MultiplicativeExpressionContext::unaryExpression() { +SparqlAutomaticParser::UnaryExpressionContext* +SparqlAutomaticParser::MultiplicativeExpressionContext::unaryExpression() { return getRuleContext(0); } -std::vector SparqlAutomaticParser::MultiplicativeExpressionContext::multiplyOrDivideExpression() { - return getRuleContexts(); +std::vector +SparqlAutomaticParser::MultiplicativeExpressionContext:: + multiplyOrDivideExpression() { + return getRuleContexts< + SparqlAutomaticParser::MultiplyOrDivideExpressionContext>(); } -SparqlAutomaticParser::MultiplyOrDivideExpressionContext* SparqlAutomaticParser::MultiplicativeExpressionContext::multiplyOrDivideExpression(size_t i) { - return getRuleContext(i); +SparqlAutomaticParser::MultiplyOrDivideExpressionContext* +SparqlAutomaticParser::MultiplicativeExpressionContext:: + multiplyOrDivideExpression(size_t i) { + return getRuleContext< + SparqlAutomaticParser::MultiplyOrDivideExpressionContext>(i); } - -size_t SparqlAutomaticParser::MultiplicativeExpressionContext::getRuleIndex() const { +size_t SparqlAutomaticParser::MultiplicativeExpressionContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleMultiplicativeExpression; } -void SparqlAutomaticParser::MultiplicativeExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterMultiplicativeExpression(this); } -void SparqlAutomaticParser::MultiplicativeExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplicativeExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitMultiplicativeExpression(this); } - -std::any SparqlAutomaticParser::MultiplicativeExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::MultiplicativeExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMultiplicativeExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::multiplicativeExpression() { - MultiplicativeExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 256, SparqlAutomaticParser::RuleMultiplicativeExpression); +SparqlAutomaticParser::MultiplicativeExpressionContext* +SparqlAutomaticParser::multiplicativeExpression() { + MultiplicativeExpressionContext* _localctx = + _tracker.createInstance(_ctx, + getState()); + enterRule(_localctx, 256, + SparqlAutomaticParser::RuleMultiplicativeExpression); size_t _la = 0; #if __cplusplus > 201703L @@ -12363,16 +13756,15 @@ SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::m _la = _input->LA(1); while (_la == SparqlAutomaticParser::T__0 - || _la == SparqlAutomaticParser::T__10) { + || _la == SparqlAutomaticParser::T__10) { setState(1195); multiplyOrDivideExpression(); setState(1200); _errHandler->sync(this); _la = _input->LA(1); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12381,48 +13773,58 @@ SparqlAutomaticParser::MultiplicativeExpressionContext* SparqlAutomaticParser::m return _localctx; } -//----------------- MultiplyOrDivideExpressionContext ------------------------------------------------------------------ +//----------------- MultiplyOrDivideExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::MultiplyOrDivideExpressionContext::MultiplyOrDivideExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::MultiplyOrDivideExpressionContext:: + MultiplyOrDivideExpressionContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::MultiplyExpressionContext* SparqlAutomaticParser::MultiplyOrDivideExpressionContext::multiplyExpression() { +SparqlAutomaticParser::MultiplyExpressionContext* +SparqlAutomaticParser::MultiplyOrDivideExpressionContext::multiplyExpression() { return getRuleContext(0); } -SparqlAutomaticParser::DivideExpressionContext* SparqlAutomaticParser::MultiplyOrDivideExpressionContext::divideExpression() { +SparqlAutomaticParser::DivideExpressionContext* +SparqlAutomaticParser::MultiplyOrDivideExpressionContext::divideExpression() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::MultiplyOrDivideExpressionContext::getRuleIndex() const { +size_t SparqlAutomaticParser::MultiplyOrDivideExpressionContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleMultiplyOrDivideExpression; } -void SparqlAutomaticParser::MultiplyOrDivideExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplyOrDivideExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterMultiplyOrDivideExpression(this); } -void SparqlAutomaticParser::MultiplyOrDivideExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::MultiplyOrDivideExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitMultiplyOrDivideExpression(this); } - -std::any SparqlAutomaticParser::MultiplyOrDivideExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::MultiplyOrDivideExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMultiplyOrDivideExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplyOrDivideExpressionContext* SparqlAutomaticParser::multiplyOrDivideExpression() { - MultiplyOrDivideExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); - enterRule(_localctx, 258, SparqlAutomaticParser::RuleMultiplyOrDivideExpression); +SparqlAutomaticParser::MultiplyOrDivideExpressionContext* +SparqlAutomaticParser::multiplyOrDivideExpression() { + MultiplyOrDivideExpressionContext* _localctx = + _tracker.createInstance(_ctx, + getState()); + enterRule(_localctx, 258, + SparqlAutomaticParser::RuleMultiplyOrDivideExpression); #if __cplusplus > 201703L auto onExit = finally([=, this] { @@ -12449,12 +13851,11 @@ SparqlAutomaticParser::MultiplyOrDivideExpressionContext* SparqlAutomaticParser: break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12463,43 +13864,46 @@ SparqlAutomaticParser::MultiplyOrDivideExpressionContext* SparqlAutomaticParser: return _localctx; } -//----------------- MultiplyExpressionContext ------------------------------------------------------------------ +//----------------- MultiplyExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::MultiplyExpressionContext::MultiplyExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::MultiplyExpressionContext::MultiplyExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::MultiplyExpressionContext::unaryExpression() { +SparqlAutomaticParser::UnaryExpressionContext* +SparqlAutomaticParser::MultiplyExpressionContext::unaryExpression() { return getRuleContext(0); } - size_t SparqlAutomaticParser::MultiplyExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleMultiplyExpression; } -void SparqlAutomaticParser::MultiplyExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterMultiplyExpression(this); +void SparqlAutomaticParser::MultiplyExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterMultiplyExpression(this); } -void SparqlAutomaticParser::MultiplyExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitMultiplyExpression(this); +void SparqlAutomaticParser::MultiplyExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitMultiplyExpression(this); } - -std::any SparqlAutomaticParser::MultiplyExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::MultiplyExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitMultiplyExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::MultiplyExpressionContext* SparqlAutomaticParser::multiplyExpression() { - MultiplyExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::MultiplyExpressionContext* +SparqlAutomaticParser::multiplyExpression() { + MultiplyExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 260, SparqlAutomaticParser::RuleMultiplyExpression); #if __cplusplus > 201703L @@ -12515,9 +13919,8 @@ SparqlAutomaticParser::MultiplyExpressionContext* SparqlAutomaticParser::multipl match(SparqlAutomaticParser::T__0); setState(1206); unaryExpression(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12526,43 +13929,46 @@ SparqlAutomaticParser::MultiplyExpressionContext* SparqlAutomaticParser::multipl return _localctx; } -//----------------- DivideExpressionContext ------------------------------------------------------------------ +//----------------- DivideExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::DivideExpressionContext::DivideExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::DivideExpressionContext::DivideExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::DivideExpressionContext::unaryExpression() { +SparqlAutomaticParser::UnaryExpressionContext* +SparqlAutomaticParser::DivideExpressionContext::unaryExpression() { return getRuleContext(0); } - size_t SparqlAutomaticParser::DivideExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleDivideExpression; } -void SparqlAutomaticParser::DivideExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterDivideExpression(this); +void SparqlAutomaticParser::DivideExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterDivideExpression(this); } -void SparqlAutomaticParser::DivideExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitDivideExpression(this); +void SparqlAutomaticParser::DivideExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitDivideExpression(this); } - -std::any SparqlAutomaticParser::DivideExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::DivideExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitDivideExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::DivideExpressionContext* SparqlAutomaticParser::divideExpression() { - DivideExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::DivideExpressionContext* +SparqlAutomaticParser::divideExpression() { + DivideExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 262, SparqlAutomaticParser::RuleDivideExpression); #if __cplusplus > 201703L @@ -12578,9 +13984,8 @@ SparqlAutomaticParser::DivideExpressionContext* SparqlAutomaticParser::divideExp match(SparqlAutomaticParser::T__10); setState(1209); unaryExpression(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12589,43 +13994,46 @@ SparqlAutomaticParser::DivideExpressionContext* SparqlAutomaticParser::divideExp return _localctx; } -//----------------- UnaryExpressionContext ------------------------------------------------------------------ +//----------------- UnaryExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::UnaryExpressionContext::UnaryExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::UnaryExpressionContext::UnaryExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PrimaryExpressionContext* SparqlAutomaticParser::UnaryExpressionContext::primaryExpression() { +SparqlAutomaticParser::PrimaryExpressionContext* +SparqlAutomaticParser::UnaryExpressionContext::primaryExpression() { return getRuleContext(0); } - size_t SparqlAutomaticParser::UnaryExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleUnaryExpression; } -void SparqlAutomaticParser::UnaryExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterUnaryExpression(this); +void SparqlAutomaticParser::UnaryExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterUnaryExpression(this); } -void SparqlAutomaticParser::UnaryExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitUnaryExpression(this); +void SparqlAutomaticParser::UnaryExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitUnaryExpression(this); } - -std::any SparqlAutomaticParser::UnaryExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::UnaryExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitUnaryExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::unaryExpression() { - UnaryExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::UnaryExpressionContext* +SparqlAutomaticParser::unaryExpression() { + UnaryExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 264, SparqlAutomaticParser::RuleUnaryExpression); #if __cplusplus > 201703L @@ -12756,12 +14164,11 @@ SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::unaryExpre break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12770,67 +14177,76 @@ SparqlAutomaticParser::UnaryExpressionContext* SparqlAutomaticParser::unaryExpre return _localctx; } -//----------------- PrimaryExpressionContext ------------------------------------------------------------------ +//----------------- PrimaryExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PrimaryExpressionContext::PrimaryExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PrimaryExpressionContext::PrimaryExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::PrimaryExpressionContext::brackettedExpression() { +SparqlAutomaticParser::BrackettedExpressionContext* +SparqlAutomaticParser::PrimaryExpressionContext::brackettedExpression() { return getRuleContext(0); } -SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::PrimaryExpressionContext::builtInCall() { +SparqlAutomaticParser::BuiltInCallContext* +SparqlAutomaticParser::PrimaryExpressionContext::builtInCall() { return getRuleContext(0); } -SparqlAutomaticParser::IriOrFunctionContext* SparqlAutomaticParser::PrimaryExpressionContext::iriOrFunction() { +SparqlAutomaticParser::IriOrFunctionContext* +SparqlAutomaticParser::PrimaryExpressionContext::iriOrFunction() { return getRuleContext(0); } -SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::PrimaryExpressionContext::rdfLiteral() { +SparqlAutomaticParser::RdfLiteralContext* +SparqlAutomaticParser::PrimaryExpressionContext::rdfLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::PrimaryExpressionContext::numericLiteral() { +SparqlAutomaticParser::NumericLiteralContext* +SparqlAutomaticParser::PrimaryExpressionContext::numericLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::PrimaryExpressionContext::booleanLiteral() { +SparqlAutomaticParser::BooleanLiteralContext* +SparqlAutomaticParser::PrimaryExpressionContext::booleanLiteral() { return getRuleContext(0); } -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::PrimaryExpressionContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::PrimaryExpressionContext::var() { return getRuleContext(0); } - size_t SparqlAutomaticParser::PrimaryExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RulePrimaryExpression; } -void SparqlAutomaticParser::PrimaryExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPrimaryExpression(this); +void SparqlAutomaticParser::PrimaryExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPrimaryExpression(this); } -void SparqlAutomaticParser::PrimaryExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPrimaryExpression(this); +void SparqlAutomaticParser::PrimaryExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPrimaryExpression(this); } - -std::any SparqlAutomaticParser::PrimaryExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PrimaryExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPrimaryExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PrimaryExpressionContext* SparqlAutomaticParser::primaryExpression() { - PrimaryExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PrimaryExpressionContext* +SparqlAutomaticParser::primaryExpression() { + PrimaryExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 266, SparqlAutomaticParser::RulePrimaryExpression); #if __cplusplus > 201703L @@ -12970,12 +14386,11 @@ SparqlAutomaticParser::PrimaryExpressionContext* SparqlAutomaticParser::primaryE break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -12984,43 +14399,48 @@ SparqlAutomaticParser::PrimaryExpressionContext* SparqlAutomaticParser::primaryE return _localctx; } -//----------------- BrackettedExpressionContext ------------------------------------------------------------------ +//----------------- BrackettedExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::BrackettedExpressionContext::BrackettedExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::BrackettedExpressionContext::BrackettedExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::BrackettedExpressionContext::expression() { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::BrackettedExpressionContext::expression() { return getRuleContext(0); } - -size_t SparqlAutomaticParser::BrackettedExpressionContext::getRuleIndex() const { +size_t SparqlAutomaticParser::BrackettedExpressionContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleBrackettedExpression; } -void SparqlAutomaticParser::BrackettedExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::BrackettedExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterBrackettedExpression(this); } -void SparqlAutomaticParser::BrackettedExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitBrackettedExpression(this); +void SparqlAutomaticParser::BrackettedExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitBrackettedExpression(this); } - -std::any SparqlAutomaticParser::BrackettedExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::BrackettedExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBrackettedExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::brackettedExpression() { - BrackettedExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::BrackettedExpressionContext* +SparqlAutomaticParser::brackettedExpression() { + BrackettedExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 268, SparqlAutomaticParser::RuleBrackettedExpression); #if __cplusplus > 201703L @@ -13038,9 +14458,8 @@ SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::brack expression(); setState(1231); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -13049,13 +14468,15 @@ SparqlAutomaticParser::BrackettedExpressionContext* SparqlAutomaticParser::brack return _localctx; } -//----------------- BuiltInCallContext ------------------------------------------------------------------ +//----------------- BuiltInCallContext +//------------------------------------------------------------------ -SparqlAutomaticParser::BuiltInCallContext::BuiltInCallContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::BuiltInCallContext::BuiltInCallContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::BuiltInCallContext::aggregate() { +SparqlAutomaticParser::AggregateContext* +SparqlAutomaticParser::BuiltInCallContext::aggregate() { return getRuleContext(0); } @@ -13063,15 +14484,18 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::STR() { return getToken(SparqlAutomaticParser::STR, 0); } -std::vector SparqlAutomaticParser::BuiltInCallContext::expression() { +std::vector +SparqlAutomaticParser::BuiltInCallContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::BuiltInCallContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::BuiltInCallContext::expression(size_t i) { return getRuleContext(i); } -SparqlAutomaticParser::LangExpressionContext* SparqlAutomaticParser::BuiltInCallContext::langExpression() { +SparqlAutomaticParser::LangExpressionContext* +SparqlAutomaticParser::BuiltInCallContext::langExpression() { return getRuleContext(0); } @@ -13087,7 +14511,8 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::BOUND() { return getToken(SparqlAutomaticParser::BOUND, 0); } -SparqlAutomaticParser::VarContext* SparqlAutomaticParser::BuiltInCallContext::var() { +SparqlAutomaticParser::VarContext* +SparqlAutomaticParser::BuiltInCallContext::var() { return getRuleContext(0); } @@ -13131,11 +14556,13 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::CONCAT() { return getToken(SparqlAutomaticParser::CONCAT, 0); } -SparqlAutomaticParser::ExpressionListContext* SparqlAutomaticParser::BuiltInCallContext::expressionList() { +SparqlAutomaticParser::ExpressionListContext* +SparqlAutomaticParser::BuiltInCallContext::expressionList() { return getRuleContext(0); } -SparqlAutomaticParser::SubstringExpressionContext* SparqlAutomaticParser::BuiltInCallContext::substringExpression() { +SparqlAutomaticParser::SubstringExpressionContext* +SparqlAutomaticParser::BuiltInCallContext::substringExpression() { return getRuleContext(0); } @@ -13143,7 +14570,8 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::STRLEN() { return getToken(SparqlAutomaticParser::STRLEN, 0); } -SparqlAutomaticParser::StrReplaceExpressionContext* SparqlAutomaticParser::BuiltInCallContext::strReplaceExpression() { +SparqlAutomaticParser::StrReplaceExpressionContext* +SparqlAutomaticParser::BuiltInCallContext::strReplaceExpression() { return getRuleContext(0); } @@ -13155,7 +14583,8 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::LCASE() { return getToken(SparqlAutomaticParser::LCASE, 0); } -tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::ENCODE_FOR_URI() { +tree::TerminalNode* +SparqlAutomaticParser::BuiltInCallContext::ENCODE_FOR_URI() { return getToken(SparqlAutomaticParser::ENCODE_FOR_URI, 0); } @@ -13283,45 +14712,49 @@ tree::TerminalNode* SparqlAutomaticParser::BuiltInCallContext::ISNUMERIC() { return getToken(SparqlAutomaticParser::ISNUMERIC, 0); } -SparqlAutomaticParser::RegexExpressionContext* SparqlAutomaticParser::BuiltInCallContext::regexExpression() { +SparqlAutomaticParser::RegexExpressionContext* +SparqlAutomaticParser::BuiltInCallContext::regexExpression() { return getRuleContext(0); } -SparqlAutomaticParser::ExistsFuncContext* SparqlAutomaticParser::BuiltInCallContext::existsFunc() { +SparqlAutomaticParser::ExistsFuncContext* +SparqlAutomaticParser::BuiltInCallContext::existsFunc() { return getRuleContext(0); } -SparqlAutomaticParser::NotExistsFuncContext* SparqlAutomaticParser::BuiltInCallContext::notExistsFunc() { +SparqlAutomaticParser::NotExistsFuncContext* +SparqlAutomaticParser::BuiltInCallContext::notExistsFunc() { return getRuleContext(0); } - size_t SparqlAutomaticParser::BuiltInCallContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBuiltInCall; } -void SparqlAutomaticParser::BuiltInCallContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterBuiltInCall(this); +void SparqlAutomaticParser::BuiltInCallContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterBuiltInCall(this); } -void SparqlAutomaticParser::BuiltInCallContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitBuiltInCall(this); +void SparqlAutomaticParser::BuiltInCallContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitBuiltInCall(this); } - -std::any SparqlAutomaticParser::BuiltInCallContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::BuiltInCallContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBuiltInCall(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::builtInCall() { - BuiltInCallContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::BuiltInCallContext* +SparqlAutomaticParser::builtInCall() { + BuiltInCallContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 270, SparqlAutomaticParser::RuleBuiltInCall); #if __cplusplus > 201703L @@ -13461,8 +14894,8 @@ SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::builtInCall() break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } break; } @@ -14051,12 +15484,11 @@ SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::builtInCall() break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14065,51 +15497,55 @@ SparqlAutomaticParser::BuiltInCallContext* SparqlAutomaticParser::builtInCall() return _localctx; } -//----------------- RegexExpressionContext ------------------------------------------------------------------ +//----------------- RegexExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::RegexExpressionContext::RegexExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::RegexExpressionContext::RegexExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::RegexExpressionContext::REGEX() { return getToken(SparqlAutomaticParser::REGEX, 0); } -std::vector SparqlAutomaticParser::RegexExpressionContext::expression() { +std::vector +SparqlAutomaticParser::RegexExpressionContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::RegexExpressionContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::RegexExpressionContext::expression(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::RegexExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleRegexExpression; } -void SparqlAutomaticParser::RegexExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterRegexExpression(this); +void SparqlAutomaticParser::RegexExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterRegexExpression(this); } -void SparqlAutomaticParser::RegexExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitRegexExpression(this); +void SparqlAutomaticParser::RegexExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitRegexExpression(this); } - -std::any SparqlAutomaticParser::RegexExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::RegexExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitRegexExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::RegexExpressionContext* SparqlAutomaticParser::regexExpression() { - RegexExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::RegexExpressionContext* +SparqlAutomaticParser::regexExpression() { + RegexExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 272, SparqlAutomaticParser::RuleRegexExpression); size_t _la = 0; @@ -14144,9 +15580,8 @@ SparqlAutomaticParser::RegexExpressionContext* SparqlAutomaticParser::regexExpre } setState(1498); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14155,47 +15590,50 @@ SparqlAutomaticParser::RegexExpressionContext* SparqlAutomaticParser::regexExpre return _localctx; } -//----------------- LangExpressionContext ------------------------------------------------------------------ +//----------------- LangExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::LangExpressionContext::LangExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::LangExpressionContext::LangExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::LangExpressionContext::LANG() { return getToken(SparqlAutomaticParser::LANG, 0); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::LangExpressionContext::expression() { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::LangExpressionContext::expression() { return getRuleContext(0); } - size_t SparqlAutomaticParser::LangExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleLangExpression; } -void SparqlAutomaticParser::LangExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterLangExpression(this); +void SparqlAutomaticParser::LangExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterLangExpression(this); } -void SparqlAutomaticParser::LangExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitLangExpression(this); +void SparqlAutomaticParser::LangExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitLangExpression(this); } - -std::any SparqlAutomaticParser::LangExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::LangExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitLangExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::LangExpressionContext* SparqlAutomaticParser::langExpression() { - LangExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::LangExpressionContext* +SparqlAutomaticParser::langExpression() { + LangExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 274, SparqlAutomaticParser::RuleLangExpression); #if __cplusplus > 201703L @@ -14215,9 +15653,8 @@ SparqlAutomaticParser::LangExpressionContext* SparqlAutomaticParser::langExpress expression(); setState(1503); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14226,51 +15663,56 @@ SparqlAutomaticParser::LangExpressionContext* SparqlAutomaticParser::langExpress return _localctx; } -//----------------- SubstringExpressionContext ------------------------------------------------------------------ +//----------------- SubstringExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::SubstringExpressionContext::SubstringExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::SubstringExpressionContext::SubstringExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -tree::TerminalNode* SparqlAutomaticParser::SubstringExpressionContext::SUBSTR() { +tree::TerminalNode* +SparqlAutomaticParser::SubstringExpressionContext::SUBSTR() { return getToken(SparqlAutomaticParser::SUBSTR, 0); } -std::vector SparqlAutomaticParser::SubstringExpressionContext::expression() { +std::vector +SparqlAutomaticParser::SubstringExpressionContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::SubstringExpressionContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::SubstringExpressionContext::expression(size_t i) { return getRuleContext(i); } - size_t SparqlAutomaticParser::SubstringExpressionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleSubstringExpression; } -void SparqlAutomaticParser::SubstringExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterSubstringExpression(this); +void SparqlAutomaticParser::SubstringExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterSubstringExpression(this); } -void SparqlAutomaticParser::SubstringExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitSubstringExpression(this); +void SparqlAutomaticParser::SubstringExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitSubstringExpression(this); } - -std::any SparqlAutomaticParser::SubstringExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::SubstringExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitSubstringExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::SubstringExpressionContext* SparqlAutomaticParser::substringExpression() { - SubstringExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::SubstringExpressionContext* +SparqlAutomaticParser::substringExpression() { + SubstringExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 276, SparqlAutomaticParser::RuleSubstringExpression); size_t _la = 0; @@ -14305,9 +15747,8 @@ SparqlAutomaticParser::SubstringExpressionContext* SparqlAutomaticParser::substr } setState(1514); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14316,51 +15757,58 @@ SparqlAutomaticParser::SubstringExpressionContext* SparqlAutomaticParser::substr return _localctx; } -//----------------- StrReplaceExpressionContext ------------------------------------------------------------------ +//----------------- StrReplaceExpressionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::StrReplaceExpressionContext::StrReplaceExpressionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::StrReplaceExpressionContext::StrReplaceExpressionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -tree::TerminalNode* SparqlAutomaticParser::StrReplaceExpressionContext::REPLACE() { +tree::TerminalNode* +SparqlAutomaticParser::StrReplaceExpressionContext::REPLACE() { return getToken(SparqlAutomaticParser::REPLACE, 0); } -std::vector SparqlAutomaticParser::StrReplaceExpressionContext::expression() { +std::vector +SparqlAutomaticParser::StrReplaceExpressionContext::expression() { return getRuleContexts(); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::StrReplaceExpressionContext::expression(size_t i) { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::StrReplaceExpressionContext::expression(size_t i) { return getRuleContext(i); } - -size_t SparqlAutomaticParser::StrReplaceExpressionContext::getRuleIndex() const { +size_t SparqlAutomaticParser::StrReplaceExpressionContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleStrReplaceExpression; } -void SparqlAutomaticParser::StrReplaceExpressionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::StrReplaceExpressionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterStrReplaceExpression(this); } -void SparqlAutomaticParser::StrReplaceExpressionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitStrReplaceExpression(this); +void SparqlAutomaticParser::StrReplaceExpressionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitStrReplaceExpression(this); } - -std::any SparqlAutomaticParser::StrReplaceExpressionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::StrReplaceExpressionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitStrReplaceExpression(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::StrReplaceExpressionContext* SparqlAutomaticParser::strReplaceExpression() { - StrReplaceExpressionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::StrReplaceExpressionContext* +SparqlAutomaticParser::strReplaceExpression() { + StrReplaceExpressionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 278, SparqlAutomaticParser::RuleStrReplaceExpression); size_t _la = 0; @@ -14399,9 +15847,8 @@ SparqlAutomaticParser::StrReplaceExpressionContext* SparqlAutomaticParser::strRe } setState(1527); match(SparqlAutomaticParser::T__2); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14410,39 +15857,40 @@ SparqlAutomaticParser::StrReplaceExpressionContext* SparqlAutomaticParser::strRe return _localctx; } -//----------------- ExistsFuncContext ------------------------------------------------------------------ +//----------------- ExistsFuncContext +//------------------------------------------------------------------ -SparqlAutomaticParser::ExistsFuncContext::ExistsFuncContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::ExistsFuncContext::ExistsFuncContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::ExistsFuncContext::EXISTS() { return getToken(SparqlAutomaticParser::EXISTS, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::ExistsFuncContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::ExistsFuncContext::groupGraphPattern() { return getRuleContext(0); } - size_t SparqlAutomaticParser::ExistsFuncContext::getRuleIndex() const { return SparqlAutomaticParser::RuleExistsFunc; } -void SparqlAutomaticParser::ExistsFuncContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterExistsFunc(this); +void SparqlAutomaticParser::ExistsFuncContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterExistsFunc(this); } -void SparqlAutomaticParser::ExistsFuncContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitExistsFunc(this); +void SparqlAutomaticParser::ExistsFuncContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitExistsFunc(this); } - -std::any SparqlAutomaticParser::ExistsFuncContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::ExistsFuncContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitExistsFunc(this); else @@ -14450,7 +15898,8 @@ std::any SparqlAutomaticParser::ExistsFuncContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::ExistsFuncContext* SparqlAutomaticParser::existsFunc() { - ExistsFuncContext *_localctx = _tracker.createInstance(_ctx, getState()); + ExistsFuncContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 280, SparqlAutomaticParser::RuleExistsFunc); #if __cplusplus > 201703L @@ -14466,9 +15915,8 @@ SparqlAutomaticParser::ExistsFuncContext* SparqlAutomaticParser::existsFunc() { match(SparqlAutomaticParser::EXISTS); setState(1530); groupGraphPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14477,11 +15925,12 @@ SparqlAutomaticParser::ExistsFuncContext* SparqlAutomaticParser::existsFunc() { return _localctx; } -//----------------- NotExistsFuncContext ------------------------------------------------------------------ +//----------------- NotExistsFuncContext +//------------------------------------------------------------------ -SparqlAutomaticParser::NotExistsFuncContext::NotExistsFuncContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::NotExistsFuncContext::NotExistsFuncContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::NotExistsFuncContext::NOT() { return getToken(SparqlAutomaticParser::NOT, 0); @@ -14491,37 +15940,39 @@ tree::TerminalNode* SparqlAutomaticParser::NotExistsFuncContext::EXISTS() { return getToken(SparqlAutomaticParser::EXISTS, 0); } -SparqlAutomaticParser::GroupGraphPatternContext* SparqlAutomaticParser::NotExistsFuncContext::groupGraphPattern() { +SparqlAutomaticParser::GroupGraphPatternContext* +SparqlAutomaticParser::NotExistsFuncContext::groupGraphPattern() { return getRuleContext(0); } - size_t SparqlAutomaticParser::NotExistsFuncContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNotExistsFunc; } -void SparqlAutomaticParser::NotExistsFuncContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterNotExistsFunc(this); +void SparqlAutomaticParser::NotExistsFuncContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterNotExistsFunc(this); } -void SparqlAutomaticParser::NotExistsFuncContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitNotExistsFunc(this); +void SparqlAutomaticParser::NotExistsFuncContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitNotExistsFunc(this); } - -std::any SparqlAutomaticParser::NotExistsFuncContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::NotExistsFuncContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNotExistsFunc(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NotExistsFuncContext* SparqlAutomaticParser::notExistsFunc() { - NotExistsFuncContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NotExistsFuncContext* +SparqlAutomaticParser::notExistsFunc() { + NotExistsFuncContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 282, SparqlAutomaticParser::RuleNotExistsFunc); #if __cplusplus > 201703L @@ -14539,9 +15990,8 @@ SparqlAutomaticParser::NotExistsFuncContext* SparqlAutomaticParser::notExistsFun match(SparqlAutomaticParser::EXISTS); setState(1534); groupGraphPattern(); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14550,17 +16000,19 @@ SparqlAutomaticParser::NotExistsFuncContext* SparqlAutomaticParser::notExistsFun return _localctx; } -//----------------- AggregateContext ------------------------------------------------------------------ +//----------------- AggregateContext +//------------------------------------------------------------------ -SparqlAutomaticParser::AggregateContext::AggregateContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::AggregateContext::AggregateContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::AggregateContext::COUNT() { return getToken(SparqlAutomaticParser::COUNT, 0); } -SparqlAutomaticParser::ExpressionContext* SparqlAutomaticParser::AggregateContext::expression() { +SparqlAutomaticParser::ExpressionContext* +SparqlAutomaticParser::AggregateContext::expression() { return getRuleContext(0); } @@ -14600,29 +16052,29 @@ tree::TerminalNode* SparqlAutomaticParser::AggregateContext::SEPARATOR() { return getToken(SparqlAutomaticParser::SEPARATOR, 0); } -SparqlAutomaticParser::StringContext* SparqlAutomaticParser::AggregateContext::string() { +SparqlAutomaticParser::StringContext* +SparqlAutomaticParser::AggregateContext::string() { return getRuleContext(0); } - size_t SparqlAutomaticParser::AggregateContext::getRuleIndex() const { return SparqlAutomaticParser::RuleAggregate; } -void SparqlAutomaticParser::AggregateContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterAggregate(this); +void SparqlAutomaticParser::AggregateContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterAggregate(this); } -void SparqlAutomaticParser::AggregateContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitAggregate(this); +void SparqlAutomaticParser::AggregateContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitAggregate(this); } - -std::any SparqlAutomaticParser::AggregateContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::AggregateContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitAggregate(this); else @@ -14630,7 +16082,8 @@ std::any SparqlAutomaticParser::AggregateContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { - AggregateContext *_localctx = _tracker.createInstance(_ctx, getState()); + AggregateContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 284, SparqlAutomaticParser::RuleAggregate); size_t _la = 0; @@ -14760,8 +16213,8 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } setState(1545); match(SparqlAutomaticParser::T__2); @@ -14929,12 +16382,11 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -14943,47 +16395,51 @@ SparqlAutomaticParser::AggregateContext* SparqlAutomaticParser::aggregate() { return _localctx; } -//----------------- IriOrFunctionContext ------------------------------------------------------------------ +//----------------- IriOrFunctionContext +//------------------------------------------------------------------ -SparqlAutomaticParser::IriOrFunctionContext::IriOrFunctionContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::IriOrFunctionContext::IriOrFunctionContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::IriOrFunctionContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::IriOrFunctionContext::iri() { return getRuleContext(0); } -SparqlAutomaticParser::ArgListContext* SparqlAutomaticParser::IriOrFunctionContext::argList() { +SparqlAutomaticParser::ArgListContext* +SparqlAutomaticParser::IriOrFunctionContext::argList() { return getRuleContext(0); } - size_t SparqlAutomaticParser::IriOrFunctionContext::getRuleIndex() const { return SparqlAutomaticParser::RuleIriOrFunction; } -void SparqlAutomaticParser::IriOrFunctionContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterIriOrFunction(this); +void SparqlAutomaticParser::IriOrFunctionContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterIriOrFunction(this); } -void SparqlAutomaticParser::IriOrFunctionContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitIriOrFunction(this); +void SparqlAutomaticParser::IriOrFunctionContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitIriOrFunction(this); } - -std::any SparqlAutomaticParser::IriOrFunctionContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::IriOrFunctionContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitIriOrFunction(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::IriOrFunctionContext* SparqlAutomaticParser::iriOrFunction() { - IriOrFunctionContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::IriOrFunctionContext* +SparqlAutomaticParser::iriOrFunction() { + IriOrFunctionContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 286, SparqlAutomaticParser::RuleIriOrFunction); size_t _la = 0; @@ -15002,13 +16458,13 @@ SparqlAutomaticParser::IriOrFunctionContext* SparqlAutomaticParser::iriOrFunctio _errHandler->sync(this); _la = _input->LA(1); - if (_la == SparqlAutomaticParser::T__1 || _la == SparqlAutomaticParser::NIL) { + if (_la == SparqlAutomaticParser::T__1 || + _la == SparqlAutomaticParser::NIL) { setState(1611); argList(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15017,13 +16473,15 @@ SparqlAutomaticParser::IriOrFunctionContext* SparqlAutomaticParser::iriOrFunctio return _localctx; } -//----------------- RdfLiteralContext ------------------------------------------------------------------ +//----------------- RdfLiteralContext +//------------------------------------------------------------------ -SparqlAutomaticParser::RdfLiteralContext::RdfLiteralContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::RdfLiteralContext::RdfLiteralContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::StringContext* SparqlAutomaticParser::RdfLiteralContext::string() { +SparqlAutomaticParser::StringContext* +SparqlAutomaticParser::RdfLiteralContext::string() { return getRuleContext(0); } @@ -15031,29 +16489,29 @@ tree::TerminalNode* SparqlAutomaticParser::RdfLiteralContext::LANGTAG() { return getToken(SparqlAutomaticParser::LANGTAG, 0); } -SparqlAutomaticParser::IriContext* SparqlAutomaticParser::RdfLiteralContext::iri() { +SparqlAutomaticParser::IriContext* +SparqlAutomaticParser::RdfLiteralContext::iri() { return getRuleContext(0); } - size_t SparqlAutomaticParser::RdfLiteralContext::getRuleIndex() const { return SparqlAutomaticParser::RuleRdfLiteral; } -void SparqlAutomaticParser::RdfLiteralContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterRdfLiteral(this); +void SparqlAutomaticParser::RdfLiteralContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterRdfLiteral(this); } -void SparqlAutomaticParser::RdfLiteralContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitRdfLiteral(this); +void SparqlAutomaticParser::RdfLiteralContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitRdfLiteral(this); } - -std::any SparqlAutomaticParser::RdfLiteralContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::RdfLiteralContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitRdfLiteral(this); else @@ -15061,7 +16519,8 @@ std::any SparqlAutomaticParser::RdfLiteralContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::rdfLiteral() { - RdfLiteralContext *_localctx = _tracker.createInstance(_ctx, getState()); + RdfLiteralContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 288, SparqlAutomaticParser::RuleRdfLiteral); #if __cplusplus > 201703L @@ -15154,12 +16613,11 @@ SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::rdfLiteral() { break; } - default: - break; + default: + break; } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15168,51 +16626,59 @@ SparqlAutomaticParser::RdfLiteralContext* SparqlAutomaticParser::rdfLiteral() { return _localctx; } -//----------------- NumericLiteralContext ------------------------------------------------------------------ +//----------------- NumericLiteralContext +//------------------------------------------------------------------ -SparqlAutomaticParser::NumericLiteralContext::NumericLiteralContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::NumericLiteralContext::NumericLiteralContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::NumericLiteralUnsignedContext* SparqlAutomaticParser::NumericLiteralContext::numericLiteralUnsigned() { - return getRuleContext(0); +SparqlAutomaticParser::NumericLiteralUnsignedContext* +SparqlAutomaticParser::NumericLiteralContext::numericLiteralUnsigned() { + return getRuleContext( + 0); } -SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser::NumericLiteralContext::numericLiteralPositive() { - return getRuleContext(0); +SparqlAutomaticParser::NumericLiteralPositiveContext* +SparqlAutomaticParser::NumericLiteralContext::numericLiteralPositive() { + return getRuleContext( + 0); } -SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser::NumericLiteralContext::numericLiteralNegative() { - return getRuleContext(0); +SparqlAutomaticParser::NumericLiteralNegativeContext* +SparqlAutomaticParser::NumericLiteralContext::numericLiteralNegative() { + return getRuleContext( + 0); } - size_t SparqlAutomaticParser::NumericLiteralContext::getRuleIndex() const { return SparqlAutomaticParser::RuleNumericLiteral; } -void SparqlAutomaticParser::NumericLiteralContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterNumericLiteral(this); +void SparqlAutomaticParser::NumericLiteralContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterNumericLiteral(this); } -void SparqlAutomaticParser::NumericLiteralContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitNumericLiteral(this); +void SparqlAutomaticParser::NumericLiteralContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitNumericLiteral(this); } - -std::any SparqlAutomaticParser::NumericLiteralContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::NumericLiteralContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericLiteral(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::numericLiteral() { - NumericLiteralContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericLiteralContext* +SparqlAutomaticParser::numericLiteral() { + NumericLiteralContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 290, SparqlAutomaticParser::RuleNumericLiteral); #if __cplusplus > 201703L @@ -15253,12 +16719,11 @@ SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::numericLite break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15267,51 +16732,60 @@ SparqlAutomaticParser::NumericLiteralContext* SparqlAutomaticParser::numericLite return _localctx; } -//----------------- NumericLiteralUnsignedContext ------------------------------------------------------------------ +//----------------- NumericLiteralUnsignedContext +//------------------------------------------------------------------ -SparqlAutomaticParser::NumericLiteralUnsignedContext::NumericLiteralUnsignedContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::NumericLiteralUnsignedContext:: + NumericLiteralUnsignedContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralUnsignedContext::INTEGER() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralUnsignedContext::INTEGER() { return getToken(SparqlAutomaticParser::INTEGER, 0); } -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralUnsignedContext::DECIMAL() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralUnsignedContext::DECIMAL() { return getToken(SparqlAutomaticParser::DECIMAL, 0); } -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralUnsignedContext::DOUBLE() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralUnsignedContext::DOUBLE() { return getToken(SparqlAutomaticParser::DOUBLE, 0); } - -size_t SparqlAutomaticParser::NumericLiteralUnsignedContext::getRuleIndex() const { +size_t SparqlAutomaticParser::NumericLiteralUnsignedContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleNumericLiteralUnsigned; } -void SparqlAutomaticParser::NumericLiteralUnsignedContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralUnsignedContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterNumericLiteralUnsigned(this); } -void SparqlAutomaticParser::NumericLiteralUnsignedContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralUnsignedContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitNumericLiteralUnsigned(this); } - -std::any SparqlAutomaticParser::NumericLiteralUnsignedContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::NumericLiteralUnsignedContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericLiteralUnsigned(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericLiteralUnsignedContext* SparqlAutomaticParser::numericLiteralUnsigned() { - NumericLiteralUnsignedContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericLiteralUnsignedContext* +SparqlAutomaticParser::numericLiteralUnsigned() { + NumericLiteralUnsignedContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 292, SparqlAutomaticParser::RuleNumericLiteralUnsigned); size_t _la = 0; @@ -15326,17 +16800,15 @@ SparqlAutomaticParser::NumericLiteralUnsignedContext* SparqlAutomaticParser::num enterOuterAlt(_localctx, 1); setState(1625); _la = _input->LA(1); - if (!((((_la - 150) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 150)) & 7) != 0)) { - _errHandler->recoverInline(this); - } - else { + if (!((((_la - 150) & ~0x3fULL) == 0) && + ((1ULL << (_la - 150)) & 7) != 0)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15345,51 +16817,60 @@ SparqlAutomaticParser::NumericLiteralUnsignedContext* SparqlAutomaticParser::num return _localctx; } -//----------------- NumericLiteralPositiveContext ------------------------------------------------------------------ +//----------------- NumericLiteralPositiveContext +//------------------------------------------------------------------ -SparqlAutomaticParser::NumericLiteralPositiveContext::NumericLiteralPositiveContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::NumericLiteralPositiveContext:: + NumericLiteralPositiveContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralPositiveContext::INTEGER_POSITIVE() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralPositiveContext::INTEGER_POSITIVE() { return getToken(SparqlAutomaticParser::INTEGER_POSITIVE, 0); } -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralPositiveContext::DECIMAL_POSITIVE() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralPositiveContext::DECIMAL_POSITIVE() { return getToken(SparqlAutomaticParser::DECIMAL_POSITIVE, 0); } -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralPositiveContext::DOUBLE_POSITIVE() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralPositiveContext::DOUBLE_POSITIVE() { return getToken(SparqlAutomaticParser::DOUBLE_POSITIVE, 0); } - -size_t SparqlAutomaticParser::NumericLiteralPositiveContext::getRuleIndex() const { +size_t SparqlAutomaticParser::NumericLiteralPositiveContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleNumericLiteralPositive; } -void SparqlAutomaticParser::NumericLiteralPositiveContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralPositiveContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterNumericLiteralPositive(this); } -void SparqlAutomaticParser::NumericLiteralPositiveContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralPositiveContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitNumericLiteralPositive(this); } - -std::any SparqlAutomaticParser::NumericLiteralPositiveContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::NumericLiteralPositiveContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericLiteralPositive(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser::numericLiteralPositive() { - NumericLiteralPositiveContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericLiteralPositiveContext* +SparqlAutomaticParser::numericLiteralPositive() { + NumericLiteralPositiveContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 294, SparqlAutomaticParser::RuleNumericLiteralPositive); size_t _la = 0; @@ -15404,17 +16885,15 @@ SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser::num enterOuterAlt(_localctx, 1); setState(1627); _la = _input->LA(1); - if (!((((_la - 153) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 153)) & 7) != 0)) { - _errHandler->recoverInline(this); - } - else { + if (!((((_la - 153) & ~0x3fULL) == 0) && + ((1ULL << (_la - 153)) & 7) != 0)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15423,51 +16902,60 @@ SparqlAutomaticParser::NumericLiteralPositiveContext* SparqlAutomaticParser::num return _localctx; } -//----------------- NumericLiteralNegativeContext ------------------------------------------------------------------ +//----------------- NumericLiteralNegativeContext +//------------------------------------------------------------------ -SparqlAutomaticParser::NumericLiteralNegativeContext::NumericLiteralNegativeContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::NumericLiteralNegativeContext:: + NumericLiteralNegativeContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralNegativeContext::INTEGER_NEGATIVE() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralNegativeContext::INTEGER_NEGATIVE() { return getToken(SparqlAutomaticParser::INTEGER_NEGATIVE, 0); } -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralNegativeContext::DECIMAL_NEGATIVE() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralNegativeContext::DECIMAL_NEGATIVE() { return getToken(SparqlAutomaticParser::DECIMAL_NEGATIVE, 0); } -tree::TerminalNode* SparqlAutomaticParser::NumericLiteralNegativeContext::DOUBLE_NEGATIVE() { +tree::TerminalNode* +SparqlAutomaticParser::NumericLiteralNegativeContext::DOUBLE_NEGATIVE() { return getToken(SparqlAutomaticParser::DOUBLE_NEGATIVE, 0); } - -size_t SparqlAutomaticParser::NumericLiteralNegativeContext::getRuleIndex() const { +size_t SparqlAutomaticParser::NumericLiteralNegativeContext::getRuleIndex() + const { return SparqlAutomaticParser::RuleNumericLiteralNegative; } -void SparqlAutomaticParser::NumericLiteralNegativeContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralNegativeContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->enterNumericLiteralNegative(this); } -void SparqlAutomaticParser::NumericLiteralNegativeContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); +void SparqlAutomaticParser::NumericLiteralNegativeContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); if (parserListener != nullptr) parserListener->exitNumericLiteralNegative(this); } - -std::any SparqlAutomaticParser::NumericLiteralNegativeContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::NumericLiteralNegativeContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitNumericLiteralNegative(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser::numericLiteralNegative() { - NumericLiteralNegativeContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::NumericLiteralNegativeContext* +SparqlAutomaticParser::numericLiteralNegative() { + NumericLiteralNegativeContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 296, SparqlAutomaticParser::RuleNumericLiteralNegative); size_t _la = 0; @@ -15482,17 +16970,15 @@ SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser::num enterOuterAlt(_localctx, 1); setState(1629); _la = _input->LA(1); - if (!((((_la - 156) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 156)) & 7) != 0)) { - _errHandler->recoverInline(this); - } - else { + if (!((((_la - 156) & ~0x3fULL) == 0) && + ((1ULL << (_la - 156)) & 7) != 0)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15501,39 +16987,41 @@ SparqlAutomaticParser::NumericLiteralNegativeContext* SparqlAutomaticParser::num return _localctx; } -//----------------- BooleanLiteralContext ------------------------------------------------------------------ - -SparqlAutomaticParser::BooleanLiteralContext::BooleanLiteralContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +//----------------- BooleanLiteralContext +//------------------------------------------------------------------ +SparqlAutomaticParser::BooleanLiteralContext::BooleanLiteralContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} size_t SparqlAutomaticParser::BooleanLiteralContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBooleanLiteral; } -void SparqlAutomaticParser::BooleanLiteralContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterBooleanLiteral(this); +void SparqlAutomaticParser::BooleanLiteralContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterBooleanLiteral(this); } -void SparqlAutomaticParser::BooleanLiteralContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitBooleanLiteral(this); +void SparqlAutomaticParser::BooleanLiteralContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitBooleanLiteral(this); } - -std::any SparqlAutomaticParser::BooleanLiteralContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::BooleanLiteralContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBooleanLiteral(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::booleanLiteral() { - BooleanLiteralContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::BooleanLiteralContext* +SparqlAutomaticParser::booleanLiteral() { + BooleanLiteralContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 298, SparqlAutomaticParser::RuleBooleanLiteral); size_t _la = 0; @@ -15550,16 +17038,14 @@ SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::booleanLite _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::T__27 - || _la == SparqlAutomaticParser::T__28)) { - _errHandler->recoverInline(this); - } - else { + || _la == SparqlAutomaticParser::T__28)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15568,11 +17054,12 @@ SparqlAutomaticParser::BooleanLiteralContext* SparqlAutomaticParser::booleanLite return _localctx; } -//----------------- StringContext ------------------------------------------------------------------ +//----------------- StringContext +//------------------------------------------------------------------ -SparqlAutomaticParser::StringContext::StringContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::StringContext::StringContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::StringContext::STRING_LITERAL1() { return getToken(SparqlAutomaticParser::STRING_LITERAL1, 0); @@ -15582,33 +17069,34 @@ tree::TerminalNode* SparqlAutomaticParser::StringContext::STRING_LITERAL2() { return getToken(SparqlAutomaticParser::STRING_LITERAL2, 0); } -tree::TerminalNode* SparqlAutomaticParser::StringContext::STRING_LITERAL_LONG1() { +tree::TerminalNode* +SparqlAutomaticParser::StringContext::STRING_LITERAL_LONG1() { return getToken(SparqlAutomaticParser::STRING_LITERAL_LONG1, 0); } -tree::TerminalNode* SparqlAutomaticParser::StringContext::STRING_LITERAL_LONG2() { +tree::TerminalNode* +SparqlAutomaticParser::StringContext::STRING_LITERAL_LONG2() { return getToken(SparqlAutomaticParser::STRING_LITERAL_LONG2, 0); } - size_t SparqlAutomaticParser::StringContext::getRuleIndex() const { return SparqlAutomaticParser::RuleString; } -void SparqlAutomaticParser::StringContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterString(this); +void SparqlAutomaticParser::StringContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterString(this); } -void SparqlAutomaticParser::StringContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitString(this); +void SparqlAutomaticParser::StringContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitString(this); } - -std::any SparqlAutomaticParser::StringContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::StringContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitString(this); else @@ -15616,7 +17104,8 @@ std::any SparqlAutomaticParser::StringContext::accept(tree::ParseTreeVisitor *vi } SparqlAutomaticParser::StringContext* SparqlAutomaticParser::string() { - StringContext *_localctx = _tracker.createInstance(_ctx, getState()); + StringContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 300, SparqlAutomaticParser::RuleString); size_t _la = 0; @@ -15631,17 +17120,15 @@ SparqlAutomaticParser::StringContext* SparqlAutomaticParser::string() { enterOuterAlt(_localctx, 1); setState(1633); _la = _input->LA(1); - if (!((((_la - 160) & ~ 0x3fULL) == 0) && - ((1ULL << (_la - 160)) & 15) != 0)) { - _errHandler->recoverInline(this); - } - else { + if (!((((_la - 160) & ~0x3fULL) == 0) && + ((1ULL << (_la - 160)) & 15) != 0)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15650,17 +17137,20 @@ SparqlAutomaticParser::StringContext* SparqlAutomaticParser::string() { return _localctx; } -//----------------- IriContext ------------------------------------------------------------------ +//----------------- IriContext +//------------------------------------------------------------------ -SparqlAutomaticParser::IriContext::IriContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::IriContext::IriContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::IriContext::iriref() { +SparqlAutomaticParser::IrirefContext* +SparqlAutomaticParser::IriContext::iriref() { return getRuleContext(0); } -SparqlAutomaticParser::PrefixedNameContext* SparqlAutomaticParser::IriContext::prefixedName() { +SparqlAutomaticParser::PrefixedNameContext* +SparqlAutomaticParser::IriContext::prefixedName() { return getRuleContext(0); } @@ -15668,25 +17158,24 @@ tree::TerminalNode* SparqlAutomaticParser::IriContext::PREFIX_LANGTAG() { return getToken(SparqlAutomaticParser::PREFIX_LANGTAG, 0); } - size_t SparqlAutomaticParser::IriContext::getRuleIndex() const { return SparqlAutomaticParser::RuleIri; } -void SparqlAutomaticParser::IriContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterIri(this); +void SparqlAutomaticParser::IriContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterIri(this); } -void SparqlAutomaticParser::IriContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitIri(this); +void SparqlAutomaticParser::IriContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitIri(this); } - -std::any SparqlAutomaticParser::IriContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::IriContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitIri(this); else @@ -15694,7 +17183,7 @@ std::any SparqlAutomaticParser::IriContext::accept(tree::ParseTreeVisitor *visit } SparqlAutomaticParser::IriContext* SparqlAutomaticParser::iri() { - IriContext *_localctx = _tracker.createInstance(_ctx, getState()); + IriContext* _localctx = _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 302, SparqlAutomaticParser::RuleIri); size_t _la = 0; @@ -15731,12 +17220,11 @@ SparqlAutomaticParser::IriContext* SparqlAutomaticParser::iri() { break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15745,47 +17233,51 @@ SparqlAutomaticParser::IriContext* SparqlAutomaticParser::iri() { return _localctx; } -//----------------- PrefixedNameContext ------------------------------------------------------------------ +//----------------- PrefixedNameContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PrefixedNameContext::PrefixedNameContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PrefixedNameContext::PrefixedNameContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::PrefixedNameContext::pnameLn() { +SparqlAutomaticParser::PnameLnContext* +SparqlAutomaticParser::PrefixedNameContext::pnameLn() { return getRuleContext(0); } -SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::PrefixedNameContext::pnameNs() { +SparqlAutomaticParser::PnameNsContext* +SparqlAutomaticParser::PrefixedNameContext::pnameNs() { return getRuleContext(0); } - size_t SparqlAutomaticParser::PrefixedNameContext::getRuleIndex() const { return SparqlAutomaticParser::RulePrefixedName; } -void SparqlAutomaticParser::PrefixedNameContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPrefixedName(this); +void SparqlAutomaticParser::PrefixedNameContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPrefixedName(this); } -void SparqlAutomaticParser::PrefixedNameContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPrefixedName(this); +void SparqlAutomaticParser::PrefixedNameContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPrefixedName(this); } - -std::any SparqlAutomaticParser::PrefixedNameContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PrefixedNameContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPrefixedName(this); else return visitor->visitChildren(this); } -SparqlAutomaticParser::PrefixedNameContext* SparqlAutomaticParser::prefixedName() { - PrefixedNameContext *_localctx = _tracker.createInstance(_ctx, getState()); +SparqlAutomaticParser::PrefixedNameContext* +SparqlAutomaticParser::prefixedName() { + PrefixedNameContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 304, SparqlAutomaticParser::RulePrefixedName); #if __cplusplus > 201703L @@ -15813,12 +17305,11 @@ SparqlAutomaticParser::PrefixedNameContext* SparqlAutomaticParser::prefixedName( break; } - default: - throw NoViableAltException(this); + default: + throw NoViableAltException(this); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15827,13 +17318,15 @@ SparqlAutomaticParser::PrefixedNameContext* SparqlAutomaticParser::prefixedName( return _localctx; } -//----------------- BlankNodeContext ------------------------------------------------------------------ +//----------------- BlankNodeContext +//------------------------------------------------------------------ -SparqlAutomaticParser::BlankNodeContext::BlankNodeContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::BlankNodeContext::BlankNodeContext( + ParserRuleContext* parent, size_t invokingState) + : ParserRuleContext(parent, invokingState) {} -tree::TerminalNode* SparqlAutomaticParser::BlankNodeContext::BLANK_NODE_LABEL() { +tree::TerminalNode* +SparqlAutomaticParser::BlankNodeContext::BLANK_NODE_LABEL() { return getToken(SparqlAutomaticParser::BLANK_NODE_LABEL, 0); } @@ -15841,25 +17334,24 @@ tree::TerminalNode* SparqlAutomaticParser::BlankNodeContext::ANON() { return getToken(SparqlAutomaticParser::ANON, 0); } - size_t SparqlAutomaticParser::BlankNodeContext::getRuleIndex() const { return SparqlAutomaticParser::RuleBlankNode; } -void SparqlAutomaticParser::BlankNodeContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterBlankNode(this); +void SparqlAutomaticParser::BlankNodeContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterBlankNode(this); } -void SparqlAutomaticParser::BlankNodeContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitBlankNode(this); +void SparqlAutomaticParser::BlankNodeContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitBlankNode(this); } - -std::any SparqlAutomaticParser::BlankNodeContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::BlankNodeContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitBlankNode(this); else @@ -15867,7 +17359,8 @@ std::any SparqlAutomaticParser::BlankNodeContext::accept(tree::ParseTreeVisitor } SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::blankNode() { - BlankNodeContext *_localctx = _tracker.createInstance(_ctx, getState()); + BlankNodeContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 306, SparqlAutomaticParser::RuleBlankNode); size_t _la = 0; @@ -15884,16 +17377,14 @@ SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::blankNode() { _la = _input->LA(1); if (!(_la == SparqlAutomaticParser::BLANK_NODE_LABEL - || _la == SparqlAutomaticParser::ANON)) { - _errHandler->recoverInline(this); - } - else { + || _la == SparqlAutomaticParser::ANON)) { + _errHandler->recoverInline(this); + } else { _errHandler->reportMatch(this); consume(); } - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15902,35 +17393,35 @@ SparqlAutomaticParser::BlankNodeContext* SparqlAutomaticParser::blankNode() { return _localctx; } -//----------------- IrirefContext ------------------------------------------------------------------ +//----------------- IrirefContext +//------------------------------------------------------------------ -SparqlAutomaticParser::IrirefContext::IrirefContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::IrirefContext::IrirefContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::IrirefContext::IRI_REF() { return getToken(SparqlAutomaticParser::IRI_REF, 0); } - size_t SparqlAutomaticParser::IrirefContext::getRuleIndex() const { return SparqlAutomaticParser::RuleIriref; } -void SparqlAutomaticParser::IrirefContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterIriref(this); +void SparqlAutomaticParser::IrirefContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterIriref(this); } -void SparqlAutomaticParser::IrirefContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitIriref(this); +void SparqlAutomaticParser::IrirefContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitIriref(this); } - -std::any SparqlAutomaticParser::IrirefContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::IrirefContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitIriref(this); else @@ -15938,7 +17429,8 @@ std::any SparqlAutomaticParser::IrirefContext::accept(tree::ParseTreeVisitor *vi } SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::iriref() { - IrirefContext *_localctx = _tracker.createInstance(_ctx, getState()); + IrirefContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 308, SparqlAutomaticParser::RuleIriref); #if __cplusplus > 201703L @@ -15952,9 +17444,8 @@ SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::iriref() { enterOuterAlt(_localctx, 1); setState(1648); match(SparqlAutomaticParser::IRI_REF); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -15963,35 +17454,35 @@ SparqlAutomaticParser::IrirefContext* SparqlAutomaticParser::iriref() { return _localctx; } -//----------------- PnameLnContext ------------------------------------------------------------------ +//----------------- PnameLnContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PnameLnContext::PnameLnContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PnameLnContext::PnameLnContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::PnameLnContext::PNAME_LN() { return getToken(SparqlAutomaticParser::PNAME_LN, 0); } - size_t SparqlAutomaticParser::PnameLnContext::getRuleIndex() const { return SparqlAutomaticParser::RulePnameLn; } -void SparqlAutomaticParser::PnameLnContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPnameLn(this); +void SparqlAutomaticParser::PnameLnContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPnameLn(this); } -void SparqlAutomaticParser::PnameLnContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPnameLn(this); +void SparqlAutomaticParser::PnameLnContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPnameLn(this); } - -std::any SparqlAutomaticParser::PnameLnContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PnameLnContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPnameLn(this); else @@ -15999,7 +17490,8 @@ std::any SparqlAutomaticParser::PnameLnContext::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::pnameLn() { - PnameLnContext *_localctx = _tracker.createInstance(_ctx, getState()); + PnameLnContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 310, SparqlAutomaticParser::RulePnameLn); #if __cplusplus > 201703L @@ -16013,9 +17505,8 @@ SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::pnameLn() { enterOuterAlt(_localctx, 1); setState(1650); match(SparqlAutomaticParser::PNAME_LN); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16024,35 +17515,35 @@ SparqlAutomaticParser::PnameLnContext* SparqlAutomaticParser::pnameLn() { return _localctx; } -//----------------- PnameNsContext ------------------------------------------------------------------ +//----------------- PnameNsContext +//------------------------------------------------------------------ -SparqlAutomaticParser::PnameNsContext::PnameNsContext(ParserRuleContext *parent, size_t invokingState) - : ParserRuleContext(parent, invokingState) { -} +SparqlAutomaticParser::PnameNsContext::PnameNsContext(ParserRuleContext* parent, + size_t invokingState) + : ParserRuleContext(parent, invokingState) {} tree::TerminalNode* SparqlAutomaticParser::PnameNsContext::PNAME_NS() { return getToken(SparqlAutomaticParser::PNAME_NS, 0); } - size_t SparqlAutomaticParser::PnameNsContext::getRuleIndex() const { return SparqlAutomaticParser::RulePnameNs; } -void SparqlAutomaticParser::PnameNsContext::enterRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->enterPnameNs(this); +void SparqlAutomaticParser::PnameNsContext::enterRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->enterPnameNs(this); } -void SparqlAutomaticParser::PnameNsContext::exitRule(tree::ParseTreeListener *listener) { - auto parserListener = dynamic_cast(listener); - if (parserListener != nullptr) - parserListener->exitPnameNs(this); +void SparqlAutomaticParser::PnameNsContext::exitRule( + tree::ParseTreeListener* listener) { + auto parserListener = dynamic_cast(listener); + if (parserListener != nullptr) parserListener->exitPnameNs(this); } - -std::any SparqlAutomaticParser::PnameNsContext::accept(tree::ParseTreeVisitor *visitor) { +std::any SparqlAutomaticParser::PnameNsContext::accept( + tree::ParseTreeVisitor* visitor) { if (auto parserVisitor = dynamic_cast(visitor)) return parserVisitor->visitPnameNs(this); else @@ -16060,7 +17551,8 @@ std::any SparqlAutomaticParser::PnameNsContext::accept(tree::ParseTreeVisitor *v } SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::pnameNs() { - PnameNsContext *_localctx = _tracker.createInstance(_ctx, getState()); + PnameNsContext* _localctx = + _tracker.createInstance(_ctx, getState()); enterRule(_localctx, 312, SparqlAutomaticParser::RulePnameNs); #if __cplusplus > 201703L @@ -16074,9 +17566,8 @@ SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::pnameNs() { enterOuterAlt(_localctx, 1); setState(1652); match(SparqlAutomaticParser::PNAME_NS); - - } - catch (RecognitionException &e) { + + } catch (RecognitionException& e) { _errHandler->reportError(this, e); _localctx->exception = std::current_exception(); _errHandler->recover(this, _localctx->exception); @@ -16086,5 +17577,6 @@ SparqlAutomaticParser::PnameNsContext* SparqlAutomaticParser::pnameNs() { } void SparqlAutomaticParser::initialize() { - ::antlr4::internal::call_once(sparqlautomaticParserOnceFlag, sparqlautomaticParserInitialize); + ::antlr4::internal::call_once(sparqlautomaticParserOnceFlag, + sparqlautomaticParserInitialize); } diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticParser.h b/src/parser/sparqlParser/generated/SparqlAutomaticParser.h index 71a3281502..9b1fce885b 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticParser.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticParser.h @@ -3,103 +3,353 @@ #pragma once - #include "antlr4-runtime.h" - - - -class SparqlAutomaticParser : public antlr4::Parser { -public: +class SparqlAutomaticParser : public antlr4::Parser { + public: enum { - T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7, - T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14, - T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20, - T__20 = 21, T__21 = 22, T__22 = 23, T__23 = 24, T__24 = 25, T__25 = 26, - T__26 = 27, T__27 = 28, T__28 = 29, BASE = 30, PREFIX = 31, SELECT = 32, - DISTINCT = 33, REDUCED = 34, AS = 35, CONSTRUCT = 36, WHERE = 37, DESCRIBE = 38, - ASK = 39, FROM = 40, NAMED = 41, GROUPBY = 42, GROUP_CONCAT = 43, HAVING = 44, - ORDERBY = 45, INTERNALSORTBY = 46, ASC = 47, DESC = 48, LIMIT = 49, - OFFSET = 50, TEXTLIMIT = 51, VALUES = 52, LOAD = 53, SILENT = 54, INTO = 55, - CLEAR = 56, DROP = 57, CREATE = 58, ADD = 59, TO = 60, DATA = 61, MOVE = 62, - COPY = 63, INSERT = 64, DELETE = 65, WITH = 66, USING = 67, DEFAULT = 68, - GRAPH = 69, ALL = 70, OPTIONAL = 71, SERVICE = 72, BIND = 73, UNDEF = 74, - MINUS = 75, UNION = 76, FILTER = 77, NOT = 78, IN = 79, STR = 80, LANG = 81, - LANGMATCHES = 82, DATATYPE = 83, BOUND = 84, IRI = 85, URI = 86, BNODE = 87, - RAND = 88, ABS = 89, CEIL = 90, FLOOR = 91, ROUND = 92, CONCAT = 93, - STRLEN = 94, UCASE = 95, LCASE = 96, ENCODE_FOR_URI = 97, FOR = 98, - CONTAINS = 99, STRSTARTS = 100, STRENDS = 101, STRBEFORE = 102, STRAFTER = 103, - YEAR = 104, MONTH = 105, DAY = 106, HOURS = 107, MINUTES = 108, SECONDS = 109, - TIMEZONE = 110, TZ = 111, NOW = 112, UUID = 113, STRUUID = 114, SHA1 = 115, - SHA256 = 116, SHA384 = 117, SHA512 = 118, MD5 = 119, COALESCE = 120, - IF = 121, STRLANG = 122, STRDT = 123, SAMETERM = 124, ISIRI = 125, ISURI = 126, - ISBLANK = 127, ISLITERAL = 128, ISNUMERIC = 129, REGEX = 130, SUBSTR = 131, - REPLACE = 132, EXISTS = 133, COUNT = 134, SUM = 135, MIN = 136, MAX = 137, - AVG = 138, STDEV = 139, SAMPLE = 140, SEPARATOR = 141, IRI_REF = 142, - PNAME_NS = 143, PNAME_LN = 144, BLANK_NODE_LABEL = 145, VAR1 = 146, - VAR2 = 147, LANGTAG = 148, PREFIX_LANGTAG = 149, INTEGER = 150, DECIMAL = 151, - DOUBLE = 152, INTEGER_POSITIVE = 153, DECIMAL_POSITIVE = 154, DOUBLE_POSITIVE = 155, - INTEGER_NEGATIVE = 156, DECIMAL_NEGATIVE = 157, DOUBLE_NEGATIVE = 158, - EXPONENT = 159, STRING_LITERAL1 = 160, STRING_LITERAL2 = 161, STRING_LITERAL_LONG1 = 162, - STRING_LITERAL_LONG2 = 163, ECHAR = 164, NIL = 165, ANON = 166, PN_CHARS_U = 167, - VARNAME = 168, PN_PREFIX = 169, PN_LOCAL = 170, PLX = 171, PERCENT = 172, - HEX = 173, PN_LOCAL_ESC = 174, WS = 175, COMMENTS = 176 + T__0 = 1, + T__1 = 2, + T__2 = 3, + T__3 = 4, + T__4 = 5, + T__5 = 6, + T__6 = 7, + T__7 = 8, + T__8 = 9, + T__9 = 10, + T__10 = 11, + T__11 = 12, + T__12 = 13, + T__13 = 14, + T__14 = 15, + T__15 = 16, + T__16 = 17, + T__17 = 18, + T__18 = 19, + T__19 = 20, + T__20 = 21, + T__21 = 22, + T__22 = 23, + T__23 = 24, + T__24 = 25, + T__25 = 26, + T__26 = 27, + T__27 = 28, + T__28 = 29, + BASE = 30, + PREFIX = 31, + SELECT = 32, + DISTINCT = 33, + REDUCED = 34, + AS = 35, + CONSTRUCT = 36, + WHERE = 37, + DESCRIBE = 38, + ASK = 39, + FROM = 40, + NAMED = 41, + GROUPBY = 42, + GROUP_CONCAT = 43, + HAVING = 44, + ORDERBY = 45, + INTERNALSORTBY = 46, + ASC = 47, + DESC = 48, + LIMIT = 49, + OFFSET = 50, + TEXTLIMIT = 51, + VALUES = 52, + LOAD = 53, + SILENT = 54, + INTO = 55, + CLEAR = 56, + DROP = 57, + CREATE = 58, + ADD = 59, + TO = 60, + DATA = 61, + MOVE = 62, + COPY = 63, + INSERT = 64, + DELETE = 65, + WITH = 66, + USING = 67, + DEFAULT = 68, + GRAPH = 69, + ALL = 70, + OPTIONAL = 71, + SERVICE = 72, + BIND = 73, + UNDEF = 74, + MINUS = 75, + UNION = 76, + FILTER = 77, + NOT = 78, + IN = 79, + STR = 80, + LANG = 81, + LANGMATCHES = 82, + DATATYPE = 83, + BOUND = 84, + IRI = 85, + URI = 86, + BNODE = 87, + RAND = 88, + ABS = 89, + CEIL = 90, + FLOOR = 91, + ROUND = 92, + CONCAT = 93, + STRLEN = 94, + UCASE = 95, + LCASE = 96, + ENCODE_FOR_URI = 97, + FOR = 98, + CONTAINS = 99, + STRSTARTS = 100, + STRENDS = 101, + STRBEFORE = 102, + STRAFTER = 103, + YEAR = 104, + MONTH = 105, + DAY = 106, + HOURS = 107, + MINUTES = 108, + SECONDS = 109, + TIMEZONE = 110, + TZ = 111, + NOW = 112, + UUID = 113, + STRUUID = 114, + SHA1 = 115, + SHA256 = 116, + SHA384 = 117, + SHA512 = 118, + MD5 = 119, + COALESCE = 120, + IF = 121, + STRLANG = 122, + STRDT = 123, + SAMETERM = 124, + ISIRI = 125, + ISURI = 126, + ISBLANK = 127, + ISLITERAL = 128, + ISNUMERIC = 129, + REGEX = 130, + SUBSTR = 131, + REPLACE = 132, + EXISTS = 133, + COUNT = 134, + SUM = 135, + MIN = 136, + MAX = 137, + AVG = 138, + STDEV = 139, + SAMPLE = 140, + SEPARATOR = 141, + IRI_REF = 142, + PNAME_NS = 143, + PNAME_LN = 144, + BLANK_NODE_LABEL = 145, + VAR1 = 146, + VAR2 = 147, + LANGTAG = 148, + PREFIX_LANGTAG = 149, + INTEGER = 150, + DECIMAL = 151, + DOUBLE = 152, + INTEGER_POSITIVE = 153, + DECIMAL_POSITIVE = 154, + DOUBLE_POSITIVE = 155, + INTEGER_NEGATIVE = 156, + DECIMAL_NEGATIVE = 157, + DOUBLE_NEGATIVE = 158, + EXPONENT = 159, + STRING_LITERAL1 = 160, + STRING_LITERAL2 = 161, + STRING_LITERAL_LONG1 = 162, + STRING_LITERAL_LONG2 = 163, + ECHAR = 164, + NIL = 165, + ANON = 166, + PN_CHARS_U = 167, + VARNAME = 168, + PN_PREFIX = 169, + PN_LOCAL = 170, + PLX = 171, + PERCENT = 172, + HEX = 173, + PN_LOCAL_ESC = 174, + WS = 175, + COMMENTS = 176 }; enum { - RuleQueryOrUpdate = 0, RuleQuery = 1, RulePrologue = 2, RuleBaseDecl = 3, - RulePrefixDecl = 4, RuleSelectQuery = 5, RuleSubSelect = 6, RuleSelectClause = 7, - RuleVarOrAlias = 8, RuleAlias = 9, RuleAliasWithoutBrackets = 10, RuleConstructQuery = 11, - RuleDescribeQuery = 12, RuleAskQuery = 13, RuleDatasetClause = 14, RuleDefaultGraphClause = 15, - RuleNamedGraphClause = 16, RuleSourceSelector = 17, RuleWhereClause = 18, - RuleSolutionModifier = 19, RuleGroupClause = 20, RuleGroupCondition = 21, - RuleHavingClause = 22, RuleHavingCondition = 23, RuleOrderClause = 24, - RuleOrderCondition = 25, RuleLimitOffsetClauses = 26, RuleLimitClause = 27, - RuleOffsetClause = 28, RuleTextLimitClause = 29, RuleValuesClause = 30, - RuleUpdate = 31, RuleUpdate1 = 32, RuleLoad = 33, RuleClear = 34, RuleDrop = 35, - RuleCreate = 36, RuleAdd = 37, RuleMove = 38, RuleCopy = 39, RuleInsertData = 40, - RuleDeleteData = 41, RuleDeleteWhere = 42, RuleModify = 43, RuleDeleteClause = 44, - RuleInsertClause = 45, RuleUsingClause = 46, RuleGraphOrDefault = 47, - RuleGraphRef = 48, RuleGraphRefAll = 49, RuleQuadPattern = 50, RuleQuadData = 51, - RuleQuads = 52, RuleQuadsNotTriples = 53, RuleTriplesTemplate = 54, - RuleGroupGraphPattern = 55, RuleGroupGraphPatternSub = 56, RuleGraphPatternNotTriplesAndMaybeTriples = 57, - RuleTriplesBlock = 58, RuleGraphPatternNotTriples = 59, RuleOptionalGraphPattern = 60, - RuleGraphGraphPattern = 61, RuleServiceGraphPattern = 62, RuleBind = 63, - RuleInlineData = 64, RuleDataBlock = 65, RuleInlineDataOneVar = 66, - RuleInlineDataFull = 67, RuleDataBlockSingle = 68, RuleDataBlockValue = 69, - RuleMinusGraphPattern = 70, RuleGroupOrUnionGraphPattern = 71, RuleFilterR = 72, - RuleConstraint = 73, RuleFunctionCall = 74, RuleArgList = 75, RuleExpressionList = 76, - RuleConstructTemplate = 77, RuleConstructTriples = 78, RuleTriplesSameSubject = 79, - RulePropertyList = 80, RulePropertyListNotEmpty = 81, RuleVerb = 82, - RuleObjectList = 83, RuleObjectR = 84, RuleTriplesSameSubjectPath = 85, - RulePropertyListPath = 86, RulePropertyListPathNotEmpty = 87, RuleVerbPath = 88, - RuleVerbSimple = 89, RuleTupleWithoutPath = 90, RuleTupleWithPath = 91, - RuleVerbPathOrSimple = 92, RuleObjectListPath = 93, RuleObjectPath = 94, - RulePath = 95, RulePathAlternative = 96, RulePathSequence = 97, RulePathElt = 98, - RulePathEltOrInverse = 99, RulePathMod = 100, RulePathPrimary = 101, - RulePathNegatedPropertySet = 102, RulePathOneInPropertySet = 103, RuleInteger = 104, - RuleTriplesNode = 105, RuleBlankNodePropertyList = 106, RuleTriplesNodePath = 107, - RuleBlankNodePropertyListPath = 108, RuleCollection = 109, RuleCollectionPath = 110, - RuleGraphNode = 111, RuleGraphNodePath = 112, RuleVarOrTerm = 113, RuleVarOrIri = 114, - RuleVar = 115, RuleGraphTerm = 116, RuleExpression = 117, RuleConditionalOrExpression = 118, - RuleConditionalAndExpression = 119, RuleValueLogical = 120, RuleRelationalExpression = 121, - RuleNumericExpression = 122, RuleAdditiveExpression = 123, RuleMultiplicativeExpressionWithSign = 124, - RulePlusSubexpression = 125, RuleMinusSubexpression = 126, RuleMultiplicativeExpressionWithLeadingSignButNoSpace = 127, - RuleMultiplicativeExpression = 128, RuleMultiplyOrDivideExpression = 129, - RuleMultiplyExpression = 130, RuleDivideExpression = 131, RuleUnaryExpression = 132, - RulePrimaryExpression = 133, RuleBrackettedExpression = 134, RuleBuiltInCall = 135, - RuleRegexExpression = 136, RuleLangExpression = 137, RuleSubstringExpression = 138, - RuleStrReplaceExpression = 139, RuleExistsFunc = 140, RuleNotExistsFunc = 141, - RuleAggregate = 142, RuleIriOrFunction = 143, RuleRdfLiteral = 144, - RuleNumericLiteral = 145, RuleNumericLiteralUnsigned = 146, RuleNumericLiteralPositive = 147, - RuleNumericLiteralNegative = 148, RuleBooleanLiteral = 149, RuleString = 150, - RuleIri = 151, RulePrefixedName = 152, RuleBlankNode = 153, RuleIriref = 154, - RulePnameLn = 155, RulePnameNs = 156 - }; - - explicit SparqlAutomaticParser(antlr4::TokenStream *input); - - SparqlAutomaticParser(antlr4::TokenStream *input, const antlr4::atn::ParserATNSimulatorOptions &options); + RuleQueryOrUpdate = 0, + RuleQuery = 1, + RulePrologue = 2, + RuleBaseDecl = 3, + RulePrefixDecl = 4, + RuleSelectQuery = 5, + RuleSubSelect = 6, + RuleSelectClause = 7, + RuleVarOrAlias = 8, + RuleAlias = 9, + RuleAliasWithoutBrackets = 10, + RuleConstructQuery = 11, + RuleDescribeQuery = 12, + RuleAskQuery = 13, + RuleDatasetClause = 14, + RuleDefaultGraphClause = 15, + RuleNamedGraphClause = 16, + RuleSourceSelector = 17, + RuleWhereClause = 18, + RuleSolutionModifier = 19, + RuleGroupClause = 20, + RuleGroupCondition = 21, + RuleHavingClause = 22, + RuleHavingCondition = 23, + RuleOrderClause = 24, + RuleOrderCondition = 25, + RuleLimitOffsetClauses = 26, + RuleLimitClause = 27, + RuleOffsetClause = 28, + RuleTextLimitClause = 29, + RuleValuesClause = 30, + RuleUpdate = 31, + RuleUpdate1 = 32, + RuleLoad = 33, + RuleClear = 34, + RuleDrop = 35, + RuleCreate = 36, + RuleAdd = 37, + RuleMove = 38, + RuleCopy = 39, + RuleInsertData = 40, + RuleDeleteData = 41, + RuleDeleteWhere = 42, + RuleModify = 43, + RuleDeleteClause = 44, + RuleInsertClause = 45, + RuleUsingClause = 46, + RuleGraphOrDefault = 47, + RuleGraphRef = 48, + RuleGraphRefAll = 49, + RuleQuadPattern = 50, + RuleQuadData = 51, + RuleQuads = 52, + RuleQuadsNotTriples = 53, + RuleTriplesTemplate = 54, + RuleGroupGraphPattern = 55, + RuleGroupGraphPatternSub = 56, + RuleGraphPatternNotTriplesAndMaybeTriples = 57, + RuleTriplesBlock = 58, + RuleGraphPatternNotTriples = 59, + RuleOptionalGraphPattern = 60, + RuleGraphGraphPattern = 61, + RuleServiceGraphPattern = 62, + RuleBind = 63, + RuleInlineData = 64, + RuleDataBlock = 65, + RuleInlineDataOneVar = 66, + RuleInlineDataFull = 67, + RuleDataBlockSingle = 68, + RuleDataBlockValue = 69, + RuleMinusGraphPattern = 70, + RuleGroupOrUnionGraphPattern = 71, + RuleFilterR = 72, + RuleConstraint = 73, + RuleFunctionCall = 74, + RuleArgList = 75, + RuleExpressionList = 76, + RuleConstructTemplate = 77, + RuleConstructTriples = 78, + RuleTriplesSameSubject = 79, + RulePropertyList = 80, + RulePropertyListNotEmpty = 81, + RuleVerb = 82, + RuleObjectList = 83, + RuleObjectR = 84, + RuleTriplesSameSubjectPath = 85, + RulePropertyListPath = 86, + RulePropertyListPathNotEmpty = 87, + RuleVerbPath = 88, + RuleVerbSimple = 89, + RuleTupleWithoutPath = 90, + RuleTupleWithPath = 91, + RuleVerbPathOrSimple = 92, + RuleObjectListPath = 93, + RuleObjectPath = 94, + RulePath = 95, + RulePathAlternative = 96, + RulePathSequence = 97, + RulePathElt = 98, + RulePathEltOrInverse = 99, + RulePathMod = 100, + RulePathPrimary = 101, + RulePathNegatedPropertySet = 102, + RulePathOneInPropertySet = 103, + RuleInteger = 104, + RuleTriplesNode = 105, + RuleBlankNodePropertyList = 106, + RuleTriplesNodePath = 107, + RuleBlankNodePropertyListPath = 108, + RuleCollection = 109, + RuleCollectionPath = 110, + RuleGraphNode = 111, + RuleGraphNodePath = 112, + RuleVarOrTerm = 113, + RuleVarOrIri = 114, + RuleVar = 115, + RuleGraphTerm = 116, + RuleExpression = 117, + RuleConditionalOrExpression = 118, + RuleConditionalAndExpression = 119, + RuleValueLogical = 120, + RuleRelationalExpression = 121, + RuleNumericExpression = 122, + RuleAdditiveExpression = 123, + RuleMultiplicativeExpressionWithSign = 124, + RulePlusSubexpression = 125, + RuleMinusSubexpression = 126, + RuleMultiplicativeExpressionWithLeadingSignButNoSpace = 127, + RuleMultiplicativeExpression = 128, + RuleMultiplyOrDivideExpression = 129, + RuleMultiplyExpression = 130, + RuleDivideExpression = 131, + RuleUnaryExpression = 132, + RulePrimaryExpression = 133, + RuleBrackettedExpression = 134, + RuleBuiltInCall = 135, + RuleRegexExpression = 136, + RuleLangExpression = 137, + RuleSubstringExpression = 138, + RuleStrReplaceExpression = 139, + RuleExistsFunc = 140, + RuleNotExistsFunc = 141, + RuleAggregate = 142, + RuleIriOrFunction = 143, + RuleRdfLiteral = 144, + RuleNumericLiteral = 145, + RuleNumericLiteralUnsigned = 146, + RuleNumericLiteralPositive = 147, + RuleNumericLiteralNegative = 148, + RuleBooleanLiteral = 149, + RuleString = 150, + RuleIri = 151, + RulePrefixedName = 152, + RuleBlankNode = 153, + RuleIriref = 154, + RulePnameLn = 155, + RulePnameNs = 156 + }; + + explicit SparqlAutomaticParser(antlr4::TokenStream* input); + + SparqlAutomaticParser(antlr4::TokenStream* input, + const antlr4::atn::ParserATNSimulatorOptions& options); ~SparqlAutomaticParser() override; @@ -113,7 +363,6 @@ class SparqlAutomaticParser : public antlr4::Parser { antlr4::atn::SerializedATNView getSerializedATN() const override; - class QueryOrUpdateContext; class QueryContext; class PrologueContext; @@ -270,2712 +519,2655 @@ class SparqlAutomaticParser : public antlr4::Parser { class BlankNodeContext; class IrirefContext; class PnameLnContext; - class PnameNsContext; + class PnameNsContext; - class QueryOrUpdateContext : public antlr4::ParserRuleContext { - public: - QueryOrUpdateContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class QueryOrUpdateContext : public antlr4::ParserRuleContext { + public: + QueryOrUpdateContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *EOF(); - QueryContext *query(); - UpdateContext *update(); + antlr4::tree::TerminalNode* EOF(); + QueryContext* query(); + UpdateContext* update(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; QueryOrUpdateContext* queryOrUpdate(); - class QueryContext : public antlr4::ParserRuleContext { - public: - QueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class QueryContext : public antlr4::ParserRuleContext { + public: + QueryContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PrologueContext *prologue(); - ValuesClauseContext *valuesClause(); - SelectQueryContext *selectQuery(); - ConstructQueryContext *constructQuery(); - DescribeQueryContext *describeQuery(); - AskQueryContext *askQuery(); + PrologueContext* prologue(); + ValuesClauseContext* valuesClause(); + SelectQueryContext* selectQuery(); + ConstructQueryContext* constructQuery(); + DescribeQueryContext* describeQuery(); + AskQueryContext* askQuery(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; QueryContext* query(); - class PrologueContext : public antlr4::ParserRuleContext { - public: - PrologueContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PrologueContext : public antlr4::ParserRuleContext { + public: + PrologueContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector baseDecl(); + std::vector baseDecl(); BaseDeclContext* baseDecl(size_t i); - std::vector prefixDecl(); + std::vector prefixDecl(); PrefixDeclContext* prefixDecl(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PrologueContext* prologue(); - class BaseDeclContext : public antlr4::ParserRuleContext { - public: - BaseDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class BaseDeclContext : public antlr4::ParserRuleContext { + public: + BaseDeclContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *BASE(); - IrirefContext *iriref(); + antlr4::tree::TerminalNode* BASE(); + IrirefContext* iriref(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; BaseDeclContext* baseDecl(); - class PrefixDeclContext : public antlr4::ParserRuleContext { - public: - PrefixDeclContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PrefixDeclContext : public antlr4::ParserRuleContext { + public: + PrefixDeclContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *PREFIX(); - antlr4::tree::TerminalNode *PNAME_NS(); - IrirefContext *iriref(); + antlr4::tree::TerminalNode* PREFIX(); + antlr4::tree::TerminalNode* PNAME_NS(); + IrirefContext* iriref(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PrefixDeclContext* prefixDecl(); - class SelectQueryContext : public antlr4::ParserRuleContext { - public: - SelectQueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class SelectQueryContext : public antlr4::ParserRuleContext { + public: + SelectQueryContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - SelectClauseContext *selectClause(); - WhereClauseContext *whereClause(); - SolutionModifierContext *solutionModifier(); - std::vector datasetClause(); + SelectClauseContext* selectClause(); + WhereClauseContext* whereClause(); + SolutionModifierContext* solutionModifier(); + std::vector datasetClause(); DatasetClauseContext* datasetClause(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; SelectQueryContext* selectQuery(); - class SubSelectContext : public antlr4::ParserRuleContext { - public: - SubSelectContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class SubSelectContext : public antlr4::ParserRuleContext { + public: + SubSelectContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - SelectClauseContext *selectClause(); - WhereClauseContext *whereClause(); - SolutionModifierContext *solutionModifier(); - ValuesClauseContext *valuesClause(); + SelectClauseContext* selectClause(); + WhereClauseContext* whereClause(); + SolutionModifierContext* solutionModifier(); + ValuesClauseContext* valuesClause(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; SubSelectContext* subSelect(); - class SelectClauseContext : public antlr4::ParserRuleContext { - public: - antlr4::Token *asterisk = nullptr; - SelectClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class SelectClauseContext : public antlr4::ParserRuleContext { + public: + antlr4::Token* asterisk = nullptr; + SelectClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *SELECT(); - antlr4::tree::TerminalNode *DISTINCT(); - antlr4::tree::TerminalNode *REDUCED(); - std::vector varOrAlias(); + antlr4::tree::TerminalNode* SELECT(); + antlr4::tree::TerminalNode* DISTINCT(); + antlr4::tree::TerminalNode* REDUCED(); + std::vector varOrAlias(); VarOrAliasContext* varOrAlias(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; SelectClauseContext* selectClause(); - class VarOrAliasContext : public antlr4::ParserRuleContext { - public: - VarOrAliasContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class VarOrAliasContext : public antlr4::ParserRuleContext { + public: + VarOrAliasContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext *var(); - AliasContext *alias(); + VarContext* var(); + AliasContext* alias(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; VarOrAliasContext* varOrAlias(); - class AliasContext : public antlr4::ParserRuleContext { - public: - AliasContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class AliasContext : public antlr4::ParserRuleContext { + public: + AliasContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - AliasWithoutBracketsContext *aliasWithoutBrackets(); + AliasWithoutBracketsContext* aliasWithoutBrackets(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; AliasContext* alias(); - class AliasWithoutBracketsContext : public antlr4::ParserRuleContext { - public: - AliasWithoutBracketsContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class AliasWithoutBracketsContext : public antlr4::ParserRuleContext { + public: + AliasWithoutBracketsContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - ExpressionContext *expression(); - antlr4::tree::TerminalNode *AS(); - VarContext *var(); + ExpressionContext* expression(); + antlr4::tree::TerminalNode* AS(); + VarContext* var(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; AliasWithoutBracketsContext* aliasWithoutBrackets(); - class ConstructQueryContext : public antlr4::ParserRuleContext { - public: - ConstructQueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); - virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *CONSTRUCT(); - ConstructTemplateContext *constructTemplate(); - WhereClauseContext *whereClause(); - SolutionModifierContext *solutionModifier(); - antlr4::tree::TerminalNode *WHERE(); - std::vector datasetClause(); + class ConstructQueryContext : public antlr4::ParserRuleContext { + public: + ConstructQueryContext(antlr4::ParserRuleContext* parent, + size_t invokingState); + virtual size_t getRuleIndex() const override; + antlr4::tree::TerminalNode* CONSTRUCT(); + ConstructTemplateContext* constructTemplate(); + WhereClauseContext* whereClause(); + SolutionModifierContext* solutionModifier(); + antlr4::tree::TerminalNode* WHERE(); + std::vector datasetClause(); DatasetClauseContext* datasetClause(size_t i); - TriplesTemplateContext *triplesTemplate(); + TriplesTemplateContext* triplesTemplate(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ConstructQueryContext* constructQuery(); - class DescribeQueryContext : public antlr4::ParserRuleContext { - public: - DescribeQueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DescribeQueryContext : public antlr4::ParserRuleContext { + public: + DescribeQueryContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *DESCRIBE(); - SolutionModifierContext *solutionModifier(); - std::vector datasetClause(); + antlr4::tree::TerminalNode* DESCRIBE(); + SolutionModifierContext* solutionModifier(); + std::vector datasetClause(); DatasetClauseContext* datasetClause(size_t i); - WhereClauseContext *whereClause(); - std::vector varOrIri(); + WhereClauseContext* whereClause(); + std::vector varOrIri(); VarOrIriContext* varOrIri(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DescribeQueryContext* describeQuery(); - class AskQueryContext : public antlr4::ParserRuleContext { - public: - AskQueryContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class AskQueryContext : public antlr4::ParserRuleContext { + public: + AskQueryContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *ASK(); - WhereClauseContext *whereClause(); - SolutionModifierContext *solutionModifier(); - std::vector datasetClause(); + antlr4::tree::TerminalNode* ASK(); + WhereClauseContext* whereClause(); + SolutionModifierContext* solutionModifier(); + std::vector datasetClause(); DatasetClauseContext* datasetClause(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; AskQueryContext* askQuery(); - class DatasetClauseContext : public antlr4::ParserRuleContext { - public: - DatasetClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DatasetClauseContext : public antlr4::ParserRuleContext { + public: + DatasetClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *FROM(); - DefaultGraphClauseContext *defaultGraphClause(); - NamedGraphClauseContext *namedGraphClause(); + antlr4::tree::TerminalNode* FROM(); + DefaultGraphClauseContext* defaultGraphClause(); + NamedGraphClauseContext* namedGraphClause(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DatasetClauseContext* datasetClause(); - class DefaultGraphClauseContext : public antlr4::ParserRuleContext { - public: - DefaultGraphClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DefaultGraphClauseContext : public antlr4::ParserRuleContext { + public: + DefaultGraphClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - SourceSelectorContext *sourceSelector(); + SourceSelectorContext* sourceSelector(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DefaultGraphClauseContext* defaultGraphClause(); - class NamedGraphClauseContext : public antlr4::ParserRuleContext { - public: - NamedGraphClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class NamedGraphClauseContext : public antlr4::ParserRuleContext { + public: + NamedGraphClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *NAMED(); - SourceSelectorContext *sourceSelector(); + antlr4::tree::TerminalNode* NAMED(); + SourceSelectorContext* sourceSelector(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; NamedGraphClauseContext* namedGraphClause(); - class SourceSelectorContext : public antlr4::ParserRuleContext { - public: - SourceSelectorContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class SourceSelectorContext : public antlr4::ParserRuleContext { + public: + SourceSelectorContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext *iri(); + IriContext* iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; SourceSelectorContext* sourceSelector(); - class WhereClauseContext : public antlr4::ParserRuleContext { - public: - WhereClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class WhereClauseContext : public antlr4::ParserRuleContext { + public: + WhereClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GroupGraphPatternContext *groupGraphPattern(); - antlr4::tree::TerminalNode *WHERE(); + GroupGraphPatternContext* groupGraphPattern(); + antlr4::tree::TerminalNode* WHERE(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; WhereClauseContext* whereClause(); - class SolutionModifierContext : public antlr4::ParserRuleContext { - public: - SolutionModifierContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class SolutionModifierContext : public antlr4::ParserRuleContext { + public: + SolutionModifierContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - GroupClauseContext *groupClause(); - HavingClauseContext *havingClause(); - OrderClauseContext *orderClause(); - LimitOffsetClausesContext *limitOffsetClauses(); + GroupClauseContext* groupClause(); + HavingClauseContext* havingClause(); + OrderClauseContext* orderClause(); + LimitOffsetClausesContext* limitOffsetClauses(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; SolutionModifierContext* solutionModifier(); - class GroupClauseContext : public antlr4::ParserRuleContext { - public: - GroupClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GroupClauseContext : public antlr4::ParserRuleContext { + public: + GroupClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *GROUPBY(); - std::vector groupCondition(); + antlr4::tree::TerminalNode* GROUPBY(); + std::vector groupCondition(); GroupConditionContext* groupCondition(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GroupClauseContext* groupClause(); - class GroupConditionContext : public antlr4::ParserRuleContext { - public: - GroupConditionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GroupConditionContext : public antlr4::ParserRuleContext { + public: + GroupConditionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - BuiltInCallContext *builtInCall(); - FunctionCallContext *functionCall(); - ExpressionContext *expression(); - antlr4::tree::TerminalNode *AS(); - VarContext *var(); + BuiltInCallContext* builtInCall(); + FunctionCallContext* functionCall(); + ExpressionContext* expression(); + antlr4::tree::TerminalNode* AS(); + VarContext* var(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GroupConditionContext* groupCondition(); - class HavingClauseContext : public antlr4::ParserRuleContext { - public: - HavingClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class HavingClauseContext : public antlr4::ParserRuleContext { + public: + HavingClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *HAVING(); - std::vector havingCondition(); + antlr4::tree::TerminalNode* HAVING(); + std::vector havingCondition(); HavingConditionContext* havingCondition(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; HavingClauseContext* havingClause(); - class HavingConditionContext : public antlr4::ParserRuleContext { - public: - HavingConditionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class HavingConditionContext : public antlr4::ParserRuleContext { + public: + HavingConditionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - ConstraintContext *constraint(); + ConstraintContext* constraint(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; HavingConditionContext* havingCondition(); - class OrderClauseContext : public antlr4::ParserRuleContext { - public: - antlr4::Token *orderBy = nullptr; - antlr4::Token *internalSortBy = nullptr; - OrderClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class OrderClauseContext : public antlr4::ParserRuleContext { + public: + antlr4::Token* orderBy = nullptr; + antlr4::Token* internalSortBy = nullptr; + OrderClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *ORDERBY(); - antlr4::tree::TerminalNode *INTERNALSORTBY(); - std::vector orderCondition(); + antlr4::tree::TerminalNode* ORDERBY(); + antlr4::tree::TerminalNode* INTERNALSORTBY(); + std::vector orderCondition(); OrderConditionContext* orderCondition(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; OrderClauseContext* orderClause(); - class OrderConditionContext : public antlr4::ParserRuleContext { - public: - OrderConditionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class OrderConditionContext : public antlr4::ParserRuleContext { + public: + OrderConditionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - BrackettedExpressionContext *brackettedExpression(); - antlr4::tree::TerminalNode *ASC(); - antlr4::tree::TerminalNode *DESC(); - ConstraintContext *constraint(); - VarContext *var(); + BrackettedExpressionContext* brackettedExpression(); + antlr4::tree::TerminalNode* ASC(); + antlr4::tree::TerminalNode* DESC(); + ConstraintContext* constraint(); + VarContext* var(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; OrderConditionContext* orderCondition(); - class LimitOffsetClausesContext : public antlr4::ParserRuleContext { - public: - LimitOffsetClausesContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class LimitOffsetClausesContext : public antlr4::ParserRuleContext { + public: + LimitOffsetClausesContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - LimitClauseContext *limitClause(); - OffsetClauseContext *offsetClause(); - TextLimitClauseContext *textLimitClause(); + LimitClauseContext* limitClause(); + OffsetClauseContext* offsetClause(); + TextLimitClauseContext* textLimitClause(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; LimitOffsetClausesContext* limitOffsetClauses(); - class LimitClauseContext : public antlr4::ParserRuleContext { - public: - LimitClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class LimitClauseContext : public antlr4::ParserRuleContext { + public: + LimitClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *LIMIT(); - IntegerContext *integer(); + antlr4::tree::TerminalNode* LIMIT(); + IntegerContext* integer(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; LimitClauseContext* limitClause(); - class OffsetClauseContext : public antlr4::ParserRuleContext { - public: - OffsetClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class OffsetClauseContext : public antlr4::ParserRuleContext { + public: + OffsetClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *OFFSET(); - IntegerContext *integer(); + antlr4::tree::TerminalNode* OFFSET(); + IntegerContext* integer(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; OffsetClauseContext* offsetClause(); - class TextLimitClauseContext : public antlr4::ParserRuleContext { - public: - TextLimitClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TextLimitClauseContext : public antlr4::ParserRuleContext { + public: + TextLimitClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *TEXTLIMIT(); - IntegerContext *integer(); + antlr4::tree::TerminalNode* TEXTLIMIT(); + IntegerContext* integer(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TextLimitClauseContext* textLimitClause(); - class ValuesClauseContext : public antlr4::ParserRuleContext { - public: - ValuesClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ValuesClauseContext : public antlr4::ParserRuleContext { + public: + ValuesClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *VALUES(); - DataBlockContext *dataBlock(); + antlr4::tree::TerminalNode* VALUES(); + DataBlockContext* dataBlock(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ValuesClauseContext* valuesClause(); - class UpdateContext : public antlr4::ParserRuleContext { - public: - UpdateContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class UpdateContext : public antlr4::ParserRuleContext { + public: + UpdateContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PrologueContext *prologue(); - Update1Context *update1(); - UpdateContext *update(); + PrologueContext* prologue(); + Update1Context* update1(); + UpdateContext* update(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; UpdateContext* update(); - class Update1Context : public antlr4::ParserRuleContext { - public: - Update1Context(antlr4::ParserRuleContext *parent, size_t invokingState); + class Update1Context : public antlr4::ParserRuleContext { + public: + Update1Context(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - LoadContext *load(); - ClearContext *clear(); - DropContext *drop(); - AddContext *add(); - MoveContext *move(); - CopyContext *copy(); - CreateContext *create(); - InsertDataContext *insertData(); - DeleteDataContext *deleteData(); - DeleteWhereContext *deleteWhere(); - ModifyContext *modify(); + LoadContext* load(); + ClearContext* clear(); + DropContext* drop(); + AddContext* add(); + MoveContext* move(); + CopyContext* copy(); + CreateContext* create(); + InsertDataContext* insertData(); + DeleteDataContext* deleteData(); + DeleteWhereContext* deleteWhere(); + ModifyContext* modify(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; Update1Context* update1(); - class LoadContext : public antlr4::ParserRuleContext { - public: - LoadContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class LoadContext : public antlr4::ParserRuleContext { + public: + LoadContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *LOAD(); - IriContext *iri(); - antlr4::tree::TerminalNode *SILENT(); - antlr4::tree::TerminalNode *INTO(); - GraphRefContext *graphRef(); + antlr4::tree::TerminalNode* LOAD(); + IriContext* iri(); + antlr4::tree::TerminalNode* SILENT(); + antlr4::tree::TerminalNode* INTO(); + GraphRefContext* graphRef(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; LoadContext* load(); - class ClearContext : public antlr4::ParserRuleContext { - public: - ClearContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ClearContext : public antlr4::ParserRuleContext { + public: + ClearContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *CLEAR(); - GraphRefAllContext *graphRefAll(); - antlr4::tree::TerminalNode *SILENT(); + antlr4::tree::TerminalNode* CLEAR(); + GraphRefAllContext* graphRefAll(); + antlr4::tree::TerminalNode* SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ClearContext* clear(); - class DropContext : public antlr4::ParserRuleContext { - public: - DropContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DropContext : public antlr4::ParserRuleContext { + public: + DropContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *DROP(); - GraphRefAllContext *graphRefAll(); - antlr4::tree::TerminalNode *SILENT(); + antlr4::tree::TerminalNode* DROP(); + GraphRefAllContext* graphRefAll(); + antlr4::tree::TerminalNode* SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DropContext* drop(); - class CreateContext : public antlr4::ParserRuleContext { - public: - CreateContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class CreateContext : public antlr4::ParserRuleContext { + public: + CreateContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *CREATE(); - GraphRefContext *graphRef(); - antlr4::tree::TerminalNode *SILENT(); + antlr4::tree::TerminalNode* CREATE(); + GraphRefContext* graphRef(); + antlr4::tree::TerminalNode* SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; CreateContext* create(); - class AddContext : public antlr4::ParserRuleContext { - public: - AddContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class AddContext : public antlr4::ParserRuleContext { + public: + AddContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *ADD(); - std::vector graphOrDefault(); + antlr4::tree::TerminalNode* ADD(); + std::vector graphOrDefault(); GraphOrDefaultContext* graphOrDefault(size_t i); - antlr4::tree::TerminalNode *TO(); - antlr4::tree::TerminalNode *SILENT(); + antlr4::tree::TerminalNode* TO(); + antlr4::tree::TerminalNode* SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; AddContext* add(); - class MoveContext : public antlr4::ParserRuleContext { - public: - MoveContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class MoveContext : public antlr4::ParserRuleContext { + public: + MoveContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *MOVE(); - std::vector graphOrDefault(); + antlr4::tree::TerminalNode* MOVE(); + std::vector graphOrDefault(); GraphOrDefaultContext* graphOrDefault(size_t i); - antlr4::tree::TerminalNode *TO(); - antlr4::tree::TerminalNode *SILENT(); + antlr4::tree::TerminalNode* TO(); + antlr4::tree::TerminalNode* SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; MoveContext* move(); - class CopyContext : public antlr4::ParserRuleContext { - public: - CopyContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class CopyContext : public antlr4::ParserRuleContext { + public: + CopyContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *COPY(); - std::vector graphOrDefault(); + antlr4::tree::TerminalNode* COPY(); + std::vector graphOrDefault(); GraphOrDefaultContext* graphOrDefault(size_t i); - antlr4::tree::TerminalNode *TO(); - antlr4::tree::TerminalNode *SILENT(); + antlr4::tree::TerminalNode* TO(); + antlr4::tree::TerminalNode* SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; CopyContext* copy(); - class InsertDataContext : public antlr4::ParserRuleContext { - public: - InsertDataContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class InsertDataContext : public antlr4::ParserRuleContext { + public: + InsertDataContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *INSERT(); - antlr4::tree::TerminalNode *DATA(); - QuadDataContext *quadData(); + antlr4::tree::TerminalNode* INSERT(); + antlr4::tree::TerminalNode* DATA(); + QuadDataContext* quadData(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; InsertDataContext* insertData(); - class DeleteDataContext : public antlr4::ParserRuleContext { - public: - DeleteDataContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DeleteDataContext : public antlr4::ParserRuleContext { + public: + DeleteDataContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *DELETE(); - antlr4::tree::TerminalNode *DATA(); - QuadDataContext *quadData(); + antlr4::tree::TerminalNode* DELETE(); + antlr4::tree::TerminalNode* DATA(); + QuadDataContext* quadData(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DeleteDataContext* deleteData(); - class DeleteWhereContext : public antlr4::ParserRuleContext { - public: - DeleteWhereContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DeleteWhereContext : public antlr4::ParserRuleContext { + public: + DeleteWhereContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *DELETE(); - antlr4::tree::TerminalNode *WHERE(); - QuadPatternContext *quadPattern(); + antlr4::tree::TerminalNode* DELETE(); + antlr4::tree::TerminalNode* WHERE(); + QuadPatternContext* quadPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DeleteWhereContext* deleteWhere(); - class ModifyContext : public antlr4::ParserRuleContext { - public: - ModifyContext(antlr4::ParserRuleContext *parent, size_t invokingState); - virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *WHERE(); - GroupGraphPatternContext *groupGraphPattern(); - DeleteClauseContext *deleteClause(); - InsertClauseContext *insertClause(); - antlr4::tree::TerminalNode *WITH(); - IriContext *iri(); - std::vector usingClause(); + class ModifyContext : public antlr4::ParserRuleContext { + public: + ModifyContext(antlr4::ParserRuleContext* parent, size_t invokingState); + virtual size_t getRuleIndex() const override; + antlr4::tree::TerminalNode* WHERE(); + GroupGraphPatternContext* groupGraphPattern(); + DeleteClauseContext* deleteClause(); + InsertClauseContext* insertClause(); + antlr4::tree::TerminalNode* WITH(); + IriContext* iri(); + std::vector usingClause(); UsingClauseContext* usingClause(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ModifyContext* modify(); - class DeleteClauseContext : public antlr4::ParserRuleContext { - public: - DeleteClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DeleteClauseContext : public antlr4::ParserRuleContext { + public: + DeleteClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *DELETE(); - QuadPatternContext *quadPattern(); + antlr4::tree::TerminalNode* DELETE(); + QuadPatternContext* quadPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DeleteClauseContext* deleteClause(); - class InsertClauseContext : public antlr4::ParserRuleContext { - public: - InsertClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class InsertClauseContext : public antlr4::ParserRuleContext { + public: + InsertClauseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *INSERT(); - QuadPatternContext *quadPattern(); + antlr4::tree::TerminalNode* INSERT(); + QuadPatternContext* quadPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; InsertClauseContext* insertClause(); - class UsingClauseContext : public antlr4::ParserRuleContext { - public: - UsingClauseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class UsingClauseContext : public antlr4::ParserRuleContext { + public: + UsingClauseContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *USING(); - IriContext *iri(); - antlr4::tree::TerminalNode *NAMED(); + antlr4::tree::TerminalNode* USING(); + IriContext* iri(); + antlr4::tree::TerminalNode* NAMED(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; UsingClauseContext* usingClause(); - class GraphOrDefaultContext : public antlr4::ParserRuleContext { - public: - GraphOrDefaultContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphOrDefaultContext : public antlr4::ParserRuleContext { + public: + GraphOrDefaultContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *DEFAULT(); - antlr4::tree::TerminalNode *GRAPH(); - IriContext *iri(); + antlr4::tree::TerminalNode* DEFAULT(); + antlr4::tree::TerminalNode* GRAPH(); + IriContext* iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GraphOrDefaultContext* graphOrDefault(); - class GraphRefContext : public antlr4::ParserRuleContext { - public: - GraphRefContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphRefContext : public antlr4::ParserRuleContext { + public: + GraphRefContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *GRAPH(); - IriContext *iri(); + antlr4::tree::TerminalNode* GRAPH(); + IriContext* iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GraphRefContext* graphRef(); - class GraphRefAllContext : public antlr4::ParserRuleContext { - public: - GraphRefAllContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphRefAllContext : public antlr4::ParserRuleContext { + public: + GraphRefAllContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GraphRefContext *graphRef(); - antlr4::tree::TerminalNode *DEFAULT(); - antlr4::tree::TerminalNode *NAMED(); - antlr4::tree::TerminalNode *ALL(); + GraphRefContext* graphRef(); + antlr4::tree::TerminalNode* DEFAULT(); + antlr4::tree::TerminalNode* NAMED(); + antlr4::tree::TerminalNode* ALL(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GraphRefAllContext* graphRefAll(); - class QuadPatternContext : public antlr4::ParserRuleContext { - public: - QuadPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class QuadPatternContext : public antlr4::ParserRuleContext { + public: + QuadPatternContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - QuadsContext *quads(); + QuadsContext* quads(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; QuadPatternContext* quadPattern(); - class QuadDataContext : public antlr4::ParserRuleContext { - public: - QuadDataContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class QuadDataContext : public antlr4::ParserRuleContext { + public: + QuadDataContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - QuadsContext *quads(); + QuadsContext* quads(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; QuadDataContext* quadData(); - class QuadsContext : public antlr4::ParserRuleContext { - public: - QuadsContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class QuadsContext : public antlr4::ParserRuleContext { + public: + QuadsContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector triplesTemplate(); + std::vector triplesTemplate(); TriplesTemplateContext* triplesTemplate(size_t i); - std::vector quadsNotTriples(); + std::vector quadsNotTriples(); QuadsNotTriplesContext* quadsNotTriples(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; QuadsContext* quads(); - class QuadsNotTriplesContext : public antlr4::ParserRuleContext { - public: - QuadsNotTriplesContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class QuadsNotTriplesContext : public antlr4::ParserRuleContext { + public: + QuadsNotTriplesContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *GRAPH(); - VarOrIriContext *varOrIri(); - TriplesTemplateContext *triplesTemplate(); + antlr4::tree::TerminalNode* GRAPH(); + VarOrIriContext* varOrIri(); + TriplesTemplateContext* triplesTemplate(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; QuadsNotTriplesContext* quadsNotTriples(); - class TriplesTemplateContext : public antlr4::ParserRuleContext { - public: - TriplesTemplateContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TriplesTemplateContext : public antlr4::ParserRuleContext { + public: + TriplesTemplateContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - TriplesSameSubjectContext *triplesSameSubject(); - TriplesTemplateContext *triplesTemplate(); + TriplesSameSubjectContext* triplesSameSubject(); + TriplesTemplateContext* triplesTemplate(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TriplesTemplateContext* triplesTemplate(); - class GroupGraphPatternContext : public antlr4::ParserRuleContext { - public: - GroupGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GroupGraphPatternContext : public antlr4::ParserRuleContext { + public: + GroupGraphPatternContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - SubSelectContext *subSelect(); - GroupGraphPatternSubContext *groupGraphPatternSub(); + SubSelectContext* subSelect(); + GroupGraphPatternSubContext* groupGraphPatternSub(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GroupGraphPatternContext* groupGraphPattern(); - class GroupGraphPatternSubContext : public antlr4::ParserRuleContext { - public: - GroupGraphPatternSubContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GroupGraphPatternSubContext : public antlr4::ParserRuleContext { + public: + GroupGraphPatternSubContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - TriplesBlockContext *triplesBlock(); - std::vector graphPatternNotTriplesAndMaybeTriples(); - GraphPatternNotTriplesAndMaybeTriplesContext* graphPatternNotTriplesAndMaybeTriples(size_t i); + TriplesBlockContext* triplesBlock(); + std::vector + graphPatternNotTriplesAndMaybeTriples(); + GraphPatternNotTriplesAndMaybeTriplesContext* + graphPatternNotTriplesAndMaybeTriples(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GroupGraphPatternSubContext* groupGraphPatternSub(); - class GraphPatternNotTriplesAndMaybeTriplesContext : public antlr4::ParserRuleContext { - public: - GraphPatternNotTriplesAndMaybeTriplesContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphPatternNotTriplesAndMaybeTriplesContext + : public antlr4::ParserRuleContext { + public: + GraphPatternNotTriplesAndMaybeTriplesContext( + antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GraphPatternNotTriplesContext *graphPatternNotTriples(); - TriplesBlockContext *triplesBlock(); + GraphPatternNotTriplesContext* graphPatternNotTriples(); + TriplesBlockContext* triplesBlock(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; - GraphPatternNotTriplesAndMaybeTriplesContext* graphPatternNotTriplesAndMaybeTriples(); + GraphPatternNotTriplesAndMaybeTriplesContext* + graphPatternNotTriplesAndMaybeTriples(); - class TriplesBlockContext : public antlr4::ParserRuleContext { - public: - TriplesBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TriplesBlockContext : public antlr4::ParserRuleContext { + public: + TriplesBlockContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - TriplesSameSubjectPathContext *triplesSameSubjectPath(); - TriplesBlockContext *triplesBlock(); + TriplesSameSubjectPathContext* triplesSameSubjectPath(); + TriplesBlockContext* triplesBlock(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TriplesBlockContext* triplesBlock(); - class GraphPatternNotTriplesContext : public antlr4::ParserRuleContext { - public: - GraphPatternNotTriplesContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphPatternNotTriplesContext : public antlr4::ParserRuleContext { + public: + GraphPatternNotTriplesContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - GroupOrUnionGraphPatternContext *groupOrUnionGraphPattern(); - OptionalGraphPatternContext *optionalGraphPattern(); - MinusGraphPatternContext *minusGraphPattern(); - GraphGraphPatternContext *graphGraphPattern(); - ServiceGraphPatternContext *serviceGraphPattern(); - FilterRContext *filterR(); - BindContext *bind(); - InlineDataContext *inlineData(); + GroupOrUnionGraphPatternContext* groupOrUnionGraphPattern(); + OptionalGraphPatternContext* optionalGraphPattern(); + MinusGraphPatternContext* minusGraphPattern(); + GraphGraphPatternContext* graphGraphPattern(); + ServiceGraphPatternContext* serviceGraphPattern(); + FilterRContext* filterR(); + BindContext* bind(); + InlineDataContext* inlineData(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GraphPatternNotTriplesContext* graphPatternNotTriples(); - class OptionalGraphPatternContext : public antlr4::ParserRuleContext { - public: - OptionalGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class OptionalGraphPatternContext : public antlr4::ParserRuleContext { + public: + OptionalGraphPatternContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *OPTIONAL(); - GroupGraphPatternContext *groupGraphPattern(); + antlr4::tree::TerminalNode* OPTIONAL(); + GroupGraphPatternContext* groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; OptionalGraphPatternContext* optionalGraphPattern(); - class GraphGraphPatternContext : public antlr4::ParserRuleContext { - public: - GraphGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphGraphPatternContext : public antlr4::ParserRuleContext { + public: + GraphGraphPatternContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *GRAPH(); - VarOrIriContext *varOrIri(); - GroupGraphPatternContext *groupGraphPattern(); + antlr4::tree::TerminalNode* GRAPH(); + VarOrIriContext* varOrIri(); + GroupGraphPatternContext* groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GraphGraphPatternContext* graphGraphPattern(); - class ServiceGraphPatternContext : public antlr4::ParserRuleContext { - public: - ServiceGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ServiceGraphPatternContext : public antlr4::ParserRuleContext { + public: + ServiceGraphPatternContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *SERVICE(); - VarOrIriContext *varOrIri(); - GroupGraphPatternContext *groupGraphPattern(); - antlr4::tree::TerminalNode *SILENT(); + antlr4::tree::TerminalNode* SERVICE(); + VarOrIriContext* varOrIri(); + GroupGraphPatternContext* groupGraphPattern(); + antlr4::tree::TerminalNode* SILENT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ServiceGraphPatternContext* serviceGraphPattern(); - class BindContext : public antlr4::ParserRuleContext { - public: - BindContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class BindContext : public antlr4::ParserRuleContext { + public: + BindContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *BIND(); - ExpressionContext *expression(); - antlr4::tree::TerminalNode *AS(); - VarContext *var(); + antlr4::tree::TerminalNode* BIND(); + ExpressionContext* expression(); + antlr4::tree::TerminalNode* AS(); + VarContext* var(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; BindContext* bind(); - class InlineDataContext : public antlr4::ParserRuleContext { - public: - InlineDataContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class InlineDataContext : public antlr4::ParserRuleContext { + public: + InlineDataContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *VALUES(); - DataBlockContext *dataBlock(); + antlr4::tree::TerminalNode* VALUES(); + DataBlockContext* dataBlock(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; InlineDataContext* inlineData(); - class DataBlockContext : public antlr4::ParserRuleContext { - public: - DataBlockContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DataBlockContext : public antlr4::ParserRuleContext { + public: + DataBlockContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - InlineDataOneVarContext *inlineDataOneVar(); - InlineDataFullContext *inlineDataFull(); + InlineDataOneVarContext* inlineDataOneVar(); + InlineDataFullContext* inlineDataFull(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DataBlockContext* dataBlock(); - class InlineDataOneVarContext : public antlr4::ParserRuleContext { - public: - InlineDataOneVarContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class InlineDataOneVarContext : public antlr4::ParserRuleContext { + public: + InlineDataOneVarContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext *var(); - std::vector dataBlockValue(); + VarContext* var(); + std::vector dataBlockValue(); DataBlockValueContext* dataBlockValue(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; InlineDataOneVarContext* inlineDataOneVar(); - class InlineDataFullContext : public antlr4::ParserRuleContext { - public: - InlineDataFullContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class InlineDataFullContext : public antlr4::ParserRuleContext { + public: + InlineDataFullContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *NIL(); - std::vector dataBlockSingle(); + antlr4::tree::TerminalNode* NIL(); + std::vector dataBlockSingle(); DataBlockSingleContext* dataBlockSingle(size_t i); - std::vector var(); + std::vector var(); VarContext* var(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; InlineDataFullContext* inlineDataFull(); - class DataBlockSingleContext : public antlr4::ParserRuleContext { - public: - DataBlockSingleContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DataBlockSingleContext : public antlr4::ParserRuleContext { + public: + DataBlockSingleContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *NIL(); - std::vector dataBlockValue(); + antlr4::tree::TerminalNode* NIL(); + std::vector dataBlockValue(); DataBlockValueContext* dataBlockValue(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DataBlockSingleContext* dataBlockSingle(); - class DataBlockValueContext : public antlr4::ParserRuleContext { - public: - DataBlockValueContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DataBlockValueContext : public antlr4::ParserRuleContext { + public: + DataBlockValueContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext *iri(); - RdfLiteralContext *rdfLiteral(); - NumericLiteralContext *numericLiteral(); - BooleanLiteralContext *booleanLiteral(); - antlr4::tree::TerminalNode *UNDEF(); + IriContext* iri(); + RdfLiteralContext* rdfLiteral(); + NumericLiteralContext* numericLiteral(); + BooleanLiteralContext* booleanLiteral(); + antlr4::tree::TerminalNode* UNDEF(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DataBlockValueContext* dataBlockValue(); - class MinusGraphPatternContext : public antlr4::ParserRuleContext { - public: - MinusGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class MinusGraphPatternContext : public antlr4::ParserRuleContext { + public: + MinusGraphPatternContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *MINUS(); - GroupGraphPatternContext *groupGraphPattern(); + antlr4::tree::TerminalNode* MINUS(); + GroupGraphPatternContext* groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; MinusGraphPatternContext* minusGraphPattern(); - class GroupOrUnionGraphPatternContext : public antlr4::ParserRuleContext { - public: - GroupOrUnionGraphPatternContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GroupOrUnionGraphPatternContext : public antlr4::ParserRuleContext { + public: + GroupOrUnionGraphPatternContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector groupGraphPattern(); + std::vector groupGraphPattern(); GroupGraphPatternContext* groupGraphPattern(size_t i); - std::vector UNION(); + std::vector UNION(); antlr4::tree::TerminalNode* UNION(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GroupOrUnionGraphPatternContext* groupOrUnionGraphPattern(); - class FilterRContext : public antlr4::ParserRuleContext { - public: - FilterRContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class FilterRContext : public antlr4::ParserRuleContext { + public: + FilterRContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *FILTER(); - ConstraintContext *constraint(); + antlr4::tree::TerminalNode* FILTER(); + ConstraintContext* constraint(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; FilterRContext* filterR(); - class ConstraintContext : public antlr4::ParserRuleContext { - public: - ConstraintContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ConstraintContext : public antlr4::ParserRuleContext { + public: + ConstraintContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - BrackettedExpressionContext *brackettedExpression(); - BuiltInCallContext *builtInCall(); - FunctionCallContext *functionCall(); + BrackettedExpressionContext* brackettedExpression(); + BuiltInCallContext* builtInCall(); + FunctionCallContext* functionCall(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ConstraintContext* constraint(); - class FunctionCallContext : public antlr4::ParserRuleContext { - public: - FunctionCallContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class FunctionCallContext : public antlr4::ParserRuleContext { + public: + FunctionCallContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext *iri(); - ArgListContext *argList(); + IriContext* iri(); + ArgListContext* argList(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; FunctionCallContext* functionCall(); - class ArgListContext : public antlr4::ParserRuleContext { - public: - ArgListContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ArgListContext : public antlr4::ParserRuleContext { + public: + ArgListContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *NIL(); - std::vector expression(); + antlr4::tree::TerminalNode* NIL(); + std::vector expression(); ExpressionContext* expression(size_t i); - antlr4::tree::TerminalNode *DISTINCT(); + antlr4::tree::TerminalNode* DISTINCT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ArgListContext* argList(); - class ExpressionListContext : public antlr4::ParserRuleContext { - public: - ExpressionListContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ExpressionListContext : public antlr4::ParserRuleContext { + public: + ExpressionListContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *NIL(); - std::vector expression(); + antlr4::tree::TerminalNode* NIL(); + std::vector expression(); ExpressionContext* expression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ExpressionListContext* expressionList(); - class ConstructTemplateContext : public antlr4::ParserRuleContext { - public: - ConstructTemplateContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ConstructTemplateContext : public antlr4::ParserRuleContext { + public: + ConstructTemplateContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - ConstructTriplesContext *constructTriples(); + ConstructTriplesContext* constructTriples(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ConstructTemplateContext* constructTemplate(); - class ConstructTriplesContext : public antlr4::ParserRuleContext { - public: - ConstructTriplesContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ConstructTriplesContext : public antlr4::ParserRuleContext { + public: + ConstructTriplesContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - TriplesSameSubjectContext *triplesSameSubject(); - ConstructTriplesContext *constructTriples(); + TriplesSameSubjectContext* triplesSameSubject(); + ConstructTriplesContext* constructTriples(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ConstructTriplesContext* constructTriples(); - class TriplesSameSubjectContext : public antlr4::ParserRuleContext { - public: - TriplesSameSubjectContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TriplesSameSubjectContext : public antlr4::ParserRuleContext { + public: + TriplesSameSubjectContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrTermContext *varOrTerm(); - PropertyListNotEmptyContext *propertyListNotEmpty(); - TriplesNodeContext *triplesNode(); - PropertyListContext *propertyList(); + VarOrTermContext* varOrTerm(); + PropertyListNotEmptyContext* propertyListNotEmpty(); + TriplesNodeContext* triplesNode(); + PropertyListContext* propertyList(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TriplesSameSubjectContext* triplesSameSubject(); - class PropertyListContext : public antlr4::ParserRuleContext { - public: - PropertyListContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PropertyListContext : public antlr4::ParserRuleContext { + public: + PropertyListContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - PropertyListNotEmptyContext *propertyListNotEmpty(); + PropertyListNotEmptyContext* propertyListNotEmpty(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PropertyListContext* propertyList(); - class PropertyListNotEmptyContext : public antlr4::ParserRuleContext { - public: - PropertyListNotEmptyContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PropertyListNotEmptyContext : public antlr4::ParserRuleContext { + public: + PropertyListNotEmptyContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector verb(); + std::vector verb(); VerbContext* verb(size_t i); - std::vector objectList(); + std::vector objectList(); ObjectListContext* objectList(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PropertyListNotEmptyContext* propertyListNotEmpty(); - class VerbContext : public antlr4::ParserRuleContext { - public: - VerbContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class VerbContext : public antlr4::ParserRuleContext { + public: + VerbContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrIriContext *varOrIri(); + VarOrIriContext* varOrIri(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; VerbContext* verb(); - class ObjectListContext : public antlr4::ParserRuleContext { - public: - ObjectListContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ObjectListContext : public antlr4::ParserRuleContext { + public: + ObjectListContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector objectR(); + std::vector objectR(); ObjectRContext* objectR(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ObjectListContext* objectList(); - class ObjectRContext : public antlr4::ParserRuleContext { - public: - ObjectRContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ObjectRContext : public antlr4::ParserRuleContext { + public: + ObjectRContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GraphNodeContext *graphNode(); + GraphNodeContext* graphNode(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ObjectRContext* objectR(); - class TriplesSameSubjectPathContext : public antlr4::ParserRuleContext { - public: - TriplesSameSubjectPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TriplesSameSubjectPathContext : public antlr4::ParserRuleContext { + public: + TriplesSameSubjectPathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrTermContext *varOrTerm(); - PropertyListPathNotEmptyContext *propertyListPathNotEmpty(); - TriplesNodePathContext *triplesNodePath(); - PropertyListPathContext *propertyListPath(); + VarOrTermContext* varOrTerm(); + PropertyListPathNotEmptyContext* propertyListPathNotEmpty(); + TriplesNodePathContext* triplesNodePath(); + PropertyListPathContext* propertyListPath(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TriplesSameSubjectPathContext* triplesSameSubjectPath(); - class PropertyListPathContext : public antlr4::ParserRuleContext { - public: - PropertyListPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PropertyListPathContext : public antlr4::ParserRuleContext { + public: + PropertyListPathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - PropertyListPathNotEmptyContext *propertyListPathNotEmpty(); + PropertyListPathNotEmptyContext* propertyListPathNotEmpty(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PropertyListPathContext* propertyListPath(); - class PropertyListPathNotEmptyContext : public antlr4::ParserRuleContext { - public: - PropertyListPathNotEmptyContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PropertyListPathNotEmptyContext : public antlr4::ParserRuleContext { + public: + PropertyListPathNotEmptyContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - TupleWithPathContext *tupleWithPath(); - std::vector tupleWithoutPath(); + TupleWithPathContext* tupleWithPath(); + std::vector tupleWithoutPath(); TupleWithoutPathContext* tupleWithoutPath(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PropertyListPathNotEmptyContext* propertyListPathNotEmpty(); - class VerbPathContext : public antlr4::ParserRuleContext { - public: - VerbPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class VerbPathContext : public antlr4::ParserRuleContext { + public: + VerbPathContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PathContext *path(); + PathContext* path(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; VerbPathContext* verbPath(); - class VerbSimpleContext : public antlr4::ParserRuleContext { - public: - VerbSimpleContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class VerbSimpleContext : public antlr4::ParserRuleContext { + public: + VerbSimpleContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext *var(); + VarContext* var(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; VerbSimpleContext* verbSimple(); - class TupleWithoutPathContext : public antlr4::ParserRuleContext { - public: - TupleWithoutPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TupleWithoutPathContext : public antlr4::ParserRuleContext { + public: + TupleWithoutPathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - VerbPathOrSimpleContext *verbPathOrSimple(); - ObjectListContext *objectList(); + VerbPathOrSimpleContext* verbPathOrSimple(); + ObjectListContext* objectList(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TupleWithoutPathContext* tupleWithoutPath(); - class TupleWithPathContext : public antlr4::ParserRuleContext { - public: - TupleWithPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TupleWithPathContext : public antlr4::ParserRuleContext { + public: + TupleWithPathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - VerbPathOrSimpleContext *verbPathOrSimple(); - ObjectListPathContext *objectListPath(); + VerbPathOrSimpleContext* verbPathOrSimple(); + ObjectListPathContext* objectListPath(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TupleWithPathContext* tupleWithPath(); - class VerbPathOrSimpleContext : public antlr4::ParserRuleContext { - public: - VerbPathOrSimpleContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class VerbPathOrSimpleContext : public antlr4::ParserRuleContext { + public: + VerbPathOrSimpleContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - VerbPathContext *verbPath(); - VerbSimpleContext *verbSimple(); + VerbPathContext* verbPath(); + VerbSimpleContext* verbSimple(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; VerbPathOrSimpleContext* verbPathOrSimple(); - class ObjectListPathContext : public antlr4::ParserRuleContext { - public: - ObjectListPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ObjectListPathContext : public antlr4::ParserRuleContext { + public: + ObjectListPathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector objectPath(); + std::vector objectPath(); ObjectPathContext* objectPath(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ObjectListPathContext* objectListPath(); - class ObjectPathContext : public antlr4::ParserRuleContext { - public: - ObjectPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ObjectPathContext : public antlr4::ParserRuleContext { + public: + ObjectPathContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - GraphNodePathContext *graphNodePath(); + GraphNodePathContext* graphNodePath(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ObjectPathContext* objectPath(); - class PathContext : public antlr4::ParserRuleContext { - public: - PathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathContext : public antlr4::ParserRuleContext { + public: + PathContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PathAlternativeContext *pathAlternative(); + PathAlternativeContext* pathAlternative(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathContext* path(); - class PathAlternativeContext : public antlr4::ParserRuleContext { - public: - PathAlternativeContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathAlternativeContext : public antlr4::ParserRuleContext { + public: + PathAlternativeContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector pathSequence(); + std::vector pathSequence(); PathSequenceContext* pathSequence(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathAlternativeContext* pathAlternative(); - class PathSequenceContext : public antlr4::ParserRuleContext { - public: - PathSequenceContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathSequenceContext : public antlr4::ParserRuleContext { + public: + PathSequenceContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector pathEltOrInverse(); + std::vector pathEltOrInverse(); PathEltOrInverseContext* pathEltOrInverse(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathSequenceContext* pathSequence(); - class PathEltContext : public antlr4::ParserRuleContext { - public: - PathEltContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathEltContext : public antlr4::ParserRuleContext { + public: + PathEltContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - PathPrimaryContext *pathPrimary(); - PathModContext *pathMod(); + PathPrimaryContext* pathPrimary(); + PathModContext* pathMod(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathEltContext* pathElt(); - class PathEltOrInverseContext : public antlr4::ParserRuleContext { - public: - antlr4::Token *negationOperator = nullptr; - PathEltOrInverseContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathEltOrInverseContext : public antlr4::ParserRuleContext { + public: + antlr4::Token* negationOperator = nullptr; + PathEltOrInverseContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - PathEltContext *pathElt(); + PathEltContext* pathElt(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathEltOrInverseContext* pathEltOrInverse(); - class PathModContext : public antlr4::ParserRuleContext { - public: - PathModContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathModContext : public antlr4::ParserRuleContext { + public: + PathModContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathModContext* pathMod(); - class PathPrimaryContext : public antlr4::ParserRuleContext { - public: - PathPrimaryContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathPrimaryContext : public antlr4::ParserRuleContext { + public: + PathPrimaryContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext *iri(); - PathNegatedPropertySetContext *pathNegatedPropertySet(); - PathContext *path(); + IriContext* iri(); + PathNegatedPropertySetContext* pathNegatedPropertySet(); + PathContext* path(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathPrimaryContext* pathPrimary(); - class PathNegatedPropertySetContext : public antlr4::ParserRuleContext { - public: - PathNegatedPropertySetContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathNegatedPropertySetContext : public antlr4::ParserRuleContext { + public: + PathNegatedPropertySetContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector pathOneInPropertySet(); + std::vector pathOneInPropertySet(); PathOneInPropertySetContext* pathOneInPropertySet(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathNegatedPropertySetContext* pathNegatedPropertySet(); - class PathOneInPropertySetContext : public antlr4::ParserRuleContext { - public: - PathOneInPropertySetContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PathOneInPropertySetContext : public antlr4::ParserRuleContext { + public: + PathOneInPropertySetContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext *iri(); + IriContext* iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PathOneInPropertySetContext* pathOneInPropertySet(); - class IntegerContext : public antlr4::ParserRuleContext { - public: - IntegerContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class IntegerContext : public antlr4::ParserRuleContext { + public: + IntegerContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *INTEGER(); + antlr4::tree::TerminalNode* INTEGER(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; IntegerContext* integer(); - class TriplesNodeContext : public antlr4::ParserRuleContext { - public: - TriplesNodeContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TriplesNodeContext : public antlr4::ParserRuleContext { + public: + TriplesNodeContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - CollectionContext *collection(); - BlankNodePropertyListContext *blankNodePropertyList(); + CollectionContext* collection(); + BlankNodePropertyListContext* blankNodePropertyList(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TriplesNodeContext* triplesNode(); - class BlankNodePropertyListContext : public antlr4::ParserRuleContext { - public: - BlankNodePropertyListContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class BlankNodePropertyListContext : public antlr4::ParserRuleContext { + public: + BlankNodePropertyListContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - PropertyListNotEmptyContext *propertyListNotEmpty(); + PropertyListNotEmptyContext* propertyListNotEmpty(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; BlankNodePropertyListContext* blankNodePropertyList(); - class TriplesNodePathContext : public antlr4::ParserRuleContext { - public: - TriplesNodePathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class TriplesNodePathContext : public antlr4::ParserRuleContext { + public: + TriplesNodePathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - CollectionPathContext *collectionPath(); - BlankNodePropertyListPathContext *blankNodePropertyListPath(); + CollectionPathContext* collectionPath(); + BlankNodePropertyListPathContext* blankNodePropertyListPath(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; TriplesNodePathContext* triplesNodePath(); - class BlankNodePropertyListPathContext : public antlr4::ParserRuleContext { - public: - BlankNodePropertyListPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class BlankNodePropertyListPathContext : public antlr4::ParserRuleContext { + public: + BlankNodePropertyListPathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - PropertyListPathNotEmptyContext *propertyListPathNotEmpty(); + PropertyListPathNotEmptyContext* propertyListPathNotEmpty(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; BlankNodePropertyListPathContext* blankNodePropertyListPath(); - class CollectionContext : public antlr4::ParserRuleContext { - public: - CollectionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class CollectionContext : public antlr4::ParserRuleContext { + public: + CollectionContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector graphNode(); + std::vector graphNode(); GraphNodeContext* graphNode(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; CollectionContext* collection(); - class CollectionPathContext : public antlr4::ParserRuleContext { - public: - CollectionPathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class CollectionPathContext : public antlr4::ParserRuleContext { + public: + CollectionPathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector graphNodePath(); + std::vector graphNodePath(); GraphNodePathContext* graphNodePath(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; CollectionPathContext* collectionPath(); - class GraphNodeContext : public antlr4::ParserRuleContext { - public: - GraphNodeContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphNodeContext : public antlr4::ParserRuleContext { + public: + GraphNodeContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrTermContext *varOrTerm(); - TriplesNodeContext *triplesNode(); + VarOrTermContext* varOrTerm(); + TriplesNodeContext* triplesNode(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GraphNodeContext* graphNode(); - class GraphNodePathContext : public antlr4::ParserRuleContext { - public: - GraphNodePathContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphNodePathContext : public antlr4::ParserRuleContext { + public: + GraphNodePathContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - VarOrTermContext *varOrTerm(); - TriplesNodePathContext *triplesNodePath(); + VarOrTermContext* varOrTerm(); + TriplesNodePathContext* triplesNodePath(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GraphNodePathContext* graphNodePath(); - class VarOrTermContext : public antlr4::ParserRuleContext { - public: - VarOrTermContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class VarOrTermContext : public antlr4::ParserRuleContext { + public: + VarOrTermContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext *var(); - GraphTermContext *graphTerm(); + VarContext* var(); + GraphTermContext* graphTerm(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; VarOrTermContext* varOrTerm(); - class VarOrIriContext : public antlr4::ParserRuleContext { - public: - VarOrIriContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class VarOrIriContext : public antlr4::ParserRuleContext { + public: + VarOrIriContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - VarContext *var(); - IriContext *iri(); + VarContext* var(); + IriContext* iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; VarOrIriContext* varOrIri(); - class VarContext : public antlr4::ParserRuleContext { - public: - VarContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class VarContext : public antlr4::ParserRuleContext { + public: + VarContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *VAR1(); - antlr4::tree::TerminalNode *VAR2(); + antlr4::tree::TerminalNode* VAR1(); + antlr4::tree::TerminalNode* VAR2(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; VarContext* var(); - class GraphTermContext : public antlr4::ParserRuleContext { - public: - GraphTermContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class GraphTermContext : public antlr4::ParserRuleContext { + public: + GraphTermContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext *iri(); - RdfLiteralContext *rdfLiteral(); - NumericLiteralContext *numericLiteral(); - BooleanLiteralContext *booleanLiteral(); - BlankNodeContext *blankNode(); - antlr4::tree::TerminalNode *NIL(); + IriContext* iri(); + RdfLiteralContext* rdfLiteral(); + NumericLiteralContext* numericLiteral(); + BooleanLiteralContext* booleanLiteral(); + BlankNodeContext* blankNode(); + antlr4::tree::TerminalNode* NIL(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; GraphTermContext* graphTerm(); - class ExpressionContext : public antlr4::ParserRuleContext { - public: - ExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ExpressionContext : public antlr4::ParserRuleContext { + public: + ExpressionContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - ConditionalOrExpressionContext *conditionalOrExpression(); + ConditionalOrExpressionContext* conditionalOrExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ExpressionContext* expression(); - class ConditionalOrExpressionContext : public antlr4::ParserRuleContext { - public: - ConditionalOrExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ConditionalOrExpressionContext : public antlr4::ParserRuleContext { + public: + ConditionalOrExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector conditionalAndExpression(); + std::vector conditionalAndExpression(); ConditionalAndExpressionContext* conditionalAndExpression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ConditionalOrExpressionContext* conditionalOrExpression(); - class ConditionalAndExpressionContext : public antlr4::ParserRuleContext { - public: - ConditionalAndExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ConditionalAndExpressionContext : public antlr4::ParserRuleContext { + public: + ConditionalAndExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector valueLogical(); + std::vector valueLogical(); ValueLogicalContext* valueLogical(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ConditionalAndExpressionContext* conditionalAndExpression(); - class ValueLogicalContext : public antlr4::ParserRuleContext { - public: - ValueLogicalContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ValueLogicalContext : public antlr4::ParserRuleContext { + public: + ValueLogicalContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - RelationalExpressionContext *relationalExpression(); + RelationalExpressionContext* relationalExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ValueLogicalContext* valueLogical(); - class RelationalExpressionContext : public antlr4::ParserRuleContext { - public: - antlr4::Token *notToken = nullptr; - RelationalExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class RelationalExpressionContext : public antlr4::ParserRuleContext { + public: + antlr4::Token* notToken = nullptr; + RelationalExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - std::vector numericExpression(); + std::vector numericExpression(); NumericExpressionContext* numericExpression(size_t i); - antlr4::tree::TerminalNode *IN(); - ExpressionListContext *expressionList(); - antlr4::tree::TerminalNode *NOT(); + antlr4::tree::TerminalNode* IN(); + ExpressionListContext* expressionList(); + antlr4::tree::TerminalNode* NOT(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; RelationalExpressionContext* relationalExpression(); - class NumericExpressionContext : public antlr4::ParserRuleContext { - public: - NumericExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class NumericExpressionContext : public antlr4::ParserRuleContext { + public: + NumericExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - AdditiveExpressionContext *additiveExpression(); + AdditiveExpressionContext* additiveExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; NumericExpressionContext* numericExpression(); - class AdditiveExpressionContext : public antlr4::ParserRuleContext { - public: - AdditiveExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class AdditiveExpressionContext : public antlr4::ParserRuleContext { + public: + AdditiveExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - MultiplicativeExpressionContext *multiplicativeExpression(); - std::vector multiplicativeExpressionWithSign(); - MultiplicativeExpressionWithSignContext* multiplicativeExpressionWithSign(size_t i); + MultiplicativeExpressionContext* multiplicativeExpression(); + std::vector + multiplicativeExpressionWithSign(); + MultiplicativeExpressionWithSignContext* multiplicativeExpressionWithSign( + size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; AdditiveExpressionContext* additiveExpression(); - class MultiplicativeExpressionWithSignContext : public antlr4::ParserRuleContext { - public: - MultiplicativeExpressionWithSignContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class MultiplicativeExpressionWithSignContext + : public antlr4::ParserRuleContext { + public: + MultiplicativeExpressionWithSignContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - PlusSubexpressionContext *plusSubexpression(); - MinusSubexpressionContext *minusSubexpression(); - MultiplicativeExpressionWithLeadingSignButNoSpaceContext *multiplicativeExpressionWithLeadingSignButNoSpace(); + PlusSubexpressionContext* plusSubexpression(); + MinusSubexpressionContext* minusSubexpression(); + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* + multiplicativeExpressionWithLeadingSignButNoSpace(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; MultiplicativeExpressionWithSignContext* multiplicativeExpressionWithSign(); - class PlusSubexpressionContext : public antlr4::ParserRuleContext { - public: - PlusSubexpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PlusSubexpressionContext : public antlr4::ParserRuleContext { + public: + PlusSubexpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - MultiplicativeExpressionContext *multiplicativeExpression(); + MultiplicativeExpressionContext* multiplicativeExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PlusSubexpressionContext* plusSubexpression(); - class MinusSubexpressionContext : public antlr4::ParserRuleContext { - public: - MinusSubexpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class MinusSubexpressionContext : public antlr4::ParserRuleContext { + public: + MinusSubexpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - MultiplicativeExpressionContext *multiplicativeExpression(); + MultiplicativeExpressionContext* multiplicativeExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; MinusSubexpressionContext* minusSubexpression(); - class MultiplicativeExpressionWithLeadingSignButNoSpaceContext : public antlr4::ParserRuleContext { - public: - MultiplicativeExpressionWithLeadingSignButNoSpaceContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class MultiplicativeExpressionWithLeadingSignButNoSpaceContext + : public antlr4::ParserRuleContext { + public: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext( + antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - NumericLiteralPositiveContext *numericLiteralPositive(); - NumericLiteralNegativeContext *numericLiteralNegative(); - std::vector multiplyOrDivideExpression(); + NumericLiteralPositiveContext* numericLiteralPositive(); + NumericLiteralNegativeContext* numericLiteralNegative(); + std::vector + multiplyOrDivideExpression(); MultiplyOrDivideExpressionContext* multiplyOrDivideExpression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; - MultiplicativeExpressionWithLeadingSignButNoSpaceContext* multiplicativeExpressionWithLeadingSignButNoSpace(); + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* + multiplicativeExpressionWithLeadingSignButNoSpace(); - class MultiplicativeExpressionContext : public antlr4::ParserRuleContext { - public: - MultiplicativeExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class MultiplicativeExpressionContext : public antlr4::ParserRuleContext { + public: + MultiplicativeExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - UnaryExpressionContext *unaryExpression(); - std::vector multiplyOrDivideExpression(); + UnaryExpressionContext* unaryExpression(); + std::vector + multiplyOrDivideExpression(); MultiplyOrDivideExpressionContext* multiplyOrDivideExpression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; MultiplicativeExpressionContext* multiplicativeExpression(); - class MultiplyOrDivideExpressionContext : public antlr4::ParserRuleContext { - public: - MultiplyOrDivideExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class MultiplyOrDivideExpressionContext : public antlr4::ParserRuleContext { + public: + MultiplyOrDivideExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - MultiplyExpressionContext *multiplyExpression(); - DivideExpressionContext *divideExpression(); + MultiplyExpressionContext* multiplyExpression(); + DivideExpressionContext* divideExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; MultiplyOrDivideExpressionContext* multiplyOrDivideExpression(); - class MultiplyExpressionContext : public antlr4::ParserRuleContext { - public: - MultiplyExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class MultiplyExpressionContext : public antlr4::ParserRuleContext { + public: + MultiplyExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - UnaryExpressionContext *unaryExpression(); + UnaryExpressionContext* unaryExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; MultiplyExpressionContext* multiplyExpression(); - class DivideExpressionContext : public antlr4::ParserRuleContext { - public: - DivideExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class DivideExpressionContext : public antlr4::ParserRuleContext { + public: + DivideExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - UnaryExpressionContext *unaryExpression(); + UnaryExpressionContext* unaryExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; DivideExpressionContext* divideExpression(); - class UnaryExpressionContext : public antlr4::ParserRuleContext { - public: - UnaryExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class UnaryExpressionContext : public antlr4::ParserRuleContext { + public: + UnaryExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - PrimaryExpressionContext *primaryExpression(); + PrimaryExpressionContext* primaryExpression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; UnaryExpressionContext* unaryExpression(); - class PrimaryExpressionContext : public antlr4::ParserRuleContext { - public: - PrimaryExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PrimaryExpressionContext : public antlr4::ParserRuleContext { + public: + PrimaryExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - BrackettedExpressionContext *brackettedExpression(); - BuiltInCallContext *builtInCall(); - IriOrFunctionContext *iriOrFunction(); - RdfLiteralContext *rdfLiteral(); - NumericLiteralContext *numericLiteral(); - BooleanLiteralContext *booleanLiteral(); - VarContext *var(); + BrackettedExpressionContext* brackettedExpression(); + BuiltInCallContext* builtInCall(); + IriOrFunctionContext* iriOrFunction(); + RdfLiteralContext* rdfLiteral(); + NumericLiteralContext* numericLiteral(); + BooleanLiteralContext* booleanLiteral(); + VarContext* var(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PrimaryExpressionContext* primaryExpression(); - class BrackettedExpressionContext : public antlr4::ParserRuleContext { - public: - BrackettedExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class BrackettedExpressionContext : public antlr4::ParserRuleContext { + public: + BrackettedExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - ExpressionContext *expression(); + ExpressionContext* expression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; BrackettedExpressionContext* brackettedExpression(); - class BuiltInCallContext : public antlr4::ParserRuleContext { - public: - BuiltInCallContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class BuiltInCallContext : public antlr4::ParserRuleContext { + public: + BuiltInCallContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - AggregateContext *aggregate(); - antlr4::tree::TerminalNode *STR(); - std::vector expression(); + AggregateContext* aggregate(); + antlr4::tree::TerminalNode* STR(); + std::vector expression(); ExpressionContext* expression(size_t i); - LangExpressionContext *langExpression(); - antlr4::tree::TerminalNode *LANGMATCHES(); - antlr4::tree::TerminalNode *DATATYPE(); - antlr4::tree::TerminalNode *BOUND(); - VarContext *var(); - antlr4::tree::TerminalNode *IRI(); - antlr4::tree::TerminalNode *URI(); - antlr4::tree::TerminalNode *BNODE(); - antlr4::tree::TerminalNode *NIL(); - antlr4::tree::TerminalNode *RAND(); - antlr4::tree::TerminalNode *ABS(); - antlr4::tree::TerminalNode *CEIL(); - antlr4::tree::TerminalNode *FLOOR(); - antlr4::tree::TerminalNode *ROUND(); - antlr4::tree::TerminalNode *CONCAT(); - ExpressionListContext *expressionList(); - SubstringExpressionContext *substringExpression(); - antlr4::tree::TerminalNode *STRLEN(); - StrReplaceExpressionContext *strReplaceExpression(); - antlr4::tree::TerminalNode *UCASE(); - antlr4::tree::TerminalNode *LCASE(); - antlr4::tree::TerminalNode *ENCODE_FOR_URI(); - antlr4::tree::TerminalNode *CONTAINS(); - antlr4::tree::TerminalNode *STRSTARTS(); - antlr4::tree::TerminalNode *STRENDS(); - antlr4::tree::TerminalNode *STRBEFORE(); - antlr4::tree::TerminalNode *STRAFTER(); - antlr4::tree::TerminalNode *YEAR(); - antlr4::tree::TerminalNode *MONTH(); - antlr4::tree::TerminalNode *DAY(); - antlr4::tree::TerminalNode *HOURS(); - antlr4::tree::TerminalNode *MINUTES(); - antlr4::tree::TerminalNode *SECONDS(); - antlr4::tree::TerminalNode *TIMEZONE(); - antlr4::tree::TerminalNode *TZ(); - antlr4::tree::TerminalNode *NOW(); - antlr4::tree::TerminalNode *UUID(); - antlr4::tree::TerminalNode *STRUUID(); - antlr4::tree::TerminalNode *MD5(); - antlr4::tree::TerminalNode *SHA1(); - antlr4::tree::TerminalNode *SHA256(); - antlr4::tree::TerminalNode *SHA384(); - antlr4::tree::TerminalNode *SHA512(); - antlr4::tree::TerminalNode *COALESCE(); - antlr4::tree::TerminalNode *IF(); - antlr4::tree::TerminalNode *STRLANG(); - antlr4::tree::TerminalNode *STRDT(); - antlr4::tree::TerminalNode *SAMETERM(); - antlr4::tree::TerminalNode *ISIRI(); - antlr4::tree::TerminalNode *ISURI(); - antlr4::tree::TerminalNode *ISBLANK(); - antlr4::tree::TerminalNode *ISLITERAL(); - antlr4::tree::TerminalNode *ISNUMERIC(); - RegexExpressionContext *regexExpression(); - ExistsFuncContext *existsFunc(); - NotExistsFuncContext *notExistsFunc(); - - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; - - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + LangExpressionContext* langExpression(); + antlr4::tree::TerminalNode* LANGMATCHES(); + antlr4::tree::TerminalNode* DATATYPE(); + antlr4::tree::TerminalNode* BOUND(); + VarContext* var(); + antlr4::tree::TerminalNode* IRI(); + antlr4::tree::TerminalNode* URI(); + antlr4::tree::TerminalNode* BNODE(); + antlr4::tree::TerminalNode* NIL(); + antlr4::tree::TerminalNode* RAND(); + antlr4::tree::TerminalNode* ABS(); + antlr4::tree::TerminalNode* CEIL(); + antlr4::tree::TerminalNode* FLOOR(); + antlr4::tree::TerminalNode* ROUND(); + antlr4::tree::TerminalNode* CONCAT(); + ExpressionListContext* expressionList(); + SubstringExpressionContext* substringExpression(); + antlr4::tree::TerminalNode* STRLEN(); + StrReplaceExpressionContext* strReplaceExpression(); + antlr4::tree::TerminalNode* UCASE(); + antlr4::tree::TerminalNode* LCASE(); + antlr4::tree::TerminalNode* ENCODE_FOR_URI(); + antlr4::tree::TerminalNode* CONTAINS(); + antlr4::tree::TerminalNode* STRSTARTS(); + antlr4::tree::TerminalNode* STRENDS(); + antlr4::tree::TerminalNode* STRBEFORE(); + antlr4::tree::TerminalNode* STRAFTER(); + antlr4::tree::TerminalNode* YEAR(); + antlr4::tree::TerminalNode* MONTH(); + antlr4::tree::TerminalNode* DAY(); + antlr4::tree::TerminalNode* HOURS(); + antlr4::tree::TerminalNode* MINUTES(); + antlr4::tree::TerminalNode* SECONDS(); + antlr4::tree::TerminalNode* TIMEZONE(); + antlr4::tree::TerminalNode* TZ(); + antlr4::tree::TerminalNode* NOW(); + antlr4::tree::TerminalNode* UUID(); + antlr4::tree::TerminalNode* STRUUID(); + antlr4::tree::TerminalNode* MD5(); + antlr4::tree::TerminalNode* SHA1(); + antlr4::tree::TerminalNode* SHA256(); + antlr4::tree::TerminalNode* SHA384(); + antlr4::tree::TerminalNode* SHA512(); + antlr4::tree::TerminalNode* COALESCE(); + antlr4::tree::TerminalNode* IF(); + antlr4::tree::TerminalNode* STRLANG(); + antlr4::tree::TerminalNode* STRDT(); + antlr4::tree::TerminalNode* SAMETERM(); + antlr4::tree::TerminalNode* ISIRI(); + antlr4::tree::TerminalNode* ISURI(); + antlr4::tree::TerminalNode* ISBLANK(); + antlr4::tree::TerminalNode* ISLITERAL(); + antlr4::tree::TerminalNode* ISNUMERIC(); + RegexExpressionContext* regexExpression(); + ExistsFuncContext* existsFunc(); + NotExistsFuncContext* notExistsFunc(); + + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; + + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; BuiltInCallContext* builtInCall(); - class RegexExpressionContext : public antlr4::ParserRuleContext { - public: - RegexExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class RegexExpressionContext : public antlr4::ParserRuleContext { + public: + RegexExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *REGEX(); - std::vector expression(); + antlr4::tree::TerminalNode* REGEX(); + std::vector expression(); ExpressionContext* expression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; RegexExpressionContext* regexExpression(); - class LangExpressionContext : public antlr4::ParserRuleContext { - public: - LangExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class LangExpressionContext : public antlr4::ParserRuleContext { + public: + LangExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *LANG(); - ExpressionContext *expression(); + antlr4::tree::TerminalNode* LANG(); + ExpressionContext* expression(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; LangExpressionContext* langExpression(); - class SubstringExpressionContext : public antlr4::ParserRuleContext { - public: - SubstringExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class SubstringExpressionContext : public antlr4::ParserRuleContext { + public: + SubstringExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *SUBSTR(); - std::vector expression(); + antlr4::tree::TerminalNode* SUBSTR(); + std::vector expression(); ExpressionContext* expression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; SubstringExpressionContext* substringExpression(); - class StrReplaceExpressionContext : public antlr4::ParserRuleContext { - public: - StrReplaceExpressionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class StrReplaceExpressionContext : public antlr4::ParserRuleContext { + public: + StrReplaceExpressionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *REPLACE(); - std::vector expression(); + antlr4::tree::TerminalNode* REPLACE(); + std::vector expression(); ExpressionContext* expression(size_t i); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; StrReplaceExpressionContext* strReplaceExpression(); - class ExistsFuncContext : public antlr4::ParserRuleContext { - public: - ExistsFuncContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class ExistsFuncContext : public antlr4::ParserRuleContext { + public: + ExistsFuncContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *EXISTS(); - GroupGraphPatternContext *groupGraphPattern(); + antlr4::tree::TerminalNode* EXISTS(); + GroupGraphPatternContext* groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; ExistsFuncContext* existsFunc(); - class NotExistsFuncContext : public antlr4::ParserRuleContext { - public: - NotExistsFuncContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class NotExistsFuncContext : public antlr4::ParserRuleContext { + public: + NotExistsFuncContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *NOT(); - antlr4::tree::TerminalNode *EXISTS(); - GroupGraphPatternContext *groupGraphPattern(); + antlr4::tree::TerminalNode* NOT(); + antlr4::tree::TerminalNode* EXISTS(); + GroupGraphPatternContext* groupGraphPattern(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; NotExistsFuncContext* notExistsFunc(); - class AggregateContext : public antlr4::ParserRuleContext { - public: - AggregateContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class AggregateContext : public antlr4::ParserRuleContext { + public: + AggregateContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *COUNT(); - ExpressionContext *expression(); - antlr4::tree::TerminalNode *DISTINCT(); - antlr4::tree::TerminalNode *SUM(); - antlr4::tree::TerminalNode *MIN(); - antlr4::tree::TerminalNode *MAX(); - antlr4::tree::TerminalNode *AVG(); - antlr4::tree::TerminalNode *STDEV(); - antlr4::tree::TerminalNode *SAMPLE(); - antlr4::tree::TerminalNode *GROUP_CONCAT(); - antlr4::tree::TerminalNode *SEPARATOR(); - StringContext *string(); + antlr4::tree::TerminalNode* COUNT(); + ExpressionContext* expression(); + antlr4::tree::TerminalNode* DISTINCT(); + antlr4::tree::TerminalNode* SUM(); + antlr4::tree::TerminalNode* MIN(); + antlr4::tree::TerminalNode* MAX(); + antlr4::tree::TerminalNode* AVG(); + antlr4::tree::TerminalNode* STDEV(); + antlr4::tree::TerminalNode* SAMPLE(); + antlr4::tree::TerminalNode* GROUP_CONCAT(); + antlr4::tree::TerminalNode* SEPARATOR(); + StringContext* string(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; AggregateContext* aggregate(); - class IriOrFunctionContext : public antlr4::ParserRuleContext { - public: - IriOrFunctionContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class IriOrFunctionContext : public antlr4::ParserRuleContext { + public: + IriOrFunctionContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - IriContext *iri(); - ArgListContext *argList(); + IriContext* iri(); + ArgListContext* argList(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; IriOrFunctionContext* iriOrFunction(); - class RdfLiteralContext : public antlr4::ParserRuleContext { - public: - RdfLiteralContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class RdfLiteralContext : public antlr4::ParserRuleContext { + public: + RdfLiteralContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - StringContext *string(); - antlr4::tree::TerminalNode *LANGTAG(); - IriContext *iri(); + StringContext* string(); + antlr4::tree::TerminalNode* LANGTAG(); + IriContext* iri(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; RdfLiteralContext* rdfLiteral(); - class NumericLiteralContext : public antlr4::ParserRuleContext { - public: - NumericLiteralContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class NumericLiteralContext : public antlr4::ParserRuleContext { + public: + NumericLiteralContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - NumericLiteralUnsignedContext *numericLiteralUnsigned(); - NumericLiteralPositiveContext *numericLiteralPositive(); - NumericLiteralNegativeContext *numericLiteralNegative(); + NumericLiteralUnsignedContext* numericLiteralUnsigned(); + NumericLiteralPositiveContext* numericLiteralPositive(); + NumericLiteralNegativeContext* numericLiteralNegative(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; NumericLiteralContext* numericLiteral(); - class NumericLiteralUnsignedContext : public antlr4::ParserRuleContext { - public: - NumericLiteralUnsignedContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class NumericLiteralUnsignedContext : public antlr4::ParserRuleContext { + public: + NumericLiteralUnsignedContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *INTEGER(); - antlr4::tree::TerminalNode *DECIMAL(); - antlr4::tree::TerminalNode *DOUBLE(); + antlr4::tree::TerminalNode* INTEGER(); + antlr4::tree::TerminalNode* DECIMAL(); + antlr4::tree::TerminalNode* DOUBLE(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; NumericLiteralUnsignedContext* numericLiteralUnsigned(); - class NumericLiteralPositiveContext : public antlr4::ParserRuleContext { - public: - NumericLiteralPositiveContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class NumericLiteralPositiveContext : public antlr4::ParserRuleContext { + public: + NumericLiteralPositiveContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *INTEGER_POSITIVE(); - antlr4::tree::TerminalNode *DECIMAL_POSITIVE(); - antlr4::tree::TerminalNode *DOUBLE_POSITIVE(); + antlr4::tree::TerminalNode* INTEGER_POSITIVE(); + antlr4::tree::TerminalNode* DECIMAL_POSITIVE(); + antlr4::tree::TerminalNode* DOUBLE_POSITIVE(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; NumericLiteralPositiveContext* numericLiteralPositive(); - class NumericLiteralNegativeContext : public antlr4::ParserRuleContext { - public: - NumericLiteralNegativeContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class NumericLiteralNegativeContext : public antlr4::ParserRuleContext { + public: + NumericLiteralNegativeContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *INTEGER_NEGATIVE(); - antlr4::tree::TerminalNode *DECIMAL_NEGATIVE(); - antlr4::tree::TerminalNode *DOUBLE_NEGATIVE(); + antlr4::tree::TerminalNode* INTEGER_NEGATIVE(); + antlr4::tree::TerminalNode* DECIMAL_NEGATIVE(); + antlr4::tree::TerminalNode* DOUBLE_NEGATIVE(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; NumericLiteralNegativeContext* numericLiteralNegative(); - class BooleanLiteralContext : public antlr4::ParserRuleContext { - public: - BooleanLiteralContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class BooleanLiteralContext : public antlr4::ParserRuleContext { + public: + BooleanLiteralContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; BooleanLiteralContext* booleanLiteral(); - class StringContext : public antlr4::ParserRuleContext { - public: - StringContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class StringContext : public antlr4::ParserRuleContext { + public: + StringContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *STRING_LITERAL1(); - antlr4::tree::TerminalNode *STRING_LITERAL2(); - antlr4::tree::TerminalNode *STRING_LITERAL_LONG1(); - antlr4::tree::TerminalNode *STRING_LITERAL_LONG2(); + antlr4::tree::TerminalNode* STRING_LITERAL1(); + antlr4::tree::TerminalNode* STRING_LITERAL2(); + antlr4::tree::TerminalNode* STRING_LITERAL_LONG1(); + antlr4::tree::TerminalNode* STRING_LITERAL_LONG2(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; StringContext* string(); - class IriContext : public antlr4::ParserRuleContext { - public: - IriContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class IriContext : public antlr4::ParserRuleContext { + public: + IriContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - IrirefContext *iriref(); - PrefixedNameContext *prefixedName(); - antlr4::tree::TerminalNode *PREFIX_LANGTAG(); + IrirefContext* iriref(); + PrefixedNameContext* prefixedName(); + antlr4::tree::TerminalNode* PREFIX_LANGTAG(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; IriContext* iri(); - class PrefixedNameContext : public antlr4::ParserRuleContext { - public: - PrefixedNameContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PrefixedNameContext : public antlr4::ParserRuleContext { + public: + PrefixedNameContext(antlr4::ParserRuleContext* parent, + size_t invokingState); virtual size_t getRuleIndex() const override; - PnameLnContext *pnameLn(); - PnameNsContext *pnameNs(); + PnameLnContext* pnameLn(); + PnameNsContext* pnameNs(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PrefixedNameContext* prefixedName(); - class BlankNodeContext : public antlr4::ParserRuleContext { - public: - BlankNodeContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class BlankNodeContext : public antlr4::ParserRuleContext { + public: + BlankNodeContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *BLANK_NODE_LABEL(); - antlr4::tree::TerminalNode *ANON(); + antlr4::tree::TerminalNode* BLANK_NODE_LABEL(); + antlr4::tree::TerminalNode* ANON(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; BlankNodeContext* blankNode(); - class IrirefContext : public antlr4::ParserRuleContext { - public: - IrirefContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class IrirefContext : public antlr4::ParserRuleContext { + public: + IrirefContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *IRI_REF(); + antlr4::tree::TerminalNode* IRI_REF(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; IrirefContext* iriref(); - class PnameLnContext : public antlr4::ParserRuleContext { - public: - PnameLnContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PnameLnContext : public antlr4::ParserRuleContext { + public: + PnameLnContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *PNAME_LN(); + antlr4::tree::TerminalNode* PNAME_LN(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PnameLnContext* pnameLn(); - class PnameNsContext : public antlr4::ParserRuleContext { - public: - PnameNsContext(antlr4::ParserRuleContext *parent, size_t invokingState); + class PnameNsContext : public antlr4::ParserRuleContext { + public: + PnameNsContext(antlr4::ParserRuleContext* parent, size_t invokingState); virtual size_t getRuleIndex() const override; - antlr4::tree::TerminalNode *PNAME_NS(); + antlr4::tree::TerminalNode* PNAME_NS(); - virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override; - virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override; + virtual void enterRule(antlr4::tree::ParseTreeListener* listener) override; + virtual void exitRule(antlr4::tree::ParseTreeListener* listener) override; - virtual std::any accept(antlr4::tree::ParseTreeVisitor *visitor) override; - + virtual std::any accept(antlr4::tree::ParseTreeVisitor* visitor) override; }; PnameNsContext* pnameNs(); - - // By default the static state used to implement the parser is lazily initialized during the first - // call to the constructor. You can call this function if you wish to initialize the static state - // ahead of time. + // By default the static state used to implement the parser is lazily + // initialized during the first call to the constructor. You can call this + // function if you wish to initialize the static state ahead of time. static void initialize(); -private: + private: }; - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.cpp b/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.cpp index 0c89624f68..de64a4a426 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.cpp +++ b/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.cpp @@ -1,7 +1,4 @@ // Generated from SparqlAutomatic.g4 by ANTLR 4.11.1 - #include "SparqlAutomaticVisitor.h" - - diff --git a/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.h b/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.h index beb6ac204f..338b434ebe 100644 --- a/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.h +++ b/src/parser/sparqlParser/generated/SparqlAutomaticVisitor.h @@ -3,336 +3,476 @@ #pragma once - -#include "antlr4-runtime.h" #include "SparqlAutomaticParser.h" - - +#include "antlr4-runtime.h" /** * This class defines an abstract visitor for a parse tree * produced by SparqlAutomaticParser. */ -class SparqlAutomaticVisitor : public antlr4::tree::AbstractParseTreeVisitor { -public: - +class SparqlAutomaticVisitor : public antlr4::tree::AbstractParseTreeVisitor { + public: /** * Visit parse trees produced by SparqlAutomaticParser. */ - virtual std::any visitQueryOrUpdate(SparqlAutomaticParser::QueryOrUpdateContext *context) = 0; - - virtual std::any visitQuery(SparqlAutomaticParser::QueryContext *context) = 0; + virtual std::any visitQueryOrUpdate( + SparqlAutomaticParser::QueryOrUpdateContext* context) = 0; - virtual std::any visitPrologue(SparqlAutomaticParser::PrologueContext *context) = 0; + virtual std::any visitQuery(SparqlAutomaticParser::QueryContext* context) = 0; - virtual std::any visitBaseDecl(SparqlAutomaticParser::BaseDeclContext *context) = 0; + virtual std::any visitPrologue( + SparqlAutomaticParser::PrologueContext* context) = 0; - virtual std::any visitPrefixDecl(SparqlAutomaticParser::PrefixDeclContext *context) = 0; + virtual std::any visitBaseDecl( + SparqlAutomaticParser::BaseDeclContext* context) = 0; - virtual std::any visitSelectQuery(SparqlAutomaticParser::SelectQueryContext *context) = 0; + virtual std::any visitPrefixDecl( + SparqlAutomaticParser::PrefixDeclContext* context) = 0; - virtual std::any visitSubSelect(SparqlAutomaticParser::SubSelectContext *context) = 0; + virtual std::any visitSelectQuery( + SparqlAutomaticParser::SelectQueryContext* context) = 0; - virtual std::any visitSelectClause(SparqlAutomaticParser::SelectClauseContext *context) = 0; + virtual std::any visitSubSelect( + SparqlAutomaticParser::SubSelectContext* context) = 0; - virtual std::any visitVarOrAlias(SparqlAutomaticParser::VarOrAliasContext *context) = 0; + virtual std::any visitSelectClause( + SparqlAutomaticParser::SelectClauseContext* context) = 0; - virtual std::any visitAlias(SparqlAutomaticParser::AliasContext *context) = 0; + virtual std::any visitVarOrAlias( + SparqlAutomaticParser::VarOrAliasContext* context) = 0; - virtual std::any visitAliasWithoutBrackets(SparqlAutomaticParser::AliasWithoutBracketsContext *context) = 0; + virtual std::any visitAlias(SparqlAutomaticParser::AliasContext* context) = 0; - virtual std::any visitConstructQuery(SparqlAutomaticParser::ConstructQueryContext *context) = 0; + virtual std::any visitAliasWithoutBrackets( + SparqlAutomaticParser::AliasWithoutBracketsContext* context) = 0; - virtual std::any visitDescribeQuery(SparqlAutomaticParser::DescribeQueryContext *context) = 0; + virtual std::any visitConstructQuery( + SparqlAutomaticParser::ConstructQueryContext* context) = 0; - virtual std::any visitAskQuery(SparqlAutomaticParser::AskQueryContext *context) = 0; + virtual std::any visitDescribeQuery( + SparqlAutomaticParser::DescribeQueryContext* context) = 0; - virtual std::any visitDatasetClause(SparqlAutomaticParser::DatasetClauseContext *context) = 0; + virtual std::any visitAskQuery( + SparqlAutomaticParser::AskQueryContext* context) = 0; - virtual std::any visitDefaultGraphClause(SparqlAutomaticParser::DefaultGraphClauseContext *context) = 0; + virtual std::any visitDatasetClause( + SparqlAutomaticParser::DatasetClauseContext* context) = 0; - virtual std::any visitNamedGraphClause(SparqlAutomaticParser::NamedGraphClauseContext *context) = 0; + virtual std::any visitDefaultGraphClause( + SparqlAutomaticParser::DefaultGraphClauseContext* context) = 0; - virtual std::any visitSourceSelector(SparqlAutomaticParser::SourceSelectorContext *context) = 0; + virtual std::any visitNamedGraphClause( + SparqlAutomaticParser::NamedGraphClauseContext* context) = 0; - virtual std::any visitWhereClause(SparqlAutomaticParser::WhereClauseContext *context) = 0; + virtual std::any visitSourceSelector( + SparqlAutomaticParser::SourceSelectorContext* context) = 0; - virtual std::any visitSolutionModifier(SparqlAutomaticParser::SolutionModifierContext *context) = 0; + virtual std::any visitWhereClause( + SparqlAutomaticParser::WhereClauseContext* context) = 0; - virtual std::any visitGroupClause(SparqlAutomaticParser::GroupClauseContext *context) = 0; + virtual std::any visitSolutionModifier( + SparqlAutomaticParser::SolutionModifierContext* context) = 0; - virtual std::any visitGroupCondition(SparqlAutomaticParser::GroupConditionContext *context) = 0; + virtual std::any visitGroupClause( + SparqlAutomaticParser::GroupClauseContext* context) = 0; - virtual std::any visitHavingClause(SparqlAutomaticParser::HavingClauseContext *context) = 0; + virtual std::any visitGroupCondition( + SparqlAutomaticParser::GroupConditionContext* context) = 0; - virtual std::any visitHavingCondition(SparqlAutomaticParser::HavingConditionContext *context) = 0; + virtual std::any visitHavingClause( + SparqlAutomaticParser::HavingClauseContext* context) = 0; - virtual std::any visitOrderClause(SparqlAutomaticParser::OrderClauseContext *context) = 0; + virtual std::any visitHavingCondition( + SparqlAutomaticParser::HavingConditionContext* context) = 0; - virtual std::any visitOrderCondition(SparqlAutomaticParser::OrderConditionContext *context) = 0; + virtual std::any visitOrderClause( + SparqlAutomaticParser::OrderClauseContext* context) = 0; - virtual std::any visitLimitOffsetClauses(SparqlAutomaticParser::LimitOffsetClausesContext *context) = 0; + virtual std::any visitOrderCondition( + SparqlAutomaticParser::OrderConditionContext* context) = 0; - virtual std::any visitLimitClause(SparqlAutomaticParser::LimitClauseContext *context) = 0; + virtual std::any visitLimitOffsetClauses( + SparqlAutomaticParser::LimitOffsetClausesContext* context) = 0; - virtual std::any visitOffsetClause(SparqlAutomaticParser::OffsetClauseContext *context) = 0; + virtual std::any visitLimitClause( + SparqlAutomaticParser::LimitClauseContext* context) = 0; - virtual std::any visitTextLimitClause(SparqlAutomaticParser::TextLimitClauseContext *context) = 0; + virtual std::any visitOffsetClause( + SparqlAutomaticParser::OffsetClauseContext* context) = 0; - virtual std::any visitValuesClause(SparqlAutomaticParser::ValuesClauseContext *context) = 0; + virtual std::any visitTextLimitClause( + SparqlAutomaticParser::TextLimitClauseContext* context) = 0; - virtual std::any visitUpdate(SparqlAutomaticParser::UpdateContext *context) = 0; + virtual std::any visitValuesClause( + SparqlAutomaticParser::ValuesClauseContext* context) = 0; - virtual std::any visitUpdate1(SparqlAutomaticParser::Update1Context *context) = 0; + virtual std::any visitUpdate( + SparqlAutomaticParser::UpdateContext* context) = 0; - virtual std::any visitLoad(SparqlAutomaticParser::LoadContext *context) = 0; + virtual std::any visitUpdate1( + SparqlAutomaticParser::Update1Context* context) = 0; - virtual std::any visitClear(SparqlAutomaticParser::ClearContext *context) = 0; + virtual std::any visitLoad(SparqlAutomaticParser::LoadContext* context) = 0; - virtual std::any visitDrop(SparqlAutomaticParser::DropContext *context) = 0; + virtual std::any visitClear(SparqlAutomaticParser::ClearContext* context) = 0; - virtual std::any visitCreate(SparqlAutomaticParser::CreateContext *context) = 0; + virtual std::any visitDrop(SparqlAutomaticParser::DropContext* context) = 0; - virtual std::any visitAdd(SparqlAutomaticParser::AddContext *context) = 0; + virtual std::any visitCreate( + SparqlAutomaticParser::CreateContext* context) = 0; - virtual std::any visitMove(SparqlAutomaticParser::MoveContext *context) = 0; + virtual std::any visitAdd(SparqlAutomaticParser::AddContext* context) = 0; - virtual std::any visitCopy(SparqlAutomaticParser::CopyContext *context) = 0; + virtual std::any visitMove(SparqlAutomaticParser::MoveContext* context) = 0; - virtual std::any visitInsertData(SparqlAutomaticParser::InsertDataContext *context) = 0; + virtual std::any visitCopy(SparqlAutomaticParser::CopyContext* context) = 0; - virtual std::any visitDeleteData(SparqlAutomaticParser::DeleteDataContext *context) = 0; + virtual std::any visitInsertData( + SparqlAutomaticParser::InsertDataContext* context) = 0; - virtual std::any visitDeleteWhere(SparqlAutomaticParser::DeleteWhereContext *context) = 0; + virtual std::any visitDeleteData( + SparqlAutomaticParser::DeleteDataContext* context) = 0; - virtual std::any visitModify(SparqlAutomaticParser::ModifyContext *context) = 0; + virtual std::any visitDeleteWhere( + SparqlAutomaticParser::DeleteWhereContext* context) = 0; - virtual std::any visitDeleteClause(SparqlAutomaticParser::DeleteClauseContext *context) = 0; + virtual std::any visitModify( + SparqlAutomaticParser::ModifyContext* context) = 0; - virtual std::any visitInsertClause(SparqlAutomaticParser::InsertClauseContext *context) = 0; + virtual std::any visitDeleteClause( + SparqlAutomaticParser::DeleteClauseContext* context) = 0; - virtual std::any visitUsingClause(SparqlAutomaticParser::UsingClauseContext *context) = 0; + virtual std::any visitInsertClause( + SparqlAutomaticParser::InsertClauseContext* context) = 0; - virtual std::any visitGraphOrDefault(SparqlAutomaticParser::GraphOrDefaultContext *context) = 0; + virtual std::any visitUsingClause( + SparqlAutomaticParser::UsingClauseContext* context) = 0; - virtual std::any visitGraphRef(SparqlAutomaticParser::GraphRefContext *context) = 0; + virtual std::any visitGraphOrDefault( + SparqlAutomaticParser::GraphOrDefaultContext* context) = 0; - virtual std::any visitGraphRefAll(SparqlAutomaticParser::GraphRefAllContext *context) = 0; + virtual std::any visitGraphRef( + SparqlAutomaticParser::GraphRefContext* context) = 0; - virtual std::any visitQuadPattern(SparqlAutomaticParser::QuadPatternContext *context) = 0; + virtual std::any visitGraphRefAll( + SparqlAutomaticParser::GraphRefAllContext* context) = 0; - virtual std::any visitQuadData(SparqlAutomaticParser::QuadDataContext *context) = 0; + virtual std::any visitQuadPattern( + SparqlAutomaticParser::QuadPatternContext* context) = 0; - virtual std::any visitQuads(SparqlAutomaticParser::QuadsContext *context) = 0; + virtual std::any visitQuadData( + SparqlAutomaticParser::QuadDataContext* context) = 0; - virtual std::any visitQuadsNotTriples(SparqlAutomaticParser::QuadsNotTriplesContext *context) = 0; + virtual std::any visitQuads(SparqlAutomaticParser::QuadsContext* context) = 0; - virtual std::any visitTriplesTemplate(SparqlAutomaticParser::TriplesTemplateContext *context) = 0; + virtual std::any visitQuadsNotTriples( + SparqlAutomaticParser::QuadsNotTriplesContext* context) = 0; - virtual std::any visitGroupGraphPattern(SparqlAutomaticParser::GroupGraphPatternContext *context) = 0; + virtual std::any visitTriplesTemplate( + SparqlAutomaticParser::TriplesTemplateContext* context) = 0; - virtual std::any visitGroupGraphPatternSub(SparqlAutomaticParser::GroupGraphPatternSubContext *context) = 0; + virtual std::any visitGroupGraphPattern( + SparqlAutomaticParser::GroupGraphPatternContext* context) = 0; - virtual std::any visitGraphPatternNotTriplesAndMaybeTriples(SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext *context) = 0; + virtual std::any visitGroupGraphPatternSub( + SparqlAutomaticParser::GroupGraphPatternSubContext* context) = 0; - virtual std::any visitTriplesBlock(SparqlAutomaticParser::TriplesBlockContext *context) = 0; + virtual std::any visitGraphPatternNotTriplesAndMaybeTriples( + SparqlAutomaticParser::GraphPatternNotTriplesAndMaybeTriplesContext* + context) = 0; - virtual std::any visitGraphPatternNotTriples(SparqlAutomaticParser::GraphPatternNotTriplesContext *context) = 0; + virtual std::any visitTriplesBlock( + SparqlAutomaticParser::TriplesBlockContext* context) = 0; - virtual std::any visitOptionalGraphPattern(SparqlAutomaticParser::OptionalGraphPatternContext *context) = 0; + virtual std::any visitGraphPatternNotTriples( + SparqlAutomaticParser::GraphPatternNotTriplesContext* context) = 0; - virtual std::any visitGraphGraphPattern(SparqlAutomaticParser::GraphGraphPatternContext *context) = 0; + virtual std::any visitOptionalGraphPattern( + SparqlAutomaticParser::OptionalGraphPatternContext* context) = 0; - virtual std::any visitServiceGraphPattern(SparqlAutomaticParser::ServiceGraphPatternContext *context) = 0; + virtual std::any visitGraphGraphPattern( + SparqlAutomaticParser::GraphGraphPatternContext* context) = 0; - virtual std::any visitBind(SparqlAutomaticParser::BindContext *context) = 0; + virtual std::any visitServiceGraphPattern( + SparqlAutomaticParser::ServiceGraphPatternContext* context) = 0; - virtual std::any visitInlineData(SparqlAutomaticParser::InlineDataContext *context) = 0; + virtual std::any visitBind(SparqlAutomaticParser::BindContext* context) = 0; - virtual std::any visitDataBlock(SparqlAutomaticParser::DataBlockContext *context) = 0; + virtual std::any visitInlineData( + SparqlAutomaticParser::InlineDataContext* context) = 0; - virtual std::any visitInlineDataOneVar(SparqlAutomaticParser::InlineDataOneVarContext *context) = 0; + virtual std::any visitDataBlock( + SparqlAutomaticParser::DataBlockContext* context) = 0; - virtual std::any visitInlineDataFull(SparqlAutomaticParser::InlineDataFullContext *context) = 0; + virtual std::any visitInlineDataOneVar( + SparqlAutomaticParser::InlineDataOneVarContext* context) = 0; - virtual std::any visitDataBlockSingle(SparqlAutomaticParser::DataBlockSingleContext *context) = 0; + virtual std::any visitInlineDataFull( + SparqlAutomaticParser::InlineDataFullContext* context) = 0; - virtual std::any visitDataBlockValue(SparqlAutomaticParser::DataBlockValueContext *context) = 0; + virtual std::any visitDataBlockSingle( + SparqlAutomaticParser::DataBlockSingleContext* context) = 0; - virtual std::any visitMinusGraphPattern(SparqlAutomaticParser::MinusGraphPatternContext *context) = 0; + virtual std::any visitDataBlockValue( + SparqlAutomaticParser::DataBlockValueContext* context) = 0; - virtual std::any visitGroupOrUnionGraphPattern(SparqlAutomaticParser::GroupOrUnionGraphPatternContext *context) = 0; + virtual std::any visitMinusGraphPattern( + SparqlAutomaticParser::MinusGraphPatternContext* context) = 0; - virtual std::any visitFilterR(SparqlAutomaticParser::FilterRContext *context) = 0; + virtual std::any visitGroupOrUnionGraphPattern( + SparqlAutomaticParser::GroupOrUnionGraphPatternContext* context) = 0; - virtual std::any visitConstraint(SparqlAutomaticParser::ConstraintContext *context) = 0; + virtual std::any visitFilterR( + SparqlAutomaticParser::FilterRContext* context) = 0; - virtual std::any visitFunctionCall(SparqlAutomaticParser::FunctionCallContext *context) = 0; + virtual std::any visitConstraint( + SparqlAutomaticParser::ConstraintContext* context) = 0; - virtual std::any visitArgList(SparqlAutomaticParser::ArgListContext *context) = 0; + virtual std::any visitFunctionCall( + SparqlAutomaticParser::FunctionCallContext* context) = 0; - virtual std::any visitExpressionList(SparqlAutomaticParser::ExpressionListContext *context) = 0; + virtual std::any visitArgList( + SparqlAutomaticParser::ArgListContext* context) = 0; - virtual std::any visitConstructTemplate(SparqlAutomaticParser::ConstructTemplateContext *context) = 0; + virtual std::any visitExpressionList( + SparqlAutomaticParser::ExpressionListContext* context) = 0; - virtual std::any visitConstructTriples(SparqlAutomaticParser::ConstructTriplesContext *context) = 0; + virtual std::any visitConstructTemplate( + SparqlAutomaticParser::ConstructTemplateContext* context) = 0; - virtual std::any visitTriplesSameSubject(SparqlAutomaticParser::TriplesSameSubjectContext *context) = 0; + virtual std::any visitConstructTriples( + SparqlAutomaticParser::ConstructTriplesContext* context) = 0; - virtual std::any visitPropertyList(SparqlAutomaticParser::PropertyListContext *context) = 0; + virtual std::any visitTriplesSameSubject( + SparqlAutomaticParser::TriplesSameSubjectContext* context) = 0; - virtual std::any visitPropertyListNotEmpty(SparqlAutomaticParser::PropertyListNotEmptyContext *context) = 0; + virtual std::any visitPropertyList( + SparqlAutomaticParser::PropertyListContext* context) = 0; - virtual std::any visitVerb(SparqlAutomaticParser::VerbContext *context) = 0; + virtual std::any visitPropertyListNotEmpty( + SparqlAutomaticParser::PropertyListNotEmptyContext* context) = 0; - virtual std::any visitObjectList(SparqlAutomaticParser::ObjectListContext *context) = 0; + virtual std::any visitVerb(SparqlAutomaticParser::VerbContext* context) = 0; - virtual std::any visitObjectR(SparqlAutomaticParser::ObjectRContext *context) = 0; + virtual std::any visitObjectList( + SparqlAutomaticParser::ObjectListContext* context) = 0; - virtual std::any visitTriplesSameSubjectPath(SparqlAutomaticParser::TriplesSameSubjectPathContext *context) = 0; + virtual std::any visitObjectR( + SparqlAutomaticParser::ObjectRContext* context) = 0; - virtual std::any visitPropertyListPath(SparqlAutomaticParser::PropertyListPathContext *context) = 0; + virtual std::any visitTriplesSameSubjectPath( + SparqlAutomaticParser::TriplesSameSubjectPathContext* context) = 0; - virtual std::any visitPropertyListPathNotEmpty(SparqlAutomaticParser::PropertyListPathNotEmptyContext *context) = 0; + virtual std::any visitPropertyListPath( + SparqlAutomaticParser::PropertyListPathContext* context) = 0; - virtual std::any visitVerbPath(SparqlAutomaticParser::VerbPathContext *context) = 0; + virtual std::any visitPropertyListPathNotEmpty( + SparqlAutomaticParser::PropertyListPathNotEmptyContext* context) = 0; - virtual std::any visitVerbSimple(SparqlAutomaticParser::VerbSimpleContext *context) = 0; + virtual std::any visitVerbPath( + SparqlAutomaticParser::VerbPathContext* context) = 0; - virtual std::any visitTupleWithoutPath(SparqlAutomaticParser::TupleWithoutPathContext *context) = 0; + virtual std::any visitVerbSimple( + SparqlAutomaticParser::VerbSimpleContext* context) = 0; - virtual std::any visitTupleWithPath(SparqlAutomaticParser::TupleWithPathContext *context) = 0; + virtual std::any visitTupleWithoutPath( + SparqlAutomaticParser::TupleWithoutPathContext* context) = 0; - virtual std::any visitVerbPathOrSimple(SparqlAutomaticParser::VerbPathOrSimpleContext *context) = 0; + virtual std::any visitTupleWithPath( + SparqlAutomaticParser::TupleWithPathContext* context) = 0; - virtual std::any visitObjectListPath(SparqlAutomaticParser::ObjectListPathContext *context) = 0; + virtual std::any visitVerbPathOrSimple( + SparqlAutomaticParser::VerbPathOrSimpleContext* context) = 0; - virtual std::any visitObjectPath(SparqlAutomaticParser::ObjectPathContext *context) = 0; + virtual std::any visitObjectListPath( + SparqlAutomaticParser::ObjectListPathContext* context) = 0; - virtual std::any visitPath(SparqlAutomaticParser::PathContext *context) = 0; + virtual std::any visitObjectPath( + SparqlAutomaticParser::ObjectPathContext* context) = 0; - virtual std::any visitPathAlternative(SparqlAutomaticParser::PathAlternativeContext *context) = 0; + virtual std::any visitPath(SparqlAutomaticParser::PathContext* context) = 0; - virtual std::any visitPathSequence(SparqlAutomaticParser::PathSequenceContext *context) = 0; + virtual std::any visitPathAlternative( + SparqlAutomaticParser::PathAlternativeContext* context) = 0; - virtual std::any visitPathElt(SparqlAutomaticParser::PathEltContext *context) = 0; + virtual std::any visitPathSequence( + SparqlAutomaticParser::PathSequenceContext* context) = 0; - virtual std::any visitPathEltOrInverse(SparqlAutomaticParser::PathEltOrInverseContext *context) = 0; + virtual std::any visitPathElt( + SparqlAutomaticParser::PathEltContext* context) = 0; - virtual std::any visitPathMod(SparqlAutomaticParser::PathModContext *context) = 0; + virtual std::any visitPathEltOrInverse( + SparqlAutomaticParser::PathEltOrInverseContext* context) = 0; - virtual std::any visitPathPrimary(SparqlAutomaticParser::PathPrimaryContext *context) = 0; + virtual std::any visitPathMod( + SparqlAutomaticParser::PathModContext* context) = 0; - virtual std::any visitPathNegatedPropertySet(SparqlAutomaticParser::PathNegatedPropertySetContext *context) = 0; + virtual std::any visitPathPrimary( + SparqlAutomaticParser::PathPrimaryContext* context) = 0; - virtual std::any visitPathOneInPropertySet(SparqlAutomaticParser::PathOneInPropertySetContext *context) = 0; + virtual std::any visitPathNegatedPropertySet( + SparqlAutomaticParser::PathNegatedPropertySetContext* context) = 0; - virtual std::any visitInteger(SparqlAutomaticParser::IntegerContext *context) = 0; + virtual std::any visitPathOneInPropertySet( + SparqlAutomaticParser::PathOneInPropertySetContext* context) = 0; - virtual std::any visitTriplesNode(SparqlAutomaticParser::TriplesNodeContext *context) = 0; + virtual std::any visitInteger( + SparqlAutomaticParser::IntegerContext* context) = 0; - virtual std::any visitBlankNodePropertyList(SparqlAutomaticParser::BlankNodePropertyListContext *context) = 0; + virtual std::any visitTriplesNode( + SparqlAutomaticParser::TriplesNodeContext* context) = 0; - virtual std::any visitTriplesNodePath(SparqlAutomaticParser::TriplesNodePathContext *context) = 0; + virtual std::any visitBlankNodePropertyList( + SparqlAutomaticParser::BlankNodePropertyListContext* context) = 0; - virtual std::any visitBlankNodePropertyListPath(SparqlAutomaticParser::BlankNodePropertyListPathContext *context) = 0; + virtual std::any visitTriplesNodePath( + SparqlAutomaticParser::TriplesNodePathContext* context) = 0; - virtual std::any visitCollection(SparqlAutomaticParser::CollectionContext *context) = 0; + virtual std::any visitBlankNodePropertyListPath( + SparqlAutomaticParser::BlankNodePropertyListPathContext* context) = 0; - virtual std::any visitCollectionPath(SparqlAutomaticParser::CollectionPathContext *context) = 0; + virtual std::any visitCollection( + SparqlAutomaticParser::CollectionContext* context) = 0; - virtual std::any visitGraphNode(SparqlAutomaticParser::GraphNodeContext *context) = 0; + virtual std::any visitCollectionPath( + SparqlAutomaticParser::CollectionPathContext* context) = 0; - virtual std::any visitGraphNodePath(SparqlAutomaticParser::GraphNodePathContext *context) = 0; + virtual std::any visitGraphNode( + SparqlAutomaticParser::GraphNodeContext* context) = 0; - virtual std::any visitVarOrTerm(SparqlAutomaticParser::VarOrTermContext *context) = 0; + virtual std::any visitGraphNodePath( + SparqlAutomaticParser::GraphNodePathContext* context) = 0; - virtual std::any visitVarOrIri(SparqlAutomaticParser::VarOrIriContext *context) = 0; + virtual std::any visitVarOrTerm( + SparqlAutomaticParser::VarOrTermContext* context) = 0; - virtual std::any visitVar(SparqlAutomaticParser::VarContext *context) = 0; + virtual std::any visitVarOrIri( + SparqlAutomaticParser::VarOrIriContext* context) = 0; - virtual std::any visitGraphTerm(SparqlAutomaticParser::GraphTermContext *context) = 0; + virtual std::any visitVar(SparqlAutomaticParser::VarContext* context) = 0; - virtual std::any visitExpression(SparqlAutomaticParser::ExpressionContext *context) = 0; + virtual std::any visitGraphTerm( + SparqlAutomaticParser::GraphTermContext* context) = 0; - virtual std::any visitConditionalOrExpression(SparqlAutomaticParser::ConditionalOrExpressionContext *context) = 0; + virtual std::any visitExpression( + SparqlAutomaticParser::ExpressionContext* context) = 0; - virtual std::any visitConditionalAndExpression(SparqlAutomaticParser::ConditionalAndExpressionContext *context) = 0; + virtual std::any visitConditionalOrExpression( + SparqlAutomaticParser::ConditionalOrExpressionContext* context) = 0; - virtual std::any visitValueLogical(SparqlAutomaticParser::ValueLogicalContext *context) = 0; + virtual std::any visitConditionalAndExpression( + SparqlAutomaticParser::ConditionalAndExpressionContext* context) = 0; - virtual std::any visitRelationalExpression(SparqlAutomaticParser::RelationalExpressionContext *context) = 0; + virtual std::any visitValueLogical( + SparqlAutomaticParser::ValueLogicalContext* context) = 0; - virtual std::any visitNumericExpression(SparqlAutomaticParser::NumericExpressionContext *context) = 0; + virtual std::any visitRelationalExpression( + SparqlAutomaticParser::RelationalExpressionContext* context) = 0; - virtual std::any visitAdditiveExpression(SparqlAutomaticParser::AdditiveExpressionContext *context) = 0; + virtual std::any visitNumericExpression( + SparqlAutomaticParser::NumericExpressionContext* context) = 0; - virtual std::any visitMultiplicativeExpressionWithSign(SparqlAutomaticParser::MultiplicativeExpressionWithSignContext *context) = 0; + virtual std::any visitAdditiveExpression( + SparqlAutomaticParser::AdditiveExpressionContext* context) = 0; - virtual std::any visitPlusSubexpression(SparqlAutomaticParser::PlusSubexpressionContext *context) = 0; + virtual std::any visitMultiplicativeExpressionWithSign( + SparqlAutomaticParser::MultiplicativeExpressionWithSignContext* + context) = 0; - virtual std::any visitMinusSubexpression(SparqlAutomaticParser::MinusSubexpressionContext *context) = 0; + virtual std::any visitPlusSubexpression( + SparqlAutomaticParser::PlusSubexpressionContext* context) = 0; - virtual std::any visitMultiplicativeExpressionWithLeadingSignButNoSpace(SparqlAutomaticParser::MultiplicativeExpressionWithLeadingSignButNoSpaceContext *context) = 0; + virtual std::any visitMinusSubexpression( + SparqlAutomaticParser::MinusSubexpressionContext* context) = 0; - virtual std::any visitMultiplicativeExpression(SparqlAutomaticParser::MultiplicativeExpressionContext *context) = 0; + virtual std::any visitMultiplicativeExpressionWithLeadingSignButNoSpace( + SparqlAutomaticParser:: + MultiplicativeExpressionWithLeadingSignButNoSpaceContext* + context) = 0; - virtual std::any visitMultiplyOrDivideExpression(SparqlAutomaticParser::MultiplyOrDivideExpressionContext *context) = 0; + virtual std::any visitMultiplicativeExpression( + SparqlAutomaticParser::MultiplicativeExpressionContext* context) = 0; - virtual std::any visitMultiplyExpression(SparqlAutomaticParser::MultiplyExpressionContext *context) = 0; + virtual std::any visitMultiplyOrDivideExpression( + SparqlAutomaticParser::MultiplyOrDivideExpressionContext* context) = 0; - virtual std::any visitDivideExpression(SparqlAutomaticParser::DivideExpressionContext *context) = 0; + virtual std::any visitMultiplyExpression( + SparqlAutomaticParser::MultiplyExpressionContext* context) = 0; - virtual std::any visitUnaryExpression(SparqlAutomaticParser::UnaryExpressionContext *context) = 0; + virtual std::any visitDivideExpression( + SparqlAutomaticParser::DivideExpressionContext* context) = 0; - virtual std::any visitPrimaryExpression(SparqlAutomaticParser::PrimaryExpressionContext *context) = 0; + virtual std::any visitUnaryExpression( + SparqlAutomaticParser::UnaryExpressionContext* context) = 0; - virtual std::any visitBrackettedExpression(SparqlAutomaticParser::BrackettedExpressionContext *context) = 0; + virtual std::any visitPrimaryExpression( + SparqlAutomaticParser::PrimaryExpressionContext* context) = 0; - virtual std::any visitBuiltInCall(SparqlAutomaticParser::BuiltInCallContext *context) = 0; + virtual std::any visitBrackettedExpression( + SparqlAutomaticParser::BrackettedExpressionContext* context) = 0; - virtual std::any visitRegexExpression(SparqlAutomaticParser::RegexExpressionContext *context) = 0; + virtual std::any visitBuiltInCall( + SparqlAutomaticParser::BuiltInCallContext* context) = 0; - virtual std::any visitLangExpression(SparqlAutomaticParser::LangExpressionContext *context) = 0; + virtual std::any visitRegexExpression( + SparqlAutomaticParser::RegexExpressionContext* context) = 0; - virtual std::any visitSubstringExpression(SparqlAutomaticParser::SubstringExpressionContext *context) = 0; + virtual std::any visitLangExpression( + SparqlAutomaticParser::LangExpressionContext* context) = 0; - virtual std::any visitStrReplaceExpression(SparqlAutomaticParser::StrReplaceExpressionContext *context) = 0; + virtual std::any visitSubstringExpression( + SparqlAutomaticParser::SubstringExpressionContext* context) = 0; - virtual std::any visitExistsFunc(SparqlAutomaticParser::ExistsFuncContext *context) = 0; + virtual std::any visitStrReplaceExpression( + SparqlAutomaticParser::StrReplaceExpressionContext* context) = 0; - virtual std::any visitNotExistsFunc(SparqlAutomaticParser::NotExistsFuncContext *context) = 0; + virtual std::any visitExistsFunc( + SparqlAutomaticParser::ExistsFuncContext* context) = 0; - virtual std::any visitAggregate(SparqlAutomaticParser::AggregateContext *context) = 0; + virtual std::any visitNotExistsFunc( + SparqlAutomaticParser::NotExistsFuncContext* context) = 0; - virtual std::any visitIriOrFunction(SparqlAutomaticParser::IriOrFunctionContext *context) = 0; + virtual std::any visitAggregate( + SparqlAutomaticParser::AggregateContext* context) = 0; - virtual std::any visitRdfLiteral(SparqlAutomaticParser::RdfLiteralContext *context) = 0; + virtual std::any visitIriOrFunction( + SparqlAutomaticParser::IriOrFunctionContext* context) = 0; - virtual std::any visitNumericLiteral(SparqlAutomaticParser::NumericLiteralContext *context) = 0; + virtual std::any visitRdfLiteral( + SparqlAutomaticParser::RdfLiteralContext* context) = 0; - virtual std::any visitNumericLiteralUnsigned(SparqlAutomaticParser::NumericLiteralUnsignedContext *context) = 0; + virtual std::any visitNumericLiteral( + SparqlAutomaticParser::NumericLiteralContext* context) = 0; - virtual std::any visitNumericLiteralPositive(SparqlAutomaticParser::NumericLiteralPositiveContext *context) = 0; + virtual std::any visitNumericLiteralUnsigned( + SparqlAutomaticParser::NumericLiteralUnsignedContext* context) = 0; - virtual std::any visitNumericLiteralNegative(SparqlAutomaticParser::NumericLiteralNegativeContext *context) = 0; + virtual std::any visitNumericLiteralPositive( + SparqlAutomaticParser::NumericLiteralPositiveContext* context) = 0; - virtual std::any visitBooleanLiteral(SparqlAutomaticParser::BooleanLiteralContext *context) = 0; + virtual std::any visitNumericLiteralNegative( + SparqlAutomaticParser::NumericLiteralNegativeContext* context) = 0; - virtual std::any visitString(SparqlAutomaticParser::StringContext *context) = 0; + virtual std::any visitBooleanLiteral( + SparqlAutomaticParser::BooleanLiteralContext* context) = 0; - virtual std::any visitIri(SparqlAutomaticParser::IriContext *context) = 0; + virtual std::any visitString( + SparqlAutomaticParser::StringContext* context) = 0; - virtual std::any visitPrefixedName(SparqlAutomaticParser::PrefixedNameContext *context) = 0; + virtual std::any visitIri(SparqlAutomaticParser::IriContext* context) = 0; - virtual std::any visitBlankNode(SparqlAutomaticParser::BlankNodeContext *context) = 0; + virtual std::any visitPrefixedName( + SparqlAutomaticParser::PrefixedNameContext* context) = 0; - virtual std::any visitIriref(SparqlAutomaticParser::IrirefContext *context) = 0; + virtual std::any visitBlankNode( + SparqlAutomaticParser::BlankNodeContext* context) = 0; - virtual std::any visitPnameLn(SparqlAutomaticParser::PnameLnContext *context) = 0; - - virtual std::any visitPnameNs(SparqlAutomaticParser::PnameNsContext *context) = 0; + virtual std::any visitIriref( + SparqlAutomaticParser::IrirefContext* context) = 0; + virtual std::any visitPnameLn( + SparqlAutomaticParser::PnameLnContext* context) = 0; + virtual std::any visitPnameNs( + SparqlAutomaticParser::PnameNsContext* context) = 0; }; - From c71df4160d54131181bf6ee399622741075c696b Mon Sep 17 00:00:00 2001 From: ullingerc Date: Mon, 4 Nov 2024 14:03:32 +0100 Subject: [PATCH 08/11] clang-format --- src/engine/sparqlExpressions/AggregateExpression.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/engine/sparqlExpressions/AggregateExpression.cpp b/src/engine/sparqlExpressions/AggregateExpression.cpp index 4a53afbc5b..87ca749209 100644 --- a/src/engine/sparqlExpressions/AggregateExpression.cpp +++ b/src/engine/sparqlExpressions/AggregateExpression.cpp @@ -182,8 +182,7 @@ AggregateExpression::getVariableForCount() template class AggregateExpression; // Explicit instantiation for the STDEV expression. -template class AggregateExpression; +template class AggregateExpression; template class DeviationAggExpression; From c85701cc3977ee832b29f6ea77aa12181e4a58fc Mon Sep 17 00:00:00 2001 From: ullingerc Date: Mon, 11 Nov 2024 13:47:44 +0100 Subject: [PATCH 09/11] reviews except the unit test --- src/engine/GroupBy.h | 1 - src/engine/sparqlExpressions/CMakeLists.txt | 1 + .../sparqlExpressions/StdevExpression.cpp | 74 +++++++++++++++++++ .../sparqlExpressions/StdevExpression.h | 63 +--------------- 4 files changed, 76 insertions(+), 63 deletions(-) create mode 100644 src/engine/sparqlExpressions/StdevExpression.cpp diff --git a/src/engine/GroupBy.h b/src/engine/GroupBy.h index 52aa1d45f7..115849ea4d 100644 --- a/src/engine/GroupBy.h +++ b/src/engine/GroupBy.h @@ -244,7 +244,6 @@ class GroupBy : public Operation { MAX, SUM, GROUP_CONCAT, - STDEV, SAMPLE }; diff --git a/src/engine/sparqlExpressions/CMakeLists.txt b/src/engine/sparqlExpressions/CMakeLists.txt index dfe34fa146..03f0b65f6c 100644 --- a/src/engine/sparqlExpressions/CMakeLists.txt +++ b/src/engine/sparqlExpressions/CMakeLists.txt @@ -6,6 +6,7 @@ add_library(sparqlExpressions SampleExpression.cpp RelationalExpressions.cpp AggregateExpression.cpp + StdevExpression.cpp RegexExpression.cpp NumericUnaryExpressions.cpp NumericBinaryExpressions.cpp diff --git a/src/engine/sparqlExpressions/StdevExpression.cpp b/src/engine/sparqlExpressions/StdevExpression.cpp new file mode 100644 index 0000000000..cd204af17e --- /dev/null +++ b/src/engine/sparqlExpressions/StdevExpression.cpp @@ -0,0 +1,74 @@ +// Copyright 2024, University of Freiburg, +// Chair of Algorithms and Data Structures. +// Author: Christoph Ullinger + +#include "engine/sparqlExpressions/StdevExpression.h" + +namespace sparqlExpression { + +namespace detail { + +// _____________________________________________________________________________ +ExpressionResult DeviationExpression::evaluate( + EvaluationContext* context) const { + auto impl = [context](SingleExpressionResult auto&& el) -> ExpressionResult { + // Prepare space for result + VectorWithMemoryLimit exprResult{context->_allocator}; + std::fill_n(std::back_inserter(exprResult), context->size(), + IdOrLiteralOrIri{Id::makeUndefined()}); + bool undef = false; + + auto devImpl = [&undef, &exprResult, context](auto generator) { + double sum = 0.0; + // Intermediate storage of the results returned from the child + // expression + VectorWithMemoryLimit childResults{context->_allocator}; + + // Collect values as doubles + for (auto& inp : generator) { + const auto& n = detail::NumericValueGetter{}(std::move(inp), context); + auto v = std::visit( + [](T&& value) -> std::optional { + if constexpr (ad_utility::isSimilar || + ad_utility::isSimilar) { + return static_cast(value); + } else { + return std::nullopt; + } + }, + n); + if (v.has_value()) { + childResults.push_back(v.value()); + sum += v.value(); + } else { + // There is a non-numeric value in the input. Therefore the entire + // result will be undef. + undef = true; + return; + } + context->cancellationHandle_->throwIfCancelled(); + } + + // Calculate squared deviation and save for result + double avg = sum / static_cast(context->size()); + for (size_t i = 0; i < childResults.size(); i++) { + exprResult.at(i) = IdOrLiteralOrIri{ + ValueId::makeFromDouble(std::pow(childResults.at(i) - avg, 2))}; + } + }; + + auto generator = + detail::makeGenerator(AD_FWD(el), context->size(), context); + devImpl(std::move(generator)); + + if (undef) { + return IdOrLiteralOrIri{Id::makeUndefined()}; + } + return exprResult; + }; + auto childRes = child_->evaluate(context); + return std::visit(impl, std::move(childRes)); +}; + +} // namespace detail +} // namespace sparqlExpression diff --git a/src/engine/sparqlExpressions/StdevExpression.h b/src/engine/sparqlExpressions/StdevExpression.h index 85e10d1e00..236714e72d 100644 --- a/src/engine/sparqlExpressions/StdevExpression.h +++ b/src/engine/sparqlExpressions/StdevExpression.h @@ -23,17 +23,6 @@ namespace detail { /// The STDEV Expression -// Helper function to extract a double from a NumericValue variant -auto inline numValToDouble = - [](T&& value) -> std::optional { - if constexpr (ad_utility::isSimilar || - ad_utility::isSimilar) { - return static_cast(value); - } else { - return std::nullopt; - } -}; - // Helper expression: The individual deviation squares. A DeviationExpression // over X corresponds to the value (X - AVG(X))^2. class DeviationExpression : public SparqlExpression { @@ -44,57 +33,7 @@ class DeviationExpression : public SparqlExpression { DeviationExpression(Ptr&& child) : child_{std::move(child)} {} // __________________________________________________________________________ - ExpressionResult evaluate(EvaluationContext* context) const override { - auto impl = - [context](SingleExpressionResult auto&& el) -> ExpressionResult { - // Prepare space for result - VectorWithMemoryLimit exprResult{context->_allocator}; - std::fill_n(std::back_inserter(exprResult), context->size(), - IdOrLiteralOrIri{Id::makeUndefined()}); - bool undef = false; - - auto devImpl = [&undef, &exprResult, context](auto generator) { - double sum = 0.0; - // Intermediate storage of the results returned from the child - // expression - VectorWithMemoryLimit childResults{context->_allocator}; - - // Collect values as doubles - for (auto& inp : generator) { - const auto& n = detail::NumericValueGetter{}(std::move(inp), context); - auto v = std::visit(numValToDouble, n); - if (v.has_value()) { - childResults.push_back(v.value()); - sum += v.value(); - } else { - // There is a non-numeric value in the input. Therefore the entire - // result will be undef. - undef = true; - return; - } - context->cancellationHandle_->throwIfCancelled(); - } - - // Calculate squared deviation and save for result - double avg = sum / static_cast(context->size()); - for (size_t i = 0; i < childResults.size(); i++) { - exprResult.at(i) = IdOrLiteralOrIri{ - ValueId::makeFromDouble(std::pow(childResults.at(i) - avg, 2))}; - } - }; - - auto generator = - detail::makeGenerator(AD_FWD(el), context->size(), context); - devImpl(std::move(generator)); - - if (undef) { - return IdOrLiteralOrIri{Id::makeUndefined()}; - } - return exprResult; - }; - auto childRes = child_->evaluate(context); - return std::visit(impl, std::move(childRes)); - }; + ExpressionResult evaluate(EvaluationContext* context) const override; // __________________________________________________________________________ AggregateStatus isAggregate() const override { From 091806e8d7f88725e1851b123a04a5ea2c528b0b Mon Sep 17 00:00:00 2001 From: ullingerc Date: Tue, 12 Nov 2024 10:48:07 +0100 Subject: [PATCH 10/11] Unittest Antlr Parser for Stdev Agg Expression --- test/SparqlAntlrParserTest.cpp | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/test/SparqlAntlrParserTest.cpp b/test/SparqlAntlrParserTest.cpp index be773bd795..370c73b259 100644 --- a/test/SparqlAntlrParserTest.cpp +++ b/test/SparqlAntlrParserTest.cpp @@ -1855,6 +1855,22 @@ ::testing::Matcher matchAggregate( AD_PROPERTY(Exp, children, ElementsAre(variableExpressionMatcher(child))), WhenDynamicCastTo(innerMatcher))); } + +// Return a matcher that checks whether a given `SparqlExpression::Ptr` actually +// points to an `AggregateExpr` and that the distinctness of the aggregate +// expression matches. It does not check the child. This is required to test +// aggregates that implicitly replace their child, like `StdevExpression`. +template +::testing::Matcher matchAggregateWithoutChild( + bool distinct) { + using namespace ::testing; + using namespace builtInCallTestHelpers; + using Exp = SparqlExpression; + + using enum SparqlExpression::AggregateStatus; + auto aggregateStatus = distinct ? DistinctAggregate : NonDistinctAggregate; + return Pointee(AD_PROPERTY(Exp, isAggregate, Eq(aggregateStatus))); +} } // namespace aggregateTestHelpers // ___________________________________________________________ @@ -1927,14 +1943,15 @@ TEST(SparqlParser, aggregateExpressions) { matchAggregate(true, V{"?x"}, separator(";"))); // The STDEV expression - // TODO Test failing because StdevExpression replaces its child - - // expectAggregate("STDEV(?x)", matchAggregate(false, - // V{"?x"})); expectAggregate("stdev(?x)", - // matchAggregate(false, V{"?x"})); A distinct stdev is - // probably not very useful, but should be possible anyway - // expectAggregate("STDEV(DISTINCT ?x)", - // matchAggregate(true, V{"?x"})); + // Here we don't match the child, because StdevExpression replaces it with a + // DeviationExpression. + expectAggregate("STDEV(?x)", + matchAggregateWithoutChild(false)); + expectAggregate("stdev(?x)", + matchAggregateWithoutChild(false)); + // A distinct stdev is probably not very useful, but should be possible anyway + expectAggregate("STDEV(DISTINCT ?x)", + matchAggregateWithoutChild(true)); } TEST(SparqlParser, Quads) { From 428aa29944e908b07ed81a72159a50f714766106 Mon Sep 17 00:00:00 2001 From: ullingerc Date: Tue, 12 Nov 2024 11:40:36 +0100 Subject: [PATCH 11/11] check AggregateExpr type --- test/SparqlAntlrParserTest.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/SparqlAntlrParserTest.cpp b/test/SparqlAntlrParserTest.cpp index 370c73b259..14a49b6d19 100644 --- a/test/SparqlAntlrParserTest.cpp +++ b/test/SparqlAntlrParserTest.cpp @@ -1869,7 +1869,8 @@ ::testing::Matcher matchAggregateWithoutChild( using enum SparqlExpression::AggregateStatus; auto aggregateStatus = distinct ? DistinctAggregate : NonDistinctAggregate; - return Pointee(AD_PROPERTY(Exp, isAggregate, Eq(aggregateStatus))); + return Pointee(AllOf(AD_PROPERTY(Exp, isAggregate, Eq(aggregateStatus)), + WhenDynamicCastTo(testing::_))); } } // namespace aggregateTestHelpers