Last active
March 30, 2016 10:35
-
-
Save fgeorges/c1f78a4279d9ff86f2fc to your computer and use it in GitHub Desktop.
XQuery parser stack overflow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import module namespace p = "XQueryML30" | |
at "XQueryML30.xquery"; | |
declare variable $src := | |
' | |
(:~ | |
: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean | |
: mauris ante, commodo sed ipsum et, malesuada blandit neque. Nulla | |
: nulla neque, malesuada quis dignissim in, hendrerit non | |
: lorem. Vestibulum in diam venenatis, semper lectus vel, finibus | |
: magna. Pellentesque in vestibulum erat. Nam sollicitudin commodo | |
: lorem, eu viverra justo feugiat faucibus. Integer blandit, dolor sed | |
: facilisis tristique, nisl nunc pretium velit, non molestie ligula | |
: tellus a quam. Aenean in mi at nisi cursus luctus. Integer dictum | |
: tortor quam, ac sodales orci porttitor eu. Pellentesque tempor turpis | |
: sed molestie ullamcorper. Cras et laoreet tortor, ut rhoncus | |
: velit. Donec ac pretium tellus, et efficitur ligula. Cras eget enim | |
: massa. Integer in nulla a nunc vestibulum finibus. Etiam sem nisi, | |
: laoreet in sollicitudin in, semper at massa. Quisque eleifend sed | |
: nulla id placerat. Aenean convallis egestas tristique. | |
: | |
: Proin consequat quam non urna lobortis, nec dapibus est | |
: dignissim. Nunc tristique nisl non sem hendrerit congue sit amet id | |
: neque. Vivamus semper magna sed condimentum facilisis. Donec | |
: ultrices, tellus quis feugiat malesuada, neque diam faucibus mauris, | |
: nec suscipit risus lectus non nisi. Nunc porttitor enim odio, at | |
: interdum diam semper a. Etiam metus dui, rutrum venenatis lobortis | |
: in, semper id dui. In nec urna convallis, maximus nibh vitae, blandit | |
: risus. Duis non ornare augue, sed finibus nisi. Ut ac tellus id | |
: tortor varius ultricies scelerisque at neque. In in dui in enim | |
: interdum cursus ut a augue. Nulla porta id mi vitae pellentesque. | |
: | |
: Maecenas eget placerat... | |
:) | |
declare function local:f() | |
{ | |
() | |
}; | |
'; | |
fn:count( | |
p:parse-XQuery($src)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
XQuery ::= Module EOF | |
Module ::= VersionDecl? ( LibraryModule | MainModuleSequence ) | |
VersionDecl | |
::= 'xquery' ( 'encoding' StringLiteral | 'version' StringLiteral ( 'encoding' StringLiteral )? ) Separator | |
MainModuleSequence ::= MainModule ( ';' VersionDecl? MainModule)* ';'? | |
MainModule | |
::= Prolog QueryBody | |
LibraryModule | |
::= ModuleDecl Prolog | |
ModuleDecl | |
::= 'module' 'namespace' NCName '=' URILiteral Separator | |
Prolog ::= ( ( DefaultNamespaceDecl | Setter | NamespaceDecl | Import | FTOptionDecl ) Separator )* ( ( ContextItemDecl | AnnotatedDecl | OptionDecl ) Separator )* | |
Separator | |
::= ';' | |
Setter ::= BoundarySpaceDecl | |
| DefaultCollationDecl | |
| BaseURIDecl | |
| ConstructionDecl | |
| OrderingModeDecl | |
| EmptyOrderDecl | |
| RevalidationDecl | |
| CopyNamespacesDecl | |
| DecimalFormatDecl | |
BoundarySpaceDecl | |
::= 'declare' 'boundary-space' ( 'preserve' | 'strip' ) | |
DefaultCollationDecl | |
::= 'declare' 'default' 'collation' URILiteral | |
BaseURIDecl | |
::= 'declare' 'base-uri' URILiteral | |
ConstructionDecl | |
::= 'declare' 'construction' ( 'strip' | 'preserve' ) | |
OrderingModeDecl | |
::= 'declare' 'ordering' ( 'ordered' | 'unordered' ) | |
EmptyOrderDecl | |
::= 'declare' 'default' 'order' 'empty' ( 'greatest' | 'least' ) | |
CopyNamespacesDecl | |
::= 'declare' 'copy-namespaces' PreserveMode ',' InheritMode | |
PreserveMode | |
::= 'preserve' | |
| 'no-preserve' | |
InheritMode | |
::= 'inherit' | |
| 'no-inherit' | |
DecimalFormatDecl | |
::= 'declare' ( 'decimal-format' EQName | 'default' 'decimal-format' ) ( DFPropertyName '=' StringLiteral )* | |
DFPropertyName | |
::= 'decimal-separator' | |
| 'grouping-separator' | |
| 'infinity' | |
| 'minus-sign' | |
| 'NaN' | |
| 'percent' | |
| 'per-mille' | |
| 'zero-digit' | |
| 'digit' | |
| 'pattern-separator' | |
Import ::= SchemaImport | |
| ModuleImport | |
| ImportStylesheetDecl | |
SchemaImport | |
::= 'import' 'schema' SchemaPrefix? URILiteral ( 'at' URILiteral ( ',' URILiteral )* )? | |
SchemaPrefix | |
::= 'namespace' NCName '=' | |
| 'default' 'element' 'namespace' | |
ModuleImport | |
::= 'import' 'module' ( 'namespace' NCName '=' )? URILiteral ( 'at' URILiteral ( ',' URILiteral )* )? | |
NamespaceDecl | |
::= 'declare' 'namespace' NCName '=' URILiteral | |
DefaultNamespaceDecl | |
::= 'declare' 'default' ( 'element' | 'function' ) 'namespace' URILiteral | |
ImportStylesheetDecl ::= 'import' 'stylesheet' 'at' StringLiteral | |
AnnotatedDecl | |
::= 'declare' Annotation* ( VarDecl | FunctionDecl ) | |
Annotation | |
::= '%' EQName ( '(' Literal ( ',' Literal )* ')' )? | 'private' | |
VarDecl ::= 'variable' '$' VarName TypeDeclaration? ( ':=' VarValue | 'external' ( ':=' VarDefaultValue )? ) | |
VarValue ::= ExprSingle | |
VarDefaultValue | |
::= ExprSingle | |
ContextItemDecl | |
::= 'declare' 'context' 'item' ( 'as' ItemType )? ( ':=' VarValue | 'external' ( ':=' VarDefaultValue )? ) | |
FunctionDecl | |
::= 'function' EQName '(' ParamList? ')' ( 'as' SequenceType )? ( FunctionBody | 'external' ) | |
ParamList | |
::= Param ( ',' Param )* | |
Param ::= '$' EQName TypeDeclaration? | |
FunctionBody | |
::= EnclosedExpr | |
EnclosedExpr | |
::= '{' Expr '}' | |
OptionDecl | |
::= 'declare' 'option' EQName StringLiteral | |
QueryBody | |
::= Expr | |
Expr ::= ExprSingle ( ',' ExprSingle )* | |
ExprSingle | |
::= FLWORExpr | |
| QuantifiedExpr | |
| SwitchExpr | |
| TypeswitchExpr | |
| IfExpr | |
| OrExpr | |
| TryCatchExpr | |
| InsertExpr | |
| DeleteExpr | |
| RenameExpr | |
| ReplaceExpr | |
| TransformExpr | |
EnclosedExprExtended ::= '{' Expr? '}' | |
FLWORExpr | |
::= InitialClause IntermediateClause* ReturnClause | |
InitialClause | |
::= ForClause | |
| LetClause | |
| WindowClause | |
IntermediateClause | |
::= InitialClause | |
| WhereClause | |
| GroupByClause | |
| OrderByClause | |
| CountClause | |
ForClause | |
::= 'for' ForBinding ( ',' ForBinding )* | |
ForBinding | |
::= '$' VarName TypeDeclaration? AllowingEmpty? PositionalVar? 'in' ExprSingle | |
AllowingEmpty | |
::= 'allowing' 'empty' | |
PositionalVar | |
::= 'at' '$' VarName | |
LetClause | |
::= 'let' LetBinding ( ',' LetBinding )* | |
LetBinding | |
::= '$' VarName TypeDeclaration? ':=' ExprSingle | |
WindowClause | |
::= 'for' ( TumblingWindowClause | SlidingWindowClause ) | |
TumblingWindowClause | |
::= 'tumbling' 'window' '$' VarName TypeDeclaration? 'in' ExprSingle WindowStartCondition WindowEndCondition? | |
SlidingWindowClause | |
::= 'sliding' 'window' '$' VarName TypeDeclaration? 'in' ExprSingle WindowStartCondition WindowEndCondition | |
WindowStartCondition | |
::= 'start' WindowVars 'when' ExprSingle | |
WindowEndCondition | |
::= 'only'? 'end' WindowVars 'when' ExprSingle | |
WindowVars | |
::= ( '$' CurrentItem )? PositionalVar? ( 'previous' '$' PreviousItem )? ( 'next' '$' NextItem )? | |
CurrentItem | |
::= EQName | |
PreviousItem | |
::= EQName | |
NextItem ::= EQName | |
CountClause | |
::= 'count' '$' VarName | |
WhereClause | |
::= 'where' ExprSingle | |
GroupByClause | |
::= 'group' 'by' GroupingSpecList | |
GroupingSpecList | |
::= GroupingSpec ( ',' GroupingSpec )* | |
GroupingSpec | |
::= '$' VarName ( 'collation' URILiteral )? | |
OrderByClause | |
::= ( 'order' 'by' | 'stable' 'order' 'by' ) OrderSpecList | |
OrderSpecList | |
::= OrderSpec ( ',' OrderSpec )* | |
OrderSpec | |
::= ExprSingle OrderModifier | |
OrderModifier | |
::= ( 'ascending' | 'descending' )? ( 'empty' ( 'greatest' | 'least' ) )? ( 'collation' URILiteral )? | |
ReturnClause | |
::= 'return' ExprSingle | |
QuantifiedExpr | |
::= ( 'some' | 'every' ) '$' VarName TypeDeclaration? 'in' ExprSingle ( ',' '$' VarName TypeDeclaration? 'in' ExprSingle )* 'satisfies' ExprSingle | |
SwitchExpr | |
::= 'switch' '(' Expr ')' SwitchCaseClause+ 'default' 'return' ExprSingle | |
SwitchCaseClause | |
::= ( 'case' SwitchCaseOperand )+ 'return' ExprSingle | |
SwitchCaseOperand | |
::= ExprSingle | |
TypeswitchExpr | |
::= 'typeswitch' '(' Expr ')' CaseClause+ 'default' ( '$' VarName )? 'return' ExprSingle | |
CaseClause | |
::= 'case' ( '$' VarName 'as' )? SequenceTypeUnion 'return' ExprSingle | |
SequenceTypeUnion | |
::= SequenceType ( '|' SequenceType )* | |
IfExpr ::= 'if' '(' Expr ')' 'then' ExprSingle 'else' ExprSingle | |
TryCatchExpr | |
::= TryClause CatchClause+ | |
TryClause | |
::= 'try' '{' TryTargetExpr '}' | |
TryTargetExpr | |
::= Expr | |
CatchClause | |
::= 'catch' (CatchErrorList | '(' '$' VarName ')') EnclosedExprExtended | |
CatchErrorList | |
::= NameTest ( '|' NameTest )* | |
OrExpr ::= AndExpr ( 'or' AndExpr )* | |
AndExpr ::= ComparisonExpr ( 'and' ComparisonExpr )* | |
ComparisonExpr ::= FTContainsExpr ( (ValueComp | |
| GeneralComp | |
| NodeComp) FTContainsExpr )? | |
FTContainsExpr ::= StringConcatExpr ( "contains" "text" FTSelection FTIgnoreOption? )? | |
StringConcatExpr ::= RangeExpr ( '||' RangeExpr )* | |
RangeExpr | |
::= AdditiveExpr ( 'to' AdditiveExpr )? | |
AdditiveExpr | |
::= MultiplicativeExpr ( ( '+' | '-' ) MultiplicativeExpr )* | |
MultiplicativeExpr | |
::= UnionExpr ( ( '*' | 'div' | 'idiv' | 'mod' ) UnionExpr )* | |
UnionExpr | |
::= IntersectExceptExpr ( ( 'union' | '|' ) IntersectExceptExpr )* | |
IntersectExceptExpr | |
::= InstanceofExpr ( ( 'intersect' | 'except' ) InstanceofExpr )* | |
InstanceofExpr | |
::= TreatExpr ( 'instance' 'of' SequenceType )? | |
TreatExpr | |
::= CastableExpr ( 'treat' 'as' SequenceType )? | |
CastableExpr | |
::= CastExpr ( 'castable' 'as' SingleType )? | |
CastExpr ::= UnaryExpr ( 'cast' 'as' SingleType )? | |
UnaryExpr | |
::= ( '-' | '+' )* ValueExpr | |
ValueExpr | |
::= ValidateExpr | |
| PathExpr | |
| ExtensionExpr | |
GeneralComp | |
::= '=' | |
| '!=' | |
| '<' | |
| '<=' | |
| '>' | |
| '>=' | |
ValueComp | |
::= 'eq' | |
| 'ne' | |
| 'lt' | |
| 'le' | |
| 'gt' | |
| 'ge' | |
NodeComp ::= 'is' | |
| '<<' | |
| '>>' | |
ValidateExpr | |
::= 'validate' ( ValidationMode | ('as'|'type') TypeName )? 'full'? '{' Expr '}' | |
ValidationMode | |
::= 'lax' | |
| 'strict' | |
ExtensionExpr | |
::= Pragma+ '{' Expr? '}' | |
Pragma ::= '(#' S? EQName ( S PragmaContents )? '#)' | |
/* ws: explicit */ | |
PathExpr ::= '/' ( RelativePathExpr / ) | |
| '//' RelativePathExpr | |
| RelativePathExpr | |
RelativePathExpr | |
::= StepExpr ( ( '/' | '//' | '!' ) StepExpr )* | |
StepExpr ::= PostfixExpr | |
| AxisStep | |
AxisStep ::= ( ReverseStep | ForwardStep ) PredicateList | |
ForwardStep | |
::= ForwardAxis NodeTest | |
| AbbrevForwardStep | |
ForwardAxis | |
::= 'child' '::' | |
| 'descendant' '::' | |
| 'attribute' '::' | |
| 'namespace' '::' | |
| 'self' '::' | |
| 'property' '::' | |
| 'descendant-or-self' '::' | |
| 'following-sibling' '::' | |
| 'following' '::' | |
AbbrevForwardStep | |
::= '@'? NodeTest | |
ReverseStep | |
::= ReverseAxis NodeTest | |
| AbbrevReverseStep | |
ReverseAxis | |
::= 'parent' '::' | |
| 'ancestor' '::' | |
| 'preceding-sibling' '::' | |
| 'preceding' '::' | |
| 'ancestor-or-self' '::' | |
AbbrevReverseStep | |
::= '..' | |
NodeTest ::= KindTest | |
| NameTest | |
NameTest ::= EQName | |
| Wildcard | |
PostfixExpr | |
::= PrimaryExpr ( Predicate | ArgumentList )* | |
ArgumentList | |
::= '(' ( Argument ( ',' Argument )* )? ')' | |
PredicateList | |
::= Predicate* | |
Predicate | |
::= '[' Expr ']' | |
PrimaryExpr | |
::= Literal | |
| VarRef | |
| ParenthesizedExpr | |
| ContextItemExpr | |
| FunctionCall | |
| OrderedExpr | |
| UnorderedExpr | |
| Constructor | |
| FunctionItemExpr | |
Literal ::= NumericLiteral | |
| StringLiteral | |
NumericLiteral | |
::= IntegerLiteral | |
| DecimalLiteral | |
| DoubleLiteral | |
VarRef ::= '$' VarName | |
VarName ::= EQName | |
ParenthesizedExpr | |
::= '(' Expr? ')' | |
ContextItemExpr | |
::= '.' | |
OrderedExpr | |
::= 'ordered' '{' Expr '}' | |
UnorderedExpr | |
::= 'unordered' '{' Expr '}' | |
FunctionCall | |
::= FunctionName ArgumentList | |
Argument ::= ExprSingle | |
| ArgumentPlaceholder | |
ArgumentPlaceholder | |
::= '?' | |
Constructor | |
::= DirectConstructor | |
| ComputedConstructor | |
DirectConstructor | |
::= DirElemConstructor | |
| DirCommentConstructor | |
| DirPIConstructor | |
DirElemConstructor | |
::= '<' QName DirAttributeList ( '/>' | '>' DirElemContent* '</' QName S? '>' ) | |
/* ws: explicit */ | |
DirAttributeList | |
::= ( S ( QName S? '=' S? DirAttributeValue )? )* | |
/* ws: explicit */ | |
DirAttributeValue | |
::= '"' ( EscapeQuot | QuotAttrValueContent )* '"' | |
| "'" ( EscapeApos | AposAttrValueContent )* "'" | |
/* ws: explicit */ | |
QuotAttrValueContent | |
::= QuotAttrContentChar | |
| CommonContent | |
AposAttrValueContent | |
::= AposAttrContentChar | |
| CommonContent | |
DirElemContent | |
::= DirectConstructor | |
| CDataSection | |
| CommonContent | |
| ElementContentChar | |
CommonContent | |
::= PredefinedEntityRef | |
| CharRef | |
| '{{' | |
| '}}' | |
| EnclosedExpr | |
DirCommentConstructor | |
::= '<!--' DirCommentContents '-->' | |
/* ws: explicit */ | |
DirPIConstructor | |
::= '<?' PITarget ( S DirPIContents )? '?>' | |
/* ws: explicit */ | |
CDataSection | |
::= '<![CDATA[' CDataSectionContents ']]>' | |
/* ws: explicit */ | |
ComputedConstructor | |
::= CompDocConstructor | |
| CompElemConstructor | |
| CompAttrConstructor | |
| CompTextConstructor | |
| CompCommentConstructor | |
| CompPIConstructor | |
| CompBinaryConstructor | |
| CompNamespaceConstructor | |
CompBinaryConstructor ::= 'binary' EnclosedExprExtended | |
CompDocConstructor | |
::= 'document' '{' Expr '}' | |
CompElemConstructor | |
::= 'element' ( EQName | '{' Expr '}' ) '{' ContentExpr? '}' | |
ContentExpr | |
::= Expr | |
CompAttrConstructor | |
::= 'attribute' ( EQName | '{' Expr '}' ) '{' Expr? '}' | |
CompNamespaceConstructor | |
::= 'namespace' ( Prefix | '{' PrefixExpr '}' ) EnclosedExprExtended | |
Prefix ::= NCName | |
PrefixExpr | |
::= Expr | |
CompTextConstructor | |
::= 'text' EnclosedExprExtended | |
CompCommentConstructor | |
::= 'comment' '{' Expr '}' | |
CompPIConstructor | |
::= 'processing-instruction' ( NCName | '{' Expr '}' ) '{' Expr? '}' | |
FunctionItemExpr | |
::= LiteralFunctionItem | |
| InlineFunction | |
LiteralFunctionItem | |
::= EQName '#' IntegerLiteral | |
InlineFunction | |
::= 'function' '(' ParamList? ')' ( 'as' SequenceType )? EnclosedExpr | |
SingleType | |
::= AtomicOrUnionType ('?'|'*'^OccurrenceIndicator)? | |
TypeDeclaration | |
::= 'as' SequenceType | |
SequenceType | |
::= 'empty-sequence' '(' ')' | |
| ItemType ( OccurrenceIndicator / ) | |
OccurrenceIndicator | |
::= '?' | |
| '*'^OccurrenceIndicator | |
| '+' | |
ItemType ::= KindTest | |
| 'item' '(' ')' | |
| FunctionTest | |
| AtomicOrUnionType | |
| ParenthesizedItemType | |
AtomicOrUnionType | |
::= EQName | |
KindTest ::= DocumentTest | |
| ElementTest | |
| AttributeTest | |
| SchemaElementTest | |
| SchemaAttributeTest | |
| PITest | |
| CommentTest | |
| TextTest | |
| NamespaceNodeTest | |
| AnyKindTest | |
| BinaryTest | |
BinaryTest | |
::= 'binary' '(' ')' | |
AnyKindTest | |
::= 'node' '(' ')' | |
DocumentTest | |
::= 'document-node' '(' ( ElementTest | SchemaElementTest )? ')' | |
TextTest ::= 'text' '(' ')' | |
CommentTest | |
::= 'comment' '(' ')' | |
NamespaceNodeTest | |
::= 'namespace-node' '(' ')' | |
PITest ::= 'processing-instruction' '(' ( NCName | StringLiteral )? ')' | |
AttributeTest | |
::= 'attribute' '(' ( AttribNameOrWildcard ( ',' TypeName )? )? ')' | |
AttribNameOrWildcard | |
::= AttributeName | |
| '*' | |
SchemaAttributeTest | |
::= 'schema-attribute' '(' AttributeDeclaration ')' | |
AttributeDeclaration | |
::= AttributeName | |
ElementTest | |
::= 'element' '(' ( ElementNameOrWildcard ( ',' TypeName '?'? )? )? ')' | |
ElementNameOrWildcard | |
::= ElementName | |
| '*' | |
SchemaElementTest | |
::= 'schema-element' '(' ElementDeclaration ')' | |
ElementDeclaration | |
::= ElementName | |
AttributeName | |
::= EQName | |
ElementName | |
::= EQName | |
TypeName ::= EQName | |
FunctionTest | |
::= Annotation* ( AnyFunctionTest | TypedFunctionTest ) | |
AnyFunctionTest | |
::= 'function' '(' '*' ')' | |
TypedFunctionTest | |
::= 'function' '(' ( SequenceType ( ',' SequenceType )* )? ')' 'as' SequenceType | |
ParenthesizedItemType | |
::= '(' ItemType ')' | |
RevalidationDecl | |
::= 'declare' 'revalidation' ( 'strict' | 'lax' | 'skip' ) | |
InsertExprTargetChoice | |
::= ( 'as' ( 'first' | 'last' ) )? 'into' | |
| 'after' | |
| 'before' | |
InsertExpr | |
::= 'insert' ( 'node' | 'nodes' ) SourceExpr InsertExprTargetChoice TargetExpr | |
DeleteExpr | |
::= 'delete' ( 'node' | 'nodes' ) TargetExpr | |
ReplaceExpr | |
::= 'replace' ( 'value' 'of' )? 'node' TargetExpr 'with' ExprSingle | |
RenameExpr | |
::= 'rename' 'node' TargetExpr 'as' NewNameExpr | |
SourceExpr | |
::= ExprSingle | |
TargetExpr | |
::= ExprSingle | |
NewNameExpr | |
::= ExprSingle | |
TransformExpr | |
::= 'copy' '$' VarName ':=' ExprSingle ( ',' '$' VarName ':=' ExprSingle )* 'modify' ExprSingle 'return' ExprSingle | |
FTOptionDecl ::= "declare" "ft-option" FTMatchOptions | |
FTSelection ::= FTOr FTPosFilter* | |
FTWeight ::= "weight" "{" Expr "}" | |
FTOr ::= FTAnd ( "ftor" FTAnd )* | |
FTAnd ::= FTMildNot ( "ftand" FTMildNot )* | |
FTMildNot ::= FTUnaryNot ( "not" "in" FTUnaryNot )* | |
FTUnaryNot ::= ("ftnot")? FTPrimaryWithOptions | |
FTPrimaryWithOptions ::= FTPrimary FTMatchOptions? FTWeight? | |
FTPrimary ::= (FTWords FTTimes?) | ("(" FTSelection ")") | FTExtensionSelection | |
FTWords ::= FTWordsValue FTAnyallOption? | |
FTWordsValue ::= StringLiteral | ("{" Expr "}") | |
FTExtensionSelection ::= Pragma+ "{" FTSelection? "}" | |
FTAnyallOption ::= ("any" "word"?) | ("all" "words"?) | "phrase" | |
FTTimes ::= "occurs" FTRange "times" | |
FTRange ::= ("exactly" AdditiveExpr) | |
| ("at" "least" AdditiveExpr) | |
| ("at" "most" AdditiveExpr) | |
| ("from" AdditiveExpr "to" AdditiveExpr) | |
FTPosFilter ::= FTOrder | FTWindow | FTDistance | FTScope | FTContent | |
FTOrder ::= "ordered" | |
FTWindow ::= "window" AdditiveExpr FTUnit | |
FTDistance ::= "distance" FTRange FTUnit | |
FTUnit ::= "words" | "sentences" | "paragraphs" | |
FTScope ::= ("same" | "different") FTBigUnit | |
FTBigUnit ::= "sentence" | "paragraph" | |
FTContent ::= ("at" "start") | ("at" "end") | ("entire" "content") | |
FTMatchOptions ::= ("using" FTMatchOption)+ | |
FTMatchOption ::= FTLanguageOption | |
| FTWildCardOption | |
| FTThesaurusOption | |
| FTStemOption | |
| FTCaseOption | |
| FTDiacriticsOption | |
| FTStopWordOption | |
| FTExtensionOption | |
FTCaseOption ::= ("case" "insensitive") | |
| ("case" "sensitive") | |
| "lowercase" | |
| "uppercase" | |
FTDiacriticsOption ::= ("diacritics" "insensitive") | |
| ("diacritics" "sensitive") | |
FTStemOption ::= "stemming" | ("no" "stemming") | |
FTThesaurusOption ::= ("thesaurus" (FTThesaurusID | "default")) | |
| ("thesaurus" "(" (FTThesaurusID | "default") ("," FTThesaurusID)* ")") | |
| ("no" "thesaurus") | |
FTThesaurusID ::= "at" URILiteral ("relationship" StringLiteral)? (FTLiteralRange "levels")? | |
FTLiteralRange ::= ("exactly" IntegerLiteral) | |
| ("at" "least" IntegerLiteral) | |
| ("at" "most" IntegerLiteral) | |
| ("from" IntegerLiteral "to" IntegerLiteral) | |
FTStopWordOption ::= ("stop" "words" FTStopWords FTStopWordsInclExcl*) | |
| ("stop" "words" "default" FTStopWordsInclExcl*) | |
| ("no" "stop" "words") | |
FTStopWords ::= ("at" URILiteral) | |
| ("(" StringLiteral ("," StringLiteral)* ")") | |
FTStopWordsInclExcl ::= ("union" | "except") FTStopWords | |
FTLanguageOption ::= "language" StringLiteral | |
FTWildCardOption ::= "wildcards" | ("no" "wildcards") | |
FTExtensionOption ::= "option" EQName StringLiteral | |
FTIgnoreOption ::= "without" "content" UnionExpr | |
EQName ::= QName | URIQualifiedName | |
QName ::= FunctionQName | |
| 'attribute' | |
| 'binary' | |
| 'comment' | |
| 'document-node' | |
| 'element' | |
| 'empty-sequence' | |
| 'function' | |
| 'if' | |
| 'item' | |
| 'namespace-node' | |
| 'node' | |
| 'processing-instruction' | |
| 'schema-attribute' | |
| 'schema-element' | |
| 'switch' | |
| 'text' | |
| 'typeswitch' | |
FunctionName ::= FunctionQName | URIQualifiedName | |
FunctionQName | |
::= QName^Token | |
| 'contains' | |
| 'paragraphs' | |
| 'sentences' | |
| 'times' | |
| 'words' | |
| 'after' | |
| 'as' | |
| 'before' | |
| 'copy' | |
| 'delete' | |
| 'first' | |
| 'insert' | |
| 'into' | |
| 'last' | |
| 'modify' | |
| 'rename' | |
| 'replace' | |
| 'with' | |
| 'private' | |
| 'ancestor' | |
| 'ancestor-or-self' | |
| 'and' | |
| 'ascending' | |
| 'case' | |
| 'cast' | |
| 'castable' | |
| 'catch' | |
| 'child' | |
| 'collation' | |
| 'count' | |
| 'declare' | |
| 'default' | |
| 'descendant' | |
| 'descendant-or-self' | |
| 'descending' | |
| 'div' | |
| 'document' | |
| 'else' | |
| 'empty' | |
| 'end' | |
| 'eq' | |
| 'every' | |
| 'except' | |
| 'following' | |
| 'following-sibling' | |
| 'for' | |
| 'ge' | |
| 'group' | |
| 'gt' | |
| 'idiv' | |
| 'import' | |
| 'instance' | |
| 'intersect' | |
| 'is' | |
| 'le' | |
| 'let' | |
| 'lt' | |
| 'mod' | |
| 'module' | |
| 'namespace' | |
| 'ne' | |
| 'only' | |
| 'or' | |
| 'order' | |
| 'ordered' | |
| 'parent' | |
| 'preceding' | |
| 'preceding-sibling' | |
| 'property' | |
| 'return' | |
| 'satisfies' | |
| 'self' | |
| 'some' | |
| 'stable' | |
| 'start' | |
| 'to' | |
| 'treat' | |
| 'try' | |
| 'union' | |
| 'unordered' | |
| 'validate' | |
| 'where' | |
| 'xquery' | |
NCName ::= NCName^Token | |
| 'contains' | |
| 'paragraphs' | |
| 'sentences' | |
| 'times' | |
| 'words' | |
| 'after' | |
| 'as' | |
| 'before' | |
| 'into' | |
| 'modify' | |
| 'with' | |
| 'and' | |
| 'ascending' | |
| 'case' | |
| 'cast' | |
| 'castable' | |
| 'collation' | |
| 'count' | |
| 'default' | |
| 'descending' | |
| 'div' | |
| 'else' | |
| 'empty' | |
| 'end' | |
| 'eq' | |
| 'except' | |
| 'for' | |
| 'ge' | |
| 'group' | |
| 'gt' | |
| 'idiv' | |
| 'instance' | |
| 'intersect' | |
| 'is' | |
| 'le' | |
| 'let' | |
| 'lt' | |
| 'mod' | |
| 'ne' | |
| 'only' | |
| 'or' | |
| 'order' | |
| 'return' | |
| 'satisfies' | |
| 'stable' | |
| 'start' | |
| 'to' | |
| 'treat' | |
| 'try' | |
| 'union' | |
| 'where' | |
Whitespace | |
::= S^WS | |
| Comment | |
/* ws: definition */ | |
Comment ::= '(:' ( CommentContents | Comment )* ':)' | |
/* ws: explicit */ | |
<?TOKENS?> | |
EOF ::= $ | |
PragmaContents | |
::= ( Char* - ( Char* '#)' Char* ) ) & '#' | |
DirCommentContents | |
::= ( ( Char - '-' ) | '-' ( Char - '-' ) )* | |
/* ws: explicit */ | |
DirPIContents | |
::= ( Char* - ( Char* '?>' Char* ) ) & '?' | |
/* ws: explicit */ | |
CDataSectionContents | |
::= ( Char* - ( Char* ']]>' Char* ) ) & ']]' | |
/* ws: explicit */ | |
Wildcard ::= '*' | |
| NCName ':' '*' | |
| '*' ':' NCName | |
| URILiteral ':' '*' | |
/* ws: explicit */ | |
URIQualifiedName | |
::= URILiteral ':' NCName | |
/* ws: explicit */ | |
URILiteral | |
::= StringLiteral | |
IntegerLiteral | |
::= Digits | |
DecimalLiteral | |
::= '.' Digits | |
| Digits '.' [0-9]* | |
/* ws: explicit */ | |
DoubleLiteral | |
::= ( '.' Digits | Digits ( '.' [0-9]* )? ) [eE] [+#x2D]? Digits | |
/* ws: explicit */ | |
StringLiteral | |
::= '"' ( PredefinedEntityRef | CharRef | EscapeQuot | [^"&] )* '"' | |
| "'" ( PredefinedEntityRef | CharRef | EscapeApos | [^'&] )* "'" | |
/* ws: explicit */ | |
PredefinedEntityRef | |
::= '&' [A-Za-z]+ ';' | |
/* ws: explicit */ | |
EscapeQuot | |
::= '""' | |
EscapeApos | |
::= "''" | |
ElementContentChar | |
::= Char - [{}<&] | |
QuotAttrContentChar | |
::= Char - ["{}<&] | |
AposAttrContentChar | |
::= Char - ['{}<&] | |
PITarget ::= Name - ( ( 'X' | 'x' ) ( 'M' | 'm' ) ( 'L' | 'l' ) ) | |
NameStartChar | |
::= ':' | |
| [A-Z] | |
| '_' | |
| [a-z] | |
| [#x00C0-#x00D6] | |
| [#x00D8-#x00F6] | |
| [#x00F8-#x02FF] | |
| [#x0370-#x037D] | |
| [#x037F-#x1FFF] | |
| [#x200C-#x200D] | |
| [#x2070-#x218F] | |
| [#x2C00-#x2FEF] | |
| [#x3001-#xD7FF] | |
| [#xF900-#xFDCF] | |
| [#xFDF0-#xFFFD] | |
| [#x10000-#xEFFFF] | |
NameChar ::= NameStartChar | |
| '-' | |
| '.' | |
| [0-9] | |
| #x00B7 | |
| [#x0300-#x036F] | |
| [#x203F-#x2040] | |
Name ::= NameStartChar NameChar* | |
CharRef ::= '&#' [0-9]+ ';' | |
| '&#x' [0-9a-fA-F]+ ';' | |
NCName ::= Name - ( Char* ':' Char* ) | |
QName ::= PrefixedName | |
| UnprefixedName | |
PrefixedName | |
::= Prefix ':' LocalPart | |
UnprefixedName | |
::= LocalPart | |
Prefix ::= NCName | |
LocalPart | |
::= NCName | |
S ::= ( #x0020 | #x0009 | #x000D | #x000A )+ | |
Char ::= #x0009 | |
| #x000A | |
| #x000D | |
| [#x0020-#xD7FF] | |
| [#xE000-#xFFFD] | |
| [#x10000-#x10FFFF] | |
Digits ::= [0-9]+ | |
CommentContents | |
::= ( ( [^(:] | '('+ [^(:] | ':'+ [^:)] )+ | '(' ) '('* & '(' | |
| ( ( [^(:] | '('+ [^(:] | ':'+ [^:)] )+ | ':' ) ':'* & ':' | |
'*' << Wildcard '*'^OccurrenceIndicator | |
QName^Token | |
<< 'contains' 'paragraphs' 'sentences' 'times' 'words' 'after' 'as' 'before' 'copy' 'delete' 'first' 'insert' 'into' 'last' 'modify' 'rename' 'replace' 'with' 'private' 'ancestor' 'ancestor-or-self' 'and' 'ascending' 'attribute' 'binary' 'catch' 'case' 'cast' 'castable' 'child' 'collation' 'comment' 'count' 'declare' 'default' 'descendant' 'descendant-or-self' 'descending' 'div' 'document' 'document-node' 'element' 'else' 'empty' 'empty-sequence' 'end' 'eq' 'every' 'except' 'following' 'following-sibling' 'for' 'function' 'ge' 'group' 'gt' 'idiv' 'if' 'import' 'instance' 'intersect' 'is' 'item' 'le' 'let' 'lt' 'mod' 'module' 'namespace' 'namespace-node' 'ne' 'node' 'only' 'or' 'order' 'ordered' 'parent' 'preceding' 'preceding-sibling' 'processing-instruction' 'property' 'return' 'satisfies' 'schema-attribute' 'schema-element' 'self' 'some' 'stable' 'start' 'switch' 'text' 'to' 'treat' 'try' 'typeswitch' 'union' 'unordered' 'validate' 'where' 'xquery' | |
NCName^Token | |
<< 'contains' 'paragraphs' 'sentences' 'times' 'words' 'after' 'as' 'before' 'into' 'modify' 'with' 'try' 'and' 'ascending' 'case' 'cast' 'castable' 'collation' 'count' 'default' 'descending' 'div' 'else' 'empty' 'end' 'eq' 'except' 'for' 'ge' 'group' 'gt' 'idiv' 'instance' 'intersect' 'is' 'le' 'let' 'lt' 'mod' 'ne' 'only' 'or' 'order' 'return' 'satisfies' 'stable' 'start' 'to' 'treat' 'union' 'where' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
xquery version "1.0" encoding "UTF-8"; | |
(: This file was generated on Mon Feb 11, 2013 14:37 (UTC+01) by REx v5.23 which is Copyright (c) 1979-2013 by Gunther Rademacher <[email protected]> :) | |
(: REx command line: XQueryML30.ebnf -xquery -tree -backtrack :) | |
(:~ | |
: The parser that was generated for the XQueryML30 grammar. | |
:) | |
module namespace p="XQueryML30"; | |
declare default function namespace "http://www.w3.org/2005/xpath-functions"; | |
(:~ | |
: The index of the parser state for accessing the combined | |
: (i.e. level > 1) lookahead code. | |
:) | |
declare variable $p:lk := 1; | |
(:~ | |
: The index of the parser state for accessing the position in the | |
: input string of the begin of the token that has been shifted. | |
:) | |
declare variable $p:b0 := 2; | |
(:~ | |
: The index of the parser state for accessing the position in the | |
: input string of the end of the token that has been shifted. | |
:) | |
declare variable $p:e0 := 3; | |
(:~ | |
: The index of the parser state for accessing the code of the | |
: level-1-lookahead token. | |
:) | |
declare variable $p:l1 := 4; | |
(:~ | |
: The index of the parser state for accessing the position in the | |
: input string of the begin of the level-1-lookahead token. | |
:) | |
declare variable $p:b1 := 5; | |
(:~ | |
: The index of the parser state for accessing the position in the | |
: input string of the end of the level-1-lookahead token. | |
:) | |
declare variable $p:e1 := 6; | |
(:~ | |
: The index of the parser state for accessing the code of the | |
: level-2-lookahead token. | |
:) | |
declare variable $p:l2 := 7; | |
(:~ | |
: The index of the parser state for accessing the position in the | |
: input string of the begin of the level-2-lookahead token. | |
:) | |
declare variable $p:b2 := 8; | |
(:~ | |
: The index of the parser state for accessing the position in the | |
: input string of the end of the level-2-lookahead token. | |
:) | |
declare variable $p:e2 := 9; | |
(:~ | |
: The index of the parser state for accessing the code of the | |
: level-3-lookahead token. | |
:) | |
declare variable $p:l3 := 10; | |
(:~ | |
: The index of the parser state for accessing the position in the | |
: input string of the begin of the level-3-lookahead token. | |
:) | |
declare variable $p:b3 := 11; | |
(:~ | |
: The index of the parser state for accessing the position in the | |
: input string of the end of the level-3-lookahead token. | |
:) | |
declare variable $p:e3 := 12; | |
(:~ | |
: The index of the parser state for accessing the token code that | |
: was expected when an error was found. | |
:) | |
declare variable $p:error := 13; | |
(:~ | |
: The index of the parser state for accessing the memoization | |
: of backtracking results. | |
:) | |
declare variable $p:memo := 14; | |
(:~ | |
: The index of the parser state that points to the first entry | |
: used for collecting action results. | |
:) | |
declare variable $p:result := 15; | |
(:~ | |
: The codepoint to charclass mapping for 7 bit codepoints. | |
:) | |
declare variable $p:MAP0 as xs:integer+ := | |
( | |
69, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, | |
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, | |
29, 26, 30, 30, 30, 30, 30, 31, 32, 33, 30, 30, 30, 30, 30, 34, 30, 30, 30, 35, 30, 30, 36, 37, 38, 37, 39, 37, 40, | |
41, 42, 43, 44, 45, 46, 47, 48, 30, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 37, | |
37 | |
); | |
(:~ | |
: The codepoint to charclass mapping for codepoints below the surrogate block. | |
:) | |
declare variable $p:MAP1 as xs:integer+ := | |
( | |
108, 124, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 156, 181, 181, 181, 181, 181, 214, | |
215, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, | |
214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, | |
214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, | |
214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 247, 261, 277, 293, 309, 324, 370, | |
386, 422, 422, 422, 414, 354, 346, 354, 346, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, | |
354, 354, 439, 439, 439, 439, 439, 439, 439, 339, 354, 354, 354, 354, 354, 354, 354, 354, 400, 422, 422, 423, 421, | |
422, 422, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 422, 422, 422, | |
422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, | |
422, 422, 422, 422, 422, 422, 353, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, | |
354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 422, 69, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, | |
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, | |
17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 26, 30, 30, 30, 30, 30, 31, 32, | |
33, 30, 30, 30, 30, 34, 30, 30, 30, 35, 30, 30, 36, 37, 38, 37, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, | |
39, 37, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 30, | |
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, | |
37, 37, 39, 39, 37, 37, 37, 37, 37, 37, 37, 68, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 68, | |
68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68 | |
); | |
(:~ | |
: The codepoint to charclass mapping for codepoints above the surrogate block. | |
:) | |
declare variable $p:MAP2 as xs:integer+ := | |
( | |
57344, 63744, 64976, 65008, 65536, 983040, 63743, 64975, 65007, 65533, 983039, 1114111, 37, 39, 37, 39, 39, 37 | |
); | |
(:~ | |
: The token-set-id to DFA-initial-state mapping. | |
:) | |
declare variable $p:INITIAL as xs:integer+ := | |
( | |
1, 16386, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, | |
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, | |
61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, | |
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, | |
115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, | |
138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, | |
161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, | |
184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, | |
207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, | |
230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, | |
253 | |
); | |
(:~ | |
: The DFA transition table. | |
:) | |
declare variable $p:TRANSITION as xs:integer+ := | |
( | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18876, 17932, 17965, 17965, 17965, 17962, 17965, 17965, 17965, 17965, 17920, 17965, 17965, 17965, 17948, 17968, | |
17984, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18630, | |
18031, 24751, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18231, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 18082, 18095, 18108, 18124, | |
26818, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 20761, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18630, 18031, 27796, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18557, 18142, 18031, 18031, 18031, 18163, 18031, 18031, 18260, 22423, 18184, 25121, 18031, 18031, | |
24249, 18218, 26512, 18031, 18031, 18031, 37033, 18031, 38082, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 35294, 18031, 18251, 25128, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 23025, 18031, 18031, 18031, 18280, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18299, 18410, 18031, 18031, 18031, 18334, 18031, 18031, 18412, 18031, 18048, 18371, 29465, | |
18357, 18406, 19864, 24759, 18031, 18031, 18031, 21554, 18031, 18031, 18428, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18630, 18031, 25160, 18445, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 30408, 18031, 18031, 18031, 18464, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18231, 20696, 18031, 18031, 18031, 18485, 18031, 18031, 38218, 30366, 18519, 18031, | |
31897, 20699, 31898, 18544, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18231, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 21481, 21466, 18573, | |
21476, 18031, 32596, 30001, 24026, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, | |
18598, 18031, 18031, 18031, 18031, 18283, 36730, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 33057, 18031, 36722, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18705, 18623, 18031, 18031, 18031, 18646, 18031, 18031, 30109, | |
23012, 18667, 25494, 18031, 18031, 24434, 18692, 27804, 18031, 18031, 18031, 37033, 18031, 18031, 18721, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 28742, 18031, 30097, 25498, 18031, 19552, 18030, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 24580, 18031, 18031, 18031, 19069, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 18753, 18762, 18762, 18762, 18741, 18762, 18762, | |
18793, 18804, 18781, 18847, 18765, 18820, 18835, 18863, 24759, 18031, 18031, 18031, 18892, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, 20077, 18030, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 25999, 18031, 18031, 18031, 18913, 18031, | |
18031, 23152, 18031, 18048, 18941, 18954, 18954, 18925, 18970, 18986, 18031, 18031, 18031, 21712, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, 19552, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 20190, 18031, 18031, 18031, 18028, | |
18031, 18031, 18031, 18031, 18048, 19056, 30660, 19027, 19042, 19091, 24759, 18031, 18031, 18031, 37033, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, 19552, 18030, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 31012, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 31014, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 18031, 18031, 18031, 18031, | |
18028, 18031, 18031, 18031, 18031, 18048, 19120, 31644, 19149, 19163, 31651, 24759, 18031, 18031, 18031, 37033, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, 19552, 18030, | |
18031, 26730, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 29621, 18031, 18031, | |
18031, 19181, 18031, 18031, 29623, 18031, 19237, 19270, 19280, 19280, 19252, 20363, 24759, 18031, 18031, 18031, 37033, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, 19552, | |
18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19296, 18031, 18031, | |
18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 19319, 33202, 19370, 19384, 33209, 19402, 18031, 18031, 18031, | |
37033, 18031, 18031, 18031, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25791, 18031, 19438, | |
19552, 18897, 18031, 26730, 28453, 18031, 19572, 32235, 23769, 18031, 35460, 28265, 28265, 21312, 24094, 24094, 24094, | |
28449, 18031, 18031, 18031, 18031, 18031, 19460, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 21310, 19495, | |
24094, 24094, 24094, 23306, 27995, 18031, 18031, 18031, 31296, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20007, | |
24094, 24094, 24094, 26310, 18031, 18031, 18031, 19513, 35166, 37841, 23957, 28265, 26934, 22055, 24094, 36587, 18031, | |
18031, 19531, 27233, 34104, 28265, 31781, 24094, 26301, 19551, 28763, 27232, 37115, 28265, 36582, 24984, 18031, 19568, | |
33151, 34609, 19588, 18031, 19607, 19636, 19303, 19672, 21301, 19708, 23415, 19713, 31068, 35980, 35981, 36192, 26811, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 18031, | |
18031, 18031, 18031, 18028, 18031, 18031, 18031, 34727, 18048, 18031, 18031, 18031, 18031, 19729, 19771, 18031, 18031, | |
18031, 37033, 18031, 38358, 18031, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 27948, 18031, | |
18031, 19552, 18030, 18031, 18031, 18031, 18031, 19572, 32235, 23769, 18031, 35460, 28265, 28265, 21312, 24094, 24094, | |
24094, 26310, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 21310, | |
19495, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, | |
20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, | |
18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, | |
27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, | |
26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, | |
35709, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 19820, 31934, 19806, 19857, 19880, 24759, 18031, | |
18031, 18031, 37033, 18031, 18031, 34453, 18031, 19650, 18031, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, | |
18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18231, 19914, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 34033, 18048, 18031, 18031, 18031, 18031, 19933, 19967, | |
18031, 18031, 18031, 37033, 18031, 21276, 18031, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, | |
27041, 18031, 18031, 19552, 18030, 18031, 19998, 18031, 18031, 19572, 32235, 23769, 18031, 35460, 28265, 28265, 21312, | |
24094, 24094, 24094, 32441, 18031, 18031, 18031, 18031, 19841, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, | |
28265, 30922, 19495, 24094, 24094, 24094, 21607, 18031, 18031, 18031, 22352, 18031, 27232, 32235, 23768, 30020, 28265, | |
28265, 28266, 20031, 24094, 24094, 24094, 21662, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 37489, 24094, | |
24094, 33835, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, | |
36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, | |
35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 19893, 18235, 18031, 18031, 18031, 20055, 20075, 18031, 20059, 18031, 18048, 18031, 18031, 25630, 20093, 18147, | |
20110, 20166, 18031, 18031, 20183, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 20404, 20206, | |
35789, 20289, 18031, 18031, 18031, 20238, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 20255, 20257, 20257, | |
20274, 35789, 35789, 35789, 20334, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35031, 20257, | |
20257, 20257, 20356, 35787, 35789, 35789, 35789, 20220, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 20403, | |
20257, 20257, 20258, 35781, 35789, 35789, 35789, 20220, 18031, 18031, 18031, 18031, 18031, 21093, 20257, 20257, 20379, | |
35789, 35789, 20442, 18031, 18031, 18031, 18031, 21094, 20257, 20420, 35789, 20443, 18031, 18031, 18031, 21095, 20257, | |
20437, 20442, 18031, 18031, 35031, 20421, 35790, 18031, 20404, 20440, 35028, 36478, 35030, 36480, 36469, 20394, 36475, | |
25210, 25211, 20459, 20473, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18231, 32715, 18031, 18031, 18031, 20496, 20508, 18031, 18031, 18031, 20528, 20558, 20568, 20568, 20510, | |
34520, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18630, 18031, 24751, 18031, 18031, 19552, 18030, 18031, 20602, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 27708, 18031, 18031, 18031, 18031, 35623, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 28223, 24270, 18031, 18031, 18031, 24465, 18031, 18031, 18031, 35623, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 24264, 18031, 18031, 18031, 20584, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18628, 18031, 18031, 19535, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18231, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 28799, 20618, 20628, 20628, | |
20644, 20662, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 29006, 18031, 18031, 18031, 18031, 18031, | |
18031, 18630, 18031, 26504, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 19742, 18126, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 20715, 20725, | |
20725, 20741, 20480, 24759, 20759, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 38046, 18031, 18031, 18031, 18031, | |
18031, 18031, 18630, 18031, 27282, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 19104, 19686, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 20777, | |
20787, 20787, 20803, 29013, 20826, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 32855, 18031, 18031, 18031, | |
18031, 18031, 18031, 18630, 18031, 35669, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18012, 18031, 18031, 18031, 18031, 20842, 18031, 18031, 18031, 18031, 18048, | |
18031, 36022, 20847, 18031, 17999, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 35366, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18630, 18031, 28058, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, | |
18048, 18031, 18031, 18031, 18031, 20863, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, | |
18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, 18031, 18031, | |
19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, 18030, 18031, 33315, 18031, 18031, | |
19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, 18031, 18031, 18031, 22351, | |
18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, 24094, 24094, 26781, 18031, 18031, | |
18031, 22352, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20916, 24094, 24094, 24094, 32055, 18031, 18031, | |
25862, 18031, 35166, 37841, 28265, 28265, 37489, 24094, 24094, 33835, 18031, 18031, 18031, 27233, 34104, 28265, 22790, | |
24094, 36588, 18031, 37822, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, | |
26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, 18028, 18031, 18031, | |
18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, 18031, | |
18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, 18030, 18031, 33315, 18031, | |
18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, 18031, 18031, 18031, | |
22351, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, 24094, 24094, 26781, 18031, | |
18031, 18031, 22352, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20916, 24094, 24094, 24094, 32055, 18031, | |
18031, 18031, 18031, 35166, 37841, 28265, 28265, 37489, 24094, 24094, 33835, 18031, 18031, 18031, 27233, 34104, 28265, | |
22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, | |
36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, 18028, 18031, | |
18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, | |
18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, 18030, 18031, 33315, | |
18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, 18031, 18031, | |
18031, 22351, 28315, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, 24094, 24094, 26781, | |
18031, 18031, 18031, 22352, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20916, 24094, 24094, 24094, 32055, | |
18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 37489, 24094, 24094, 33835, 18031, 18031, 18031, 27233, 34104, | |
28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, 18031, | |
35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, 18028, | |
18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, 18031, 18031, | |
31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, 18030, 18031, | |
33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, 18031, | |
18031, 18031, 22351, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, 24094, 24094, | |
26781, 18031, 18031, 18031, 22352, 20940, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20916, 24094, 24094, 24094, | |
32055, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 37489, 24094, 24094, 33835, 18031, 18031, 18031, 27233, | |
34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, | |
18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, | |
18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, 18031, | |
19692, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, 18030, | |
18031, 31549, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, | |
18031, 18031, 18031, 22351, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, 24094, | |
24094, 26781, 18031, 18031, 18031, 22352, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20916, 24094, 24094, | |
24094, 32055, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 37489, 24094, 24094, 33835, 18031, 18031, 18031, | |
27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, | |
24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, | |
18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, | |
18031, 18031, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, | |
18030, 18031, 33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, | |
24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20007, 24094, | |
24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, 18031, 18031, | |
18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, | |
22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, | |
18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, | |
37033, 18031, 18031, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 33769, 20879, 18031, | |
19552, 18030, 18031, 33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, | |
27080, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, | |
24094, 24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20007, | |
24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, 18031, | |
18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, | |
23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, | |
18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 20958, 18031, 18031, | |
18031, 37033, 18031, 18031, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, | |
18031, 19552, 18030, 18031, 33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, | |
24094, 27080, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, | |
20898, 24094, 24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, | |
20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, | |
18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, | |
27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, | |
26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, | |
18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 21006, 22478, 18031, 38413, 24509, 22276, 19771, 18031, | |
18031, 18031, 37033, 18031, 18031, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, | |
20879, 18031, 19552, 18030, 18031, 33315, 25175, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, | |
24094, 24094, 27080, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, | |
29446, 20898, 24094, 24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, | |
28266, 20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, | |
36587, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, | |
18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, | |
36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
19893, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, | |
18031, 18031, 18031, 37033, 18031, 18031, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, | |
25940, 20879, 18031, 19552, 18030, 18031, 33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, | |
24094, 24094, 24094, 27080, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, | |
28265, 29446, 20898, 24094, 24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, | |
28265, 28266, 20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, | |
24094, 36587, 18031, 18031, 18057, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, | |
36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, | |
35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 19946, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, | |
19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, | |
24094, 25940, 20879, 18031, 19552, 18030, 18031, 33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, | |
35516, 24094, 24094, 24094, 27080, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, | |
28265, 28265, 29446, 20898, 24094, 24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, | |
28265, 28265, 28266, 20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, | |
24094, 24094, 36587, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, | |
36582, 36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, | |
35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18231, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 21056, 32801, 21042, 21091, | |
20810, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18630, 18031, 24751, 18031, 18031, 19552, 18030, 18031, 18031, 21111, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 32819, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18231, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 18031, 18031, 18031, | |
18031, 18283, 24759, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18630, 18031, 24751, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 20675, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 21130, 21143, | |
21143, 21159, 21404, 21177, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18630, 18031, 26343, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, | |
18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 19570, 35170, 18031, | |
18031, 18031, 30021, 24201, 24094, 25791, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 19572, 32235, 23769, | |
18031, 25085, 28265, 28265, 24949, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, | |
32235, 24830, 25080, 28265, 28265, 28265, 28542, 19495, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 18031, | |
27232, 32235, 23768, 30020, 28265, 28265, 28266, 20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, | |
37841, 28265, 28265, 26934, 24094, 24094, 36587, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, | |
18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, | |
27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 21216, 18031, 18031, 21234, 21268, 18031, 36818, 29071, 21292, | |
21328, 21341, 21349, 21365, 21381, 19771, 24017, 23464, 18031, 27319, 20686, 19332, 21397, 21420, 21456, 21497, 21539, | |
19833, 29921, 24478, 21577, 21593, 21648, 21697, 20879, 31872, 37021, 18030, 19917, 33315, 21734, 27485, 19572, 32235, | |
21775, 18031, 21838, 28265, 24526, 35516, 24094, 24094, 29550, 27080, 19479, 21440, 18031, 21856, 22351, 18031, 18031, | |
21883, 21921, 36064, 21969, 24194, 25087, 21998, 29446, 22029, 22053, 32287, 25412, 26781, 22071, 30862, 18031, 22089, | |
18031, 23398, 22130, 34219, 28590, 22156, 22175, 28266, 22225, 22270, 36257, 22292, 24685, 22310, 22348, 35681, 20594, | |
35166, 37841, 28265, 28265, 22368, 24094, 24094, 22240, 31861, 22409, 18031, 22471, 22500, 23270, 22529, 31831, 36588, | |
35022, 18031, 27232, 37115, 22553, 31789, 37937, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 22633, | |
22569, 37897, 22593, 24158, 27403, 22627, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 22649, 18031, 18031, 18028, 32748, 18031, 18031, 18031, | |
22670, 22706, 22719, 22720, 22736, 22752, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, 18031, 18031, 19570, | |
35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, 18030, 18031, 33315, 18031, 18031, 19572, | |
32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, 18031, 18031, 22770, 22351, 22768, | |
24704, 35166, 37176, 24830, 25080, 28265, 28265, 36921, 29446, 20898, 24094, 24094, 31610, 26781, 18031, 18031, 18031, | |
22352, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20916, 24094, 24094, 24094, 32055, 18031, 18031, 32926, | |
32200, 34319, 37841, 22786, 28265, 37489, 22807, 24094, 33835, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, | |
36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, | |
27406, 26669, 27408, 22828, 22856, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 22436, 18031, 18031, 18028, 18031, 18031, 18032, | |
18032, 22889, 22905, 22918, 22931, 22947, 22963, 19771, 18031, 18031, 22982, 37033, 18031, 22979, 31558, 18031, 18031, | |
19570, 35170, 20942, 18031, 18031, 30021, 35845, 26626, 25940, 22998, 18031, 19552, 23059, 34350, 33315, 24071, 23079, | |
23133, 23098, 23769, 23118, 23168, 23198, 28265, 35516, 23217, 24094, 24094, 27080, 23233, 18031, 25180, 18031, 27555, | |
19951, 29653, 33725, 32235, 24830, 21523, 35549, 23252, 23268, 29446, 23286, 33756, 29877, 24094, 26781, 18031, 19790, | |
18031, 27966, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28534, 20916, 24094, 24094, 22037, 32055, 18031, 18031, | |
18031, 23043, 35166, 37841, 28265, 28265, 23322, 24094, 24094, 23371, 18031, 26370, 18031, 18390, 23431, 34254, 37995, | |
29255, 28494, 23460, 18031, 35098, 23480, 35259, 36582, 23503, 18031, 35158, 23411, 37555, 32350, 18031, 35458, 36585, | |
26667, 27406, 26669, 34993, 23524, 23549, 27403, 35980, 35981, 23592, 26811, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18264, 18031, 18031, 18028, 34510, 18031, | |
23628, 25129, 23644, 23694, 23707, 23715, 23731, 23747, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, 18031, | |
28456, 19570, 23763, 18031, 28459, 34713, 26229, 24201, 25338, 25940, 20879, 23785, 19552, 37620, 23846, 33315, 18031, | |
37514, 23864, 23890, 32845, 21748, 23918, 23938, 23954, 35516, 23973, 29557, 24094, 27080, 18031, 18031, 28790, 21114, | |
22351, 18031, 18031, 35166, 32235, 24003, 25080, 28265, 28265, 28265, 36990, 20898, 24094, 24094, 24094, 24042, 18031, | |
18031, 24058, 22352, 18031, 27232, 32235, 27853, 37122, 28265, 28265, 26588, 20916, 24093, 24094, 30499, 32055, 18031, | |
18031, 18031, 33631, 34836, 29422, 28265, 31955, 37489, 24111, 33528, 33835, 33441, 36002, 18031, 22682, 24128, 28409, | |
22790, 26139, 36588, 36277, 18031, 27232, 37115, 28265, 36582, 36587, 33563, 27233, 23411, 36502, 27251, 18031, 35458, | |
36585, 26667, 27406, 18607, 24153, 34648, 24174, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 20222, 24217, 18031, 18028, 24234, | |
18031, 19075, 21718, 24287, 24303, 24318, 24326, 24342, 24358, 19771, 20646, 33859, 24374, 37443, 24419, 19692, 27829, | |
24450, 37731, 24494, 24542, 24558, 35654, 28175, 24596, 24612, 24642, 25940, 24720, 21069, 25831, 24736, 18031, 24775, | |
24807, 18031, 27168, 32235, 24825, 18031, 24848, 24938, 24863, 24965, 34890, 25304, 25000, 31043, 25038, 25068, 34941, | |
25103, 25145, 28902, 25196, 31741, 25227, 31726, 25256, 33687, 21632, 27012, 27919, 25286, 25328, 25361, 25394, 25428, | |
25485, 22455, 18503, 22352, 25518, 25552, 25599, 25621, 25646, 25754, 34682, 25662, 20916, 25678, 32523, 23987, 32055, | |
25991, 37602, 38336, 26174, 34800, 25712, 25742, 29815, 34770, 25778, 33508, 25817, 18031, 32973, 25859, 28674, 25878, | |
27110, 25903, 25927, 25956, 18193, 25981, 26015, 26046, 25270, 26062, 29358, 26078, 26101, 27002, 26125, 28111, 18202, | |
35746, 26155, 26190, 23533, 26225, 26245, 26273, 36404, 26289, 35980, 26328, 36192, 26811, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 26368, 18031, 18028, | |
35715, 26386, 27684, 29788, 26403, 26418, 26433, 26441, 26457, 26473, 19771, 18031, 38171, 18031, 37033, 18031, 18031, | |
31558, 34732, 18031, 20318, 23102, 18031, 34737, 34742, 35238, 23576, 32280, 25940, 26489, 18031, 19552, 26528, 18031, | |
33315, 35348, 26548, 18528, 32235, 23144, 18031, 26570, 28265, 28265, 35516, 30788, 24094, 24094, 27080, 18031, 18031, | |
18031, 18031, 22351, 18031, 18031, 35166, 32235, 26604, 25080, 28265, 28265, 32407, 29446, 20898, 24094, 24094, 26623, | |
26781, 18031, 18031, 18031, 22352, 18031, 26642, 34806, 23768, 30020, 28265, 37316, 28266, 20916, 24094, 25405, 24094, | |
32055, 18031, 18031, 18031, 24809, 35166, 26663, 28265, 28265, 26685, 24094, 24094, 26716, 18031, 18031, 18031, 27233, | |
34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 26751, 27233, 23411, 22791, 24095, | |
18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 26768, 26797, 26811, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, | |
18028, 18031, 26834, 18031, 26835, 26852, 26867, 26880, 26881, 26897, 26913, 19771, 18031, 18031, 18031, 37033, 18031, | |
18031, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, 18030, | |
18031, 33315, 24396, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, | |
18031, 18031, 18031, 18031, 23848, 18031, 35166, 32235, 21511, 25080, 28265, 28265, 28265, 29446, 20898, 24094, 24094, | |
24094, 28124, 18031, 19422, 23236, 18031, 18031, 27232, 36042, 23768, 26929, 28265, 35541, 28266, 20007, 24094, 36536, | |
24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, 18031, 24832, 18031, | |
26950, 34104, 28265, 22790, 24094, 36588, 19196, 21803, 26970, 37115, 28265, 36582, 36587, 18031, 26989, 30707, 27028, | |
27067, 19165, 27096, 27154, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 27192, 26811, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, | |
18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18651, 37033, | |
18031, 18031, 24784, 18031, 32554, 19570, 34841, 24791, 32921, 27229, 23347, 36379, 27249, 27267, 20879, 18031, 27307, | |
30397, 19898, 33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 23569, 35516, 24094, 24094, 33831, 27080, | |
18031, 18031, 18031, 18031, 18031, 18031, 24403, 35166, 32235, 27335, 25080, 28265, 28265, 28265, 35324, 20898, 24094, | |
24094, 37748, 28124, 27359, 18031, 18031, 18031, 18031, 27232, 32235, 27176, 23487, 28265, 28265, 28266, 28808, 24094, | |
24094, 24094, 26310, 18031, 33079, 18031, 18031, 35166, 37841, 28265, 28265, 30480, 24094, 24094, 23296, 32217, 18031, | |
18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 31518, 27233, 27376, | |
27399, 29386, 18031, 27424, 27444, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, | |
27479, 18031, 18028, 27569, 27501, 27521, 27525, 27541, 27593, 27606, 27614, 27630, 27646, 19771, 18031, 18031, 18031, | |
27662, 18031, 18031, 31558, 27700, 33365, 29501, 31581, 21867, 35493, 27724, 35505, 22513, 27745, 27781, 20879, 18031, | |
21075, 18030, 24385, 27820, 18031, 18031, 27845, 27869, 27893, 18031, 27909, 37391, 28382, 35516, 25371, 36130, 27935, | |
27080, 25536, 33376, 18031, 27982, 25801, 27675, 29779, 35166, 28017, 34190, 25080, 28265, 34373, 36915, 28043, 20898, | |
24094, 34885, 28083, 28124, 18031, 21946, 28146, 28165, 18031, 27232, 32235, 23768, 34112, 28265, 28265, 28266, 27291, | |
24094, 24094, 24094, 26310, 31318, 32955, 28200, 28216, 28239, 22484, 37148, 28264, 26934, 33026, 28282, 36587, 28301, | |
18031, 18031, 28336, 28367, 28398, 28425, 28475, 28510, 18031, 30678, 28558, 28583, 28606, 22537, 22383, 28635, 33717, | |
23411, 22791, 24095, 28669, 35458, 36585, 32863, 27406, 18582, 28690, 23415, 34564, 27403, 21905, 35981, 36192, 28735, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, | |
18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, | |
18031, 37033, 18031, 21245, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, | |
18031, 19552, 18030, 18031, 33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, | |
24094, 27080, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, | |
20898, 24094, 24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, | |
20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, | |
18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, | |
27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, | |
26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, | |
18031, 18031, 36810, 18031, 18028, 20094, 28758, 18031, 28779, 28824, 28839, 28852, 28853, 28869, 28885, 19771, 18031, | |
28901, 18031, 37033, 26532, 28918, 31558, 26387, 18031, 36319, 35170, 28965, 28956, 28981, 34588, 24201, 24980, 33769, | |
29029, 18031, 27505, 29054, 29087, 33315, 29034, 28653, 26647, 37863, 23769, 29122, 29148, 25578, 29176, 29200, 31077, | |
29236, 33003, 27080, 29271, 18031, 29291, 26836, 18031, 18031, 18031, 34095, 32235, 24830, 26257, 29307, 29329, 34250, | |
29446, 29346, 29374, 20900, 24094, 28124, 23082, 29996, 18031, 29402, 18031, 27232, 32235, 29418, 30020, 28265, 37484, | |
29438, 20007, 24094, 30806, 25689, 26310, 29462, 18031, 21200, 18031, 21681, 37841, 29184, 28265, 26934, 25696, 24094, | |
36587, 34283, 18031, 32065, 18066, 34104, 29481, 23922, 24094, 36588, 32131, 18031, 29498, 37115, 28265, 36582, 36587, | |
26607, 27233, 23411, 37888, 27765, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 29517, 20139, 35981, | |
29573, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
19893, 18031, 18031, 30453, 18031, 18028, 18031, 29616, 18031, 29610, 29639, 29674, 29687, 29695, 29711, 29727, 20958, | |
18031, 29751, 18031, 37033, 31559, 18031, 31558, 20239, 18031, 26973, 35170, 29752, 29743, 23063, 24137, 24201, 25015, | |
25940, 20879, 24077, 19552, 18030, 32740, 33315, 18031, 18031, 19572, 32235, 29768, 36301, 29804, 35462, 32415, 35516, | |
31086, 29966, 29530, 27080, 34289, 22073, 18031, 18031, 21434, 18031, 18031, 35166, 32235, 24830, 25080, 29831, 37987, | |
28265, 29446, 29858, 29871, 29893, 24094, 28124, 32775, 28931, 18031, 29100, 29912, 27232, 32235, 23768, 30020, 32467, | |
23201, 29937, 20007, 25378, 24094, 29961, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, | |
24094, 36587, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 32578, 18031, 18031, 27232, 37115, 28265, 36582, | |
36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 35974, 29982, 30017, 27408, 23415, 34564, 27403, 35980, | |
35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 19893, 18031, 18031, 28001, 18031, 30037, 18031, 30057, 19786, 23659, 30082, 30129, 30142, 30158, 30173, 30189, | |
19771, 18031, 33308, 18031, 20973, 30205, 18031, 31558, 33295, 30292, 35129, 30230, 30265, 30281, 30308, 36656, 30338, | |
26700, 25940, 30354, 18031, 30382, 30424, 26169, 35815, 34135, 21218, 38268, 32236, 23874, 30445, 30469, 28713, 35251, | |
35516, 33017, 30496, 30515, 27080, 30536, 18031, 30553, 18031, 27360, 18031, 18031, 28567, 32235, 34500, 25080, 37280, | |
28265, 28265, 29446, 30575, 24094, 24094, 24094, 28124, 22654, 18031, 36431, 18031, 30988, 30591, 32235, 30626, 22865, | |
28265, 37399, 37578, 28067, 24094, 26209, 35945, 22393, 30648, 30892, 30676, 30975, 30694, 30723, 29160, 30753, 30773, | |
20150, 22204, 30830, 27729, 30856, 30878, 18318, 34104, 30913, 22790, 30938, 36588, 33334, 18031, 37455, 33122, 31145, | |
21982, 30961, 31010, 38054, 25565, 25726, 31030, 23678, 31059, 31110, 21561, 25911, 31133, 34659, 36345, 23337, 27403, | |
35980, 31173, 36192, 27206, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 19893, 18031, 18031, 30113, 18031, 18028, 18031, 21953, 18429, 18429, 31202, 31218, 31234, 31242, 31258, | |
31274, 19771, 19133, 19656, 38316, 31290, 31312, 18031, 31334, 34159, 31350, 31432, 31366, 30066, 31419, 31405, 31448, | |
36116, 31464, 31499, 20879, 18031, 22102, 18030, 31534, 21759, 37345, 18031, 19572, 31575, 28248, 18031, 25085, 24519, | |
32096, 35516, 24094, 31479, 31597, 27080, 29275, 18031, 29106, 18031, 31632, 30041, 31667, 31687, 31711, 30632, 28522, | |
28265, 35888, 28265, 31757, 31805, 24112, 31828, 22209, 28124, 18031, 31847, 18031, 18031, 18031, 27232, 32235, 27877, | |
30020, 27428, 28265, 28266, 20007, 36152, 24094, 24094, 26310, 18031, 20299, 21822, 18031, 35166, 37841, 28265, 28265, | |
26934, 24094, 24094, 36587, 18031, 32126, 18031, 27233, 28027, 23612, 30757, 35587, 22812, 31895, 18031, 28149, 37115, | |
31914, 22602, 36587, 18031, 27233, 23411, 22791, 24095, 31931, 31950, 31971, 31987, 19620, 18676, 32016, 23415, 34564, | |
27403, 35980, 32042, 32081, 29587, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, 18028, 18031, 19354, 29063, 23800, 32112, 23385, 37064, 23815, | |
23830, 32147, 19771, 18031, 24271, 18031, 37033, 18031, 18031, 31558, 28130, 18031, 21252, 35170, 20340, 18031, 18031, | |
30021, 24201, 24094, 25940, 32163, 32199, 19552, 18030, 33174, 29594, 18031, 32216, 19572, 32233, 35427, 18031, 32252, | |
25762, 28619, 35516, 22611, 36530, 32268, 27080, 18031, 26312, 18031, 27458, 35287, 18031, 18031, 35166, 32235, 24830, | |
25080, 28265, 28265, 32303, 29446, 20898, 24094, 31483, 24094, 28124, 30994, 18031, 19515, 37194, 23673, 21672, 32322, | |
23768, 30020, 28719, 28265, 28266, 20007, 29896, 32347, 24094, 26310, 20990, 18031, 18031, 18031, 35166, 37841, 28265, | |
36370, 26934, 24094, 33034, 36587, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 32366, 27232, | |
32386, 36086, 36582, 32431, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 22840, 32457, 27406, 37382, 27408, 23415, | |
34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, | |
38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, 18031, 32503, 20542, 35170, 32499, 32490, | |
32502, 24184, 22577, 32519, 32539, 20879, 18031, 19552, 18030, 18031, 33315, 18031, 18031, 19572, 32235, 23769, 18031, | |
25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, | |
24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, 24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, | |
32235, 23768, 30020, 28265, 28265, 28266, 20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, | |
28265, 28265, 26934, 24094, 24094, 36587, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, | |
27232, 37115, 28265, 36582, 36587, 18031, 27233, 25240, 22791, 32574, 18031, 35458, 36585, 26667, 27406, 26669, 27408, | |
23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 32594, 32612, 18031, 20512, 32615, 18031, 32631, 32646, | |
32659, 32665, 32681, 32697, 19771, 18031, 18031, 32713, 25843, 24572, 32731, 32764, 32798, 32817, 32835, 32879, 32906, | |
32942, 25052, 34972, 32989, 34918, 25940, 20879, 18031, 21161, 33050, 33073, 33095, 28320, 18031, 19572, 33138, 33167, | |
33190, 33225, 23607, 33244, 33816, 24094, 33264, 24094, 33280, 18031, 20882, 18031, 36769, 18031, 33331, 32183, 35166, | |
25605, 21935, 28702, 22159, 28265, 29313, 33350, 33399, 20039, 24094, 35859, 28124, 18031, 33421, 28994, 33437, 29658, | |
33457, 34326, 31695, 21621, 29482, 33473, 21840, 28184, 24094, 33489, 33524, 33544, 18031, 32370, 33579, 33599, 22690, | |
36180, 33678, 36559, 26934, 25312, 33405, 19591, 18031, 33618, 18031, 27233, 34104, 28265, 36675, 24094, 25022, 34470, | |
18031, 27232, 22140, 28265, 26204, 36587, 21026, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 33658, 33703, 26669, | |
27408, 33741, 23508, 27403, 35980, 33785, 33801, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 33851, 18028, 25502, 19982, 37800, 33875, 33910, | |
33926, 33939, 33952, 33968, 33984, 19771, 34000, 18031, 20743, 37033, 18031, 36963, 31558, 30429, 34003, 18341, 34019, | |
34062, 34054, 34081, 37267, 27383, 24915, 25940, 34128, 36800, 19552, 34151, 18031, 33315, 18031, 25442, 34175, 34211, | |
35773, 29038, 34235, 37155, 28265, 35516, 24903, 28485, 24094, 27080, 30610, 34270, 34305, 21816, 18031, 18031, 18031, | |
35166, 32235, 30606, 25080, 29330, 28265, 28265, 29446, 20898, 31616, 24094, 24094, 28124, 30537, 38189, 27577, 18031, | |
19472, 30244, 37532, 34342, 34366, 28265, 26582, 34389, 26352, 24094, 20924, 34405, 34451, 32176, 34469, 18031, 18031, | |
34486, 21895, 28265, 24877, 26934, 24094, 27138, 36587, 18031, 19344, 33583, 27233, 34104, 36626, 34536, 31094, 34560, | |
18031, 25112, 33109, 34580, 34604, 34544, 36587, 29132, 34625, 34675, 34984, 24922, 34698, 34758, 34786, 38225, 34822, | |
26669, 27408, 34857, 34564, 27124, 34906, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 37353, 18028, 18031, 20167, 34934, 19011, | |
34957, 35009, 37090, 35047, 35062, 35078, 19771, 35094, 31381, 37790, 37033, 26735, 35114, 35145, 18031, 35186, 19570, | |
35224, 35197, 35208, 35275, 35310, 22013, 28097, 25940, 35340, 25456, 19552, 35364, 18031, 36438, 26554, 35382, 35418, | |
35443, 35478, 25469, 35532, 32474, 36669, 35565, 35581, 29540, 35603, 27080, 19209, 35619, 35639, 35697, 18031, 30559, | |
30897, 35731, 35762, 35806, 35831, 35875, 33669, 23355, 29446, 35911, 30797, 35941, 37928, 28124, 35961, 28645, 35997, | |
27051, 36018, 26085, 36038, 36058, 36080, 36102, 28265, 30737, 20007, 24657, 36151, 34435, 30840, 30322, 18031, 19001, | |
18031, 36168, 23902, 23182, 36208, 25583, 24626, 36243, 36587, 36293, 25528, 34195, 36317, 36335, 36361, 24891, 36395, | |
36420, 36454, 18031, 27232, 37962, 36496, 36518, 30945, 33558, 27463, 36552, 36575, 24672, 21789, 36604, 36642, 26667, | |
27406, 26669, 27408, 23415, 31117, 29842, 36691, 36707, 36746, 36762, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18725, 18028, 18031, 18469, 18031, | |
18031, 36785, 36834, 36848, 36856, 36872, 36888, 19771, 18031, 18031, 18031, 22114, 19441, 18031, 31558, 18031, 18031, | |
19570, 35170, 32782, 18031, 19444, 36904, 24201, 29250, 25940, 36937, 18031, 19552, 18030, 18031, 27213, 36959, 18031, | |
30249, 32235, 23769, 36959, 36979, 28265, 28265, 32000, 25295, 24094, 24094, 37006, 18031, 37054, 18031, 18495, 18031, | |
37080, 18031, 35166, 37106, 32890, 25080, 35895, 37138, 36221, 29446, 20898, 34871, 35925, 24094, 28124, 27958, 18031, | |
18031, 18031, 31671, 27232, 37171, 23768, 30020, 36619, 28265, 28266, 20007, 33499, 24094, 24094, 32026, 18031, 37192, | |
18031, 18031, 35166, 34637, 28265, 28265, 26934, 24094, 24094, 36587, 37210, 18031, 24697, 27233, 32331, 28265, 37320, | |
24094, 36588, 33894, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, 18031, 37228, 37253, | |
26667, 27406, 26669, 27408, 23415, 34564, 31157, 35980, 35981, 37301, 26811, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, 18028, 18168, 20307, | |
18031, 28940, 37336, 37369, 18031, 20313, 26030, 37415, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, 18031, | |
18031, 19570, 35170, 18031, 18031, 18031, 25887, 24201, 27760, 25940, 20879, 20982, 37431, 18030, 18031, 33315, 18031, | |
19254, 26954, 32235, 23769, 18031, 37471, 28265, 28265, 35516, 31812, 24094, 24094, 27080, 18031, 18031, 18031, 18031, | |
37505, 18031, 37212, 35166, 37530, 24830, 25080, 28265, 37548, 37571, 29446, 20898, 22294, 30520, 24094, 28124, 18031, | |
18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20007, 24094, 24094, 24094, 26310, 18031, | |
18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, 18031, 36943, 18031, 27233, 34104, 28265, | |
22790, 24094, 36588, 22448, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, 37594, 35458, | |
36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18448, 37618, 18031, | |
18384, 18031, 20125, 37636, 37652, 37666, 37679, 37695, 37711, 19771, 18031, 18031, 18031, 37033, 18031, 18031, 31558, | |
18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 22190, 28285, 25940, 20879, 18031, 19552, 18030, 18031, 33315, | |
26752, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, 24094, 24094, 28124, | |
18031, 18031, 18031, 18311, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20007, 24094, 24094, 24094, 26310, | |
18031, 37727, 18031, 18031, 35166, 37841, 31915, 28265, 37237, 24094, 37747, 30814, 18031, 18031, 18031, 27233, 34104, | |
28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, 18031, | |
35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19946, 18031, 18031, 18031, 18031, 18028, | |
18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 28351, 37764, 19771, 18031, 18031, 18031, 21192, 18031, 31514, | |
31558, 18031, 34038, 19755, 35170, 24218, 37780, 32558, 23559, 24201, 29215, 25940, 20879, 18031, 30214, 37038, 19386, | |
31389, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 37285, 35516, 24094, 24094, 20015, 31186, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29945, 20898, 24094, 24094, 24094, | |
36271, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20007, 24094, 24094, 24094, | |
25965, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, 18031, 18031, 18031, 27233, | |
34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, 22791, 24095, | |
18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, 18031, | |
18028, 18031, 18031, 18031, 18031, 18048, 22478, 18031, 38413, 24509, 22276, 19771, 33887, 18031, 18031, 37033, 18031, | |
18031, 37816, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 31772, 23444, 19497, 25940, 20879, 18031, 33642, 18030, | |
18031, 33315, 18031, 18031, 19572, 32235, 37838, 31879, 25085, 28265, 33228, 35516, 24094, 24094, 25345, 27080, 23035, | |
18031, 18031, 18031, 18031, 18031, 32965, 35166, 37857, 24830, 25080, 37879, 33248, 28265, 29446, 37913, 24094, 34426, | |
24094, 28124, 27343, 18031, 18031, 18031, 18031, 27232, 37953, 23768, 30020, 22873, 28265, 28266, 20007, 29220, 24094, | |
24094, 26310, 18031, 18031, 18031, 34065, 26109, 37841, 37978, 32398, 36227, 38011, 34417, 38016, 18031, 18031, 21020, | |
27233, 34104, 28265, 22790, 24094, 36135, 18031, 33602, 27232, 37115, 32306, 36582, 28439, 18031, 27233, 23411, 22791, | |
24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 19893, 18031, 18031, 18031, | |
18031, 18028, 18031, 18031, 18031, 18031, 38032, 22478, 18031, 38413, 24509, 22276, 19771, 18031, 18031, 18031, 37033, | |
18031, 18031, 31558, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, 25940, 20879, 18031, 19552, | |
18030, 18031, 33315, 18031, 18031, 19572, 32235, 23769, 18031, 25085, 28265, 28265, 35516, 24094, 24094, 24094, 27080, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, 28265, 29446, 20898, 24094, | |
24094, 24094, 28124, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, 28265, 28266, 20007, 24094, | |
24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, 24094, 36587, 18031, 18031, | |
18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, 36587, 18031, 27233, 23411, | |
22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, 35981, 36192, 26811, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 18031, 18031, | |
18031, 18031, 38070, 22324, 38098, 38123, 22332, 38144, 38153, 38081, 38128, 38107, 22254, 24759, 18031, 18031, 18031, | |
37033, 18031, 18031, 38169, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, 18031, | |
19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, 18031, | |
18031, 18031, 18031, 18028, 18031, 38243, 38187, 18031, 18048, 38205, 35394, 35402, 38241, 33383, 24759, 18031, 18031, | |
18031, 37033, 18031, 18031, 18031, 18031, 18031, 19417, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, 18031, | |
18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18231, | |
18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 38259, 38284, 38297, 38297, 38313, 19221, 24759, 18031, | |
18031, 18031, 37033, 18031, 18031, 38332, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18630, 18031, 24751, | |
18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18231, 18031, 18031, 18031, 18031, 18028, 18031, 18031, 18031, 18031, 18048, 18031, 18031, 18031, 18031, 18283, 19771, | |
18031, 18031, 18031, 37033, 18031, 18031, 18031, 18031, 18031, 19570, 35170, 18031, 18031, 18031, 30021, 24201, 24094, | |
25791, 18031, 18031, 19552, 18030, 18031, 18031, 18031, 18031, 19572, 32235, 23769, 18031, 35460, 28265, 28265, 21312, | |
24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 35166, 32235, 24830, 25080, 28265, 28265, | |
28265, 21310, 19495, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 18031, 27232, 32235, 23768, 30020, 28265, | |
28265, 28266, 20007, 24094, 24094, 24094, 26310, 18031, 18031, 18031, 18031, 35166, 37841, 28265, 28265, 26934, 24094, | |
24094, 36587, 18031, 18031, 18031, 27233, 34104, 28265, 22790, 24094, 36588, 18031, 18031, 27232, 37115, 28265, 36582, | |
36587, 18031, 27233, 23411, 22791, 24095, 18031, 35458, 36585, 26667, 27406, 26669, 27408, 23415, 34564, 27403, 35980, | |
35981, 36192, 26811, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 38412, 18031, 18031, 18031, 18031, 18031, 18031, 38352, 18031, 18031, 38374, 38384, 38384, 38411, 38400, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, 18031, | |
18031, 18031, 102665, 73728, 77824, 102665, 102665, 102665, 102665, 102665, 69632, 102665, 102665, 102665, 102665, | |
102665, 102665, 102665, 98568, 98568, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, | |
102665, 102665, 0, 0, 98568, 102665, 98568, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, | |
324, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, 102665, | |
102665, 102665, 1, 16386, 3, 4, 0, 0, 0, 0, 0, 0, 98568, 102665, 0, 267, 268, 0, 270, 271, 0, 0, 0, 0, 266240, 0, 0, | |
0, 0, 266240, 0, 0, 0, 1, 16386, 2117888, 4, 0, 0, 0, 0, 0, 262, 0, 0, 0, 0, 262, 0, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 282, 0, 73728, 77824, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 0, 0, 0, 0, 1835, 0, 0, 0, 0, 0, 0, | |
0, 0, 1850, 0, 0, 0, 90539, 91967, 90539, 90539, 0, 110997, 110997, 110997, 110997, 0, 0, 0, 0, 0, 405, 405, 110997, | |
405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 405, 110997, 110997, 110997, 110997, 110997, 110997, | |
110997, 110997, 405, 110997, 110997, 405, 110997, 110997, 405, 110997, 110997, 110997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 249856, 0, 267, 0, 270, 118784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 0, 1, 16386, 3, 0, 0, 324, 267, | |
267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, 0, 0, 0, 0, 270, 119152, 77824, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 0, 0, 0, | |
0, 1927, 0, 0, 0, 0, 0, 0, 0, 0, 2054, 2055, 0, 0, 2057, 0, 0, 0, 548, 548, 548, 548, 548, 548, 548, 548, 548, 548, | |
522, 522, 548, 1, 16386, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 273, 274, 0, 0, 0, 0, 0, 54115, 549, 0, 0, 0, 4, 0, | |
0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 288, 0, 0, 0, 0, 548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, | |
16386, 3, 2109694, 16386, 3, 4, 0, 260, 0, 0, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 1512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1851, | |
0, 0, 90539, 90539, 90539, 91969, 0, 0, 324, 0, 0, 122880, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 324283, 90539, | |
90539, 90539, 90539, 122880, 122880, 122880, 0, 122880, 122880, 0, 0, 0, 122880, 0, 0, 122880, 122880, 0, 122880, | |
122880, 122880, 122880, 0, 0, 0, 122880, 122880, 0, 0, 122880, 0, 0, 0, 0, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1852, | |
0, 90539, 90539, 90539, 90539, 122880, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 649, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 305, 0, 876, 878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 320, 321, 322, | |
0, 0, 0, 1187, 1189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 0, 0, 324, 0, 0, 0, 0, 131072, 131072, 131072, | |
0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, 0, 1501, 0, 999424, 0, 0, 0, 1505, 0, 0, 73728, 77824, 131072, 0, 0, | |
0, 0, 69632, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 91111, 90539, 90539, 91116, 90539, 131072, 131072, 131072, | |
131072, 131072, 131072, 131072, 131072, 131072, 131072, 0, 0, 131072, 1, 16386, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
118784, 0, 73728, 77824, 0, 135168, 0, 0, 0, 69632, 0, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 96328, 94709, | |
96330, 96331, 0, 369, 369, 0, 0, 0, 0, 0, 369, 0, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 96326, 94709, 94709, 94709, | |
94709, 94709, 0, 268, 0, 271, 139264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 523, 524, 525, 0, 0, 0, 0, 0, 324, 268, | |
268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 601, 602, 0, 0, 604, 271, 73728, 139636, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 0, 0, | |
0, 0, 94709, 96325, 94709, 94709, 94709, 96329, 94709, 94709, 549, 549, 549, 549, 549, 549, 549, 549, 549, 549, 523, | |
523, 549, 1, 16386, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139264, 0, 0, 0, 65536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
319, 0, 0, 0, 266, 266, 325, 266, 266, 143626, 266, 266, 266, 266, 143626, 327, 266, 266, 266, 266, 0, 0, 266, 266, | |
143626, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 143626, 143626, 143626, | |
143687, 73728, 77824, 266, 266, 266, 266, 266, 69632, 266, 266, 266, 266, 266, 266, 266, 143626, 266, 266, 266, | |
143626, 266, 266, 266, 266, 266, 266, 266, 143687, 266, 266, 266, 266, 266, 266, 143687, 266, 143626, 266, 143626, | |
143626, 143626, 266, 143626, 266, 143626, 266, 266, 143626, 143626, 143626, 143626, 143626, 266, 143626, 143626, 0, 0, | |
0, 266, 0, 266, 266, 143626, 266, 143626, 266, 143626, 143626, 143626, 143626, 266, 266, 266, 266, 143626, 266, 266, | |
143626, 266, 266, 266, 143626, 143687, 143687, 143687, 143687, 143687, 143687, 143687, 143687, 143687, 143626, 143626, | |
143626, 1, 16386, 3, 4, 0, 0, 0, 0, 0, 0, 0, 98568, 98568, 98568, 98568, 0, 0, 0, 0, 2204256, 2204256, 324, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 931, 0, 933, 0, 0, 0, 0, 324, 0, 0, 0, 0, 155648, 0, 0, 0, 0, 155648, 155648, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 155648, 0, 155648, 155648, 155648, 0, 0, 0, 0, 0, 0, 155648, 0, 0, 155648, 155648, 0, 155648, 155648, | |
155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 155648, 0, 0, | |
0, 155648, 0, 0, 0, 0, 0, 155648, 155648, 155648, 155648, 0, 16386, 3, 4, 0, 0, 126976, 0, 0, 0, 0, 0, 0, 267, 268, 0, | |
270, 271, 0, 0, 0, 0, 602112, 1699, 0, 0, 0, 921600, 0, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 317, 0, 0, 0, 0, 159744, | |
159744, 159744, 159744, 159744, 159744, 159744, 159744, 163840, 159744, 159744, 163840, 159744, 159744, 163840, | |
159744, 159744, 0, 0, 0, 0, 0, 29198, 0, 29198, 0, 0, 159744, 0, 0, 159744, 159744, 159744, 159744, 0, 0, 0, 0, 0, 0, | |
0, 159744, 0, 0, 0, 0, 0, 549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 328, 0, 328, 356, 0, 29198, 29198, 29198, 29198, | |
29198, 29198, 29198, 29198, 29198, 29198, 159744, 159744, 29198, 1, 16386, 3, 4, 0, 0, 0, 0, 253952, 0, 0, 0, 0, | |
253952, 0, 0, 0, 167936, 167936, 167936, 167936, 0, 0, 0, 0, 0, 0, 0, 167936, 0, 0, 0, 0, 0, 566, 0, 0, 0, 569, 570, | |
571, 572, 573, 0, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, | |
167936, 167936, 167936, 167936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 446464, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 172032, 0, 172032, 0, 0, 0, 0, 774144, 0, 0, 913408, 0, 0, 0, 0, 495616, 0, 0, 0, 0, 0, 1204, 1205, 0, 0, 0, 0, | |
1210, 0, 0, 0, 0, 0, 0, 1073152, 0, 0, 0, 1073152, 1073152, 1073152, 1, 16386, 3, 0, 73728, 77824, 0, 0, 0, 0, 0, | |
69632, 172032, 172032, 0, 172032, 0, 0, 172032, 172032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 466944, 172032, | |
172032, 172032, 172032, 172032, 0, 0, 0, 0, 0, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, 172032, | |
172032, 172032, 172032, 172032, 172032, 172032, 172032, 1, 255, 3, 4, 0, 0, 261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94709, | |
96298, 94709, 94709, 94709, 94709, 0, 176128, 176128, 176128, 176128, 0, 0, 0, 0, 0, 0, 0, 176128, 0, 0, 0, 0, 0, 640, | |
0, 0, 0, 0, 0, 646, 0, 0, 0, 0, 0, 0, 1823, 0, 0, 1825, 0, 0, 0, 0, 0, 0, 341, 0, 0, 0, 0, 0, 346, 341, 0, 0, 176128, | |
176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, | |
176128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655360, 4, 82178, 82178, 0, 555, 0, 0, 0, 0, 0, 267, 268, 0, 270, | |
271, 0, 0, 0, 0, 1069056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 991232, 0, 0, 0, 0, 0, 0, 893, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 632, 0, 0, 0, 613, 0, 0, 0, 0, 225280, 0, 0, 0, 0, 0, 0, 0, 1273, 0, 0, 0, 0, 0, 0, 1522, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 1208, 0, 0, 0, 0, 0, 0, 0, 29794, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 95068, 94735, 0, 1709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 925696, 0, 0, 0, 1831, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 548, 549, 0, 0, 1921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 2011, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 94735, 96245, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 1804, 1805, 90539, 90539, 0, 0, | |
94709, 94709, 94709, 94709, 94709, 96271, 96272, 94709, 96273, 94709, 94709, 94709, 94709, 94735, 94735, 96309, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 94709, 94735, 94735, 94735, 94735, 94735, 96281, 96282, 94735, 96283, | |
94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 196608, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 586, 0, 588, 0, 0, 94709, 96304, | |
94709, 94709, 94735, 96308, 94735, 94735, 94735, 94735, 94735, 96314, 94735, 94735, 0, 0, 0, 0, 0, 253952, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 645, 0, 0, 0, 0, 0, 94709, 94709, 96334, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 0, 0, 0, 0, 0, 0, 0, 94709, 96374, 184870, 184870, 184870, 184870, 184870, 184870, 184870, 184870, 184870, | |
184870, 0, 0, 184870, 1, 16386, 3, 4, 0, 0, 0, 249856, 0, 0, 0, 0, 249856, 0, 0, 0, 0, 0, 689, 0, 0, 0, 0, 90539, | |
90539, 90539, 90539, 90539, 90820, 4, 82178, 82178, 0, 0, 0, 0, 0, 0, 0, 267, 268, 0, 270, 271, 0, 0, 0, 301, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 1491, 0, 0, 0, 192918, 192918, 192918, 192918, 192918, 192918, 192918, 192918, 0, 192918, | |
192918, 0, 192918, 192918, 0, 192918, 192918, 192918, 192918, 0, 0, 0, 0, 0, 0, 0, 192918, 0, 0, 0, 0, 0, 731, 0, 686, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 50106, 0, 0, 957, 1261, 0, 0, 192918, 192918, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 122880, 122880, 0, 2109694, 16386, 3, 0, 192918, 192918, 192918, 192918, 192918, 192918, 192918, 192918, 192918, | |
192918, 192918, 0, 1, 16386, 3, 4, 82178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 947, 0, 0, 0, 0, 0, 0, 41229, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 949, 0, 0, 41323, 41323, 41323, 41323, 41323, 41323, 41323, 41323, 41323, 41323, 0, 0, | |
41323, 1, 16386, 3, 4, 82179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1274, 0, 1276, 0, 0, 4, 82178, 82178, 0, 0, 0, 0, 0, 0, | |
0, 267, 268, 41229, 270, 271, 0, 0, 0, 310, 0, 0, 0, 0, 0, 0, 0, 0, 347, 348, 0, 349, 0, 0, 0, 45700, 50106, 0, 0, 0, | |
957, 0, 0, 0, 0, 0, 0, 0, 0, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95384, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 1393, 1612, 1395, 1613, 1397, 1614, 1399, 1615, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 95629, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
274, 0, 0, 0, 0, 274, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2204256, 273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 334, 4, 82178, 82178, 0, 0, 0, 0, 0, 0, 151552, 267, 268, 0, 270, 271, 0, 0, 0, 320, 0, 0, 0, 0, 0, 320, | |
0, 321, 0, 320, 0, 0, 0, 0, 96388, 94709, 94709, 94709, 94709, 94709, 96394, 94735, 94735, 94735, 94735, 94735, 94735, | |
95986, 94735, 94735, 94735, 94735, 95990, 94735, 95992, 94735, 94735, 208896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 350, 0, 0, 0, 2204257, 151552, 2204257, 151552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159744, 0, 0, 0, 0, 0, 754, 754, | |
754, 754, 754, 754, 754, 754, 754, 522, 523, 524, 525, 814, 815, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, | |
290, 2204257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 754, 754, 754, 754, 754, 754, 754, 754, 754, | |
754, 754, 754, 754, 754, 754, 754, 0, 754, 754, 754, 754, 754, 1112, 0, 0, 1112, 1117, 0, 0, 1117, 0, 0, 815, 815, | |
815, 548, 549, 0, 0, 0, 4, 82178, 0, 0, 0, 0, 0, 0, 0, 1686, 0, 0, 0, 0, 0, 0, 0, 0, 343, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 90539, 90809, 90539, 90539, 90539, 90539, 815, 815, 1117, 0, 0, 1117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, | |
0, 0, 0, 0, 754, 754, 754, 754, 754, 754, 754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 172032, 172032, 1, 16386, 3, 754, | |
754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 0, 0, 0, 0, 815, 815, 815, 815, 815, 815, 815, 0, 0, 0, 0, 0, 0, 0, | |
754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, | |
754, 815, 815, 815, 815, 815, 754, 754, 754, 754, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 815, 0, | |
0, 0, 0, 0, 0, 0, 754, 754, 754, 754, 815, 815, 815, 815, 0, 754, 754, 815, 815, 754, 815, 754, 815, 754, 815, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 249856, 249856, 249856, 1, 16386, 3, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217088, | |
217088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 307, 0, 0, 73728, 77824, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 217088, | |
0, 0, 0, 0, 0, 507904, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 508331, 217088, 217088, 217088, 217088, 217088, | |
0, 0, 0, 0, 0, 217088, 217088, 217088, 217088, 217088, 217088, 217088, 217088, 217088, 217088, 217088, 217088, 217088, | |
217088, 217088, 217088, 0, 0, 548, 0, 549, 0, 267, 268, 270, 271, 0, 0, 0, 0, 0, 0, 0, 1715, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 57344, 0, 0, 0, 0, 0, 0, 0, 221591, 221591, 221591, 221591, 0, 0, 0, 0, 0, 221591, 221591, 221591, 221591, 221591, | |
221591, 221591, 221591, 221591, 221591, 221591, 221591, 221591, 221591, 221591, 221591, 221591, 221591, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 574, 575, 221735, 221735, 221735, 221735, 221735, 221735, 221735, 221735, 221735, 221735, | |
221591, 221591, 221736, 1, 16386, 3, 257, 0, 0, 0, 0, 0, 0, 263, 0, 0, 0, 0, 0, 0, 625, 0, 0, 628, 0, 0, 0, 0, 0, 0, | |
0, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249856, 249856, 249856, 249856, 0, 0, 0, 0, 0, 249856, 249856, 249856, | |
249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, 249856, | |
249856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 603, 0, 0, 212992, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 659, 0, | |
0, 254360, 254360, 254360, 254360, 0, 0, 0, 0, 0, 254360, 254360, 254360, 254360, 254360, 254360, 254360, 254360, | |
254360, 254360, 254360, 254360, 254360, 254360, 254360, 254360, 254360, 254360, 0, 0, 0, 0, 253952, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 282624, 282624, 0, 1, 16386, 3, 4, 0, 0, 0, 0, 270336, 0, 0, 0, 0, 267, 268, 0, 270, 271, 200704, 0, 0, | |
324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 266240, 0, 0, 266240, 0, 274432, 274432, 274432, 274432, 274432, | |
274432, 274432, 274432, 274432, 274432, 0, 0, 274432, 1, 16386, 3, 0, 877, 879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1224, 0, 0, 1121, 29794, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 95650, 94735, 0, 1612, 0, 1613, 0, 1614, 0, 1615, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
95849, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 1518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737, 0, 4, | |
82178, 82474, 0, 0, 0, 0, 0, 0, 0, 267, 268, 0, 270, 271, 0, 0, 0, 324, 324, 324, 0, 0, 611, 0, 0, 0, 0, 0, 0, 0, 898, | |
0, 0, 0, 0, 0, 0, 0, 0, 1675, 0, 0, 0, 0, 0, 0, 0, 0, 73728, 77824, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 385, 0, 0, 0, 0, | |
0, 516096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2008, 0, 0, 0, 0, 0, 282624, 282624, 282624, 282624, 282624, 282624, 282624, | |
282624, 0, 282624, 282624, 0, 282624, 282624, 0, 282624, 282624, 282624, 282624, 0, 0, 0, 0, 0, 0, 0, 282624, 0, 0, 0, | |
0, 0, 896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 917, 0, 0, 0, 0, 324, 282624, 282624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 754, 754, 754, 754, 0, 0, 965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1249, 0, 0, 286720, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 286720, 286720, 0, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, 286720, | |
286720, 286720, 286720, 286720, 286720, 286720, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 921, 324, 4219433, 0, 0, 0, | |
0, 0, 556, 0, 0, 0, 267, 268, 0, 270, 271, 0, 0, 0, 324, 324, 324, 0, 610, 0, 0, 0, 0, 0, 0, 0, 0, 1702, 0, 0, 0, 0, | |
0, 0, 0, 275, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 989, 0, 0, 0, 324, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, | |
0, 0, 641, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 90539, 90539, 90539, 90539, 90539, 90539, 275, 0, 276, 0, 275, 275, 276, | |
276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45700, 41323, 0, 0, 0, 0, 0, 0, 73728, 77824, 276, 0, 275, 0, 0, 69632, 0, 0, 0, 0, 0, | |
0, 0, 0, 96324, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94735, 396, 409, 409, | |
409, 409, 90540, 90540, 90540, 90540, 90540, 446, 446, 409, 446, 446, 446, 446, 446, 446, 471, 482, 471, 471, 471, | |
471, 471, 471, 471, 471, 492, 471, 471, 492, 471, 471, 492, 90540, 90540, 471, 94710, 94710, 94710, 94710, 94710, | |
94736, 94710, 94736, 94710, 94710, 94710, 94710, 94710, 94710, 94736, 94736, 94736, 94736, 94736, 94736, 94736, 94736, | |
94736, 94736, 94710, 94710, 94736, 1, 16386, 3, 650, 0, 0, 0, 0, 0, 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 286720, 286720, | |
286720, 1, 16386, 3, 661, 0, 0, 0, 0, 667, 0, 0, 671, 0, 0, 0, 0, 677, 0, 0, 0, 0, 0, 544768, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 682, 0, 0, 0, 0, 0, 0, 686, 0, 0, 0, 0, 0, 0, 0, 135168, 0, 0, 0, 0, 0, 0, 135168, 0, | |
0, 0, 0, 0, 0, 0, 135168, 0, 0, 0, 0, 0, 0, 0, 0, 587, 0, 0, 0, 0, 0, 0, 0, 686, 0, 90539, 90539, 90539, 90813, 90539, | |
90539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1327, 0, 0, 0, 0, 0, 0, 95255, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
95549, 94709, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90829, 90539, 90831, 90539, 90539, 90539, 0, 567, 0, 0, | |
0, 324, 324, 324, 147456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 96302, 0, 640, 682, 0, | |
94709, 94709, 94709, 94969, 94709, 94709, 94709, 94709, 94709, 94988, 94709, 94991, 94709, 94995, 94709, 94998, 94709, | |
94709, 95009, 94709, 94709, 522, 523, 524, 525, 0, 94735, 94735, 1459, 0, 1461, 0, 1191, 1463, 1193, 1464, 1195, 1465, | |
1197, 1466, 0, 0, 0, 0, 0, 295413, 94709, 94709, 94709, 95778, 95779, 94709, 94709, 94709, 94709, 94709, 95569, 95571, | |
94709, 94709, 94709, 95574, 733685, 94709, 95575, 95577, 94709, 94735, 95030, 94735, 94735, 94735, 94735, 94735, | |
95049, 94735, 95052, 94735, 95056, 94735, 95059, 94735, 94735, 1459, 1661, 1461, 1662, 1463, 1464, 1465, 1466, 0, 0, | |
0, 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 91841, 90539, 90539, 90539, 90539, 90539, | |
90539, 95070, 94735, 94735, 548, 549, 0, 0, 0, 4, 82178, 0, 0, 0, 873, 875, 0, 0, 0, 324, 324, 204800, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 291, 0, 0, 0, 0, 289, 962, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 0, 0, 0, 0, 0, 689111, 0, 0, 0, 0, | |
315392, 0, 0, 0, 0, 0, 0, 912, 0, 0, 650, 0, 0, 0, 0, 961, 0, 91132, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, | |
0, 0, 0, 0, 1034, 0, 0, 0, 0, 0, 929792, 724992, 0, 0, 0, 0, 0, 0, 1052672, 0, 0, 0, 0, 0, 966656, 0, 303104, 0, 0, 0, | |
0, 1937, 0, 0, 0, 0, 0, 1241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1703, 0, 0, 0, 0, 0, 986, 95255, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95819, 34160, 1237, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 1246, 0, 0, 0, 0, 0, 0, 732, 0, 688, 0, 0, 0, 0, 732, 0, 0, 0, 1291, 0, 0, 90539, 90539, 90539, 90539, 90539, | |
90539, 90539, 91413, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 745472, 0, 0, 0, 0, 94709, 94709, 96390, 96391, 94709, | |
94709, 94735, 94735, 96396, 96397, 94735, 94735, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91422, 90539, 90539, | |
90539, 90539, 90539, 91429, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 561152, 0, 0, 0, 0, 0, 0, 1487, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 303, 305, 344, 0, 0, 0, 0, 1330, 0, 0, 1333, 0, 0, 95255, 94709, 94709, 94709, 94709, 94709, 95547, 94709, | |
94709, 94709, 94709, 94735, 96189, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96196, 569871, 94735, 94709, | |
94709, 95582, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95592, 94709, 94709, 94709, | |
95002, 94709, 94709, 94709, 94709, 94709, 522, 523, 524, 525, 0, 94735, 95027, 1121, 29794, 94735, 94735, 94735, | |
94735, 94735, 95614, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95864, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 95623, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 95993, 94735, 0, 1469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, 0, 1508, 0, 1510, 0, 0, 0, 0, 0, | |
1516, 0, 1261, 0, 0, 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 324, 324, 0, 0, 0, 0, 613, 0, 0, 0, 617, 0, 91655, | |
91656, 91657, 90539, 90539, 90539, 90539, 90539, 90539, 91661, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, | |
0, 0, 0, 309160, 94709, 94709, 94709, 95783, 94709, 95784, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 95562, 94709, 94709, 94709, 95796, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 95805, 94709, 94709, 94709, 95809, 94709, 94709, 94709, 95003, 94709, 94709, 94709, 94709, 94709, 522, 523, | |
524, 525, 0, 94735, 94735, 94735, 94735, 95996, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 95661, 94735, 94735, 94735, 94735, 0, 1612, 0, 1613, 0, 1614, 0, 1615, 94735, 94735, 94735, 94735, 94735, | |
94735, 95829, 94735, 94735, 94735, 94735, 96007, 94735, 94735, 94735, 94735, 94735, 96011, 94735, 1661, 1662, 0, 0, 0, | |
0, 0, 1056768, 0, 0, 1056768, 0, 1056768, 1056768, 0, 1, 16386, 3, 94735, 95830, 94735, 95832, 94735, 95833, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94709, 94709, 94735, 1, 16386, 3, 94735, 95858, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 594447, 94735, 0, 1670, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 864256, 0, 0, 0, 0, 0, 1056768, 0, 0, 1056768, 0, 0, 0, 0, 1056768, 1056768, 0, 0, 0, 0, | |
0, 1056768, 0, 0, 0, 0, 0, 1682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, 0, 0, 94709, 94709, 94709, 95976, | |
94709, 94709, 94709, 94709, 94709, 95980, 94709, 1612, 1613, 1614, 1615, 94735, 94735, 94735, 94735, 96201, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1667, 0, 0, 0, 1820, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 1828, 0, 0, 0, 0, 270, 270, 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, 0, 0, 280, 281, 282, 283, 284, 285, 286, 0, 0, | |
0, 0, 0, 0, 1926, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1845, 1846, 0, 0, 0, 0, 0, 0, 0, 90539, | |
90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0, 94709, 94709, 90539, 90539, 90539, 90539, 91973, 90539, | |
90539, 0, 0, 0, 0, 1867, 0, 94709, 94709, 94709, 94709, 95005, 94709, 94709, 95011, 94709, 522, 523, 524, 525, 0, | |
94735, 94735, 96091, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, 94735, | |
94735, 94735, 94735, 96193, 94735, 94735, 94735, 94735, 94735, 94709, 94709, 96172, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 96183, 2110, 0, 0, 0, 2113, 0, 2115, 0, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 95013, 522, 523, 524, 525, 0, 94735, 94735, 0, 2141, 0, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 94735, 96191, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
95343, 94735, 94735, 94735, 94735, 95352, 94735, 94735, 94735, 0, 0, 2178, 0, 94709, 94709, 94709, 94709, 94709, | |
94709, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 2109, 0, 0, 0, 277, 278, 279, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 1478, 0, 0, 0, 0, 0, 73728, 77824, 0, 0, 0, 375, 0, 69632, 0, 0, 375, 0, 0, 0, 0, 0, 0, 1848, 0, | |
0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91845, 397, 0, 0, 0, 0, | |
90541, 90541, 90541, 90541, 90541, 397, 397, 375, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, 397, | |
397, 397, 397, 90541, 90541, 397, 94711, 94711, 94711, 94711, 94711, 94737, 94711, 94737, 94711, 94711, 94711, 94711, | |
94711, 94711, 94737, 94737, 94737, 94737, 94737, 94737, 94737, 94737, 94737, 94737, 94711, 94711, 94737, 1, 16386, 3, | |
0, 1264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1250, 0, 95952, 94709, 94709, 95953, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 94735, 94735, 94735, 95983, 94735, 94735, | |
95984, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 1918, 0, 0, 0, 0, 0, 94709, | |
94709, 94709, 94709, 96354, 94709, 96356, 94709, 96358, 94709, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 2079, 0, 94735, 96363, 94735, 96365, 94735, 96367, 94735, 0, 0, 0, 0, 0, 0, 0, | |
94709, 94709, 95776, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 489006, 512501, 94709, 94709, 94709, | |
94709, 94709, 94709, 0, 73728, 77824, 0, 285, 0, 376, 377, 69632, 377, 384, 376, 384, 0, 280, 384, 398, 410, 410, 410, | |
425, 90542, 90542, 90542, 90542, 90542, 447, 447, 456, 447, 447, 447, 447, 447, 447, 472, 447, 472, 472, 486, 487, | |
486, 487, 487, 487, 487, 487, 487, 487, 487, 472, 487, 487, 472, 487, 487, 472, 90542, 90542, 487, 94712, 94712, | |
94712, 94712, 94712, 94738, 94712, 94738, 94712, 94712, 94712, 94712, 94712, 94712, 94738, 94738, 94738, 94738, 94738, | |
94738, 94738, 94738, 94738, 94738, 94712, 94712, 94738, 1, 16386, 3, 0, 636, 0, 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 877, 879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 889, 0, 0, 0, 0, 271, 271, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, | |
0, 522, 0, 0, 0, 524, 0, 0, 0, 0, 0, 0, 0, 1206, 0, 0, 0, 0, 0, 0, 0, 0, 1716, 1717, 0, 0, 0, 0, 0, 0, 324, 0, 923, | |
889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1479, 1480, | |
0, 90539, 90539, 90539, 91120, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, | |
90539, 674, 0, 0, 1037, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 990, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 91110, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 1027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155648, 155648, 0, 0, 0, 0, 0, 0, | |
95255, 94709, 95257, 95258, 94709, 94709, 94709, 94709, 94709, 94709, 95270, 94709, 95274, 94709, 94709, 94709, 94709, | |
95954, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 520693, 94709, 94709, 94709, 95279, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95808, 94709, 94709, 95332, 95333, | |
94735, 94735, 94735, 94735, 94735, 94735, 95345, 94735, 95349, 94735, 94735, 94735, 94735, 95354, 0, 0, 1201, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1504, 0, 0, 94709, 95566, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 95578, 94709, 95580, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 96090, 94709, 1121, 29794, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95616, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 934415, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1467, 0, 95974, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 1612, 1613, 1614, 1615, 94735, | |
94735, 94735, 94735, 96366, 94735, 96368, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94970, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 95587, 94709, 94709, 95590, 938485, 94709, 94709, 94709, 94735, 96005, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 1661, 1662, 0, 0, 0, 0, 353, 90552, 90552, 90552, 90552, | |
90552, 0, 0, 353, 0, 0, 0, 0, 0, 1536, 1537, 0, 1539, 0, 0, 0, 1537, 90539, 90539, 90539, 0, 0, 0, 0, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 90539, 90539, 91971, 90539, 90539, 90539, | |
91975, 0, 1865, 0, 0, 0, 1868, 94709, 94709, 94709, 94709, 95007, 94709, 94709, 94709, 94709, 522, 523, 524, 525, 0, | |
94735, 94735, 0, 0, 0, 1924, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 587, 0, 0, 0, 90539, 90539, 90539, 92064, 90539, | |
90539, 90539, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 373237, 94709, 94709, 94709, 96197, | |
96198, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 2163, 0, 94709, 94709, 0, | |
0, 0, 94709, 94709, 94709, 96353, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 96310, 94735, 94735, | |
94735, 94735, 94735, 94735, 0, 0, 96362, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, | |
94709, 94709, 94709, 94979, 94709, 94709, 94709, 94709, 94709, 94709, 95303, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 522, 523, 524, 525, 0, 94735, 95024, 0, 0, 94709, 94709, 94709, 94709, 94735, 94735, 94735, | |
94735, 0, 94709, 96416, 94735, 96417, 94709, 94709, 94709, 95280, 541173, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 96087, 94709, 94709, 94709, 94709, 0, 0, 351, 288, 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, | |
0, 287, 0, 73728, 77824, 0, 0, 0, 330, 0, 69632, 0, 0, 330, 0, 386, 392, 0, 0, 0, 339, 0, 0, 0, 0, 0, 339, 0, 0, 0, | |
339, 0, 0, 0, 0, 1520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 684032, 0, 0, 0, 0, 399, 411, 411, 411, 411, 90543, 90543, | |
90543, 90543, 90543, 448, 448, 457, 448, 448, 448, 448, 448, 448, 473, 448, 473, 473, 473, 473, 473, 473, 473, 473, | |
473, 473, 473, 473, 473, 473, 473, 90543, 90543, 473, 94713, 94713, 94713, 94713, 94713, 94739, 94713, 94739, 94713, | |
94713, 94713, 94713, 94713, 94713, 94739, 94739, 94739, 94739, 94739, 94739, 94739, 94739, 94739, 94739, 94713, 94713, | |
94739, 1, 16386, 3, 90539, 90539, 90823, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 499712, 0, 0, 0, 0, 0, 0, 899, 0, 0, 902, 0, 904, 905, 0, 0, 0, 361, 0, 0, 0, 353, 0, 361, 0, | |
0, 0, 361, 353, 0, 0, 0, 478, 0, 478, 478, 478, 478, 478, 478, 478, 478, 478, 496, 90552, 478, 94722, 94722, 94722, | |
94722, 94722, 94748, 94722, 94748, 94722, 94722, 94722, 94722, 94722, 94722, 0, 937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 1277, 0, 0, 0, 0, 688128, 0, 0, 689027, 0, 90539, 315819, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, | |
0, 0, 0, 920, 1033, 0, 0, 0, 90539, 90539, 500139, 90539, 90539, 90539, 90539, 90539, 90539, 689141, 90539, 91127, | |
90539, 90539, 90539, 90539, 0, 0, 0, 0, 1011712, 0, 0, 0, 0, 0, 95950, 94709, 0, 95255, 94709, 315893, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 96104, 500213, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 689210, 94709, 95292, 94709, 95294, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95962, 94709, 94709, | |
315919, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 500239, 94735, 94735, | |
94735, 94735, 94735, 95862, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 1020431, 90539, 91432, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1040384, 0, 0, 0, 0, 565, 0, 0, 567, 568, 0, 0, 0, 0, 0, 0, 0, 0, 135168, 0, 0, 0, 0, 1, | |
16386, 3, 95665, 94735, 0, 1188, 0, 1190, 0, 1463, 0, 1464, 0, 1465, 0, 1466, 0, 1468, 1494, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 1503, 0, 0, 0, 0, 0, 966, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 901, 0, 0, 0, 0, 0, 377359, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 95982, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95635, 90539, 91970, 90539, | |
90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94976, 94709, 94709, 94985, 94709, | |
94709, 94709, 94709, 94709, 94735, 94735, 96336, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 2162, 0, | |
2164, 94709, 94709, 94735, 94735, 96364, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, | |
94709, 508405, 94709, 94709, 94709, 94709, 94709, 94709, 95556, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 522, 523, 524, 525, 0, 94735, 94735, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 638, 0, 328, 0, | |
329, 0, 0, 0, 0, 0, 0, 289, 329, 291, 291, 328, 0, 0, 0, 522, 522, 522, 0, 524, 522, 524, 522, 522, 522, 522, 522, | |
522, 0, 523, 0, 524, 0, 525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 73728, 77824, 0, 0, 0, 0, 0, 69632, | |
0, 0, 0, 290, 0, 0, 290, 400, 412, 422, 412, 412, 90544, 90544, 90544, 90544, 90544, 449, 449, 412, 449, 449, 449, | |
464, 466, 449, 449, 464, 474, 449, 474, 474, 474, 474, 474, 474, 474, 474, 493, 474, 474, 493, 474, 474, 493, 90544, | |
90544, 474, 94714, 94714, 94714, 94714, 94714, 94740, 94714, 94740, 94714, 94714, 94714, 94714, 94714, 94714, 94740, | |
94740, 94740, 94740, 94740, 94740, 94740, 94740, 94740, 94740, 94714, 94714, 94740, 1, 16386, 3, 0, 0, 592, 593, 0, | |
595, 0, 0, 0, 0, 600, 0, 0, 0, 0, 0, 0, 942, 0, 0, 0, 946, 0, 0, 0, 0, 0, 0, 967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1032192, 0, 0, 0, 0, 0, 0, 0, 621, 0, 0, 0, 0, 0, 0, 0, 629, 0, 0, 0, 633, 0, 0, 0, 523, 523, 523, 0, 525, 523, 525, | |
523, 523, 523, 523, 523, 523, 0, 662, 0, 0, 0, 668, 669, 0, 0, 0, 0, 0, 676, 0, 678, 0, 0, 0, 548, 0, 549, 267, 0, | |
268, 0, 270, 0, 271, 0, 0, 0, 0, 0, 750, 751, 0, 0, 682, 0, 0, 0, 0, 0, 743, 712704, 0, 0, 0, 0, 0, 712704, 0, 0, 0, | |
90539, 90539, 90812, 90539, 90815, 90539, 0, 94709, 94709, 94709, 94709, 94709, 94735, 94709, 94735, 94709, 94709, | |
94709, 94709, 94709, 94709, 95283, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95307, 94709, 94709, | |
94709, 94709, 94709, 94709, 90539, 573867, 90539, 660169, 90539, 713131, 90539, 90539, 90830, 90832, 90539, 90539, | |
90539, 0, 0, 678, 0, 573440, 0, 660112, 0, 0, 0, 0, 612, 0, 0, 0, 712704, 736, 0, 0, 0, 0, 623, 0, 0, 626, 0, 0, 0, 0, | |
0, 0, 0, 0, 523, 0, 0, 0, 525, 0, 0, 0, 0, 660112, 744, 0, 94709, 94709, 94967, 94709, 94972, 94709, 94709, 573941, | |
94709, 660237, 94709, 713205, 94709, 94709, 94997, 95000, 95004, 94709, 94709, 94709, 94709, 522, 523, 524, 525, 0, | |
94735, 94735, 94735, 94735, 94735, 95985, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 520719, | |
95028, 94735, 95033, 94735, 94735, 573967, 94735, 660298, 94735, 713231, 94735, 94735, 95058, 95061, 95065, 94735, | |
94735, 94735, 94735, 414223, 94735, 94735, 95835, 94735, 94735, 94735, 94735, 94735, 94735, 528911, 94735, 94735, | |
94735, 94735, 631311, 94735, 94735, 94735, 94735, 94735, 96252, 94735, 94735, 94735, 94735, 0, 1661, 0, 1662, 1463, | |
1464, 1465, 1466, 0, 1664, 0, 0, 0, 0, 0, 0, 1833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1264, 0, 0, 0, 0, 0, 0, 0, 877, 879, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 891, 324, 0, 0, 0, 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 934, 0, 0, 0, 548, 549, 0, 0, 0, | |
4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, 268, 0, 270, 271, 0, 0, 0, 953, 645, 0, 0, 911, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, 658, 0, 0, 0, 963, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1720, 0, 90539, 90539, | |
91134, 90539, 91136, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 897024, 0, 95255, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95275, 94709, 94709, 94709, 95296, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 95311, 94709, 94709, 94709, 94709, 95966, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 95972, 94709, 94709, 94709, 94709, 96094, 94709, 94709, 94709, 94709, 94709, 94709, 96100, 94735, | |
94735, 94735, 94735, 94735, 95337, 94735, 94735, 95348, 94735, 94735, 95351, 94735, 94735, 94735, 94735, 94735, 94735, | |
639503, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 860687, 94735, 94735, 889359, 94735, 94735, | |
2047, 94709, 95278, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95288, 94709, 94709, 94709, 94709, 94709, | |
0, 0, 0, 0, 0, 0, 0, 0, 29794, 95255, 94735, 94709, 95316, 94709, 94709, 94709, 0, 1114, 1116, 0, 0, 1119, 1121, 0, | |
29794, 95255, 94735, 94735, 94735, 95036, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 2000, 0, 0, 0, 95371, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95386, 94735, 94735, | |
94735, 95391, 94735, 94735, 94735, 95037, 94735, 94735, 95046, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 96123, 94735, 0, 0, 0, 0, 0, 0, 360448, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1212, 0, 0, 0, 0, 693, 0, 0, 0, 0, 0, | |
693, 0, 0, 0, 0, 635, 0, 1214, 0, 0, 1216, 733184, 0, 1218, 1219, 0, 0, 1222, 0, 0, 0, 0, 0, 0, 95255, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95576, 94709, 0, 1238, 0, 0, 0, 0, | |
734426, 0, 1244, 0, 0, 0, 0, 0, 0, 0, 0, 819200, 0, 0, 0, 0, 0, 0, 0, 270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 287, 0, 0, 1254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 970752, 0, 0, 0, 548, 549, 0, 0, 0, 4, 0, 0, 0, 0, 872, 874, | |
0, 0, 0, 0, 278528, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1234, 0, 0, 0, 0, 1279, 1280, 1281, 0, 0, 483328, 0, 0, 0, 0, 0, | |
0, 0, 1288, 0, 0, 0, 0, 754, 754, 754, 754, 754, 754, 815, 815, 815, 815, 815, 815, 0, 90539, 90539, 90539, 91419, | |
90539, 90539, 91421, 90539, 90539, 90539, 90539, 90539, 91428, 90539, 90539, 90539, 0, 0, 0, 0, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 96233, 94709, 0, 0, 1332, 0, 360448, 360448, 95255, 95542, 95543, 95544, 94709, 94709, | |
94709, 360949, 94709, 94709, 94709, 94709, 96175, 94709, 94709, 627189, 94709, 94709, 94709, 94709, 94709, 94709, | |
96182, 96184, 1121, 29794, 95609, 95610, 95611, 94735, 94735, 94735, 360975, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 95344, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95363, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 95988, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95624, 94735, 94735, 94735, | |
483855, 94735, 94735, 95630, 94735, 94735, 94735, 94735, 94735, 94735, 95045, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 963087, 94735, 94735, 94735, 94735, 94735, 95636, 95638, 94735, 94735, 94735, | |
95641, 733711, 94735, 95642, 95644, 94735, 94735, 94735, 94735, 94735, 94735, 95339, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 95837, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95653, 94735, 94735, | |
901647, 94735, 94735, 94735, 95658, 94735, 95660, 94735, 94735, 94735, 94735, 94735, 94735, 95847, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 95659, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95666, 0, | |
1188, 0, 1190, 0, 1463, 0, 1464, 0, 1465, 0, 1466, 0, 0, 0, 0, 882, 981, 982, 0, 0, 0, 0, 0, 0, 988, 0, 0, 0, 0, 895, | |
0, 0, 0, 0, 0, 0, 0, 903, 0, 0, 906, 0, 1040, 0, 0, 0, 0, 0, 0, 0, 1040, 0, 0, 922, 0, 0, 0, 1471, 1472, 0, 0, 0, | |
1476, 0, 0, 0, 0, 0, 0, 0, 271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 1019904, 0, 0, 0, 0, 0, 0, 1523, 0, | |
1525, 0, 0, 0, 0, 0, 0, 0, 614400, 0, 0, 0, 0, 0, 0, 0, 0, 1207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1533, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 1472, 90539, 90539, 90539, 0, 0, 0, 0, 94709, 94709, 94709, 381429, 96230, 96231, 94709, 94709, 94709, 94709, | |
95281, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 0, 0, 0, 0, 95981, 90539, 90539, | |
90539, 90539, 90539, 91659, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91427, 90539, | |
90539, 90539, 91431, 91667, 90539, 90539, 90539, 90539, 90539, 1020331, 90539, 1557, 0, 0, 0, 0, 0, 0, 0, 273, 274, 0, | |
273, 274, 273, 0, 274, 0, 0, 0, 1565, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
95782, 94709, 94709, 95813, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 1020405, 94709, 94709, | |
34160, 94735, 94735, 95831, 94735, 94735, 94735, 94735, 94735, 95836, 94735, 95838, 94735, 94735, 94735, 94735, 94735, | |
94735, 95863, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95989, 94735, 94735, 94735, 94735, 94735, | |
94735, 90539, 90539, 90539, 905643, 0, 0, 503808, 0, 0, 0, 0, 0, 0, 802816, 94709, 94709, 94709, 94709, 96238, 94709, | |
94709, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 381455, 96243, 94709, 344565, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 434677, 94709, 95960, 94709, 94709, 94709, 94709, 94709, 95787, 94709, 95789, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 95285, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, | |
344591, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 434703, 94735, 95991, 94735, 94735, 94735, 548, 549, 0, 0, 0, | |
4, 82178, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 1259, 0, 0, 0, 0, 0, 840207, 94735, 94735, 94735, 94735, 94735, 905743, | |
94735, 94735, 96010, 94735, 94735, 1661, 1662, 0, 0, 0, 0, 911, 0, 0, 0, 915, 916, 0, 918, 0, 0, 0, 324, 324, 324, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 618, 0, 425984, 823296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1705, 0, 0, 90539, 90539, | |
90539, 91972, 90539, 90539, 90539, 1864, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94978, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 823797, 94709, 94709, 844277, 94709, 94709, 94709, 94709, 94709, 94709, 94735, | |
94735, 94735, 94735, 94735, 96312, 94735, 94735, 94735, 94735, 0, 389120, 94735, 94735, 94735, 426511, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 96113, 94735, 94735, 94735, 548, 549, 0, 0, 0, 4, 82178, 0, 0, 0, 873, 875, | |
0, 94735, 823823, 94735, 94735, 844303, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 1668, 1931, 815104, 1932, 0, 884736, 0, 1934, 0, 0, 1003520, 0, 0, 0, 0, 0, 0, 0, 696320, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 155648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 647168, 0, 0, 0, 0, 1947, 368640, 0, 626688, 0, 90539, 369067, 90539, 0, 94727, | |
94727, 94727, 94727, 94727, 94753, 94727, 94753, 94727, 94727, 94727, 94727, 94727, 94727, 90539, 90539, 627115, | |
90539, 90539, 92066, 92067, 0, 462848, 0, 0, 1959, 94709, 94709, 94709, 369141, 96185, 94709, 96187, 995829, 94735, | |
94735, 94735, 369167, 94735, 94735, 94735, 94735, 96195, 94735, 94735, 627215, 0, 0, 0, 704512, 0, 880640, 2006, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 958464, 0, 0, 90539, 90539, 90539, 0, 0, 0, 794624, 0, 0, 675840, 987136, 0, 0, 0, 0, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 692651, 90539, 94709, 706539, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, 336399, 94735, 94735, 94735, 94735, 94735, 96107, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 770575, 94735, 94709, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 96286, 94735, 0, 0, 0, 0, 940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 344064, 0, 0, 0, 0, | |
0, 0, 618496, 0, 729088, 0, 0, 2086, 0, 0, 94709, 94709, 94709, 96300, 94709, 94709, 94709, 94709, 309180, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95852, 94735, 94735, 94735, 94735, 0, 0, 0, | |
2112, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94984, 94709, 94709, 94709, 94709, 96333, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96343, 0, 0, 0, 0, 0, 0, 95255, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 95550, 0, 0, 0, 94709, 94709, 475637, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94735, 94735, 475663, 492021, 94709, 709109, 94709, 94709, 94709, 94709, 96379, 94735, 492047, 94735, 709135, | |
94735, 94735, 94735, 94735, 94735, 94735, 96120, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 917504, 0, 0, 0, 94709, 96403, 94709, 94709, 94709, 868853, 94735, 96407, 94735, 94735, 94735, 868879, 0, 0, 0, | |
548, 549, 0, 0, 0, 4219433, 0, 0, 0, 0, 0, 0, 0, 0, 94735, 95824, 94735, 94735, 94735, 94735, 94735, 94735, 0, 292, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1829, 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 367, 73728, | |
77824, 0, 331, 335, 0, 378, 69632, 378, 378, 292, 378, 0, 0, 378, 0, 0, 0, 331, 90545, 90545, 90545, 90545, 90545, | |
378, 378, 458, 460, 460, 460, 465, 460, 460, 460, 465, 378, 460, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, | |
378, 378, 378, 378, 495, 90545, 90545, 497, 94715, 94715, 94715, 94715, 94715, 94741, 94715, 94741, 94715, 94715, | |
94715, 94715, 94715, 94715, 94741, 94741, 94741, 94741, 94741, 94741, 94741, 94741, 94741, 94741, 94715, 94715, 94741, | |
1, 16386, 3, 0, 877, 879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 890, 0, 0, 0, 548, 549, 0, 0, 237568, 4, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 37421, 268, 0, 53809, 271, 0, 324, 0, 0, 890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 631, 0, 0, 0, 0, 0, 0, 980, | |
0, 890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 971, 0, 0, 0, 0, 0, 0, 95255, 94709, 94709, 94709, 94709, 95260, 94709, 94709, | |
94709, 94709, 95271, 94709, 94709, 94709, 94709, 94709, 95800, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 95817, 95818, 94709, 94709, 94709, 34160, 90539, 90539, 1321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
2009, 0, 0, 94735, 94735, 877071, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 95060, 94735, 94735, 0, 0, 0, 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 91113, 90539, | |
90539, 90539, 91846, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 95975, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 1612, 1613, 1614, 1615, 94735, | |
94735, 94735, 95038, 94735, 94735, 95047, 94735, 94735, 94735, 95054, 94735, 94735, 94735, 94735, 95069, 94735, 94735, | |
94735, 96006, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 1661, 1662, 0, 0, 0, 0, 954, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 630, 0, 0, 0, 0, 2003, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 976, 0, 0, 0, 311797, 94709, 94709, | |
94709, 94709, 94709, 311823, 94735, 94735, 94735, 94735, 94735, 0, 1188, 0, 1190, 0, 1463, 0, 1464, 0, 1465, 0, 1466, | |
0, 0, 0, 0, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 94735, 0, 442869, 94709, 442895, 94735, 94709, 94735, | |
94709, 94735, 94709, 94735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110997, 110997, 405, 1, 16386, 3, 0, 336, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 1251, 0, 73728, 77824, 0, 0, 0, 0, 379, 69632, 379, 379, 0, 379, 387, 0, 379, 413, 413, | |
413, 413, 90546, 90546, 90546, 90546, 90546, 450, 450, 413, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, | |
450, 450, 450, 450, 450, 90546, 90546, 450, 94716, 94716, 94716, 94716, 94716, 94742, 94716, 94742, 94716, 94716, | |
94716, 94716, 94716, 94716, 94742, 94742, 94742, 94742, 94742, 94742, 94742, 94742, 94742, 94742, 94716, 94716, 94742, | |
1, 16386, 3, 0, 1564, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 0, 0, 0, | |
0, 94735, 0, 0, 1844, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 467371, 0, 1941, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 90818, 0, 2012, 0, 0, 0, 0, 0, 0, 327680, 0, 0, 0, | |
328107, 90539, 90539, 90539, 0, 0, 0, 0, 94709, 94709, 336373, 94709, 94709, 94709, 94709, 94709, 94709, 95586, 94709, | |
94709, 901621, 94709, 94709, 94709, 95591, 94709, 95593, 94709, 94709, 94709, 808941, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94735, 328207, 94735, 94735, 94735, 548, 549, 45700, 0, 0, 4, 82178, 0, 0, 0, 0, 0, 0, 0, 1513, | |
0, 0, 0, 557056, 0, 413696, 0, 0, 94735, 94735, 94735, 534519, 94735, 94735, 94735, 808954, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 0, 1188, 1190, 0, 0, 0, 873, 0, 875, 0, 877, 0, 879, 0, 446891, 90539, 0, 0, 94709, 94709, | |
446965, 94709, 94709, 94709, 94709, 94709, 94709, 96274, 94709, 94709, 94709, 94709, 426485, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 96089, 94709, 94709, 94709, 94709, 96377, 94709, 94709, 94735, 94735, 94735, 94735, | |
94735, 94735, 96383, 94735, 94735, 94735, 94735, 94735, 95997, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
96003, 94735, 94709, 94735, 94735, 446991, 94735, 94735, 94735, 94735, 94735, 94735, 96284, 94735, 94735, 94735, 0, 0, | |
0, 0, 994, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 1561, 0, 0, 0, 94709, | |
537077, 811509, 94709, 94735, 537103, 811535, 94735, 0, 94709, 94709, 94735, 94735, 94709, 94735, 94709, 94735, | |
827893, 827919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 960, 0, 0, 0, 658, 0, 748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 90539, 90539, 90539, 90539, 94735, 95031, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 983567, 0, 94735, 95071, 94735, 548, 549, 0, 0, 0, 4, 82178, 0, 0, 0, 873, 875, 0, 0, 0, | |
548, 549, 0, 0, 241664, 4, 0, 0, 0, 0, 0, 0, 0, 0, 94735, 94735, 94735, 95826, 94735, 94735, 94735, 94735, 0, 908, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 324, 324, 0, 0, 0, 0, 0, 0, 0, 616, 0, 0, 1032619, 90539, 0, 0, 0, 0, 0, | |
1033517, 0, 0, 0, 0, 0, 0, 0, 0, 0, 487424, 0, 0, 0, 0, 0, 0, 372736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1262, 92130, 90539, 90539, 0, 0, 2020, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 522, 523, | |
524, 525, 0, 94735, 324402, 94709, 94709, 96236, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 90539, 90539, 2058, 0, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95792, 94709, 94709, 94709, 975349, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 975375, 0, 0, 0, 0, 1240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 630784, 90539, 90539, 90539, 631211, 0, 0, 293, 294, 295, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 986, 0, 0, 0, 0, 0, 0, | |
0, 337, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 919, 0, 0, 324, 0, 0, 352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 0, 0, 0, | |
0, 0, 0, 0, 0, 73728, 77824, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 388, 0, 0, 0, 0, 1256, 0, 0, 0, 0, 0, 0, 0, 0, 1261, 0, | |
0, 0, 0, 293, 0, 0, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 737280, 0, 0, 0, 0, 0, 0, 295, 414, 414, 414, 414, 90547, 90547, | |
90547, 90547, 90547, 451, 451, 414, 451, 451, 451, 451, 451, 451, 475, 451, 484, 484, 484, 484, 484, 484, 484, 484, | |
494, 484, 484, 494, 484, 484, 494, 90547, 90547, 484, 94717, 94717, 94717, 94717, 94717, 94743, 94717, 94743, 94717, | |
94717, 94717, 94717, 94717, 94717, 94743, 94743, 94743, 94743, 94743, 94743, 94743, 94743, 94743, 94743, 94717, 94717, | |
94743, 1, 16386, 3, 605, 606, 0, 324, 324, 324, 0, 0, 0, 0, 0, 0, 615, 0, 0, 0, 0, 0, 1267, 1268, 0, 1270, 0, 0, 0, 0, | |
0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 357, 0, 0, 663, 0, 0, 666, 0, 0, 670, 0, 0, 0, 0, 0, 0, 0, 0, 267, 0, 268, 0, 270, 0, | |
271, 0, 684, 0, 0, 0, 745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1813, 0, 0, 1816, 0, 95029, 94735, 95034, 94735, 95041, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95066, 94735, 94735, 94735, 95039, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96253, 94735, 94735, 94735, 0, 94735, 95072, 94735, | |
548, 549, 0, 0, 0, 4, 82178, 0, 0, 0, 873, 875, 0, 0, 0, 548, 549, 0, 871, 871, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 267, | |
37424, 0, 270, 53812, 0, 951, 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 656, 0, 0, 0, 0, 0, 991, 0, | |
0, 0, 995, 0, 0, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 552960, 0, 0, 90539, 90539, | |
90539, 90539, 90539, 90539, 91122, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 1560, 0, | |
0, 0, 90539, 90539, 90539, 91135, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 1036, 0, 95255, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 95264, 94709, 94709, 94709, 94709, 94709, 94709, 95599, 34160, 0, 1114, 0, 1116, 34160, 0, | |
1119, 0, 95372, 94735, 94735, 94735, 94735, 94735, 94735, 95383, 94735, 94735, 94735, 94735, 95388, 94735, 94735, | |
94735, 548, 549, 188416, 0, 0, 4, 82178, 0, 0, 0, 0, 0, 0, 0, 1475, 0, 0, 0, 0, 0, 0, 0, 0, 1514, 0, 0, 0, 1261, 0, 0, | |
0, 0, 0, 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1248, 0, 0, 0, 0, 0, 1473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 301, 302, 0, 0, 0, | |
0, 90539, 90539, 90539, 90539, 91420, 90539, 90539, 90539, 90539, 91424, 90539, 90539, 90539, 90539, 90539, 90539, | |
90539, 0, 0, 0, 1866, 0, 0, 96077, 94709, 94709, 94709, 94709, 95596, 94709, 94709, 94709, 94709, 34160, 0, 1114, 0, | |
1116, 34160, 0, 1119, 0, 0, 0, 548, 549, 0, 245760, 245760, 4, 0, 0, 0, 0, 0, 0, 0, 0, 94735, 94735, 95825, 94735, | |
94735, 94735, 94735, 94735, 95652, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
95663, 94735, 94735, 94735, 94735, 94735, 590351, 95048, 680463, 94735, 94735, 94735, 94735, 94735, 95063, 94735, | |
94735, 94735, 94735, 94735, 706552, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 1188, 0, 1190, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 673, 0, 0, 0, 0, 0, 0, 0, 1496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, | |
92062, 1506, 0, 0, 0, 0, 0, 0, 0, 0, 1515, 0, 0, 0, 0, 0, 0, 0, 712704, 712704, 0, 0, 0, 0, 0, 0, 0, 0, 295439, 94735, | |
94735, 94735, 95827, 95828, 94735, 94735, 0, 0, 1697, 0, 0, 0, 0, 1701, 0, 0, 0, 0, 0, 0, 0, 1707, 1708, 0, 0, 1711, | |
0, 0, 1714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 522, 0, 523, 0, 0, 524, 0, 1722, 0, 0, 0, 90539, 90539, 90539, 90539, 91840, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 1035, 0, 0, 95964, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 34160, 94735, 95995, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95064, 94735, 94735, 1806, 0, 0, | |
0, 0, 0, 0, 0, 1810, 1811, 0, 0, 0, 1815, 0, 0, 0, 0, 1266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 972, 973, 0, 0, 0, 1842, | |
0, 0, 0, 0, 1847, 0, 1849, 0, 0, 0, 0, 91966, 90539, 91968, 90539, 0, 94729, 94729, 94729, 94729, 94729, 94755, 94729, | |
94755, 94729, 94729, 94729, 94729, 94729, 94729, 90539, 90539, 90539, 90539, 90539, 91974, 90539, 0, 0, 0, 0, 0, 0, | |
94709, 96078, 94709, 94709, 94709, 95297, 94709, 94709, 94709, 94709, 94709, 94709, 95308, 94709, 94709, 94709, 94709, | |
95313, 94709, 96081, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96086, 94709, 94709, 94709, 94709, 94709, | |
94709, 96083, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 770549, 94709, 96092, 94709, 94709, 94709, | |
94709, 96095, 94709, 94709, 96098, 94709, 94709, 94735, 96102, 94735, 94735, 94735, 94735, 94735, 832015, 94735, | |
94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 964, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 0, 0, 0, 0, 0, 96105, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96110, 94735, 94735, 94735, 94735, 94735, 94735, 95361, 94735, | |
95364, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96121, 94735, 94735, 94735, 0, 0, 0, 1919, 0, 96116, 94735, | |
94735, 94735, 94735, 96119, 94735, 94735, 96122, 94735, 94735, 339968, 0, 0, 0, 0, 0, 0, 95255, 94709, 94709, 94709, | |
94709, 95546, 94709, 94709, 94709, 94709, 94709, 95815, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
34160, 0, 0, 0, 0, 34160, 0, 0, 0, 0, 0, 1942, 0, 0, 0, 0, 1946, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, | |
90539, 91412, 90539, 90539, 90539, 90539, 90539, 90539, 92063, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, | |
94709, 94709, 94709, 94709, 94709, 94709, 95780, 94709, 94709, 95781, 94709, 94709, 94709, 96173, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 96181, 94709, 94709, 94709, 94709, 95300, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 95312, 94709, 0, 0, 2004, 0, 0, 0, 0, 0, 0, 2007, 0, 0, 0, 0, 0, 0, 0, 909312, 0, 0, 0, 0, | |
0, 0, 0, 0, 984, 0, 0, 0, 0, 0, 0, 0, 2048, 0, 0, 0, 2052, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1853, 90539, 90539, 90539, | |
90539, 96332, 94709, 94735, 94735, 94735, 94735, 96338, 94735, 96340, 96341, 96342, 94735, 0, 0, 0, 0, 0, 0, 95255, | |
94709, 94709, 94709, 95545, 94709, 94709, 94709, 94709, 94709, 95282, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 95791, 94709, 94709, 94709, 582133, 94709, 94735, 96420, 96421, 94709, 94735, 94709, 94735, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 522, 809, 524, 813, 0, 0, 0, 0, 297, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1936, 0, 0, 0, | |
1939, 297, 358, 0, 0, 0, 0, 0, 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, 1229, 1230, 1231, 0, 0, 0, 0, 0, 0, 0, 0, 221567, 0, 0, | |
0, 0, 0, 0, 0, 0, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 373263, 0, 73728, 77824, 0, 0, 358, 0, 380, 69632, | |
380, 380, 0, 380, 0, 393, 380, 415, 415, 415, 415, 90548, 90548, 90548, 90548, 90548, 452, 452, 415, 452, 452, 452, | |
452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, 90548, 90548, 498, 94718, 94718, 94718, 94718, 94718, | |
94744, 94718, 94744, 94718, 94718, 94718, 94718, 94718, 94718, 94744, 94744, 94744, 94744, 94744, 94744, 94744, 94744, | |
94744, 94744, 94718, 94718, 94744, 1, 16386, 3, 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1278, 0, 0, 637, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 637, 0, 0, 0, 0, 0, 1486, 0, 0, 1488, 0, 0, 0, 0, 0, 0, 0, 364, 0, 0, 0, 0, 0, 0, 364, 0, 0, | |
679, 0, 0, 0, 0, 0, 0, 0, 679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 679, 0, 746, 0, 0, 0, 0, 0, 0, 0, 631, 0, | |
637, 679, 0, 0, 0, 0, 0, 1498, 0, 1500, 0, 0, 0, 1502, 0, 0, 0, 0, 0, 0, 237568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254360, | |
254360, 254360, 1, 16386, 0, 0, 877, 879, 0, 0, 0, 0, 0, 884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 992, 1045, 1046, 0, | |
324, 0, 0, 0, 0, 0, 0, 0, 928, 0, 0, 0, 0, 0, 0, 0, 353, 0, 0, 0, 0, 0, 0, 0, 0, 365, 276, 0, 0, 0, 276, 0, 0, 936, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 948, 0, 0, 0, 0, 0, 1511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1233, 0, 0, 0, 0, 0, 0, 0, 1039, | |
884, 0, 0, 0, 0, 0, 299008, 0, 0, 0, 0, 0, 0, 0, 946176, 1024000, 0, 0, 0, 0, 0, 0, 2010, 0, 95255, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 95265, 95272, 94709, 94709, 94709, 94709, 94709, 95955, 94709, 94709, 94709, | |
94709, 95959, 94709, 95961, 94709, 94709, 94709, 95293, 94709, 94709, 94709, 94709, 94709, 94709, 95304, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 95958, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95315, 94709, 94709, | |
94709, 94709, 0, 1114, 1116, 0, 0, 1119, 1121, 0, 29794, 95255, 94735, 94735, 94735, 95040, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 489055, 512527, 94735, 94735, 94735, 94735, 95356, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95368, 94735, 94735, 94735, 94735, 95043, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96112, 94735, 94735, 94735, 94735, 0, 0, | |
0, 1202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1211, 0, 634880, 0, 1226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
565248, 95551, 94709, 94709, 94709, 94709, 95555, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 95589, 94709, 94709, 94709, 94709, 94709, 95565, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 95564, 1121, 29794, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
95617, 95618, 94735, 94735, 94735, 94735, 94735, 94735, 96202, 96204, 96205, 94735, 96207, 995855, 0, 0, 0, 2002, | |
95622, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95632, 94735, 94735, 94735, 94735, 94735, | |
94735, 96249, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 1507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 1517, 90539, 91668, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94709, 95951, 94709, | |
94709, 94709, 95814, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 34160, 0, 1114, 0, | |
1116, 34160, 0, 1119, 0, 0, 0, 1671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122880, 122880, 122880, 96080, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95794, 1940, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90816, 90539, 94709, 96375, 94709, 96376, 94709, 94709, | |
94709, 94735, 94735, 94735, 96381, 94735, 96382, 94735, 94735, 94735, 94735, 94735, 95381, 94735, 94735, 94735, 95385, | |
94735, 94735, 94735, 94735, 94735, 94735, 95362, 94735, 94735, 668175, 94735, 94735, 94735, 94735, 94735, 94735, | |
95382, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 689285, 94735, 95367, 94735, 95369, | |
94735, 0, 0, 96412, 94709, 94709, 94709, 96414, 94735, 94735, 94735, 0, 94709, 94709, 94735, 94735, 94709, 94735, | |
96422, 96423, 94709, 94735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, 959, 888, 0, 0, 0, 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, 0, 300, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172032, 0, 0, 0, 0, 0, 0, 0, 73728, 77824, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 389, 0, | |
0, 0, 0, 1283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0, 1529, 1530, 294912, 401, 416, 416, 424, 416, 90549, 90549, | |
90549, 90549, 90549, 401, 401, 416, 401, 401, 401, 401, 401, 401, 476, 401, 476, 476, 476, 476, 476, 476, 476, 476, | |
476, 476, 476, 476, 476, 476, 476, 90549, 90549, 476, 94719, 94719, 94719, 94719, 94719, 94745, 94719, 94745, 94719, | |
94719, 94719, 94719, 94719, 94719, 94745, 94745, 94745, 94745, 94745, 94745, 94745, 94745, 94745, 94745, 94719, 94719, | |
94745, 1, 16386, 3, 0, 577, 0, 0, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 577, 90539, 91133, | |
90539, 90539, 90539, 90539, 90539, 0, 0, 0, 1031, 0, 0, 0, 0, 0, 0, 1284, 0, 1285, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, | |
0, 367, 0, 331, 331, 0, 95255, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95266, 94709, 94709, 94709, | |
94709, 94709, 94709, 696821, 94709, 95968, 94709, 94709, 94709, 94709, 94709, 94709, 840181, 94709, 95552, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 95560, 94709, 94709, 94709, 94709, 94709, 94709, 872949, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 872975, 1121, 29794, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 95619, 94735, 94735, 94735, 94735, 94735, 95627, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 95645, 94735, 95647, 94735, 94735, 94735, 94735, 94735, 643599, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95840, 94735, 94735, 0, 0, 1519, 0, 0, 0, 0, 0, 1524, | |
0, 0, 0, 0, 0, 0, 0, 567, 0, 0, 0, 0, 0, 743, 682, 0, 94709, 95812, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 34160, 1394, 1114, 1396, 1116, 34160, 1398, 1119, 1400, 95857, 94735, 94735, | |
94735, 95861, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95366, 94735, 94735, 94735, | |
94735, 94709, 94709, 94709, 96306, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96316, 0, 0, 0, 0, | |
1485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135168, 0, 135168, 135168, 135168, 0, 2111, 0, 0, 0, 0, 0, 0, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 0, 0, 324, 301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 1275, 0, 0, 0, 0, 0, 338, 0, 0, 339, 340, 342, 302, 0, 0, 0, 0, 0, 0, 0, 733, 0, 0, 0, 654, 735, 0, 0, 0, 0, 73728, | |
77824, 339, 0, 0, 0, 0, 69632, 0, 0, 301, 0, 0, 394, 0, 0, 0, 548, 54118, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 268, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 303, 304, 305, 306, 0, 417, 423, 423, 423, 90550, 90550, 90550, 90550, 90550, 423, 423, | |
417, 461, 461, 461, 461, 461, 461, 423, 461, 423, 423, 423, 423, 423, 423, 423, 488, 423, 489, 488, 423, 423, 423, | |
423, 423, 423, 423, 423, 423, 423, 423, 423, 90550, 423, 94720, 94720, 94720, 94720, 94720, 94746, 94720, 94746, | |
94720, 94720, 94720, 94720, 94720, 94720, 94746, 94746, 94746, 94746, 94746, 94746, 94746, 94746, 94746, 94746, 94720, | |
94720, 94746, 1, 16386, 3, 619, 0, 0, 0, 0, 0, 0, 0, 627, 0, 0, 0, 0, 0, 0, 0, 914, 0, 0, 0, 0, 0, 0, 0, 324, 90539, | |
90539, 90824, 90539, 90539, 90539, 90827, 90539, 90539, 90539, 90539, 90836, 90539, 685, 0, 0, 0, 0, 1535, 0, 0, 0, 0, | |
0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 91115, 90539, 90539, 729, 0, 581, 0, 681, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
681, 729, 0, 729, 694, 0, 0, 0, 685, 0, 0, 578, 741, 0, 681, 0, 0, 0, 0, 0, 0, 685, 0, 0, 0, 0, 691, 0, 0, 0, 747, 0, | |
749, 0, 0, 0, 0, 0, 0, 0, 685, 578, 606957, 0, 0, 0, 0, 1673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1678, 0, 94993, 94709, 94709, | |
94709, 94709, 95008, 94709, 94709, 94709, 522, 523, 524, 525, 0, 94735, 95025, 0, 877, 879, 0, 0, 0, 0, 0, 0, 885, | |
886, 887, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 0, 0, 909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 920, 0, | |
324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, 0, 0, 0, 0, 0, 1113, 1115, 0, 0, 1118, 1120, 0, 0, 0, 0, 324, 0, 0, 0, 924, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324259, 0, 0, 0, 0, 0, 0, 0, 989, 0, 0, 0, 1042, 0, 0, 0, 0, 0, 0, 0, 0, 299, 300, 0, 0, | |
0, 0, 0, 0, 0, 95255, 94709, 94709, 94709, 94709, 94709, 95261, 94709, 94709, 95267, 94709, 94709, 94709, 94709, | |
94709, 94709, 934389, 94709, 94709, 94709, 94709, 0, 0, 0, 0, 94735, 94735, 94735, 95357, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95866, 95867, 94735, 94735, 95374, 94735, 94735, 95380, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95646, 94735, 94735, 94735, 94735, 1200, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1481, 0, 0, 942080, 0, 1228, 1015808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1272, | |
0, 0, 0, 0, 0, 1121, 29794, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
95621, 1531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 978944, 0, 90539, 91653, 90539, 90539, 0, 0, 0, 0, 0, 0, 1203, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 979371, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
634880, 1669, 0, 0, 1672, 0, 0, 0, 0, 0, 757760, 0, 847872, 0, 0, 0, 0, 0, 0, 159744, 0, 159744, 159744, 159744, | |
159744, 163840, 159744, 159744, 159744, 1695, 1696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 1723, 0, | |
90539, 90539, 90539, 90539, 90539, 90539, 91842, 90539, 91843, 90539, 90539, 90539, 0, 0, 0, 0, 94709, 328181, 94709, | |
94709, 94709, 94709, 94709, 94709, 534506, 848299, 90539, 91847, 90539, 0, 1737, 0, 0, 0, 0, 0, 0, 1741, 0, 94709, | |
94709, 94709, 94709, 909813, 94709, 94709, 958965, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 34160, 94709, | |
94709, 94709, 95965, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96101, 94735, | |
94735, 94735, 94709, 848373, 94709, 94709, 95977, 94709, 94709, 94709, 94709, 94709, 94709, 0, 0, 0, 0, 94735, 94735, | |
94735, 95335, 94735, 94735, 94735, 94735, 95346, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95628, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 95848, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96009, 94735, | |
94735, 94735, 0, 0, 0, 0, 94735, 94735, 848399, 94735, 94735, 96008, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 1665, 0, 0, 0, 0, 0, 0, 1821, 0, 1007616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1490, 0, 0, 0, 0, 0, | |
1830, 0, 0, 0, 1832, 0, 0, 0, 0, 0, 1837, 0, 0, 1840, 0, 0, 0, 0, 1683, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 365830, 1287, | |
0, 0, 1289, 94709, 94709, 94709, 96082, 94709, 94709, 94709, 96084, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 0, 1393, 0, 1395, 0, 0, 1397, 0, 1399, 94735, 94735, 96106, 94735, 94735, 94735, 96108, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 96206, 94735, 94735, 0, 0, 2001, 0, 94735, 94735, 94735, 96200, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 380928, 0, 0, 0, 0, 1712, 0, 0, 0, 0, 0, 0, 0, 1719, 0, 0, 0, 0, | |
0, 1521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477, 0, 0, 0, 0, 0, 0, 548864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
28672, 0, 0, 0, 96244, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96251, 94735, 94735, 94735, 94735, 94735, | |
94735, 0, 1188, 1190, 0, 0, 0, 873, 0, 875, 0, 877, 0, 879, 1199, 90539, 90539, 0, 0, 94709, 94709, 94709, 96269, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 96380, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
95340, 95347, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95341, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 96109, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94709, 94735, 94735, 94735, 96279, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 417792, 872448, 0, 0, 0, 94709, 94709, 0, 0, 851968, 0, 0, 0, 0, 0, | |
94709, 94709, 94709, 96327, 94709, 94709, 94709, 94709, 94709, 96176, 569845, 94709, 94709, 94709, 94709, 96180, | |
94709, 94709, 94709, 94709, 94709, 96378, 94709, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96384, 94735, 0, 0, | |
0, 94709, 94709, 96404, 96405, 94709, 94709, 94735, 94735, 96408, 96409, 94735, 94735, 0, 1188, 1190, 0, 0, 1192, 873, | |
1194, 875, 1196, 877, 1198, 879, 0, 0, 73728, 77824, 0, 304, 0, 306, 305, 69632, 305, 305, 306, 305, 0, 304, 305, 402, | |
418, 418, 418, 426, 90551, 90551, 90551, 90551, 90551, 453, 453, 459, 453, 453, 463, 453, 453, 453, 463, 463, 453, | |
477, 463, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 90551, 90551, 477, 94721, 94721, | |
94721, 94721, 94721, 94747, 94721, 94747, 94721, 94721, 94721, 94721, 94721, 94721, 94747, 94747, 94747, 94747, 94747, | |
94747, 94747, 94747, 94747, 94747, 94721, 94721, 94747, 1, 16386, 3, 0, 0, 607, 324, 324, 324, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 1526, 0, 0, 0, 0, 0, 0, 620, 0, 622, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1676, 0, 1677, 0, 0, 1679, 650, 0, 0, | |
0, 0, 0, 566, 652, 653, 654, 0, 0, 0, 0, 0, 660, 680, 0, 0, 0, 0, 0, 0, 0, 0, 687, 0, 0, 0, 0, 0, 692, 90821, 90539, | |
90539, 90539, 90826, 90539, 90539, 90539, 90539, 90539, 954795, 90539, 90839, 0, 660, 0, 0, 0, 579, 0, 0, 0, 582, 0, | |
0, 0, 0, 0, 0, 0, 0, 958, 650, 0, 0, 0, 0, 0, 0, 607, 0, 0, 0, 954368, 740, 740, 588, 624, 0, 954368, 0, 0, 0, 654, 0, | |
0, 738, 607, 0, 0, 740, 0, 0, 0, 742, 0, 0, 0, 954368, 0, 0, 0, 0, 695, 696, 0, 90539, 90539, 90539, 90814, 90539, | |
90539, 654, 0, 0, 954368, 94709, 94709, 94709, 94971, 94974, 94709, 94981, 94709, 94709, 94709, 94990, 94992, 94735, | |
95032, 95035, 94735, 95042, 94735, 94735, 94735, 95051, 95053, 94735, 94735, 94735, 95062, 954895, 94735, 94735, | |
94735, 95358, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95648, 94735, 94735, | |
94735, 94735, 95073, 94735, 548, 549, 0, 0, 0, 4, 82178, 0, 0, 0, 873, 875, 0, 0, 0, 638, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 778240, 0, 0, 0, 0, 0, 938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 950, 0, 0, 0, 645, 0, 0, 0, 0, 0, 650, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 634, 90539, 90539, 90539, 90539, 90539, 91121, 90539, 90539, 90539, 90539, 90539, | |
90539, 90539, 90539, 90539, 90539, 90834, 90539, 90838, 0, 0, 728, 95373, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 95389, 94735, 94735, 94735, 94735, 94735, 95655, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 95631, 94735, 94735, 94735, 94735, 94735, 1252, 0, 0, 1255, 0, 0, 0, 0, 0, 0, 0, | |
1260, 0, 0, 0, 0, 0, 0, 167936, 0, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, 167936, | |
167936, 167936, 1, 16386, 3, 0, 0, 0, 1282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 0, 1292, 0, 90539, | |
90539, 91408, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 1559, 767454, 0, 0, 0, 1562, 90539, | |
90539, 90539, 635307, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91430, 90539, 90539, 0, 0, | |
0, 1324, 856064, 0, 0, 0, 0, 0, 0, 0, 0, 1290, 0, 0, 0, 91406, 91407, 90539, 360875, 90539, 90539, 90539, 90539, | |
90539, 483755, 90539, 91416, 95594, 94709, 94709, 94709, 94709, 94709, 94709, 34160, 0, 1114, 0, 1116, 34160, 0, 1119, | |
0, 0, 0, 651, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96096, 94709, 94709, | |
94709, 94709, 94735, 94735, 94735, 94735, 94735, 94735, 96192, 94735, 94735, 94735, 94735, 94735, 1121, 29794, 94735, | |
94735, 94735, 94735, 95613, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 467471, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 635407, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 96114, 94735, 96115, 1482, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1492, 0, 0, 0, 0, 1808, 0, | |
0, 0, 0, 0, 1812, 0, 0, 0, 0, 0, 0, 897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319488, 0, 0, 0, 0, 0, 0, 1922, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 131072, 0, 0, 96171, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 95963, 0, 0, 2050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192918, 192918, 192918, | |
90539, 90539, 0, 0, 96267, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95970, 94709, | |
94709, 94709, 94709, 94709, 96277, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
0, 2080, 0, 0, 0, 2083, 0, 0, 0, 0, 0, 0, 94709, 94709, 96299, 94709, 94709, 94709, 94709, 95319, 0, 1114, 1116, 0, 0, | |
1119, 1121, 0, 29794, 95255, 94735, 94709, 94709, 94735, 96335, 94735, 94735, 94735, 96339, 94735, 94735, 94735, | |
94735, 0, 0, 0, 0, 0, 0, 0, 0, 1663, 0, 0, 0, 0, 0, 2192, 0, 2194, 94709, 94709, 94709, 94709, 94709, 94709, 94735, | |
94735, 94735, 94735, 94735, 94735, 0, 1661, 0, 1662, 1463, 1464, 1465, 1466, 0, 0, 0, 0, 0, 0, 0, 1834, 0, 1836, 0, 0, | |
0, 0, 1841, 0, 2203, 0, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 94735, 0, 94709, 94709, 94735, 94735, 94709, | |
94709, 94709, 95298, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95314, 0, 73728, | |
77824, 361, 353, 0, 0, 0, 69632, 0, 0, 0, 0, 390, 0, 0, 0, 0, 1822, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 524288, 0, 0, 0, | |
0, 94748, 94748, 94748, 94748, 94748, 94748, 94748, 94748, 94748, 94748, 94722, 94722, 94748, 1, 16386, 3, 0, 877, | |
879, 0, 0, 0, 0, 0, 0, 0, 0, 0, 888, 0, 0, 0, 0, 0, 1674, 671744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224, 0, 0, 0, 0, 0, 0, | |
892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1721, 977, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1817, 90539, | |
91119, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, | |
91131, 0, 95255, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95268, 94709, 94709, 94709, 94709, 95277, | |
94735, 95375, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95387, 94735, 94735, 94735, 94735, 94735, | |
94735, 598543, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95643, 94735, 94735, 94735, 95649, | |
94735, 94735, 94709, 95581, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 831989, 94709, 94709, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91660, 582059, 90539, 90539, 90539, | |
90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 94709, 94709, 96079, 94735, 582159, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96254, 94735, 0, 0, 0, 0, 1933, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 1691, 0, 0, 1694, 90539, 90539, 90539, 90539, 92065, 90539, 90539, 0, 0, 0, 1958, 0, 94709, 94709, 94709, | |
94709, 94709, 692725, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 877045, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 95306, 94709, 94709, 94709, 95310, 94709, 94709, 94709, 94735, 94735, 96199, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 1191, 0, 1193, 0, 1195, 0, 1197, 0, 0, | |
2081, 0, 0, 0, 0, 0, 2085, 0, 2087, 0, 94709, 94709, 94709, 94709, 94709, 94709, 95788, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 95287, 94709, 94709, 668149, 94709, 94709, 94709, 0, 507904, 0, 0, 0, 0, 0, 0, 0, | |
507904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 507904, 0, 0, 0, 0, 94735, 94735, 94735, 508431, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95853, 94735, 95855, 95856, 94735, 94735, 95074, | |
548, 549, 0, 0, 0, 4, 82178, 0, 0, 0, 873, 875, 0, 0, 0, 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 752, 0, 0, 0, 94735, | |
94735, 96246, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 1920, | |
307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135168, 0, 0, 0, 324, 0, 0, 0, 0, 0, 307, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 73728, 77824, 0, 0, 0, 308, 307, 69632, 307, 307, 308, 307, 0, 0, 307, 0, 0, 0, 0, 90553, 90553, 90553, | |
90553, 90553, 307, 307, 308, 307, 307, 307, 307, 307, 470, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, | |
307, 307, 307, 90553, 90553, 307, 94723, 94723, 94723, 94723, 94723, 94749, 94723, 94749, 94723, 94723, 94723, 94723, | |
94723, 94723, 94749, 94749, 94749, 94749, 94749, 94749, 94749, 94749, 94749, 94749, 94723, 94723, 94749, 1, 16386, 3, | |
590, 591, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217088, 0, 635, 0, 0, 0, 639, 0, 0, 0, 643, 0, 0, 0, 0, 0, 0, 0, | |
943, 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 655, 0, 0, 0, 0, 0, 0, 1474, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 282624, 282624, | |
282624, 0, 590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229376, 0, 0, 761856, 693, 0, 0, 0, 0, 0, 0, 761856, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 0, 499712, 1030, 0, 0, 0, 0, 0, 0, 0, 262144, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
2088, 94709, 94709, 94709, 94709, 94709, 94709, 90539, 90822, 90539, 90539, 90539, 90539, 762572, 90539, 90539, 90539, | |
90835, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1328, 0, 0, 0, 0, 655, 0, 0, 762586, 0, 0, 0, 0, 0, 762447, 0, 0, | |
0, 762586, 0, 0, 0, 658, 658, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1704, 0, 0, 0, 0, 639, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
762446, 0, 0, 0, 0, 0, 1684, 1685, 0, 0, 1688, 0, 0, 0, 0, 0, 0, 0, 753664, 0, 0, 0, 0, 0, 0, 0, 0, 1824, 0, 0, 0, 0, | |
0, 0, 0, 762642, 94996, 94709, 94709, 95006, 94709, 94709, 94709, 94709, 522, 523, 524, 525, 0, 94735, 94735, 94735, | |
94735, 95379, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95390, 94735, 94735, 94735, 94735, 95336, 94735, | |
94735, 95342, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95987, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 95998, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 324, 0, 0, 0, 0, 925, 926, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 807, 808, 811, 812, 0, 0, 0, 0, 0, 0, 939, 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1689, 0, 0, 0, 0, 0, 0, 952, 0, | |
0, 0, 955, 0, 0, 0, 650, 0, 0, 0, 540672, 0, 0, 0, 0, 1943, 1944, 0, 0, 0, 0, 393216, 0, 0, 90539, 90539, 90539, | |
90539, 90539, 90539, 90539, 1956, 0, 1957, 0, 0, 94709, 96169, 94709, 94709, 90539, 90539, 90539, 90539, 541099, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 91128, 90539, 90539, 90539, 0, 0, 0, 0, 96229, 94709, 94709, 94709, | |
94709, 94709, 96232, 94709, 94709, 90539, 90539, 90539, 90539, 90539, 90539, 91138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 945, 0, | |
0, 0, 0, 0, 0, 0, 1038, 0, 0, 0, 0, 1041, 0, 0, 0, 0, 1044, 0, 0, 0, 0, 0, 0, 176128, 0, 176128, 176128, 176128, | |
176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 176128, 1, 0, 3, 952, 95255, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 963061, 94709, 94709, 94709, 94709, | |
95295, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 754165, 94709, | |
94709, 94709, 95355, 541199, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 95370, 95393, 94735, 0, 1188, 1190, 0, 0, 0, 873, 0, 875, 0, 877, 0, 879, 0, 0, 0, 665, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 578, 0, 606208, 580, 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 1265, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 569344, 0, 0, 94709, 95595, 94709, 95597, 94709, 94709, 94709, 34160, 0, 1114, 0, 1116, 34160, 0, | |
1119, 0, 0, 0, 684, 0, 0, 0, 0, 0, 0, 688, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1065381, 1065381, | |
1065381, 1, 16386, 3, 1121, 29794, 94735, 94735, 94735, 95612, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 96000, 94735, 94735, 94735, 94735, 96004, 0, 765952, 1483, 1484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1493, | |
0, 0, 0, 1509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1814, 0, 0, 0, 0, 1532, 0, 0, 0, 0, 0, 0, 0, 1540, 0, 0, 0, 295339, | |
90539, 91654, 95795, 94709, 95797, 94709, 94709, 94709, 767545, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 95810, 94735, 94735, 95843, 95844, 94735, 95846, 94735, 94735, 94735, 767594, 94735, 94735, 94735, 94735, | |
94735, 94735, 95834, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 696847, 94735, 95999, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 95859, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 96001, 94735, 94735, 94735, 94735, 95868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1666, 0, 0, 0, | |
0, 2005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 983040, 0, 0, 0, 0, 0, 0, 0, 1698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1839, | |
0, 0, 0, 0, 0, 1710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 610304, 0, 0, 1818, 1819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1827, 0, 0, 0, 0, 0, 1713, 0, 0, 0, 0, 1718, 0, 0, 0, 0, 0, 0, 913, 0, 0, 0, 0, 0, 0, 0, 0, 324, 0, 2082, 0, 0, 0, 0, | |
0, 0, 0, 0, 96297, 94709, 94709, 94709, 94709, 94709, 95570, 94709, 94709, 651765, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 95957, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95557, 94709, 94709, 94709, 483829, | |
94709, 94709, 95563, 94709, 94709, 94709, 96305, 94709, 96307, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96315, | |
94735, 0, 0, 0, 0, 2014, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91414, 90539, | |
90539, 90539, 2140, 0, 2142, 94709, 96352, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 96361, | |
94735, 94735, 94735, 95625, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95633, 94735, 94735, 94735, 548, | |
549, 0, 0, 0, 4, 258, 0, 0, 0, 873, 875, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 96406, 94709, 94735, 94735, 94735, | |
94735, 96410, 94735, 421888, 0, 790528, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 94735, 585728, 94709, 94709, | |
94735, 94735, 94709, 94709, 94709, 95318, 94709, 0, 1114, 1116, 0, 0, 1119, 1121, 0, 29794, 95255, 94735, 94735, | |
94735, 95378, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 1661, 1662, 0, 0, 0, | |
0, 309, 310, 311, 312, 313, 314, 0, 0, 0, 0, 0, 0, 0, 0, 583, 584, 0, 0, 0, 0, 0, 0, 0, 359, 360, 0, 0, 0, 349, 0, 0, | |
0, 311, 366, 0, 0, 0, 0, 0, 0, 356352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0, 0, 0, 0, 0, 0, 73728, 77824, 0, 0, 373, | |
0, 381, 69632, 381, 381, 0, 381, 0, 366, 381, 403, 0, 0, 360, 0, 90554, 90554, 90554, 90554, 90554, 454, 454, 0, 454, | |
454, 454, 454, 454, 454, 479, 454, 479, 479, 479, 479, 479, 403, 403, 403, 479, 490, 479, 479, 479, 479, 479, 479, | |
479, 479, 479, 479, 90554, 90554, 499, 94724, 94724, 94724, 94724, 94724, 94750, 94724, 94750, 94724, 94724, 94724, | |
94724, 94724, 94724, 94750, 94750, 94750, 94750, 94750, 94750, 94750, 94750, 94750, 94750, 94724, 94724, 94750, 1, | |
16386, 3, 0, 0, 323584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 638976, 0, 0, 90539, 90539, 639403, 90539, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 324259, 0, 0, 0, 0, 41323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
689, 0, 0, 0, 0, 0, 0, 603, 0, 0, 0, 324259, 0, 0, 0, 638976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 692224, 0, 0, 0, | |
324259, 0, 638976, 0, 0, 0, 0, 0, 0, 0, 324259, 0, 638976, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 91410, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 94709, 94709, 94709, 95777, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 0, 877, 879, 0, 880, 0, 882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 0, 0, 0, 0, 975, 0, 324, 0, 0, 0, 0, | |
0, 0, 927, 0, 0, 0, 0, 0, 0, 0, 0, 672, 720896, 0, 0, 0, 660, 0, 0, 0, 0, 992, 0, 0, 0, 0, 0, 90539, 90539, 90539, | |
90539, 91112, 90539, 91117, 90539, 90539, 0, 0, 1323, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1838, 0, 0, 0, 798720, 91118, | |
90539, 90539, 90539, 90539, 90539, 90539, 91123, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 1558, 0, | |
0, 0, 0, 0, 0, 0, 95255, 94709, 94709, 94709, 94709, 94709, 94709, 95262, 94709, 94709, 95273, 94709, 94709, 95276, | |
94709, 94709, 94709, 95583, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96088, | |
94709, 94709, 94709, 1213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1223, 0, 0, 0, 0, 0, 1809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1209, 0, 0, 0, 0, 643072, 0, 0, 0, 1227, 0, 0, 0, 0, 0, 0, 0, 0, 1235, 1236, 0, 0, 0, 0, 90539, 90539, 91838, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91662, 90539, 766379, 90539, 91665, 90539, 90539, | |
90539, 90539, 950699, 90539, 90539, 90539, 1044907, 0, 0, 0, 0, 0, 0, 0, 0, 944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 950272, | |
1566, 94709, 95775, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95572, 94709, 94709, 94709, 94709, | |
94709, 94709, 95811, 94709, 94709, 94709, 94709, 94709, 950773, 94709, 95816, 94709, 94709, 94709, 94709, 1044981, | |
94709, 34160, 94735, 94735, 94735, 95860, 94735, 94735, 94735, 94735, 94735, 950799, 94735, 95865, 94735, 94735, | |
94735, 94735, 94735, 94735, 692751, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 754191, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 909839, 94735, 94735, 958991, 94735, 94735, 94735, 94735, 94735, | |
1045007, 94735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233472, 0, 1680, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 1930, 0, 0, 0, 1724, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91844, 90539, 90539, 0, 0, 0, | |
0, 0, 0, 0, 1326, 0, 0, 0, 0, 0, 0, 288, 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, 217088, 0, 0, 217088, 217088, 217088, 1, | |
16386, 3, 94709, 94709, 94709, 96093, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, 94735, | |
94735, 94735, 393743, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96117, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 393643, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, | |
0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94975, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 393717, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96242, 94735, 94735, 94735, | |
94735, 0, 0, 2013, 0, 0, 0, 0, 0, 0, 0, 860160, 0, 90539, 90539, 90539, 90539, 0, 0, 0, 1738, 0, 0, 0, 0, 0, 0, 94709, | |
94709, 94709, 94709, 94709, 96355, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 96337, 94735, 94735, 94735, 94735, | |
94735, 94735, 0, 0, 0, 2139, 90539, 860587, 889259, 0, 2019, 0, 888832, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 95804, 94709, 95806, 95807, 94709, 94709, 94709, 0, 2049, 0, 0, 0, 0, 0, 0, 0, 0, 2056, 0, 0, 0, | |
450560, 0, 0, 0, 690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 690, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 674, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 674, 0, 0, 0, 0, 90539, 782763, 0, 782336, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 782837, | |
94709, 94709, 94709, 94709, 94709, 905717, 94709, 94709, 95979, 94709, 94709, 1612, 1613, 1614, 1615, 94735, 94709, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 782863, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 90539, 344491, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91663, 90539, 90539, 90539, 90539, 96303, | |
94709, 94709, 94709, 94735, 94735, 94735, 94735, 96311, 94735, 96313, 94735, 94735, 94735, 0, 0, 0, 0, 91837, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90837, 0, 0, 0, 0, 0, 0, 96351, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96360, 94735, 94735, 94735, 94735, 95626, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 95634, 94735, 94735, 94735, 94735, 95639, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 95350, 94735, 94735, 95353, 94735, 409600, 0, 0, 0, 94709, 96389, 94709, 94709, | |
94709, 94709, 94735, 96395, 94735, 94735, 94735, 94735, 94735, 95044, 94735, 94735, 94735, 94735, 762703, 95057, | |
94735, 94735, 95067, 94735, 315, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1232, 0, 0, 0, 0, 0, 0, 0, 73728, | |
77824, 0, 0, 374, 0, 0, 69632, 0, 0, 0, 0, 0, 317, 0, 0, 0, 693, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94983, 94709, 94709, 94709, 94709, 94709, 860661, 94709, 94709, 889333, 94709, 94709, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 2136, 2137, 0, 0, 0, 419, 419, 419, 419, 90555, 90555, 90555, 90555, 90555, | |
0, 0, 419, 0, 0, 0, 0, 0, 1925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 754, 754, 754, 754, 754, 754, 754, 754, 754, 419, 419, | |
419, 485, 491, 485, 485, 485, 480, 485, 485, 480, 485, 485, 480, 90555, 500, 94725, 94725, 94725, 94725, 94725, 94751, | |
94725, 94751, 94725, 94725, 94725, 94725, 94725, 94725, 94751, 94751, 94751, 94751, 94751, 94751, 94751, 94751, 94751, | |
94751, 94725, 94725, 94751, 1, 16386, 3, 0, 0, 0, 331776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1948, 90539, 90539, | |
90539, 0, 0, 331776, 0, 0, 0, 642, 599, 0, 0, 0, 0, 331776, 647, 648, 0, 0, 0, 694, 0, 611, 0, 0, 0, 0, 90539, 90810, | |
90539, 90539, 90539, 90819, 650, 0, 0, 0, 642, 0, 0, 0, 0, 0, 0, 0, 657, 0, 0, 0, 0, 0, 2015, 0, 0, 0, 0, 0, 0, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 683, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 589824, 0, 679936, 0, 683, 0, 0, 0, 579, 0, 734, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 683, 0, 90539, | |
590251, 90539, 680363, 90539, 90539, 90539, 90539, 90539, 90833, 90539, 90539, 90539, 331776, 0, 0, 0, 0, 94709, | |
94963, 94709, 94709, 94709, 94709, 94709, 94709, 598517, 94709, 94709, 94709, 94709, 95299, 94709, 94709, 95305, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96177, 96178, 94709, 94709, 94709, 94709, 94709, 94709, 0, | |
331776, 0, 0, 0, 0, 0, 0, 0, 683, 0, 331776, 0, 0, 0, 0, 0, 0, 892928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 806, 523, 810, 525, | |
0, 0, 0, 0, 679936, 753, 0, 94709, 94966, 94709, 94709, 94709, 94709, 94709, 590325, 94987, 680437, 94709, 94709, | |
94709, 94709, 1032693, 94709, 94709, 34160, 0, 1114, 0, 1116, 34160, 0, 1119, 0, 0, 877, 879, 0, 0, 0, 0, 883, 0, 0, | |
0, 0, 0, 0, 0, 0, 969, 0, 0, 0, 0, 0, 0, 0, 324, 922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 245760, 0, 0, 978, 0, | |
0, 883, 0, 0, 0, 0, 985, 0, 987, 0, 0, 0, 0, 0, 0, 1065381, 0, 1065381, 1065381, 1065381, 1065381, 1065381, 1065381, | |
1065381, 1065381, 1065381, 1065381, 1065381, 1065381, 1065381, 1065381, 1065381, 1065381, 0, 0, 993, 0, 0, 0, 0, 0, | |
91109, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 888, 0, 0, 0, 90539, 90539, 90539, 90539, | |
90539, 90539, 90539, 91124, 668075, 90539, 90539, 90539, 90539, 91129, 91130, 90539, 90539, 0, 0, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95291, 94709, 90539, 90539, 90539, 90539, | |
90539, 91137, 90539, 0, 1029, 0, 985, 1032, 0, 0, 741376, 0, 0, 0, 732, 732, 0, 0, 0, 688, 0, 0, 0, 0, 0, 0, 745, | |
94709, 94709, 94968, 94709, 94973, 94709, 94980, 94709, 94709, 94709, 94709, 94709, 0, 1114, 1116, 0, 0, 1119, 1121, | |
0, 29794, 95255, 94735, 0, 95255, 95256, 94709, 94709, 95259, 94709, 94709, 95263, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 95802, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95558, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 95317, 94709, 94709, 0, 1114, 1116, 0, 0, 1119, 1121, 0, 29794, 95255, 95331, 94735, | |
94735, 95334, 94735, 94735, 95338, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96111, 94735, | |
94735, 94735, 94735, 94735, 94735, 95376, 95377, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 95392, 0, 0, 0, 700416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86016, 0, 0, 0, 0, 937984, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 651264, 0, 0, 0, 736, 736, 739, 0, 0, 678, 0, 0, 0, 0, 0, 744, 0, 0, 0, 548, 549, 0, 0, 0, 0, 0, | |
180224, 290816, 0, 0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 0, 0, 0, 1706, 0, 0, 0, 0, 716800, 0, 0, 0, 0, 0, 0, 0, 1247, 0, | |
0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 331, 0, 0, 0, 0, 333, 0, 0, 0, 1293, 90539, 90539, 90539, 365841, | |
90539, 91411, 90539, 90539, 90539, 90539, 91415, 90539, 90539, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 96276, 90539, 90539, 91418, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91425, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 1028, 0, 0, 0, 0, 0, 0, 0, 0, 815, 815, 815, 815, 815, 815, 815, 815, 815, | |
815, 815, 815, 815, 815, 815, 815, 0, 90539, 90539, 0, 1322, 0, 0, 0, 0, 1293, 0, 0, 0, 0, 0, 0, 0, 956, 0, 650, 0, | |
885, 0, 0, 0, 0, 0, 1331, 0, 0, 1286, 365830, 95255, 94709, 94709, 94709, 94709, 94709, 94709, 365884, 94709, 94709, | |
94709, 94999, 94709, 94709, 94709, 94709, 94709, 522, 523, 524, 525, 0, 94735, 94735, 94735, 94735, 94735, 95656, | |
94735, 94735, 94735, 94735, 94735, 94735, 95662, 94735, 95664, 94735, 94709, 94709, 95553, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 95561, 94709, 94709, 94709, 94709, 95568, 94709, 635381, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 95559, 94709, 94709, 94709, 94709, 94709, 94709, 1121, 29794, 94735, 94735, | |
94735, 94735, 94735, 94735, 365951, 94735, 94735, 94735, 94735, 95620, 94735, 94735, 94735, 94735, 95640, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95651, 95637, 94735, 94735, 651791, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 979471, 94735, 94735, 94735, 0, 0, 1470, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 663552, 0, 0, 0, 0, 0, 2084, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, | |
94735, 94735, 94735, 94735, 0, 0, 1495, 0, 528384, 1497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 770048, 0, 0, 0, 0, 0, 0, 0, | |
458752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 266240, 0, 0, 0, 90539, 90539, 90539, 414123, 90539, 90539, 90539, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91664, 90539, 90539, 90539, 90539, 909739, 90539, | |
958891, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1329, 0, 1563, 0, 0, 0, 0, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96179, 94709, 94709, 94709, 94709, 94709, 94709, 414197, | |
94709, 94709, 95786, 94709, 94709, 94709, 94709, 94709, 94709, 528885, 94709, 95793, 94709, 94709, 94709, 95001, | |
954869, 94709, 94709, 95012, 94709, 522, 523, 524, 525, 0, 94735, 94735, 94735, 94735, 95359, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 1917, 0, 0, 0, 95842, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 95841, 0, 520192, 0, 0, 90539, 90539, 90539, | |
91839, 90539, 90539, 90539, 520619, 90539, 90539, 90539, 90539, 1736, 0, 0, 0, 0, 0, 0, 1740, 0, 0, 94709, 94709, | |
94709, 94709, 94735, 94735, 94735, 94735, 0, 94709, 94709, 94735, 94735, 94709, 94709, 602613, 623093, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 786933, 94709, 95971, 94709, 94709, 94709, 94709, 95584, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 1049077, 0, 0, 0, 0, 94735, 94735, 94735, 602639, 623119, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 786959, 94735, 96002, 94735, 94735, 94735, 94735, 95845, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 95854, 94735, 94735, 1460, 1188, 1462, 1190, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 1929, 0, 0, 0, 0, 0, 0, 0, 397312, 401408, 0, 0, 430080, 479232, 0, 0, 0, 0, 0, 0, 0, 0, 1043, 0, 0, 0, 0, 0, 0, | |
0, 0, 1843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 90817, 430507, 90539, 90539, 90539, | |
90539, 90539, 90539, 0, 0, 1036288, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96357, 94709, 96359, | |
94735, 94735, 94735, 94709, 94709, 385525, 94709, 94709, 430581, 94709, 94709, 479733, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 95967, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95010, 94709, 522, 523, 524, 525, | |
0, 94735, 94735, 94735, 385551, 94735, 94735, 430607, 94735, 94735, 479759, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 352256, 2161, 0, 0, 0, 0, 0, 96373, 94709, 94735, 94735, 94735, 96118, 94735, 94735, 94735, 94735, | |
94735, 94735, 96124, 0, 0, 0, 0, 0, 0, 1499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 0, 667648, 0, 0, 1923, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 577536, 0, 0, 0, 754, 754, 754, 754, 754, 754, 754, 754, 754, 754, 815, 815, 815, 815, 815, | |
815, 815, 815, 815, 815, 0, 0, 0, 0, 94709, 94709, 94709, 473006, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 983541, 94735, 94735, 94735, 94735, 94735, 94709, 96186, 94709, 94709, 94735, | |
94735, 96190, 94735, 94735, 94735, 94735, 473026, 94735, 94735, 94735, 94735, 94735, 95360, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 95851, 94735, 94735, 94735, 94735, 94735, 90539, 90539, 90539, | |
454656, 0, 0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95969, 94709, 94709, 94709, 94709, | |
95973, 94709, 631285, 94709, 94709, 94709, 94709, 94709, 96239, 94709, 94709, 94709, 94709, 94735, 94735, 94735, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 0, 90539, 90539, 0, 0, 94709, | |
440332, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96275, 94709, 94709, 94709, 95785, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 96085, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94735, 440342, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96285, 94735, 94735, 0, 0, 0, 0, 94709, | |
94964, 94709, 94709, 94709, 94977, 94709, 94709, 94986, 94709, 94709, 94709, 94709, 95301, 95302, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 96099, 94709, 94735, 94735, 94735, 94735, 0, 2177, 0, 2179, 94709, | |
94709, 94709, 94709, 96392, 96393, 94735, 94735, 94735, 94735, 96398, 96399, 0, 2193, 0, 94709, 94709, 94709, 94709, | |
94709, 94709, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 868, 869, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 558, | |
559, 0, 562, 563, 0, 0, 0, 94709, 94709, 94709, 94709, 94735, 94735, 94735, 94735, 0, 94709, 94709, 94735, 94735, | |
96418, 96419, 94709, 94735, 94709, 94735, 94709, 94735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1245, 0, 0, 0, 0, 0, 0, 0, 73728, | |
77824, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 0, 395, 0, 0, 0, 894, 0, 0, 0, 0, 0, 900, 0, 0, 0, 0, 0, 0, 297, 298, 0, 0, | |
0, 0, 0, 0, 0, 0, 276, 275, 0, 275, 355, 275, 276, 0, 0, 420, 420, 420, 420, 90556, 90556, 90556, 90556, 90556, 0, 0, | |
420, 0, 319, 319, 467, 319, 319, 319, 420, 319, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, | |
420, 90556, 90556, 420, 94726, 94726, 94726, 94726, 94726, 94752, 94726, 94752, 94726, 94726, 94726, 94726, 94726, | |
94726, 94752, 94752, 94752, 94752, 94752, 94752, 94752, 94752, 94752, 94752, 94726, 94726, 94752, 1, 16386, 3, 617, 0, | |
0, 0, 94709, 94709, 94709, 94709, 94709, 94709, 94982, 94709, 94709, 94709, 94709, 94709, 95585, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 95588, 94709, 94709, 94709, 94709, 94709, 0, 877, 879, 0, 0, 881, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 1826, 0, 0, 0, 0, 0, 0, 0, 0, 960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 323584, 0, 0, 0, 0, | |
95255, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95269, 94709, 94709, 94709, 94709, 94709, 95598, 94709, | |
34160, 0, 1114, 0, 1116, 34160, 0, 1119, 0, 94735, 95394, 0, 1188, 1190, 0, 0, 0, 873, 0, 875, 0, 877, 0, 879, 0, 0, | |
0, 910, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 324, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 932, 0, 0, 0, 0, 0, 1215, 0, | |
0, 0, 0, 0, 0, 1220, 0, 0, 0, 0, 0, 0, 478, 483, 478, 478, 478, 478, 478, 0, 0, 0, 1263, 0, 0, 0, 0, 0, 0, 1269, 0, | |
1271, 0, 0, 0, 0, 0, 0, 480, 0, 480, 485, 485, 485, 485, 419, 419, 419, 91417, 90539, 90539, 90539, 90539, 90539, | |
90539, 90539, 91423, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 377333, 94709, 94709, 94709, 94709, 95567, 94709, 94709, 94709, 94709, 94709, 94709, | |
95573, 94709, 94709, 94709, 94709, 94709, 94709, 95956, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
95286, 94709, 95289, 94709, 94709, 94709, 94709, 90539, 90539, 90539, 90539, 91658, 90539, 90539, 90539, 90539, 90539, | |
90539, 90539, 90539, 90539, 90539, 90539, 91426, 90539, 90539, 90539, 90539, 0, 1681, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 581632, 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 593920, 0, 90539, 90539, 0, 0, 94709, 94709, | |
94709, 94709, 96270, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95978, 94709, 94709, 94709, 0, 0, 0, 0, 94735, | |
94709, 94735, 94735, 94735, 94735, 96280, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 0, 0, 94709, | |
324341, 94709, 94709, 94709, 94709, 94709, 94709, 639477, 94709, 94709, 94709, 94709, 95554, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95309, 94709, 94709, 94709, 94709, 0, 0, 94709, 94709, 94709, | |
96413, 94735, 94735, 94735, 96415, 0, 94709, 94709, 94735, 94735, 94709, 94709, 94709, 95798, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94735, 94735, 96103, 94735, 0, 73728, 77824, 0, 364, 0, | |
0, 0, 69632, 0, 0, 0, 0, 0, 0, 0, 968, 0, 0, 0, 0, 0, 0, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 0, 0, 332, 0, 364, | |
90539, 90539, 90539, 90539, 90539, 0, 0, 364, 0, 0, 0, 0, 0, 2114, 0, 835584, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 95284, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 95803, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94753, 94753, 94753, 94753, 94753, 94753, 94753, 94753, 94753, 94753, 94727, 94727, 94753, 1, | |
16386, 3, 907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 324, 324, 324, 0, 0, 0, 612, 0, 614, 0, 0, 0, 0, 0, 0, 1945, | |
0, 0, 0, 0, 0, 0, 92061, 90539, 90539, 0, 95255, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
467445, 94709, 94709, 94709, 94709, 95799, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 1612, 1613, 1614, 1615, 94735, 0, 1253, 0, 0, 0, 0, 0, 0, 1258, 0, 0, 0, 0, 0, 0, 0, 983, 0, 0, 0, 0, 315392, | |
0, 0, 0, 90539, 594347, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, | |
90539, 90539, 91666, 94709, 94709, 94709, 594421, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 96241, 94709, 94735, 94735, 94735, 94735, 94735, 95579, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 979445, 94709, 94709, 94709, 94709, 94709, 34160, 0, 0, | |
0, 2051, 0, 0, 0, 2053, 0, 0, 0, 0, 0, 0, 0, 0, 1687, 0, 0, 1690, 0, 1692, 1693, 0, 323, 0, 324, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 935, 0, 73728, 77824, 320, 0, 0, 0, 382, 69632, 382, 382, 0, 382, 0, 321, 382, 404, 0, 0, 0, 0, | |
90557, 90557, 90557, 90557, 90557, 455, 455, 0, 455, 462, 462, 462, 468, 469, 462, 481, 462, 481, 481, 481, 481, 481, | |
404, 404, 404, 481, 404, 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 90557, 90557, 481, 94728, 94728, 94728, | |
94728, 94728, 94754, 94728, 94754, 94728, 94728, 94728, 94728, 94728, 94728, 94754, 94754, 94754, 94754, 94754, 94754, | |
94754, 94754, 94754, 94754, 94728, 94728, 94754, 1, 16386, 3, 0, 0, 0, 1028096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
573440, 0, 659456, 0, 95994, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, | |
94735, 94735, 94735, 1032719, 94755, 94755, 94755, 94755, 94755, 94755, 94755, 94755, 94755, 94755, 94729, 94729, | |
94755, 1, 16386, 3, 0, 689, 0, 0, 0, 0, 0, 0, 0, 689, 0, 0, 0, 0, 0, 0, 596, 597, 598, 599, 0, 0, 0, 0, 0, 0, 349, 0, | |
0, 0, 354, 0, 0, 0, 0, 0, 650, 0, 0, 0, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1935, 0, 0, 0, 0, 0, 90539, 90539, | |
962987, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 90539, 90539, 90539, 90539, 90539, | |
754091, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 90539, 91126, 90539, 90539, 90539, 90539, | |
90539, 94709, 94709, 94709, 406005, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, | |
94709, 96240, 94709, 94709, 94709, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 0, 0, 2138, | |
0, 1121, 29794, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 406031, 94735, | |
94735, 94735, 95654, 94735, 94735, 95657, 938511, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 96203, | |
94735, 94735, 94735, 94735, 0, 0, 0, 0, 90539, 90539, 90539, 90539, 90539, 90539, 487851, 90539, 90539, 90539, 90539, | |
90539, 90539, 90539, 90539, 90539, 0, 0, 0, 0, 0, 94709, 94709, 96170, 94709, 94709, 94709, 348661, 94709, 94709, | |
94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 94709, 643573, 94709, 94709, 94709, 94709, | |
94709, 94709, 94709, 94709, 96097, 94709, 94709, 94709, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 348687, | |
94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 94735, 1049103, 0, 0, 0, 0, 0, 73728, | |
77824, 0, 0, 0, 0, 0, 69632, 0, 0, 0, 0, 391, 0, 0, 0, 0, 114688, 0, 241664, 258048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2016, | |
0, 0, 90539, 381355, 92129, 90539, 0, 1056768, 324, 0, 1056768, 0, 1056768, 0, 0, 1056768, 0, 1056768, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61440, 1056768, 0, 0, 0, 0, 0, 0, 0, 0, 1056768, 1056768, 0, 0, 0, 0, 0, 0, 1056768, 0, | |
1056768, 0, 0, 0, 0, 0, 1056768, 1056768, 0, 0, 1056768, 1056768, 0, 0, 0, 0, 0, 0, 0, 1056768, 0, 0, 1056768, 0, | |
1056768, 1056768, 1056768, 1056768, 1057138, 1057138, 1056768, 0, 1056768, 0, 0, 1057138, 0, 0, 0, 0, 0, 0, 1056768, | |
0, 1056768, 1056768, 0, 1056768, 0, 0, 0, 0, 0, 1060864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 749568, 0, 0, | |
1064960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1044480, 0, 0, 1065381, 1065381, 1065381, 1065381, 0, 0, 0, 0, 0, | |
0, 0, 1065381, 0, 0, 0, 0, 0, 131072, 131072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94709, 94709, 94709, 94709, 96301, 94709, | |
1065381, 1065381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1064960, 0, 1073152, 371, 371, 0, 0, 0, 0, 0, 371, 0, 0, | |
0, 0, 0, 0, 0, 996, 90539, 90539, 90539, 90539, 90539, 91114, 90539, 90539, 1073152, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
1073152, 1073152, 0, 1073152, 1073152, 1073152, 1073152, 1073152, 1073152, 1073152, 1073152, 1073152, 1073152, | |
1073152, 1073152, 1073152, 1073152, 1073152, 1073152, 1073152, 1073152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
954368, 0, 0, 0, 0, 1077248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 905216, 0, 0, 0, 0, 0, 8192, 0, 0, 0, 0, 0, 0, 0, | |
0, 0, 0, 0, 0, 0, 45700, 0, 0, 0, 0, 0, 8192, 8192, 8192, 8192, 8192, 0, 0, 0, 0, 0, 8192, 8192, 8192, 8192, 8192, | |
8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 8192, 0, 0, 8192, 0, 0, 0, 0, 8192, 0, 0, 8192, 8192, | |
8192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90539 | |
); | |
(:~ | |
: The DFA-state to expected-token-set mapping. | |
:) | |
declare variable $p:EXPECTED as xs:integer+ := | |
( | |
623, 626, 628, 626, 632, 636, 640, 644, 648, 655, 654, 996, 1462, 1561, 655, 897, 700, 660, 1524, 1321, 670, 1071, | |
693, 2060, 725, 676, 707, 685, 655, 1264, 655, 691, 697, 725, 727, 706, 707, 712, 655, 904, 1873, 1876, 725, 728, 707, | |
702, 655, 655, 719, 725, 1879, 708, 655, 971, 723, 735, 679, 2078, 732, 736, 971, 740, 1882, 744, 1391, 1632, 748, | |
752, 756, 760, 764, 765, 769, 772, 776, 780, 784, 788, 655, 964, 655, 792, 655, 655, 655, 655, 796, 655, 655, 857, | |
655, 655, 655, 655, 655, 655, 803, 655, 655, 1435, 655, 655, 655, 655, 655, 655, 655, 655, 1578, 655, 655, 655, 655, | |
655, 655, 655, 663, 655, 655, 655, 655, 655, 809, 655, 655, 655, 1437, 655, 655, 805, 655, 655, 655, 655, 655, 655, | |
655, 655, 1679, 1932, 655, 993, 1026, 815, 819, 823, 827, 834, 655, 811, 840, 844, 1281, 848, 852, 930, 856, 655, | |
1420, 861, 865, 1284, 871, 1615, 877, 1054, 882, 655, 887, 901, 966, 910, 655, 919, 655, 883, 835, 1116, 830, 912, | |
917, 655, 923, 655, 1309, 1378, 1388, 1918, 878, 929, 1300, 1419, 934, 925, 1590, 1378, 938, 1884, 1329, 1773, 942, | |
1302, 1141, 946, 1144, 952, 961, 655, 1479, 970, 1311, 975, 979, 983, 987, 990, 957, 1649, 1728, 1921, 1006, 1010, | |
1014, 1018, 1024, 1245, 1468, 1915, 1030, 1034, 1044, 1048, 655, 1558, 655, 1385, 1534, 1058, 1062, 1066, 1250, 1070, | |
655, 1075, 655, 1376, 1081, 1088, 1092, 1020, 655, 1255, 1096, 1344, 1410, 1155, 1779, 1101, 1942, 1474, 1106, 1110, | |
1114, 1417, 1130, 1120, 1124, 1128, 1134, 1138, 1148, 1152, 1159, 1163, 1167, 1171, 1175, 655, 1051, 655, 1185, 1189, | |
1193, 1197, 1201, 913, 1205, 1210, 1214, 1084, 1221, 1225, 1513, 1290, 1954, 1053, 1229, 1233, 955, 1239, 1243, 1249, | |
687, 1254, 1662, 1331, 1809, 1235, 2058, 1259, 1268, 655, 1840, 655, 1955, 1945, 890, 1278, 895, 1288, 655, 1294, 655, | |
1306, 1315, 1576, 1319, 906, 1577, 1326, 1217, 799, 1519, 1040, 1697, 1180, 1181, 1739, 1335, 1339, 1348, 1352, 1361, | |
1365, 1369, 1373, 655, 1904, 1382, 1935, 948, 1395, 1399, 1403, 655, 1407, 1536, 1722, 1414, 1424, 1428, 1432, 1441, | |
655, 1445, 1297, 1969, 1452, 1456, 1460, 1629, 655, 1820, 655, 1466, 1472, 1448, 867, 1855, 1097, 1478, 655, 1483, | |
1678, 1490, 893, 1494, 1037, 873, 655, 656, 655, 1891, 1498, 1502, 1987, 655, 1967, 1506, 1510, 1517, 1523, 1528, | |
1540, 1547, 1584, 1551, 1555, 1690, 1565, 1569, 1707, 1573, 1582, 655, 655, 655, 1588, 1594, 1598, 1602, 1606, 1610, | |
1614, 2033, 1619, 1626, 1636, 655, 1640, 1644, 1178, 1648, 1982, 1960, 1653, 1673, 1997, 1657, 2020, 1661, 1102, 1666, | |
1357, 1754, 1671, 1677, 1683, 655, 1687, 655, 1002, 655, 1694, 1701, 1705, 1711, 655, 1715, 655, 2072, 2003, 1622, | |
1858, 1721, 1726, 2070, 1776, 1732, 1736, 1531, 1743, 1747, 1751, 1758, 1762, 1766, 1770, 1783, 1787, 1794, 1790, | |
1798, 1802, 1806, 655, 1667, 1813, 1817, 1827, 1831, 1835, 1838, 655, 1543, 1844, 1848, 1852, 1823, 1862, 1866, 1870, | |
655, 1888, 1895, 1899, 1903, 1908, 2077, 1912, 655, 999, 655, 1925, 1929, 1939, 1949, 1953, 836, 1959, 655, 1964, 650, | |
1973, 1977, 1077, 1981, 1717, 655, 672, 1986, 1991, 1342, 1995, 666, 655, 2001, 2007, 2011, 714, 681, 2015, 2019, 715, | |
2024, 1355, 2028, 2032, 2037, 655, 655, 655, 655, 655, 655, 655, 1271, 2043, 1274, 2047, 2051, 2055, 655, 655, 655, | |
2064, 1206, 655, 655, 655, 655, 655, 655, 655, 1261, 655, 655, 655, 655, 655, 655, 655, 655, 655, 1263, 655, 655, 655, | |
655, 655, 655, 655, 655, 2039, 655, 655, 655, 655, 655, 655, 655, 1486, 655, 655, 655, 655, 655, 2068, 655, 655, 655, | |
2076, 655, 655, 1262, 655, 1485, 655, 655, 655, 655, 655, 1322, 2082, 2089, 2093, 2102, 2102, 2102, 2102, 2097, 2101, | |
2106, 2102, 2118, 2112, 2110, 2116, 2122, 2126, 2129, 2131, 2135, 2139, 2143, 2147, 2151, 2155, 2168, 2172, 2176, | |
2176, 2176, 4061, 3272, 2176, 2176, 2176, 2176, 2246, 2207, 2216, 2264, 2176, 2176, 3869, 2176, 2176, 4051, 4098, | |
2410, 2223, 2176, 2176, 2176, 4071, 2984, 2229, 3049, 3049, 2302, 2176, 2176, 2176, 4128, 2243, 2219, 2176, 2176, | |
2176, 4100, 2562, 2564, 2564, 2564, 2565, 2176, 2281, 2176, 3044, 2982, 2199, 3049, 3049, 2260, 2265, 2201, 3049, | |
3049, 3049, 3049, 2232, 2260, 2263, 2176, 2176, 2176, 4120, 2176, 2562, 2564, 2280, 3044, 2565, 2979, 2982, 2982, | |
2982, 2982, 2983, 2256, 3049, 2565, 3045, 2982, 2982, 3047, 3049, 3049, 2203, 2567, 2982, 2982, 2295, 2291, 2982, | |
2296, 2202, 2980, 2294, 3050, 3044, 2293, 3049, 3045, 3048, 2980, 2300, 3046, 2308, 2311, 3255, 4149, 2370, 2315, | |
2325, 2325, 2325, 2319, 2373, 2323, 2325, 2325, 4193, 2331, 2327, 2334, 2338, 2342, 2346, 2350, 2352, 2356, 2359, | |
2363, 2367, 2377, 2381, 2385, 3617, 2395, 2658, 4079, 2176, 2176, 2417, 2176, 4027, 2421, 2176, 2176, 4123, 3210, | |
2176, 3625, 2176, 2176, 2435, 2176, 2176, 3976, 2176, 2176, 2524, 2810, 2741, 2688, 2468, 2480, 2484, 2488, 2490, | |
2494, 2496, 2500, 2504, 2505, 2509, 2513, 3681, 2176, 2212, 2645, 2085, 2519, 2599, 2176, 2176, 2176, 2304, 3558, | |
4136, 2176, 2530, 2995, 2176, 2438, 2536, 3479, 2817, 3033, 2543, 2164, 2176, 2176, 2163, 2845, 2176, 2176, 2176, | |
2428, 4138, 3119, 2554, 2842, 2283, 2560, 2176, 2176, 2600, 3423, 2589, 2593, 2176, 2176, 2606, 3446, 3406, 2176, | |
2176, 2176, 2430, 2598, 2176, 2176, 2176, 2476, 2892, 2176, 2176, 3119, 2401, 3196, 2761, 2176, 2176, 2549, 2176, | |
2176, 3045, 2982, 2605, 2610, 2616, 2176, 2275, 2176, 2176, 2176, 4124, 3438, 2620, 2611, 2176, 2176, 2176, 2525, | |
3403, 2628, 2176, 2176, 2624, 2638, 3376, 2635, 2639, 2176, 2176, 2235, 2663, 2176, 2176, 2176, 2549, 2803, 2876, | |
2176, 2431, 2545, 2631, 2176, 2252, 2176, 3890, 2176, 3499, 2669, 2682, 2735, 2176, 3893, 2464, 3522, 2668, 3616, | |
2176, 2391, 2176, 2176, 2925, 2176, 2669, 2670, 3618, 2176, 2407, 2176, 2176, 2266, 2176, 2926, 2176, 2176, 2176, | |
2562, 2699, 2176, 3119, 3553, 2249, 3096, 3487, 4190, 2706, 2710, 2714, 2718, 2721, 2723, 2727, 2731, 2731, 2734, | |
2176, 2442, 2449, 2176, 2185, 2193, 2176, 2158, 3485, 2176, 2176, 3832, 3706, 2471, 2822, 2740, 2745, 3668, 2176, | |
2755, 2766, 3712, 3667, 2176, 3190, 2776, 3137, 2176, 2176, 2751, 2930, 3136, 2782, 2176, 2176, 2777, 2459, 2389, | |
2793, 2401, 2474, 2807, 4039, 2691, 2599, 3010, 2913, 2176, 2526, 2176, 3227, 2176, 4047, 2816, 2821, 2267, 3780, | |
2826, 2176, 2532, 3101, 2176, 2176, 2176, 2869, 2178, 3058, 2849, 2462, 2401, 4025, 4159, 3812, 2854, 2176, 3745, | |
2873, 2898, 2176, 2176, 2176, 2564, 3755, 2904, 2176, 2176, 2812, 2678, 3967, 2176, 3119, 2454, 2176, 2176, 3114, | |
2850, 3009, 2402, 4158, 4164, 2921, 2176, 3528, 2906, 2176, 2176, 2176, 2585, 2888, 2176, 2176, 2176, 2772, 2282, | |
2939, 2177, 2455, 2422, 4156, 2601, 3462, 2176, 3541, 2176, 2176, 2908, 2176, 4230, 3251, 3250, 3462, 2550, 2977, | |
2176, 2550, 2977, 2176, 2989, 2176, 3969, 2176, 2971, 2424, 4156, 3249, 4142, 2176, 4140, 2176, 2682, 2176, 2670, | |
2800, 2421, 3617, 2988, 2270, 3039, 4141, 2429, 2993, 2999, 3731, 3042, 4157, 3948, 4018, 4017, 2999, 3732, 2994, | |
4018, 3003, 3516, 3515, 2999, 3512, 3597, 4052, 2669, 2412, 3618, 2271, 3617, 2583, 2176, 2702, 2176, 2176, 3240, | |
2176, 2526, 3015, 3026, 2176, 3288, 2666, 3030, 2656, 3054, 3064, 3068, 3072, 3076, 3080, 3082, 3084, 3088, 3091, | |
3091, 3091, 3095, 3100, 2176, 2176, 2176, 2849, 2612, 3142, 2176, 3426, 3276, 2179, 3106, 3262, 2453, 2224, 2224, | |
2176, 3878, 2176, 3110, 3175, 4067, 3381, 3473, 3141, 2176, 3425, 3275, 3459, 3108, 2187, 2760, 2176, 4086, 3146, | |
2176, 2176, 3152, 3158, 3163, 2176, 3164, 3610, 2176, 3169, 2176, 2176, 2176, 2885, 2398, 2176, 2176, 2176, 2934, | |
3278, 3955, 2176, 2176, 3021, 2176, 2176, 2176, 4014, 2176, 3649, 3187, 2176, 2747, 4163, 4033, 3685, 4039, 4178, | |
2225, 2176, 3202, 2176, 2769, 2195, 2176, 2268, 2571, 2577, 3164, 3206, 2176, 2176, 3134, 2176, 2176, 4002, 3210, | |
2176, 2777, 3358, 2176, 2795, 2176, 2176, 2669, 3254, 3217, 2176, 3017, 2176, 2797, 2176, 2176, 2659, 2695, 4122, | |
2187, 3057, 2224, 2176, 3851, 3242, 2176, 2176, 2176, 2282, 3449, 2176, 3018, 2176, 2860, 2176, 2176, 2671, 3179, | |
2176, 3775, 2176, 3222, 3242, 2978, 3785, 2176, 2879, 2176, 2176, 3608, 2867, 3212, 2176, 3220, 3970, 3260, 3220, | |
3219, 2176, 2880, 2176, 2176, 3747, 3447, 3261, 3221, 3220, 3259, 3412, 3212, 2176, 3411, 3218, 3785, 3220, 3266, | |
3413, 3786, 3213, 2176, 2917, 2176, 2176, 2890, 2176, 3286, 2176, 2735, 2176, 2924, 2452, 2176, 2644, 2649, 2176, | |
2292, 3047, 2202, 2445, 3293, 3297, 3301, 3305, 3309, 3317, 3311, 3313, 3321, 3321, 3321, 2176, 3701, 3285, 2176, | |
2938, 2176, 3056, 3277, 3007, 2573, 2176, 2966, 2176, 2176, 2909, 2176, 3942, 3325, 3335, 3232, 3343, 3642, 3349, | |
3353, 4174, 2599, 4107, 2685, 2176, 2969, 2176, 2176, 2437, 2176, 4204, 2176, 2176, 4203, 2176, 3702, 3101, 2176, | |
2971, 3364, 3417, 3364, 3369, 2177, 3375, 2176, 3725, 2176, 3011, 3556, 3380, 2176, 2176, 3148, 2176, 3701, 2161, | |
2176, 2176, 3153, 2787, 3345, 3400, 2176, 2176, 3164, 2960, 3387, 2176, 2176, 2176, 3059, 2640, 3395, 2176, 2176, | |
3165, 2176, 2176, 3435, 2176, 2176, 3442, 3365, 2176, 2176, 3718, 3360, 2176, 2971, 3466, 3472, 2176, 3477, 2912, | |
2176, 3883, 2176, 3331, 2761, 3277, 3839, 2176, 3124, 3388, 3135, 3939, 2788, 2176, 2176, 3223, 3242, 3491, 2176, | |
2176, 2176, 3096, 3497, 2176, 2239, 2176, 3127, 3795, 2176, 3153, 2176, 2176, 2778, 3359, 2758, 2176, 3005, 2176, | |
3182, 3937, 2799, 3939, 3940, 2176, 3229, 2735, 3371, 2971, 3503, 3941, 2599, 3229, 2176, 3192, 2830, 2176, 2563, | |
2564, 2566, 2789, 2403, 2176, 3520, 2822, 2176, 3252, 3251, 2176, 4156, 4155, 2176, 3210, 2176, 2176, 2176, 2994, | |
4155, 3250, 2176, 2176, 3229, 2176, 2176, 3958, 2611, 2176, 2176, 2676, 3248, 2176, 2453, 3625, 2973, 3527, 3532, | |
3269, 3538, 3550, 3562, 3566, 3584, 3570, 3574, 3578, 3582, 3588, 3590, 3590, 3591, 2176, 2176, 2176, 3120, 3595, | |
2176, 2176, 2270, 2863, 2189, 3060, 3636, 3546, 3601, 2176, 3211, 3385, 2176, 2982, 3048, 2203, 2881, 3243, 2176, | |
3605, 3614, 3824, 2176, 2594, 2176, 3631, 3623, 3629, 2701, 2176, 2176, 2176, 3154, 3545, 3338, 2269, 4181, 3646, | |
2900, 3818, 3988, 3653, 2176, 2176, 2176, 3173, 3641, 2176, 2176, 2176, 3183, 3339, 4172, 3505, 2176, 2839, 2176, | |
3659, 2176, 2176, 2176, 3197, 3683, 3672, 2176, 2880, 2836, 2176, 3691, 3698, 2176, 3231, 2176, 3509, 2176, 3746, | |
3710, 2176, 3236, 3102, 4088, 2972, 3544, 3459, 4173, 3716, 3115, 2176, 2176, 3253, 3252, 2176, 3722, 2176, 3791, | |
3991, 3768, 2176, 2176, 3354, 4057, 2736, 2176, 2176, 2176, 3218, 3990, 3767, 2176, 2176, 3459, 2761, 2971, 3772, | |
2180, 3717, 3784, 2822, 3790, 2176, 3247, 3096, 3328, 2176, 3801, 3739, 2893, 3744, 2413, 3805, 3811, 3117, 2822, | |
3816, 2176, 3277, 3977, 2865, 3655, 3795, 2176, 3655, 3795, 2783, 2940, 3419, 3116, 2833, 2939, 3661, 3665, 2176, | |
3663, 2544, 3761, 3619, 3287, 2176, 2783, 2599, 2944, 2176, 4183, 2276, 2668, 3943, 3947, 2539, 2894, 3822, 3945, | |
3828, 2539, 2538, 3944, 2556, 3823, 3946, 2962, 2538, 3534, 3836, 3844, 3848, 3858, 3855, 3860, 3864, 2910, 2176, | |
3289, 3467, 2423, 3938, 2176, 2176, 2799, 3868, 3873, 3882, 2176, 3392, 3396, 2176, 3036, 3740, 4112, 3887, 3897, | |
3901, 3905, 3909, 3912, 3916, 3919, 3922, 3926, 3930, 3932, 3933, 2176, 2176, 3504, 3130, 4165, 2956, 3164, 3952, | |
2181, 3159, 2176, 4110, 3797, 2176, 3409, 2176, 3430, 3941, 2176, 3118, 2176, 3752, 2857, 2176, 3962, 2210, 3675, | |
2176, 4094, 3975, 2176, 4093, 3974, 2176, 3431, 2564, 2564, 2176, 2979, 2982, 2287, 3049, 3049, 3050, 2176, 2176, | |
2252, 2176, 3211, 4007, 2911, 2176, 3453, 2176, 3330, 2955, 2670, 3022, 4156, 3456, 2176, 4111, 3148, 2946, 2176, | |
2176, 2176, 3282, 3981, 3985, 4045, 3460, 2176, 3995, 3999, 2176, 3458, 2760, 2176, 2515, 2653, 2176, 2387, 3840, | |
2423, 4006, 3728, 2176, 4011, 2176, 4022, 3778, 2176, 3461, 2520, 2176, 2176, 4130, 3694, 4111, 3965, 4031, 2176, | |
3468, 2951, 2176, 2672, 3019, 2868, 2176, 3807, 4037, 4043, 3459, 2176, 2176, 2176, 3448, 2176, 4073, 2176, 2176, | |
2176, 3635, 4051, 4056, 3485, 2176, 3483, 2176, 2176, 3220, 2971, 3523, 2954, 3876, 4065, 3779, 2390, 2176, 2947, | |
2178, 2176, 2176, 2176, 3748, 4077, 2176, 2176, 2176, 3758, 4083, 2801, 3617, 3678, 2176, 4092, 2176, 2176, 3745, | |
3640, 2176, 4104, 2176, 2176, 3746, 3744, 4116, 2802, 2421, 2867, 4109, 2176, 2176, 4181, 2176, 4134, 2580, 3533, | |
2762, 2176, 2176, 2176, 3763, 2176, 4120, 3211, 4146, 2176, 4153, 2176, 4225, 3218, 2176, 2176, 2176, 3957, 3043, | |
2422, 2176, 2176, 3829, 2176, 3685, 2750, 3687, 4169, 4187, 4197, 4208, 4212, 4217, 4216, 4221, 4224, 2749, 3198, | |
4200, 2176, 3493, 2176, 2176, 2981, 2982, 2176, 4229, 2176, 3020, 2176, 3830, 2176, 2176, 3831, 3736, 2238, 2176, | |
2176, 3838, 2176, 2176, 2176, 3431, 4303, 4671, 4234, 5076, 4236, 5072, 4592, 5076, 5047, 5074, 4741, 4242, 4253, | |
4256, 4244, 4267, 4632, 4243, 4244, 4245, 4267, 4267, 4267, 4267, 4267, 4242, 4244, 4246, 4262, 4264, 4267, 4267, | |
4254, 4267, 4266, 4267, 4267, 4267, 4261, 4246, 4271, 4278, 4272, 4273, 4275, 4280, 4279, 4280, 4280, 4280, 4280, | |
4281, 4277, 4278, 4282, 4277, 4287, 4281, 4283, 4278, 4284, 4285, 4898, 4289, 4396, 4294, 4292, 4290, 4293, 4296, | |
4298, 4296, 4297, 4296, 4300, 4302, 4248, 5069, 4392, 4613, 4783, 5076, 5076, 4578, 4542, 5076, 5085, 4234, 5076, | |
5034, 4744, 4336, 4420, 4681, 5076, 5076, 5076, 5076, 4237, 5076, 5076, 4745, 4681, 4331, 4309, 5076, 4926, 5036, | |
5076, 4237, 4892, 4659, 4449, 5076, 5076, 4240, 5076, 4677, 4718, 4719, 4314, 4314, 4314, 5076, 5076, 4314, 4320, | |
4321, 5076, 4316, 5076, 5076, 4716, 5072, 5085, 5076, 4336, 4336, 4426, 4427, 4681, 4329, 5076, 5076, 5076, 4268, | |
5076, 4718, 4318, 4719, 4314, 4314, 4347, 5076, 4322, 5055, 4563, 5076, 5076, 5076, 4916, 4314, 4347, 4347, 4335, | |
4507, 4914, 4306, 4250, 4672, 5076, 4322, 5055, 4742, 4717, 4717, 4318, 4318, 4314, 4347, 4347, 4336, 4427, 4427, | |
5076, 5076, 5076, 4239, 5076, 5076, 5076, 4258, 4667, 5076, 5076, 5036, 5076, 4746, 4367, 4367, 5076, 5076, 5076, | |
4305, 4572, 4665, 4677, 4718, 4319, 4367, 5076, 4665, 4665, 4665, 4896, 4314, 4314, 4314, 4896, 4314, 4314, 4315, | |
5076, 5076, 4248, 4325, 4314, 4676, 4896, 4897, 4897, 4897, 4315, 4378, 4353, 4349, 4355, 4384, 4688, 4692, 4683, | |
4349, 4350, 4688, 4688, 4688, 4688, 4670, 4690, 4377, 4383, 4688, 4688, 4669, 4693, 4669, 4747, 4689, 4688, 4398, | |
4352, 4351, 4350, 4400, 4402, 4403, 4688, 4683, 5040, 4405, 5041, 5041, 5042, 5042, 5043, 5044, 4408, 4408, 4407, | |
4407, 4412, 4409, 4414, 4442, 4409, 4416, 5076, 4423, 4688, 4684, 4424, 4691, 4376, 4380, 4382, 4692, 4432, 4694, | |
4434, 4437, 4436, 4437, 4439, 4441, 4410, 5076, 5076, 4248, 5076, 5076, 5076, 4539, 4569, 5038, 5076, 5076, 4628, | |
4838, 4509, 5076, 4330, 5076, 5076, 4893, 4509, 5076, 5037, 4451, 5076, 4331, 4475, 5076, 4713, 5076, 5075, 5076, | |
5076, 4924, 4239, 4667, 5076, 5076, 5076, 4330, 5076, 4681, 4699, 5076, 5076, 5076, 4331, 4450, 4592, 5076, 5076, | |
5034, 5076, 5076, 5076, 4334, 4480, 4745, 5076, 4927, 4361, 5076, 4846, 4480, 4499, 4497, 4666, 5076, 5076, 5076, | |
4585, 5076, 4258, 4926, 4478, 4483, 5076, 4343, 5076, 5076, 4430, 5076, 4539, 4926, 4617, 5076, 4356, 4662, 5076, | |
4357, 5076, 5076, 4394, 4783, 4616, 4784, 4741, 4512, 4513, 4514, 4515, 4515, 4518, 4517, 4518, 4518, 4521, 4520, | |
4523, 4525, 4528, 4528, 4528, 4527, 4526, 4528, 4527, 4528, 4530, 4530, 4530, 4530, 4532, 4532, 4534, 4532, 4533, | |
4536, 4538, 5076, 5076, 4322, 4372, 4479, 4394, 4630, 4783, 4509, 4544, 5076, 5076, 5076, 4338, 4666, 4510, 4983, | |
5076, 5076, 4338, 4895, 4618, 5086, 5076, 5076, 4338, 4982, 5036, 4548, 5076, 5076, 5076, 4344, 4711, 4713, 5076, | |
5076, 5076, 4362, 5072, 4557, 5076, 5076, 4364, 5076, 5072, 4730, 5076, 5076, 4367, 4367, 4367, 4367, 4368, 5076, | |
4676, 4307, 5076, 5076, 4335, 4557, 5076, 4577, 4728, 4611, 5076, 4449, 5076, 4475, 4475, 5076, 5076, 4464, 4490, | |
4580, 4450, 4328, 4583, 4471, 5076, 5076, 5076, 4447, 4783, 4509, 5076, 5076, 5076, 4335, 4681, 5072, 5076, 5076, | |
5076, 4455, 4776, 4306, 5076, 5076, 5076, 4460, 4305, 4590, 4610, 4742, 4372, 4781, 4492, 4563, 4786, 4450, 4328, | |
4782, 4624, 4492, 4563, 4306, 4449, 4592, 4306, 4450, 4328, 4503, 4615, 4251, 5076, 5076, 5076, 4463, 5072, 5076, | |
4711, 4306, 5076, 5076, 5072, 4592, 4306, 4624, 4563, 4306, 5076, 4472, 4373, 5076, 5076, 5076, 4306, 4328, 4592, | |
4251, 5076, 4472, 5076, 5076, 4475, 5076, 5076, 5076, 4472, 4745, 4612, 4574, 4509, 5076, 4891, 4676, 5076, 5076, | |
4971, 5076, 4509, 4890, 5076, 4539, 4891, 5076, 4356, 4559, 4502, 4744, 4335, 5076, 4605, 4268, 4269, 5076, 5076, | |
4369, 4961, 5076, 4311, 4626, 4312, 4634, 4636, 4641, 4641, 4644, 4646, 4645, 4645, 4638, 4645, 4640, 4648, 4641, | |
4641, 4641, 4641, 4642, 4641, 4643, 4642, 4641, 4649, 4650, 4650, 4650, 4650, 5076, 5076, 5076, 4475, 4247, 4675, | |
5076, 5076, 5076, 4496, 5076, 5033, 4747, 5076, 4748, 4748, 5076, 5076, 5076, 5068, 5076, 5037, 4705, 5076, 4540, | |
5076, 4585, 5076, 5076, 5076, 4480, 5076, 5076, 5093, 5076, 4545, 4554, 5076, 4370, 4541, 4967, 5077, 5076, 5076, | |
5076, 4498, 4715, 4727, 5076, 5076, 5076, 4501, 4652, 5076, 5076, 5076, 4509, 4509, 5038, 4343, 5076, 5076, 4394, | |
4575, 5076, 5076, 4368, 5076, 5076, 4449, 5076, 4269, 5076, 5076, 4980, 5076, 4547, 5076, 5076, 4325, 4846, 5092, | |
5076, 5076, 5076, 4555, 5038, 5076, 5076, 5076, 4558, 4388, 4734, 4700, 4575, 4735, 4592, 4509, 5076, 4558, 4744, | |
4475, 4708, 5088, 5076, 4558, 4798, 5076, 4568, 4306, 5076, 4394, 4491, 4575, 5076, 5076, 5038, 5076, 4713, 4426, | |
4664, 4509, 5076, 4570, 5030, 5076, 4574, 4509, 5076, 4491, 5076, 4335, 5036, 5076, 5076, 5076, 4612, 4358, 4737, | |
5076, 4747, 5076, 4591, 4742, 5076, 4480, 5076, 5076, 5076, 4892, 4687, 4678, 4552, 4623, 4987, 5076, 5076, 4457, | |
5076, 5076, 5076, 4449, 4653, 4395, 4575, 5076, 5076, 4448, 5076, 4488, 4366, 4655, 4509, 5076, 5076, 4456, 5076, | |
5076, 5076, 4368, 4509, 5076, 4596, 5089, 4599, 4666, 4425, 4826, 4509, 5076, 4596, 5089, 4599, 4502, 5076, 4455, | |
4488, 4654, 4575, 5037, 4678, 4552, 4623, 4305, 4744, 5076, 5076, 5076, 4653, 4926, 4737, 5076, 5076, 4457, 4927, | |
5076, 4488, 4606, 4509, 5076, 4609, 4449, 5076, 4748, 4475, 4505, 4454, 5036, 5076, 5036, 4745, 4678, 4488, 4606, | |
5076, 4630, 5076, 5076, 4258, 5076, 5076, 4257, 4740, 5076, 5076, 5076, 4676, 4665, 4665, 4665, 4665, 4677, 4717, | |
5076, 5076, 5076, 5089, 5076, 4894, 5075, 5076, 5076, 5076, 4333, 5076, 5076, 5088, 4672, 5076, 5089, 4713, 5076, | |
5076, 5037, 4344, 5076, 5076, 5076, 4608, 5076, 4373, 4609, 5076, 4460, 4573, 5076, 5076, 5076, 4746, 5076, 5036, | |
5076, 5028, 4420, 4664, 4373, 5038, 4421, 5076, 4673, 5087, 5076, 4374, 5024, 5076, 4391, 4427, 5076, 4391, 5076, | |
5076, 5076, 4665, 4665, 4314, 4314, 4314, 4314, 4315, 4237, 4473, 4237, 5076, 4958, 5076, 5076, 5076, 4596, 4750, | |
4753, 4417, 4417, 4418, 4603, 4602, 4755, 4756, 4758, 4770, 4770, 4761, 4763, 4764, 4765, 4764, 4765, 4767, 4770, | |
4770, 4770, 4770, 4772, 4771, 4770, 4769, 4759, 4774, 4774, 4774, 4774, 4775, 5076, 5076, 5076, 4711, 4895, 4783, | |
5076, 5076, 5076, 4708, 5076, 5076, 5088, 4330, 5076, 5076, 4481, 4608, 4788, 5076, 5076, 5076, 4715, 5076, 5076, | |
5076, 4716, 4363, 4851, 4801, 4804, 5076, 4682, 4455, 4829, 4628, 4832, 4575, 4806, 4808, 5076, 5076, 5076, 4725, | |
4727, 4460, 4778, 4420, 4368, 5076, 4812, 4817, 5076, 5076, 4493, 5076, 4928, 5076, 5076, 5076, 4743, 4652, 4925, | |
5076, 5076, 5076, 4744, 4818, 5076, 5076, 5076, 4745, 5076, 4824, 4627, 4837, 4575, 4810, 4783, 5076, 5076, 4494, | |
4660, 4745, 4551, 4573, 5076, 4687, 4342, 4974, 4631, 4831, 4562, 4509, 5076, 4688, 5076, 5076, 4387, 4389, 4780, | |
5076, 5076, 5076, 4747, 4672, 5076, 5076, 5060, 4712, 4752, 4830, 4359, 4712, 4268, 5076, 5076, 5076, 4749, 5076, | |
4927, 4810, 5076, 5076, 5076, 4750, 5076, 5076, 5076, 4751, 4840, 4472, 4681, 5076, 5076, 4508, 5076, 5076, 5076, | |
4879, 4780, 5076, 5076, 4958, 4751, 4840, 4712, 5076, 5076, 5076, 4259, 5076, 5076, 4927, 5076, 5076, 5076, 4681, | |
5076, 5076, 5076, 4667, 4563, 5076, 5076, 4926, 5076, 5076, 5076, 4780, 4750, 5076, 4926, 5076, 4711, 4324, 5076, | |
4711, 4701, 5076, 4249, 5076, 5076, 5076, 4713, 4337, 4747, 4506, 4474, 4629, 4360, 4892, 5076, 5076, 5076, 4466, | |
5076, 4891, 4850, 4849, 4848, 4720, 4853, 4855, 4857, 4859, 4859, 4871, 4872, 4865, 4864, 4865, 4863, 4866, 4870, | |
4859, 4859, 4859, 4859, 4860, 4861, 4868, 4875, 4874, 4867, 4861, 4861, 4861, 4861, 4345, 4877, 4712, 5076, 4711, | |
5076, 5076, 4539, 4715, 4493, 4391, 4462, 4569, 5076, 4712, 4237, 5076, 5076, 4882, 4509, 5076, 5076, 4539, 5054, | |
5076, 5076, 4950, 4658, 4802, 5076, 5076, 5076, 4785, 4715, 4390, 4493, 4585, 5076, 5076, 5076, 5038, 5076, 5076, | |
4337, 5076, 4904, 5076, 5076, 4540, 4958, 4461, 5076, 5076, 5076, 4786, 4906, 5076, 5076, 5076, 4795, 4468, 4490, | |
4588, 5076, 5076, 5076, 4806, 5076, 5076, 4908, 4465, 4607, 4239, 5076, 5076, 4622, 4796, 4958, 5076, 4716, 4322, | |
4372, 4582, 4470, 5076, 4463, 4927, 5076, 4749, 5076, 5076, 4749, 4335, 5075, 5076, 5076, 4596, 5076, 4491, 4509, | |
5076, 5076, 4612, 5076, 5076, 4608, 5076, 5076, 4663, 4367, 4506, 4910, 4783, 5076, 4729, 4716, 4322, 4539, 4715, | |
4373, 4493, 4587, 4235, 5076, 5076, 5076, 4810, 5076, 5088, 4326, 4815, 5076, 4744, 5076, 5076, 4716, 5076, 5076, | |
5076, 4479, 5076, 5076, 5037, 5076, 5076, 4716, 4455, 4337, 5076, 5076, 5076, 4819, 4335, 4509, 5076, 5076, 4619, | |
5076, 4335, 4507, 4968, 4306, 5076, 5076, 4621, 5076, 4586, 4968, 5076, 5076, 4627, 4561, 4469, 4509, 5076, 5076, | |
4663, 4509, 5037, 5076, 5076, 5076, 4834, 5076, 4539, 4715, 5076, 4258, 5076, 4986, 5076, 4667, 5073, 5076, 5076, | |
5076, 4918, 5076, 5076, 4663, 5076, 5076, 4920, 5076, 5076, 4926, 4737, 4486, 5076, 5036, 5076, 5076, 4419, 4486, | |
4716, 4564, 4716, 4487, 4623, 5075, 4361, 5076, 4599, 5076, 5076, 4337, 5076, 4716, 4337, 5076, 4335, 4653, 4663, | |
5076, 5076, 4550, 5076, 4922, 4933, 4923, 4566, 4565, 4932, 4612, 4930, 4936, 4936, 4936, 4937, 4942, 4941, 4941, | |
4931, 4939, 4939, 4940, 4944, 4941, 4941, 4941, 4941, 4936, 4935, 4946, 4941, 4948, 4948, 4948, 4948, 4949, 4959, | |
4306, 5076, 5076, 4667, 5075, 4702, 4237, 5076, 4238, 5076, 5076, 4952, 5076, 4745, 4505, 4454, 4600, 4712, 5076, | |
4956, 5076, 5076, 4667, 5076, 5076, 4667, 4450, 5076, 4994, 5076, 5076, 4676, 5076, 4335, 5076, 4957, 5076, 4304, | |
5076, 4258, 5076, 5076, 5075, 4361, 4814, 4798, 5076, 5076, 5076, 4884, 5076, 5076, 4963, 5076, 4745, 4752, 4627, | |
4966, 4797, 5076, 5076, 4682, 4459, 5076, 4975, 5076, 5076, 4682, 4979, 4328, 4744, 5076, 5076, 4696, 4698, 5076, | |
5076, 5054, 4844, 5076, 4745, 5046, 5076, 4746, 5036, 5076, 4747, 4258, 5076, 4748, 5076, 4747, 4748, 5076, 4304, | |
4682, 4679, 4428, 5054, 4489, 4485, 4584, 4970, 4614, 4798, 5076, 4747, 4506, 4474, 4613, 4429, 4541, 4560, 4797, | |
4601, 4509, 5076, 5076, 4707, 4722, 4745, 4686, 5076, 5076, 5076, 4912, 5054, 4815, 4585, 5076, 4749, 4880, 4738, | |
5076, 4663, 5076, 4713, 5076, 5076, 4327, 4459, 4428, 5054, 4977, 5076, 5076, 5076, 4953, 4827, 5076, 5076, 5076, | |
4926, 4323, 4601, 4235, 5076, 5054, 4815, 5076, 4749, 5068, 4455, 4469, 4235, 5076, 4594, 5076, 5076, 4369, 4371, | |
4825, 4429, 4541, 4815, 4585, 4491, 5076, 4599, 5076, 4751, 4712, 5076, 4708, 5076, 5076, 5076, 5039, 4558, 5076, | |
5076, 5076, 4927, 4749, 4744, 5076, 4475, 4744, 4304, 4541, 4744, 5076, 5076, 4710, 5076, 5076, 4973, 4459, 4813, | |
5036, 4237, 5076, 5076, 4716, 5053, 4745, 4748, 5076, 5076, 5037, 4744, 4667, 4708, 5076, 5088, 5076, 5076, 4985, | |
5076, 5076, 5076, 4964, 4653, 5076, 4746, 5076, 5076, 5076, 4973, 4680, 4328, 5076, 4745, 5076, 5076, 5076, 5038, | |
4657, 4338, 4982, 5076, 4338, 4982, 5076, 4746, 5076, 4751, 4836, 4359, 4373, 4745, 5076, 4419, 4373, 5076, 4419, | |
5076, 4456, 4458, 4458, 4458, 4458, 5076, 5076, 5076, 5075, 5076, 4609, 5076, 4344, 4748, 4475, 5076, 5076, 4790, | |
4820, 4668, 5076, 5076, 4667, 4892, 5076, 4989, 5075, 4667, 4450, 4892, 5076, 4504, 4457, 4927, 5036, 5075, 4993, | |
5035, 5076, 5076, 5035, 4996, 4744, 4267, 4708, 4723, 4709, 4999, 5001, 5003, 5004, 4954, 5005, 5006, 5007, 5009, | |
5011, 5015, 5015, 5018, 5019, 5013, 5015, 5016, 5015, 5012, 5016, 5003, 5021, 5022, 5022, 5022, 5022, 5076, 4631, | |
4738, 5076, 5076, 5076, 4997, 5076, 5076, 5076, 4419, 4328, 5076, 5076, 5076, 4426, 4750, 5076, 5036, 5076, 4793, | |
5076, 5076, 4500, 4629, 4959, 5032, 5076, 4467, 5076, 4796, 5076, 5076, 4743, 5076, 5076, 5076, 4666, 4393, 5025, | |
5076, 5076, 5076, 5034, 4821, 5076, 5069, 4846, 4968, 5076, 5076, 5051, 5076, 4798, 5076, 5076, 4682, 4455, 4825, | |
5076, 5088, 5068, 5070, 4393, 4614, 4235, 5076, 4834, 4829, 4490, 4749, 4671, 4714, 4631, 4738, 4373, 4344, 4747, | |
4667, 5076, 4365, 5076, 4327, 5075, 5076, 5076, 4746, 4653, 5076, 4893, 4368, 5076, 5076, 4444, 4446, 5076, 5053, | |
5076, 5076, 4747, 5076, 4614, 4509, 5076, 5076, 4748, 5076, 5057, 5076, 4666, 4585, 5076, 5076, 4732, 5076, 5076, | |
5076, 5076, 5088, 4258, 5068, 5059, 4500, 4613, 4235, 5076, 4990, 5055, 4738, 4745, 4653, 5076, 5076, 4792, 5076, | |
5088, 4325, 4429, 4323, 4614, 4235, 5061, 4306, 5076, 5076, 4799, 5076, 4749, 4991, 4361, 5076, 4843, 4712, 5076, | |
5076, 4268, 4484, 5076, 5076, 5076, 5049, 4393, 5071, 4703, 5076, 5076, 4823, 4829, 4812, 4323, 4306, 5076, 4888, | |
5076, 5076, 4539, 5076, 5076, 5076, 5027, 4990, 4712, 5076, 4368, 5076, 5071, 4466, 5076, 5076, 5076, 4752, 4490, | |
4391, 4323, 5076, 5076, 4842, 4476, 4749, 4991, 5076, 5076, 4891, 4304, 5076, 5076, 4332, 5073, 5076, 5076, 4991, | |
5076, 4344, 5076, 4891, 4585, 5067, 5076, 5071, 5076, 5076, 4893, 5076, 5076, 4509, 5076, 5076, 4747, 4747, 5076, | |
5076, 5076, 4609, 4597, 5076, 4685, 5076, 4891, 5076, 5076, 5076, 4886, 5063, 5066, 4747, 5076, 4892, 5076, 5076, | |
4678, 4552, 5064, 5076, 4745, 4747, 4310, 5038, 4688, 4691, 4688, 4386, 5090, 4452, 5091, 4748, 5095, 5080, 5076, | |
4900, 4902, 4239, 5076, 4685, 4340, 4453, 4339, 4341, 4339, 4339, 5084, 5083, 5079, 5079, 5079, 5079, 5083, 5082, | |
5082, 5095, 5076, 5076, 5076, 5071, 4749, 4258, 5076, 5076, 4391, 524288, 1073741824, -2147483648, 128, 0, | |
-1073741824, 0, -1023410176, 16777218, 16777472, 553648128, -2130706432, -2130706432, 16777216, 8, 16, -2147483648, | |
536870912, -2147483648, 16777728, 16781312, -2130706432, 276824064, 8388608, 64, 0, 7, 16784896, 16781312, 269639680, | |
1351680, -2130706432, 1122304, 16777216, 16777216, 33554432, -2147483648, 16777218, 754974722, 18874368, 18878464, | |
555745280, 555745280, -1392508926, 754974722, 754974722, 150994946, 150994946, 754974722, 218103810, 150994946, | |
757071874, 754974722, 218103810, 218103810, 12583040, 20971648, -2126512000, 557842560, 20971648, 20971648, 20971712, | |
-2126504256, -2126504256, -2126504254, -2126504256, 759169154, 759169154, -1992286526, 4, 8, 0, -2147483648, 0, | |
-1879048192, 3584, 0, 296, 4194320, 39850256, 4194368, 4194368, 0, 2816, 192, 192, 4194368, 4288, 3072, 32768, 262144, | |
128, 512, 2048, 524288, 1048576, 8192, 0, 3072, 4096, -2097152000, 0, 256, 256, 0, 32, 32, 34, 32, 64, 32768, 0, 33, | |
4288, 4288, 524304, 1048592, 16, 528, 528, 262160, 268435472, 16, 4352, 2097152, 8388608, 16777216, 67108864, 0, 7168, | |
32768, 1048576, 1048576, 2097152, 2097152, 0, 1840, 28672, 131072, 524288, 0, 1920, 24, 560, 48, 80, 48, 1049104, | |
1572880, 524304, 16, 131088, 17, 20, 8064, 131072, 786432, 0, 8192, 49152, 262144, 2097152, 12582912, 20971712, 16, | |
165675008, 528, 1049136, -164575404, -164575404, -164575403, -164625872, -164575403, -164575376, -164575372, | |
-164575372, -164313228, -26200268, -164313232, -164100176, -164100172, -164313228, -164575372, 0, 8200, 32, 512, 4096, | |
-2147483648, 16, 536936448, 16, 256, 4096, 4096, 8192, 16384, 1026, 21, 112, 117, 140521492, 140571964, 140571932, | |
140571932, 141620508, 140571933, 140571964, -164575372, -164100175, 8192, 138412032, 239075328, 0, 18432, 0, 32768, | |
131072, 24, 24, 32, 256, 512, 0, 512, 512, 1024, 0, 640, 0, 768, 6144, 262144, 0, 896, 6144, 134217728, -1342177280, | |
0, 1024, 1024, 2048, 0, 1026, 66048, 16384, 65536, 0, 43008, 65536, 268435456, 4194304, 67108864, 256, 7168, 786432, | |
262144, 8388608, 67108864, 134217728, 0, 1056, 82432, 65536, 65536, 16384, 16384, 32768, 4194304, 33554432, 67108864, | |
2, 8, 512, 6144, 1073741824, 0, 49280, 344506528, -2097147888, -2097147888, -1819750272, -1819750272, -1021046768, | |
277467296, 277467296, -1870081888, -1870081888, 277475744, -1836527456, -1819750240, -1836527455, -1819750224, | |
-1870015839, -1819750224, -1819750224, -1080370048, -1080370048, -1080370044, -1080370044, -1080370043, -1080370044, | |
-1080370000, -1080370000, -1080370012, 0, 65536, 131072, 1572864, -1082130432, 66048, 0, 118912, 82432, 0, 119424, | |
2359296, 1073741824, 512, 7168, 276824064, 0, 127360, 75497472, 0, 131072, 2097152, 16777216, 100663296, 268435456, | |
536870912, -1073741824, 268451840, 7, 4096, 50331648, 0, 147456, 128, 4096, 2097152, 268435456, 1073741824, 12288, 0, | |
187520, 128, 7168, 1048576, 125829120, 134217728, 536870912, 0, 6144, 201326592, -1073741824, 128, 32768, 33554432, | |
268435456, 32768, 268435456, 1, 2, 10, 256, 1048576, 4194304, 536870912, 8200, 1064960, 288, 1048576, 8388608, | |
201326592, 0, 524288, 58720256, 0, 262144, 16777216, 134217728, 268435456, 1076101120, 0, 53376, -1870659584, 1048608, | |
0, 786432, 1048576, 33554432, 32832, 8192, 65536, 262144, 4194304, 8388608, 33554432, 16777472, 1208090624, | |
1224867840, 1208090624, 1208090626, 778129680, 1315000592, 778129680, 1247940880, 1247940880, -899542768, 1247940880, | |
241258768, 241258768, 1208090922, 241258768, 1247940880, 1526603668, 1526603668, 288, 0, 1048576, 12582912, 268435456, | |
32832, 0, 1056768, 0, 328, 39845888, 0, 2097152, 4194304, 4194304, 0, 2048, 16, 28, 16, 32, 0, -1837105152, | |
1207959552, 0, 4194304, 128, 256, 1536, 4096, 0, 48, 16, 2, 2, 4, 16, 16, 17, 16, 20, 16, 21, 53, 16, 135424, | |
1247805440, 0, 12582912, 33554432, 33554432, 262144, -2147483648, 86272, 241172480, 778043392, 0, 16777216, 150994944, | |
0, 33554432, 0, 64, 131072, 0, 128, 128, 192, 64, 16810000, 1314914304, 0, 33620032, 20, 925568, 1525678080, 0, | |
41943040, 58720256, -1879048192, 81920, 100663296, 786432, 3145728, 12582912, 65536, 67108864, 1073741824, 786432, | |
8388608, 268435456, -2147483648, 16777216, 0, 1, 0, 2, 0, 4, 0, 6, 1024, -2147483136, 67117064, 184649728, 184649728, | |
184650752, 251766792, -1895716344, 201369608, 201369608, 184650784, 201369928, 201369928, 201369944, 234989576, | |
201369928, 252292104, 251766792, 251766792, 252291080, 251766792, 1602726927, 1602726927, 0, 50331648, 1, 1073741824, | |
16384, 1048576, 58720256, 67108864, 268435456, 8, 128, 3072, 34816, 184614912, 8, 43008, 344, 0, 100663296, 234946560, | |
0, 134217728, 805306368, 0, 163577856, 1032, 0, 245366784, 520, -2147483648, 1039, 43008, 528941056, 1073741824, 32, | |
4194304, 8, 8192, 131072, 16777216, 268435456, 65536, 117440512, 0, 251723776, 0, 67108864, 1, 14, 1024, 4096, | |
4194304, 1073741824, 1024, 8192, 262144, 25165824, 100663296, 1, 6, 1024, 262144, 125829120, 268435456, 1024, | |
16777216, 2, 65536, 16777216, 805306368, 16384, 16777216, 268437504, 67108868, 67108868, 0, 252248064, 67108868, | |
75497732, 33564833, 33562785, 33563297, 50340001, 1182802341, 1182802341, -830194779, -830194779, 246423845, | |
246423845, 244326693, 244326693, 1182802341, 109060517, 109060517, 246423845, 1182802341, 243278117, 318777505, | |
109846949, 109322661, 109060517, 128, 10240, 37, 384, 8388608, 8192, 109051904, 37, 243269632, 384, 109051904, 270336, | |
794624, 37, 0, 268435456, 0, 4096, 524288, 4194304, 4194368, 4194304, 4194432, 37, 896, 276480, 243269632, 256, | |
8388608, 384, 1073741824, 4, 896, 2048, 16777216, 256, 67108864, 201326592, 1073741824, 2048, 268435456, 4096, | |
1073741824, 16384, 67108864, 32768, 268451840, 32768, 100663296, 0, 16384, 0, 320, 256, 822231040, 805453824, 0, | |
268451840, 33024, 805519360, 805519360, 805521408, 805453824, 805453824, 822231040, 822231040, 805519368, 872562688, | |
822231040, 822231296, 822231040, 960132912, 960132912, 0, 318767104, 805437440, 0, 486539264, 1065728, 16384, | |
822214656, 0, 536870912, 1073741824, 28672, 960102400, 196608, 0, 805502976, 1572864, 18874368, 134217728, 1073741824, | |
1572864, 2097152, 1073741824, 48, 256, 131072, 805306368, 1572864, 16777216, 512, 131072, 1073741824, 512, 524288, | |
343932928, 1, 2048, 8388608, 1073741824, 1, 4, 64, 33554432, 33554496, 0, 872546304, 4097, 0, 1073741824, 17152, | |
2114304, 17156, 1065728, 1224755072, 1224755072, 486539264, 490864640, 490864640, 490881024, 1027735552, 1564606464, | |
490864640, 1224753536, 1224754048, 151014144, 1224754048, 1224754048, 1224753536, 151012096, 151012096, 151536384, | |
1224758145, -922425448, -922425448, 16384, 1224736768, -2147483648, 490733568, 0, 1073741825, 1027604480, 1564475392, | |
384, 1224736768, 0, 8388608, 1048576, 0, 16, 0, 20, -164625872, -164625872, -164624528, -164624528, -164624464, 4992, | |
0, 1082130432, 8, 10128, 469762048, 0, 512, 16384, 131072, 33554432, 402653184, 0, 512, 8192, 16777216, 1073741824, | |
34, 70, 0, 70, 2, 16, 128, 1536, 8192, 32768, 524288, 8388608, 8388608, 0, 0, -899678208, 56, 56, 0, 56, 58, 56, 32, | |
524288, -1820327936, 0, 8, 32, 24, 0, 10, 131360, 58, 58 | |
); | |
(:~ | |
: The token-string table. | |
:) | |
declare variable $p:TOKEN as xs:string+ := | |
( | |
"(0)", | |
"EOF", | |
"PragmaContents", | |
"DirCommentContents", | |
"DirPIContents", | |
"CDataSectionContents", | |
"Wildcard", | |
"URIQualifiedName", | |
"URILiteral", | |
"IntegerLiteral", | |
"DecimalLiteral", | |
"DoubleLiteral", | |
"StringLiteral", | |
"PredefinedEntityRef", | |
"'""""'", | |
"EscapeApos", | |
"ElementContentChar", | |
"QuotAttrContentChar", | |
"AposAttrContentChar", | |
"PITarget", | |
"CharRef", | |
"NCName", | |
"QName", | |
"S", | |
"S", | |
"CommentContents", | |
"'!'", | |
"'!='", | |
"'""'", | |
"'#'", | |
"'#)'", | |
"'$'", | |
"'%'", | |
"''''", | |
"'('", | |
"'(#'", | |
"'(:'", | |
"')'", | |
"'*'", | |
"'*'", | |
"'+'", | |
"','", | |
"'-'", | |
"'-->'", | |
"'.'", | |
"'..'", | |
"'/'", | |
"'//'", | |
"'/>'", | |
"':)'", | |
"'::'", | |
"':='", | |
"';'", | |
"'<'", | |
"'<!--'", | |
"'<![CDATA['", | |
"'</'", | |
"'<<'", | |
"'<='", | |
"'<?'", | |
"'='", | |
"'>'", | |
"'>='", | |
"'>>'", | |
"'?'", | |
"'?>'", | |
"'@'", | |
"'NaN'", | |
"'['", | |
"']'", | |
"']]>'", | |
"'after'", | |
"'all'", | |
"'allowing'", | |
"'ancestor'", | |
"'ancestor-or-self'", | |
"'and'", | |
"'any'", | |
"'as'", | |
"'ascending'", | |
"'at'", | |
"'attribute'", | |
"'base-uri'", | |
"'before'", | |
"'binary'", | |
"'boundary-space'", | |
"'by'", | |
"'case'", | |
"'cast'", | |
"'castable'", | |
"'catch'", | |
"'child'", | |
"'collation'", | |
"'comment'", | |
"'construction'", | |
"'contains'", | |
"'content'", | |
"'context'", | |
"'copy'", | |
"'copy-namespaces'", | |
"'count'", | |
"'decimal-format'", | |
"'decimal-separator'", | |
"'declare'", | |
"'default'", | |
"'delete'", | |
"'descendant'", | |
"'descendant-or-self'", | |
"'descending'", | |
"'diacritics'", | |
"'different'", | |
"'digit'", | |
"'distance'", | |
"'div'", | |
"'document'", | |
"'document-node'", | |
"'element'", | |
"'else'", | |
"'empty'", | |
"'empty-sequence'", | |
"'encoding'", | |
"'end'", | |
"'entire'", | |
"'eq'", | |
"'every'", | |
"'exactly'", | |
"'except'", | |
"'external'", | |
"'first'", | |
"'following'", | |
"'following-sibling'", | |
"'for'", | |
"'from'", | |
"'ft-option'", | |
"'ftand'", | |
"'ftnot'", | |
"'ftor'", | |
"'full'", | |
"'function'", | |
"'ge'", | |
"'greatest'", | |
"'group'", | |
"'grouping-separator'", | |
"'gt'", | |
"'idiv'", | |
"'if'", | |
"'import'", | |
"'in'", | |
"'infinity'", | |
"'inherit'", | |
"'insensitive'", | |
"'insert'", | |
"'instance'", | |
"'intersect'", | |
"'into'", | |
"'is'", | |
"'item'", | |
"'language'", | |
"'last'", | |
"'lax'", | |
"'le'", | |
"'least'", | |
"'let'", | |
"'levels'", | |
"'lowercase'", | |
"'lt'", | |
"'minus-sign'", | |
"'mod'", | |
"'modify'", | |
"'module'", | |
"'most'", | |
"'namespace'", | |
"'namespace-node'", | |
"'ne'", | |
"'next'", | |
"'no'", | |
"'no-inherit'", | |
"'no-preserve'", | |
"'node'", | |
"'nodes'", | |
"'not'", | |
"'occurs'", | |
"'of'", | |
"'only'", | |
"'option'", | |
"'or'", | |
"'order'", | |
"'ordered'", | |
"'ordering'", | |
"'paragraph'", | |
"'paragraphs'", | |
"'parent'", | |
"'pattern-separator'", | |
"'per-mille'", | |
"'percent'", | |
"'phrase'", | |
"'preceding'", | |
"'preceding-sibling'", | |
"'preserve'", | |
"'previous'", | |
"'private'", | |
"'processing-instruction'", | |
"'property'", | |
"'relationship'", | |
"'rename'", | |
"'replace'", | |
"'return'", | |
"'revalidation'", | |
"'same'", | |
"'satisfies'", | |
"'schema'", | |
"'schema-attribute'", | |
"'schema-element'", | |
"'self'", | |
"'sensitive'", | |
"'sentence'", | |
"'sentences'", | |
"'skip'", | |
"'sliding'", | |
"'some'", | |
"'stable'", | |
"'start'", | |
"'stemming'", | |
"'stop'", | |
"'strict'", | |
"'strip'", | |
"'stylesheet'", | |
"'switch'", | |
"'text'", | |
"'then'", | |
"'thesaurus'", | |
"'times'", | |
"'to'", | |
"'treat'", | |
"'try'", | |
"'tumbling'", | |
"'type'", | |
"'typeswitch'", | |
"'union'", | |
"'unordered'", | |
"'uppercase'", | |
"'using'", | |
"'validate'", | |
"'value'", | |
"'variable'", | |
"'version'", | |
"'weight'", | |
"'when'", | |
"'where'", | |
"'wildcards'", | |
"'window'", | |
"'with'", | |
"'without'", | |
"'word'", | |
"'words'", | |
"'xquery'", | |
"'zero-digit'", | |
"'{'", | |
"'{{'", | |
"'|'", | |
"'||'", | |
"'}'", | |
"'}}'" | |
); | |
(:~ | |
: Match next token in input string, starting at given index, using | |
: the DFA entry state for the set of tokens that are expected in | |
: the current context. | |
: | |
: @param $input the input string. | |
: @param $begin the index where to start in input string. | |
: @param $token-set the expected token set id. | |
: @return a sequence of three: the token code of the result token, | |
: with input string begin and end positions. If there is no valid | |
: token, return the negative id of the DFA state that failed, along | |
: with begin and end positions of the longest viable prefix. | |
:) | |
declare function p:match($input as xs:string, | |
$begin as xs:integer, | |
$token-set as xs:integer) as xs:integer+ | |
{ | |
let $result := $p:INITIAL[1 + $token-set] | |
return p:transition($input, | |
$begin, | |
$begin, | |
$begin, | |
$result, | |
$result mod 4096, | |
0) | |
}; | |
(:~ | |
: The DFA state transition function. If we are in a valid DFA state, save | |
: it's result annotation, consume one input codepoint, calculate the next | |
: state, and use tail recursion to do the same again. Otherwise, return | |
: any valid result or a negative DFA state id in case of an error. | |
: | |
: @param $input the input string. | |
: @param $begin the begin index of the current token in the input string. | |
: @param $current the index of the current position in the input string. | |
: @param $end the end index of the result in the input string. | |
: @param $result the result code. | |
: @param $current-state the current DFA state. | |
: @param $previous-state the previous DFA state. | |
: @return a sequence of three: the token code of the result token, | |
: with input string begin and end positions. If there is no valid | |
: token, return the negative id of the DFA state that failed, along | |
: with begin and end positions of the longest viable prefix. | |
:) | |
declare function p:transition($input as xs:string, | |
$begin as xs:integer, | |
$current as xs:integer, | |
$end as xs:integer, | |
$result as xs:integer, | |
$current-state as xs:integer, | |
$previous-state as xs:integer) as xs:integer+ | |
{ | |
if ($current-state = 0) then | |
let $result := $result idiv 4096 | |
return | |
if ($result != 0) then | |
( | |
$result mod 512 - 1, | |
$begin, | |
$end - $result idiv 512 | |
) | |
else | |
( | |
- $previous-state, | |
$begin, | |
$current - 1 | |
) | |
else | |
let $c0 := (string-to-codepoints(substring($input, $current, 1)), 0)[1] | |
let $c1 := | |
if ($c0 < 128) then | |
$p:MAP0[1 + $c0] | |
else if ($c0 < 55296) then | |
let $c1 := $c0 idiv 16 | |
let $c2 := $c1 idiv 32 | |
return $p:MAP1[1 + $c0 mod 16 + $p:MAP1[1 + $c1 mod 32 + $p:MAP1[1 + $c2]]] | |
else | |
p:map2($c0, 1, 6) | |
let $current := $current + 1 | |
let $i0 := 4096 * $c1 + $current-state - 1 | |
let $i1 := $i0 idiv 16 | |
let $next-state := $p:TRANSITION[$i0 mod 16 + $p:TRANSITION[$i1 + 1] + 1] | |
return | |
if ($next-state > 4095) then | |
p:transition($input, $begin, $current, $current, $next-state, $next-state mod 4096, $current-state) | |
else | |
p:transition($input, $begin, $current, $end, $result, $next-state, $current-state) | |
}; | |
(:~ | |
: Recursively translate one 32-bit chunk of an expected token bitset | |
: to the corresponding sequence of token strings. | |
: | |
: @param $result the result of previous recursion levels. | |
: @param $chunk the 32-bit chunk of the expected token bitset. | |
: @param $base-token-code the token code of bit 0 in the current chunk. | |
: @return the set of token strings. | |
:) | |
declare function p:token($result as xs:string*, | |
$chunk as xs:integer, | |
$base-token-code as xs:integer) as xs:string* | |
{ | |
if ($chunk = 0) then | |
$result | |
else | |
p:token | |
( | |
($result, if ($chunk mod 2 != 0) then $p:TOKEN[$base-token-code] else ()), | |
if ($chunk < 0) then $chunk idiv 2 + 2147483648 else $chunk idiv 2, | |
$base-token-code + 1 | |
) | |
}; | |
(:~ | |
: Calculate expected token set for a given DFA state as a sequence | |
: of strings. | |
: | |
: @param $state the DFA state. | |
: @return the set of token strings | |
:) | |
declare function p:expected-token-set($state as xs:integer) as xs:string* | |
{ | |
if ($state > 0) then | |
for $t in 0 to 8 | |
let $i0 := $t * 2215 + $state - 1 | |
let $i1 := $i0 idiv 2 | |
let $i2 := $i1 idiv 4 | |
let $i3 := $i2 idiv 4 | |
return p:token((), $p:EXPECTED[$i0 mod 2 + $p:EXPECTED[$i1 mod 4 + $p:EXPECTED[$i2 mod 4 + $p:EXPECTED[$i3 + 1] + 1] + 1] + 1], $t * 32 + 1) | |
else | |
() | |
}; | |
(:~ | |
: Classify codepoint by doing a tail recursive binary search for a | |
: matching codepoint range entry in MAP2, the codepoint to charclass | |
: map for codepoints above the surrogate block. | |
: | |
: @param $c the codepoint. | |
: @param $lo the binary search lower bound map index. | |
: @param $hi the binary search upper bound map index. | |
: @return the character class. | |
:) | |
declare function p:map2($c as xs:integer, $lo as xs:integer, $hi as xs:integer) as xs:integer | |
{ | |
if ($lo > $hi) then | |
0 | |
else | |
let $m := ($hi + $lo) idiv 2 | |
return | |
if ($p:MAP2[$m] > $c) then | |
p:map2($c, $lo, $m - 1) | |
else if ($p:MAP2[6 + $m] < $c) then | |
p:map2($c, $m + 1, $hi) | |
else | |
$p:MAP2[12 + $m] | |
}; | |
(:~ | |
: Try parsing the 1st loop of production Comment (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Comment-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(82, $input, $state) (: CommentContents | ('(' ':') | (':' ')') :) | |
return | |
if ($state[$p:l1] = 49) then (: (':' ')') :) | |
$state | |
else | |
let $state := | |
if ($state[$p:l1] = 25) then (: CommentContents :) | |
let $state := p:shiftT(25, $input, $state) (: CommentContents :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-Comment($input, $state) | |
return $state | |
return p:try-Comment-1($input, $state) | |
}; | |
(:~ | |
: Try parsing Comment. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Comment($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(36, $input, $state) (: ('(' ':') :) | |
let $state := p:try-Comment-1($input, $state) | |
let $state := p:shiftT(49, $input, $state) (: (':' ')') :) | |
return $state | |
}; | |
(:~ | |
: Try parsing Whitespace. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Whitespace($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 24) then (: S^WS :) | |
let $state := p:shiftT(24, $input, $state) (: S^WS :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-Comment($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse QueryBody. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-QueryBody($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-Expr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "QueryBody", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse MainModule. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-MainModule($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-Prolog($input, $state) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-QueryBody($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "MainModule", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse the 1st loop of production MainModuleSequence (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-MainModuleSequence-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := | |
if ($state[$p:l1] = 52) then (: ';' :) | |
let $state := p:lookahead2W(247, $input, $state) (: EOF | Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | ';' | '<' | '<!--' | | |
'<?' | '@' | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
return | |
if ($state[$p:lk] = 1 (: EOF :) | |
or $state[$p:lk] = 564 (: ';' EOF :) | |
or $state[$p:lk] = 26676) then (: ';' ';' :) | |
$state | |
else | |
let $state := p:shift(52, $input, $state) (: ';' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:l1] = 255) then (: 'xquery' :) | |
let $state := p:lookahead2W(178, $input, $state) (: EOF | S^WS | '!' | '!=' | '#' | '(' | ('(' ':') | '*' | | |
'+' | ',' | '-' | '/' | '//' | ';' | '<' | '<<' | '<=' | | |
'=' | '>' | '>=' | '>>' | '[' | 'and' | 'cast' | | |
'castable' | 'contains' | 'div' | 'encoding' | 'eq' | | |
'except' | 'ge' | 'gt' | 'idiv' | 'instance' | | |
'intersect' | 'is' | 'le' | 'lt' | 'mod' | 'ne' | 'or' | | |
'to' | 'treat' | 'union' | 'version' | '|' | '||' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:lk] = 61695 (: 'xquery' 'encoding' :) | |
or $state[$p:lk] = 125695) then (: 'xquery' 'version' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VersionDecl($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-MainModule($input, $state) | |
return p:parse-MainModuleSequence-1($input, $state) | |
}; | |
(:~ | |
: Parse MainModuleSequence. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-MainModuleSequence($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-MainModule($input, $state) | |
let $state := p:parse-MainModuleSequence-1($input, $state) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 52) then (: ';' :) | |
let $state := p:shift(52, $input, $state) (: ';' :) | |
return $state | |
else | |
$state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "MainModuleSequence", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse OptionDecl. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-OptionDecl($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(103, $input, $state) (: 'declare' :) | |
let $state := p:lookahead1W(61, $input, $state) (: S^WS | ('(' ':') | 'option' :) | |
let $state := p:shift(184, $input, $state) (: 'option' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EQName($input, $state) | |
let $state := p:lookahead1W(19, $input, $state) (: StringLiteral | S^WS | ('(' ':') :) | |
let $state := p:shift(12, $input, $state) (: StringLiteral :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "OptionDecl", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse FunctionBody. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FunctionBody($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-EnclosedExpr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FunctionBody", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse FunctionDecl. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FunctionDecl($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(138, $input, $state) (: 'function' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EQName($input, $state) | |
let $state := p:lookahead1W(24, $input, $state) (: S^WS | '(' | ('(' ':') :) | |
let $state := p:shift(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(87, $input, $state) (: S^WS | '$' | ('(' ':') | ')' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 31) then (: '$' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ParamList($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(37, $input, $state) (: ')' :) | |
let $state := p:lookahead1W(141, $input, $state) (: S^WS | ('(' ':') | 'as' | 'external' | '{' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 78) then (: 'as' :) | |
let $state := p:shift(78, $input, $state) (: 'as' :) | |
let $state := p:lookahead1W(235, $input, $state) (: URIQualifiedName | QName^Token | S^WS | '%' | '(' | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-SequenceType($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(110, $input, $state) (: S^WS | ('(' ':') | 'external' | '{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FunctionBody($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(127, $input, $state) (: 'external' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FunctionDecl", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse VarDecl. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-VarDecl($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(244, $input, $state) (: 'variable' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:shift(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VarName($input, $state) | |
let $state := p:lookahead1W(139, $input, $state) (: S^WS | ('(' ':') | ':=' | 'as' | 'external' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 78) then (: 'as' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-TypeDeclaration($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(97, $input, $state) (: S^WS | ('(' ':') | ':=' | 'external' :) | |
let $state := | |
if ($state[$p:l1] = 51) then (: ':=' :) | |
let $state := p:shift(51, $input, $state) (: ':=' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VarValue($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(127, $input, $state) (: 'external' :) | |
let $state := p:lookahead1W(95, $input, $state) (: S^WS | ('(' ':') | ':=' | ';' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 51) then (: ':=' :) | |
let $state := p:shift(51, $input, $state) (: ':=' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VarDefaultValue($input, $state) | |
return $state | |
else | |
$state | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "VarDecl", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse the 1st loop of production AnnotatedDecl (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-AnnotatedDecl-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(151, $input, $state) (: S^WS | '%' | ('(' ':') | 'function' | 'private' | | |
'variable' :) | |
return | |
if ($state[$p:l1] != 32 (: '%' :) | |
and $state[$p:l1] != 200) then (: 'private' :) | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Annotation($input, $state) | |
return p:parse-AnnotatedDecl-1($input, $state) | |
}; | |
(:~ | |
: Parse AnnotatedDecl. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-AnnotatedDecl($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(103, $input, $state) (: 'declare' :) | |
let $state := p:parse-AnnotatedDecl-1($input, $state) | |
let $state := | |
if ($state[$p:l1] = 244) then (: 'variable' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VarDecl($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FunctionDecl($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "AnnotatedDecl", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse VarDefaultValue. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-VarDefaultValue($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-ExprSingle($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "VarDefaultValue", $count, $begin, $end) | |
}; | |
(:~ | |
: Parse the 1st loop of production TransformExpr (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-TransformExpr-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
if ($state[$p:l1] != 41) then (: ',' :) | |
$state | |
else | |
let $state := p:shift(41, $input, $state) (: ',' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:shift(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VarName($input, $state) | |
let $state := p:lookahead1W(29, $input, $state) (: S^WS | ('(' ':') | ':=' :) | |
let $state := p:shift(51, $input, $state) (: ':=' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ExprSingle($input, $state) | |
return p:parse-TransformExpr-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production TransformExpr (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-TransformExpr-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
if ($state[$p:l1] != 41) then (: ',' :) | |
$state | |
else | |
let $state := p:shiftT(41, $input, $state) (: ',' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:shiftT(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-VarName($input, $state) | |
let $state := p:lookahead1W(29, $input, $state) (: S^WS | ('(' ':') | ':=' :) | |
let $state := p:shiftT(51, $input, $state) (: ':=' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-ExprSingle($input, $state) | |
return p:try-TransformExpr-1($input, $state) | |
}; | |
(:~ | |
: Parse TransformExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-TransformExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(98, $input, $state) (: 'copy' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:shift(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VarName($input, $state) | |
let $state := p:lookahead1W(29, $input, $state) (: S^WS | ('(' ':') | ':=' :) | |
let $state := p:shift(51, $input, $state) (: ':=' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ExprSingle($input, $state) | |
let $state := p:parse-TransformExpr-1($input, $state) | |
let $state := p:shift(168, $input, $state) (: 'modify' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ExprSingle($input, $state) | |
let $state := p:shift(206, $input, $state) (: 'return' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ExprSingle($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "TransformExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing TransformExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-TransformExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(98, $input, $state) (: 'copy' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:shiftT(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-VarName($input, $state) | |
let $state := p:lookahead1W(29, $input, $state) (: S^WS | ('(' ':') | ':=' :) | |
let $state := p:shiftT(51, $input, $state) (: ':=' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-ExprSingle($input, $state) | |
let $state := p:try-TransformExpr-1($input, $state) | |
let $state := p:shiftT(168, $input, $state) (: 'modify' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-ExprSingle($input, $state) | |
let $state := p:shiftT(206, $input, $state) (: 'return' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-ExprSingle($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse ReplaceExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ReplaceExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(205, $input, $state) (: 'replace' :) | |
let $state := p:lookahead1W(120, $input, $state) (: S^WS | ('(' ':') | 'node' | 'value' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 243) then (: 'value' :) | |
let $state := p:shift(243, $input, $state) (: 'value' :) | |
let $state := p:lookahead1W(60, $input, $state) (: S^WS | ('(' ':') | 'of' :) | |
let $state := p:shift(182, $input, $state) (: 'of' :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(59, $input, $state) (: S^WS | ('(' ':') | 'node' :) | |
let $state := p:shift(178, $input, $state) (: 'node' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-TargetExpr($input, $state) | |
let $state := p:shift(251, $input, $state) (: 'with' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ExprSingle($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ReplaceExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ReplaceExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ReplaceExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(205, $input, $state) (: 'replace' :) | |
let $state := p:lookahead1W(120, $input, $state) (: S^WS | ('(' ':') | 'node' | 'value' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 243) then (: 'value' :) | |
let $state := p:shiftT(243, $input, $state) (: 'value' :) | |
let $state := p:lookahead1W(60, $input, $state) (: S^WS | ('(' ':') | 'of' :) | |
let $state := p:shiftT(182, $input, $state) (: 'of' :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(59, $input, $state) (: S^WS | ('(' ':') | 'node' :) | |
let $state := p:shiftT(178, $input, $state) (: 'node' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-TargetExpr($input, $state) | |
let $state := p:shiftT(251, $input, $state) (: 'with' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-ExprSingle($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse NewNameExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-NewNameExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-ExprSingle($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "NewNameExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing NewNameExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-NewNameExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-ExprSingle($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse RenameExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-RenameExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(204, $input, $state) (: 'rename' :) | |
let $state := p:lookahead1W(59, $input, $state) (: S^WS | ('(' ':') | 'node' :) | |
let $state := p:shift(178, $input, $state) (: 'node' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-TargetExpr($input, $state) | |
let $state := p:shift(78, $input, $state) (: 'as' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-NewNameExpr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "RenameExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing RenameExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-RenameExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(204, $input, $state) (: 'rename' :) | |
let $state := p:lookahead1W(59, $input, $state) (: S^WS | ('(' ':') | 'node' :) | |
let $state := p:shiftT(178, $input, $state) (: 'node' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-TargetExpr($input, $state) | |
let $state := p:shiftT(78, $input, $state) (: 'as' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-NewNameExpr($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse DeleteExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DeleteExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(105, $input, $state) (: 'delete' :) | |
let $state := p:lookahead1W(119, $input, $state) (: S^WS | ('(' ':') | 'node' | 'nodes' :) | |
let $state := | |
if ($state[$p:l1] = 178) then (: 'node' :) | |
let $state := p:shift(178, $input, $state) (: 'node' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(179, $input, $state) (: 'nodes' :) | |
return $state | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-TargetExpr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "DeleteExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing DeleteExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DeleteExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(105, $input, $state) (: 'delete' :) | |
let $state := p:lookahead1W(119, $input, $state) (: S^WS | ('(' ':') | 'node' | 'nodes' :) | |
let $state := | |
if ($state[$p:l1] = 178) then (: 'node' :) | |
let $state := p:shiftT(178, $input, $state) (: 'node' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(179, $input, $state) (: 'nodes' :) | |
return $state | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-TargetExpr($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse TargetExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-TargetExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-ExprSingle($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "TargetExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing TargetExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-TargetExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-ExprSingle($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse InsertExprTargetChoice. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-InsertExprTargetChoice($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 71) then (: 'after' :) | |
let $state := p:shift(71, $input, $state) (: 'after' :) | |
return $state | |
else if ($state[$p:l1] = 83) then (: 'before' :) | |
let $state := p:shift(83, $input, $state) (: 'before' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 78) then (: 'as' :) | |
let $state := p:shift(78, $input, $state) (: 'as' :) | |
let $state := p:lookahead1W(111, $input, $state) (: S^WS | ('(' ':') | 'first' | 'last' :) | |
let $state := | |
if ($state[$p:l1] = 128) then (: 'first' :) | |
let $state := p:shift(128, $input, $state) (: 'first' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(158, $input, $state) (: 'last' :) | |
return $state | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(52, $input, $state) (: S^WS | ('(' ':') | 'into' :) | |
let $state := p:shift(154, $input, $state) (: 'into' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "InsertExprTargetChoice", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing InsertExprTargetChoice. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-InsertExprTargetChoice($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 71) then (: 'after' :) | |
let $state := p:shiftT(71, $input, $state) (: 'after' :) | |
return $state | |
else if ($state[$p:l1] = 83) then (: 'before' :) | |
let $state := p:shiftT(83, $input, $state) (: 'before' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 78) then (: 'as' :) | |
let $state := p:shiftT(78, $input, $state) (: 'as' :) | |
let $state := p:lookahead1W(111, $input, $state) (: S^WS | ('(' ':') | 'first' | 'last' :) | |
let $state := | |
if ($state[$p:l1] = 128) then (: 'first' :) | |
let $state := p:shiftT(128, $input, $state) (: 'first' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(158, $input, $state) (: 'last' :) | |
return $state | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(52, $input, $state) (: S^WS | ('(' ':') | 'into' :) | |
let $state := p:shiftT(154, $input, $state) (: 'into' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse SourceExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-SourceExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-ExprSingle($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "SourceExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing SourceExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-SourceExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-ExprSingle($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse InsertExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-InsertExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(151, $input, $state) (: 'insert' :) | |
let $state := p:lookahead1W(119, $input, $state) (: S^WS | ('(' ':') | 'node' | 'nodes' :) | |
let $state := | |
if ($state[$p:l1] = 178) then (: 'node' :) | |
let $state := p:shift(178, $input, $state) (: 'node' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(179, $input, $state) (: 'nodes' :) | |
return $state | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-SourceExpr($input, $state) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-InsertExprTargetChoice($input, $state) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-TargetExpr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "InsertExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing InsertExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-InsertExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(151, $input, $state) (: 'insert' :) | |
let $state := p:lookahead1W(119, $input, $state) (: S^WS | ('(' ':') | 'node' | 'nodes' :) | |
let $state := | |
if ($state[$p:l1] = 178) then (: 'node' :) | |
let $state := p:shiftT(178, $input, $state) (: 'node' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(179, $input, $state) (: 'nodes' :) | |
return $state | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-SourceExpr($input, $state) | |
let $state := p:try-InsertExprTargetChoice($input, $state) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-TargetExpr($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production CatchErrorList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CatchErrorList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(129, $input, $state) (: S^WS | ('(' ':') | '{' | '|' :) | |
return | |
if ($state[$p:l1] != 259) then (: '|' :) | |
$state | |
else | |
let $state := p:shift(259, $input, $state) (: '|' :) | |
let $state := p:lookahead1W(231, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-NameTest($input, $state) | |
return p:parse-CatchErrorList-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production CatchErrorList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CatchErrorList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(129, $input, $state) (: S^WS | ('(' ':') | '{' | '|' :) | |
return | |
if ($state[$p:l1] != 259) then (: '|' :) | |
$state | |
else | |
let $state := p:shiftT(259, $input, $state) (: '|' :) | |
let $state := p:lookahead1W(231, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-NameTest($input, $state) | |
return p:try-CatchErrorList-1($input, $state) | |
}; | |
(:~ | |
: Parse CatchErrorList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CatchErrorList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-NameTest($input, $state) | |
let $state := p:parse-CatchErrorList-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CatchErrorList", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CatchErrorList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CatchErrorList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-NameTest($input, $state) | |
let $state := p:try-CatchErrorList-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse CatchClause. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CatchClause($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(90, $input, $state) (: 'catch' :) | |
let $state := p:lookahead1W(233, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | '(' | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:l1] = 34) then (: '(' :) | |
let $state := p:shift(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:shift(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VarName($input, $state) | |
let $state := p:lookahead1W(25, $input, $state) (: S^WS | ('(' ':') | ')' :) | |
let $state := p:shift(37, $input, $state) (: ')' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-CatchErrorList($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EnclosedExprExtended($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CatchClause", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CatchClause. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CatchClause($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(90, $input, $state) (: 'catch' :) | |
let $state := p:lookahead1W(233, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | '(' | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:l1] = 34) then (: '(' :) | |
let $state := p:shiftT(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:shiftT(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-VarName($input, $state) | |
let $state := p:lookahead1W(25, $input, $state) (: S^WS | ('(' ':') | ')' :) | |
let $state := p:shiftT(37, $input, $state) (: ')' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-CatchErrorList($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:try-EnclosedExprExtended($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse TryTargetExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-TryTargetExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-Expr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "TryTargetExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing TryTargetExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-TryTargetExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-Expr($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse TryClause. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-TryClause($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(234, $input, $state) (: 'try' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-TryTargetExpr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "TryClause", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing TryClause. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-TryClause($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(234, $input, $state) (: 'try' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-TryTargetExpr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production TryCatchExpr (one or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-TryCatchExpr-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(38, $input, $state) (: S^WS | ('(' ':') | 'catch' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-CatchClause($input, $state) | |
let $state := p:lookahead1W(176, $input, $state) (: EOF | S^WS | ('(' ':') | ')' | ',' | ';' | ']' | | |
'after' | 'as' | 'ascending' | 'before' | 'case' | | |
'catch' | 'collation' | 'count' | 'default' | | |
'descending' | 'else' | 'empty' | 'end' | 'for' | | |
'group' | 'into' | 'let' | 'modify' | 'only' | 'order' | | |
'return' | 'satisfies' | 'stable' | 'start' | 'where' | | |
'with' | '}' :) | |
return | |
if ($state[$p:l1] != 90) then (: 'catch' :) | |
$state | |
else | |
p:parse-TryCatchExpr-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production TryCatchExpr (one or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-TryCatchExpr-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(38, $input, $state) (: S^WS | ('(' ':') | 'catch' :) | |
let $state := p:try-CatchClause($input, $state) | |
let $state := p:lookahead1W(176, $input, $state) (: EOF | S^WS | ('(' ':') | ')' | ',' | ';' | ']' | | |
'after' | 'as' | 'ascending' | 'before' | 'case' | | |
'catch' | 'collation' | 'count' | 'default' | | |
'descending' | 'else' | 'empty' | 'end' | 'for' | | |
'group' | 'into' | 'let' | 'modify' | 'only' | 'order' | | |
'return' | 'satisfies' | 'stable' | 'start' | 'where' | | |
'with' | '}' :) | |
return | |
if ($state[$p:l1] != 90) then (: 'catch' :) | |
$state | |
else | |
p:try-TryCatchExpr-1($input, $state) | |
}; | |
(:~ | |
: Parse TryCatchExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-TryCatchExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-TryClause($input, $state) | |
let $state := p:parse-TryCatchExpr-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "TryCatchExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing TryCatchExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-TryCatchExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-TryClause($input, $state) | |
let $state := p:try-TryCatchExpr-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse NodeComp. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-NodeComp($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 155) then (: 'is' :) | |
let $state := p:shift(155, $input, $state) (: 'is' :) | |
return $state | |
else if ($state[$p:l1] = 57) then (: '<<' :) | |
let $state := p:shift(57, $input, $state) (: '<<' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(63, $input, $state) (: '>>' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "NodeComp", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing NodeComp. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-NodeComp($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 155) then (: 'is' :) | |
let $state := p:shiftT(155, $input, $state) (: 'is' :) | |
return $state | |
else if ($state[$p:l1] = 57) then (: '<<' :) | |
let $state := p:shiftT(57, $input, $state) (: '<<' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(63, $input, $state) (: '>>' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse GeneralComp. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-GeneralComp($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 60) then (: '=' :) | |
let $state := p:shift(60, $input, $state) (: '=' :) | |
return $state | |
else if ($state[$p:l1] = 27) then (: '!=' :) | |
let $state := p:shift(27, $input, $state) (: '!=' :) | |
return $state | |
else if ($state[$p:l1] = 53) then (: '<' :) | |
let $state := p:shift(53, $input, $state) (: '<' :) | |
return $state | |
else if ($state[$p:l1] = 58) then (: '<=' :) | |
let $state := p:shift(58, $input, $state) (: '<=' :) | |
return $state | |
else if ($state[$p:l1] = 61) then (: '>' :) | |
let $state := p:shift(61, $input, $state) (: '>' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(62, $input, $state) (: '>=' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "GeneralComp", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing GeneralComp. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-GeneralComp($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 60) then (: '=' :) | |
let $state := p:shiftT(60, $input, $state) (: '=' :) | |
return $state | |
else if ($state[$p:l1] = 27) then (: '!=' :) | |
let $state := p:shiftT(27, $input, $state) (: '!=' :) | |
return $state | |
else if ($state[$p:l1] = 53) then (: '<' :) | |
let $state := p:shiftT(53, $input, $state) (: '<' :) | |
return $state | |
else if ($state[$p:l1] = 58) then (: '<=' :) | |
let $state := p:shiftT(58, $input, $state) (: '<=' :) | |
return $state | |
else if ($state[$p:l1] = 61) then (: '>' :) | |
let $state := p:shiftT(61, $input, $state) (: '>' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(62, $input, $state) (: '>=' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse ValueComp. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ValueComp($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 123) then (: 'eq' :) | |
let $state := p:shift(123, $input, $state) (: 'eq' :) | |
return $state | |
else if ($state[$p:l1] = 173) then (: 'ne' :) | |
let $state := p:shift(173, $input, $state) (: 'ne' :) | |
return $state | |
else if ($state[$p:l1] = 165) then (: 'lt' :) | |
let $state := p:shift(165, $input, $state) (: 'lt' :) | |
return $state | |
else if ($state[$p:l1] = 160) then (: 'le' :) | |
let $state := p:shift(160, $input, $state) (: 'le' :) | |
return $state | |
else if ($state[$p:l1] = 143) then (: 'gt' :) | |
let $state := p:shift(143, $input, $state) (: 'gt' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(139, $input, $state) (: 'ge' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ValueComp", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ValueComp. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ValueComp($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 123) then (: 'eq' :) | |
let $state := p:shiftT(123, $input, $state) (: 'eq' :) | |
return $state | |
else if ($state[$p:l1] = 173) then (: 'ne' :) | |
let $state := p:shiftT(173, $input, $state) (: 'ne' :) | |
return $state | |
else if ($state[$p:l1] = 165) then (: 'lt' :) | |
let $state := p:shiftT(165, $input, $state) (: 'lt' :) | |
return $state | |
else if ($state[$p:l1] = 160) then (: 'le' :) | |
let $state := p:shiftT(160, $input, $state) (: 'le' :) | |
return $state | |
else if ($state[$p:l1] = 143) then (: 'gt' :) | |
let $state := p:shiftT(143, $input, $state) (: 'gt' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(139, $input, $state) (: 'ge' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTIgnoreOption. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTIgnoreOption($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(252, $input, $state) (: 'without' :) | |
let $state := p:lookahead1W(41, $input, $state) (: S^WS | ('(' ':') | 'content' :) | |
let $state := p:shift(96, $input, $state) (: 'content' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-UnionExpr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTIgnoreOption", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTIgnoreOption. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTIgnoreOption($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(252, $input, $state) (: 'without' :) | |
let $state := p:lookahead1W(41, $input, $state) (: S^WS | ('(' ':') | 'content' :) | |
let $state := p:shiftT(96, $input, $state) (: 'content' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-UnionExpr($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse FTContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 80) then (: 'at' :) | |
let $state := p:lookahead2W(108, $input, $state) (: S^WS | ('(' ':') | 'end' | 'start' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 113232) then (: 'at' 'start' :) | |
let $state := p:shift(80, $input, $state) (: 'at' :) | |
let $state := p:lookahead1W(68, $input, $state) (: S^WS | ('(' ':') | 'start' :) | |
let $state := p:shift(221, $input, $state) (: 'start' :) | |
return $state | |
else if ($state[$p:lk] = 62032) then (: 'at' 'end' :) | |
let $state := p:shift(80, $input, $state) (: 'at' :) | |
let $state := p:lookahead1W(48, $input, $state) (: S^WS | ('(' ':') | 'end' :) | |
let $state := p:shift(121, $input, $state) (: 'end' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(122, $input, $state) (: 'entire' :) | |
let $state := p:lookahead1W(41, $input, $state) (: S^WS | ('(' ':') | 'content' :) | |
let $state := p:shift(96, $input, $state) (: 'content' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTContent", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 80) then (: 'at' :) | |
let $state := p:lookahead2W(108, $input, $state) (: S^WS | ('(' ':') | 'end' | 'start' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 113232) then (: 'at' 'start' :) | |
let $state := p:shiftT(80, $input, $state) (: 'at' :) | |
let $state := p:lookahead1W(68, $input, $state) (: S^WS | ('(' ':') | 'start' :) | |
let $state := p:shiftT(221, $input, $state) (: 'start' :) | |
return $state | |
else if ($state[$p:lk] = 62032) then (: 'at' 'end' :) | |
let $state := p:shiftT(80, $input, $state) (: 'at' :) | |
let $state := p:lookahead1W(48, $input, $state) (: S^WS | ('(' ':') | 'end' :) | |
let $state := p:shiftT(121, $input, $state) (: 'end' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(122, $input, $state) (: 'entire' :) | |
let $state := p:lookahead1W(41, $input, $state) (: S^WS | ('(' ':') | 'content' :) | |
let $state := p:shiftT(96, $input, $state) (: 'content' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTBigUnit. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTBigUnit($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 215) then (: 'sentence' :) | |
let $state := p:shift(215, $input, $state) (: 'sentence' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(189, $input, $state) (: 'paragraph' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTBigUnit", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTBigUnit. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTBigUnit($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 215) then (: 'sentence' :) | |
let $state := p:shiftT(215, $input, $state) (: 'sentence' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(189, $input, $state) (: 'paragraph' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTScope. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTScope($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 208) then (: 'same' :) | |
let $state := p:shift(208, $input, $state) (: 'same' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(110, $input, $state) (: 'different' :) | |
return $state | |
let $state := p:lookahead1W(124, $input, $state) (: S^WS | ('(' ':') | 'paragraph' | 'sentence' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTBigUnit($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTScope", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTScope. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTScope($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 208) then (: 'same' :) | |
let $state := p:shiftT(208, $input, $state) (: 'same' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(110, $input, $state) (: 'different' :) | |
return $state | |
let $state := p:lookahead1W(124, $input, $state) (: S^WS | ('(' ':') | 'paragraph' | 'sentence' :) | |
let $state := p:try-FTBigUnit($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse FTDistance. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTDistance($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(112, $input, $state) (: 'distance' :) | |
let $state := p:lookahead1W(142, $input, $state) (: S^WS | ('(' ':') | 'at' | 'exactly' | 'from' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTRange($input, $state) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTUnit($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTDistance", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTDistance. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTDistance($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(112, $input, $state) (: 'distance' :) | |
let $state := p:lookahead1W(142, $input, $state) (: S^WS | ('(' ':') | 'at' | 'exactly' | 'from' :) | |
let $state := p:try-FTRange($input, $state) | |
let $state := p:try-FTUnit($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse FTUnit. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTUnit($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 254) then (: 'words' :) | |
let $state := p:shift(254, $input, $state) (: 'words' :) | |
return $state | |
else if ($state[$p:l1] = 216) then (: 'sentences' :) | |
let $state := p:shift(216, $input, $state) (: 'sentences' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(190, $input, $state) (: 'paragraphs' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTUnit", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTUnit. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTUnit($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 254) then (: 'words' :) | |
let $state := p:shiftT(254, $input, $state) (: 'words' :) | |
return $state | |
else if ($state[$p:l1] = 216) then (: 'sentences' :) | |
let $state := p:shiftT(216, $input, $state) (: 'sentences' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(190, $input, $state) (: 'paragraphs' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTWindow. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTWindow($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(250, $input, $state) (: 'window' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-AdditiveExpr($input, $state) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTUnit($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTWindow", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTWindow. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTWindow($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(250, $input, $state) (: 'window' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-AdditiveExpr($input, $state) | |
let $state := p:try-FTUnit($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse FTOrder. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTOrder($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(187, $input, $state) (: 'ordered' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTOrder", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTOrder. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTOrder($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(187, $input, $state) (: 'ordered' :) | |
return $state | |
}; | |
(:~ | |
: Parse FTPosFilter. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTPosFilter($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 187) then (: 'ordered' :) | |
let $state := p:parse-FTOrder($input, $state) | |
return $state | |
else if ($state[$p:l1] = 250) then (: 'window' :) | |
let $state := p:parse-FTWindow($input, $state) | |
return $state | |
else if ($state[$p:l1] = 112) then (: 'distance' :) | |
let $state := p:parse-FTDistance($input, $state) | |
return $state | |
else if ($state[$p:l1] = 110 (: 'different' :) | |
or $state[$p:l1] = 208) then (: 'same' :) | |
let $state := p:parse-FTScope($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-FTContent($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTPosFilter", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTPosFilter. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTPosFilter($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 187) then (: 'ordered' :) | |
let $state := p:try-FTOrder($input, $state) | |
return $state | |
else if ($state[$p:l1] = 250) then (: 'window' :) | |
let $state := p:try-FTWindow($input, $state) | |
return $state | |
else if ($state[$p:l1] = 112) then (: 'distance' :) | |
let $state := p:try-FTDistance($input, $state) | |
return $state | |
else if ($state[$p:l1] = 110 (: 'different' :) | |
or $state[$p:l1] = 208) then (: 'same' :) | |
let $state := p:try-FTScope($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-FTContent($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTWeight. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTWeight($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(246, $input, $state) (: 'weight' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTWeight", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTWeight. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTWeight($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(246, $input, $state) (: 'weight' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production FTExtensionSelection (one or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTExtensionSelection-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Pragma($input, $state) | |
let $state := p:lookahead1W(91, $input, $state) (: S^WS | '(#' | ('(' ':') | '{' :) | |
return | |
if ($state[$p:l1] != 35) then (: '(#' :) | |
$state | |
else | |
p:parse-FTExtensionSelection-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production FTExtensionSelection (one or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTExtensionSelection-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-Pragma($input, $state) | |
let $state := p:lookahead1W(91, $input, $state) (: S^WS | '(#' | ('(' ':') | '{' :) | |
return | |
if ($state[$p:l1] != 35) then (: '(#' :) | |
$state | |
else | |
p:try-FTExtensionSelection-1($input, $state) | |
}; | |
(:~ | |
: Parse FTExtensionSelection. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTExtensionSelection($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-FTExtensionSelection-1($input, $state) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(160, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTSelection($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTExtensionSelection", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTExtensionSelection. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTExtensionSelection($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-FTExtensionSelection-1($input, $state) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(160, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:try-FTSelection($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse FTRange. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTRange($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 80) then (: 'at' :) | |
let $state := p:lookahead2W(116, $input, $state) (: S^WS | ('(' ':') | 'least' | 'most' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 125) then (: 'exactly' :) | |
let $state := p:shift(125, $input, $state) (: 'exactly' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-AdditiveExpr($input, $state) | |
return $state | |
else if ($state[$p:lk] = 82512) then (: 'at' 'least' :) | |
let $state := p:shift(80, $input, $state) (: 'at' :) | |
let $state := p:lookahead1W(54, $input, $state) (: S^WS | ('(' ':') | 'least' :) | |
let $state := p:shift(161, $input, $state) (: 'least' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-AdditiveExpr($input, $state) | |
return $state | |
else if ($state[$p:lk] = 87120) then (: 'at' 'most' :) | |
let $state := p:shift(80, $input, $state) (: 'at' :) | |
let $state := p:lookahead1W(57, $input, $state) (: S^WS | ('(' ':') | 'most' :) | |
let $state := p:shift(170, $input, $state) (: 'most' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-AdditiveExpr($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(132, $input, $state) (: 'from' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-AdditiveExpr($input, $state) | |
let $state := p:shift(232, $input, $state) (: 'to' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-AdditiveExpr($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTRange", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTRange. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTRange($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 80) then (: 'at' :) | |
let $state := p:lookahead2W(116, $input, $state) (: S^WS | ('(' ':') | 'least' | 'most' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 125) then (: 'exactly' :) | |
let $state := p:shiftT(125, $input, $state) (: 'exactly' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-AdditiveExpr($input, $state) | |
return $state | |
else if ($state[$p:lk] = 82512) then (: 'at' 'least' :) | |
let $state := p:shiftT(80, $input, $state) (: 'at' :) | |
let $state := p:lookahead1W(54, $input, $state) (: S^WS | ('(' ':') | 'least' :) | |
let $state := p:shiftT(161, $input, $state) (: 'least' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-AdditiveExpr($input, $state) | |
return $state | |
else if ($state[$p:lk] = 87120) then (: 'at' 'most' :) | |
let $state := p:shiftT(80, $input, $state) (: 'at' :) | |
let $state := p:lookahead1W(57, $input, $state) (: S^WS | ('(' ':') | 'most' :) | |
let $state := p:shiftT(170, $input, $state) (: 'most' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-AdditiveExpr($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(132, $input, $state) (: 'from' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-AdditiveExpr($input, $state) | |
let $state := p:shiftT(232, $input, $state) (: 'to' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-AdditiveExpr($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTTimes. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTTimes($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(181, $input, $state) (: 'occurs' :) | |
let $state := p:lookahead1W(142, $input, $state) (: S^WS | ('(' ':') | 'at' | 'exactly' | 'from' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTRange($input, $state) | |
let $state := p:shift(231, $input, $state) (: 'times' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTTimes", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTTimes. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTTimes($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(181, $input, $state) (: 'occurs' :) | |
let $state := p:lookahead1W(142, $input, $state) (: S^WS | ('(' ':') | 'at' | 'exactly' | 'from' :) | |
let $state := p:try-FTRange($input, $state) | |
let $state := p:shiftT(231, $input, $state) (: 'times' :) | |
return $state | |
}; | |
(:~ | |
: Parse FTAnyallOption. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTAnyallOption($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 77) then (: 'any' :) | |
let $state := p:shift(77, $input, $state) (: 'any' :) | |
let $state := p:lookahead1W(195, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'occurs' | 'only' | 'or' | | |
'order' | 'ordered' | 'return' | 'same' | 'satisfies' | | |
'stable' | 'start' | 'using' | 'weight' | 'where' | | |
'window' | 'with' | 'without' | 'word' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 253) then (: 'word' :) | |
let $state := p:shift(253, $input, $state) (: 'word' :) | |
return $state | |
else | |
$state | |
return $state | |
else if ($state[$p:l1] = 72) then (: 'all' :) | |
let $state := p:shift(72, $input, $state) (: 'all' :) | |
let $state := p:lookahead1W(196, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'occurs' | 'only' | 'or' | | |
'order' | 'ordered' | 'return' | 'same' | 'satisfies' | | |
'stable' | 'start' | 'using' | 'weight' | 'where' | | |
'window' | 'with' | 'without' | 'words' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 254) then (: 'words' :) | |
let $state := p:shift(254, $input, $state) (: 'words' :) | |
return $state | |
else | |
$state | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(195, $input, $state) (: 'phrase' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTAnyallOption", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTAnyallOption. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTAnyallOption($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 77) then (: 'any' :) | |
let $state := p:shiftT(77, $input, $state) (: 'any' :) | |
let $state := p:lookahead1W(195, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'occurs' | 'only' | 'or' | | |
'order' | 'ordered' | 'return' | 'same' | 'satisfies' | | |
'stable' | 'start' | 'using' | 'weight' | 'where' | | |
'window' | 'with' | 'without' | 'word' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 253) then (: 'word' :) | |
let $state := p:shiftT(253, $input, $state) (: 'word' :) | |
return $state | |
else | |
$state | |
return $state | |
else if ($state[$p:l1] = 72) then (: 'all' :) | |
let $state := p:shiftT(72, $input, $state) (: 'all' :) | |
let $state := p:lookahead1W(196, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'occurs' | 'only' | 'or' | | |
'order' | 'ordered' | 'return' | 'same' | 'satisfies' | | |
'stable' | 'start' | 'using' | 'weight' | 'where' | | |
'window' | 'with' | 'without' | 'words' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 254) then (: 'words' :) | |
let $state := p:shiftT(254, $input, $state) (: 'words' :) | |
return $state | |
else | |
$state | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(195, $input, $state) (: 'phrase' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTWordsValue. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTWordsValue($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 12) then (: StringLiteral :) | |
let $state := p:shift(12, $input, $state) (: StringLiteral :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTWordsValue", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTWordsValue. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTWordsValue($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 12) then (: StringLiteral :) | |
let $state := p:shiftT(12, $input, $state) (: StringLiteral :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTWords. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTWords($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-FTWordsValue($input, $state) | |
let $state := p:lookahead1W(199, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'all' | 'and' | 'any' | 'as' | 'ascending' | 'at' | | |
'before' | 'case' | 'collation' | 'count' | 'default' | | |
'descending' | 'different' | 'distance' | 'else' | | |
'empty' | 'end' | 'entire' | 'eq' | 'for' | 'ftand' | | |
'ftor' | 'ge' | 'group' | 'gt' | 'into' | 'is' | 'le' | | |
'let' | 'lt' | 'modify' | 'ne' | 'not' | 'occurs' | | |
'only' | 'or' | 'order' | 'ordered' | 'phrase' | | |
'return' | 'same' | 'satisfies' | 'stable' | 'start' | | |
'using' | 'weight' | 'where' | 'window' | 'with' | | |
'without' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 72 (: 'all' :) | |
or $state[$p:l1] = 77 (: 'any' :) | |
or $state[$p:l1] = 195) then (: 'phrase' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTAnyallOption($input, $state) | |
return $state | |
else | |
$state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTWords", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTWords. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTWords($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-FTWordsValue($input, $state) | |
let $state := p:lookahead1W(199, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'all' | 'and' | 'any' | 'as' | 'ascending' | 'at' | | |
'before' | 'case' | 'collation' | 'count' | 'default' | | |
'descending' | 'different' | 'distance' | 'else' | | |
'empty' | 'end' | 'entire' | 'eq' | 'for' | 'ftand' | | |
'ftor' | 'ge' | 'group' | 'gt' | 'into' | 'is' | 'le' | | |
'let' | 'lt' | 'modify' | 'ne' | 'not' | 'occurs' | | |
'only' | 'or' | 'order' | 'ordered' | 'phrase' | | |
'return' | 'same' | 'satisfies' | 'stable' | 'start' | | |
'using' | 'weight' | 'where' | 'window' | 'with' | | |
'without' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 72 (: 'all' :) | |
or $state[$p:l1] = 77 (: 'any' :) | |
or $state[$p:l1] = 195) then (: 'phrase' :) | |
let $state := p:try-FTAnyallOption($input, $state) | |
return $state | |
else | |
$state | |
return $state | |
}; | |
(:~ | |
: Parse FTPrimary. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTPrimary($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 34) then (: '(' :) | |
let $state := p:shift(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(156, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTSelection($input, $state) | |
let $state := p:shift(37, $input, $state) (: ')' :) | |
return $state | |
else if ($state[$p:l1] = 35) then (: '(#' :) | |
let $state := p:parse-FTExtensionSelection($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-FTWords($input, $state) | |
let $state := p:lookahead1W(191, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'occurs' | 'only' | 'or' | | |
'order' | 'ordered' | 'return' | 'same' | 'satisfies' | | |
'stable' | 'start' | 'using' | 'weight' | 'where' | | |
'window' | 'with' | 'without' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 181) then (: 'occurs' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTTimes($input, $state) | |
return $state | |
else | |
$state | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTPrimary", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTPrimary. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTPrimary($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 34) then (: '(' :) | |
let $state := p:shiftT(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(156, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' :) | |
let $state := p:try-FTSelection($input, $state) | |
let $state := p:shiftT(37, $input, $state) (: ')' :) | |
return $state | |
else if ($state[$p:l1] = 35) then (: '(#' :) | |
let $state := p:try-FTExtensionSelection($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-FTWords($input, $state) | |
let $state := p:lookahead1W(191, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'occurs' | 'only' | 'or' | | |
'order' | 'ordered' | 'return' | 'same' | 'satisfies' | | |
'stable' | 'start' | 'using' | 'weight' | 'where' | | |
'window' | 'with' | 'without' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 181) then (: 'occurs' :) | |
let $state := p:try-FTTimes($input, $state) | |
return $state | |
else | |
$state | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FTPrimaryWithOptions. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTPrimaryWithOptions($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-FTPrimary($input, $state) | |
let $state := p:lookahead1W(190, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'only' | 'or' | 'order' | | |
'ordered' | 'return' | 'same' | 'satisfies' | 'stable' | | |
'start' | 'using' | 'weight' | 'where' | 'window' | | |
'with' | 'without' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 241) then (: 'using' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTMatchOptions($input, $state) | |
return $state | |
else | |
$state | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 246) then (: 'weight' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTWeight($input, $state) | |
return $state | |
else | |
$state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTPrimaryWithOptions", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTPrimaryWithOptions. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTPrimaryWithOptions($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-FTPrimary($input, $state) | |
let $state := p:lookahead1W(190, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'only' | 'or' | 'order' | | |
'ordered' | 'return' | 'same' | 'satisfies' | 'stable' | | |
'start' | 'using' | 'weight' | 'where' | 'window' | | |
'with' | 'without' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 241) then (: 'using' :) | |
let $state := p:try-FTMatchOptions($input, $state) | |
return $state | |
else | |
$state | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 246) then (: 'weight' :) | |
let $state := p:try-FTWeight($input, $state) | |
return $state | |
else | |
$state | |
return $state | |
}; | |
(:~ | |
: Parse FTUnaryNot. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTUnaryNot($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 135) then (: 'ftnot' :) | |
let $state := p:shift(135, $input, $state) (: 'ftnot' :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(149, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | '{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTPrimaryWithOptions($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTUnaryNot", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTUnaryNot. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTUnaryNot($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 135) then (: 'ftnot' :) | |
let $state := p:shiftT(135, $input, $state) (: 'ftnot' :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(149, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | '{' :) | |
let $state := p:try-FTPrimaryWithOptions($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production FTMildNot (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTMildNot-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(189, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'only' | 'or' | 'order' | | |
'ordered' | 'return' | 'same' | 'satisfies' | 'stable' | | |
'start' | 'where' | 'window' | 'with' | 'without' | '}' :) | |
return | |
if ($state[$p:l1] != 180) then (: 'not' :) | |
$state | |
else | |
let $state := p:shift(180, $input, $state) (: 'not' :) | |
let $state := p:lookahead1W(50, $input, $state) (: S^WS | ('(' ':') | 'in' :) | |
let $state := p:shift(147, $input, $state) (: 'in' :) | |
let $state := p:lookahead1W(156, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTUnaryNot($input, $state) | |
return p:parse-FTMildNot-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production FTMildNot (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTMildNot-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(189, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ftand' | 'ftor' | 'ge' | | |
'group' | 'gt' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'modify' | 'ne' | 'not' | 'only' | 'or' | 'order' | | |
'ordered' | 'return' | 'same' | 'satisfies' | 'stable' | | |
'start' | 'where' | 'window' | 'with' | 'without' | '}' :) | |
return | |
if ($state[$p:l1] != 180) then (: 'not' :) | |
$state | |
else | |
let $state := p:shiftT(180, $input, $state) (: 'not' :) | |
let $state := p:lookahead1W(50, $input, $state) (: S^WS | ('(' ':') | 'in' :) | |
let $state := p:shiftT(147, $input, $state) (: 'in' :) | |
let $state := p:lookahead1W(156, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' :) | |
let $state := p:try-FTUnaryNot($input, $state) | |
return p:try-FTMildNot-1($input, $state) | |
}; | |
(:~ | |
: Parse FTMildNot. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTMildNot($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-FTUnaryNot($input, $state) | |
let $state := p:parse-FTMildNot-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTMildNot", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTMildNot. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTMildNot($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-FTUnaryNot($input, $state) | |
let $state := p:try-FTMildNot-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production FTAnd (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTAnd-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
if ($state[$p:l1] != 134) then (: 'ftand' :) | |
$state | |
else | |
let $state := p:shift(134, $input, $state) (: 'ftand' :) | |
let $state := p:lookahead1W(156, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTMildNot($input, $state) | |
return p:parse-FTAnd-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production FTAnd (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTAnd-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
if ($state[$p:l1] != 134) then (: 'ftand' :) | |
$state | |
else | |
let $state := p:shiftT(134, $input, $state) (: 'ftand' :) | |
let $state := p:lookahead1W(156, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' :) | |
let $state := p:try-FTMildNot($input, $state) | |
return p:try-FTAnd-1($input, $state) | |
}; | |
(:~ | |
: Parse FTAnd. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTAnd($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-FTMildNot($input, $state) | |
let $state := p:parse-FTAnd-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTAnd", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTAnd. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTAnd($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-FTMildNot($input, $state) | |
let $state := p:try-FTAnd-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production FTOr (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTOr-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
if ($state[$p:l1] != 136) then (: 'ftor' :) | |
$state | |
else | |
let $state := p:shift(136, $input, $state) (: 'ftor' :) | |
let $state := p:lookahead1W(156, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTAnd($input, $state) | |
return p:parse-FTOr-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production FTOr (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTOr-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
if ($state[$p:l1] != 136) then (: 'ftor' :) | |
$state | |
else | |
let $state := p:shiftT(136, $input, $state) (: 'ftor' :) | |
let $state := p:lookahead1W(156, $input, $state) (: StringLiteral | S^WS | '(' | '(#' | ('(' ':') | 'ftnot' | | |
'{' :) | |
let $state := p:try-FTAnd($input, $state) | |
return p:try-FTOr-1($input, $state) | |
}; | |
(:~ | |
: Parse FTOr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTOr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-FTAnd($input, $state) | |
let $state := p:parse-FTOr-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTOr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTOr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTOr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-FTAnd($input, $state) | |
let $state := p:try-FTOr-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production FTSelection (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTSelection-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(186, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ge' | 'group' | 'gt' | | |
'into' | 'is' | 'le' | 'let' | 'lt' | 'modify' | 'ne' | | |
'only' | 'or' | 'order' | 'ordered' | 'return' | 'same' | | |
'satisfies' | 'stable' | 'start' | 'where' | 'window' | | |
'with' | 'without' | '}' :) | |
return | |
if ($state[$p:l1] != 80 (: 'at' :) | |
and $state[$p:l1] != 110 (: 'different' :) | |
and $state[$p:l1] != 112 (: 'distance' :) | |
and $state[$p:l1] != 122 (: 'entire' :) | |
and $state[$p:l1] != 187 (: 'ordered' :) | |
and $state[$p:l1] != 208 (: 'same' :) | |
and $state[$p:l1] != 250) then (: 'window' :) | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-FTPosFilter($input, $state) | |
return p:parse-FTSelection-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production FTSelection (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTSelection-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(186, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | ',' | ';' | '<' | | |
'<<' | '<=' | '=' | '>' | '>=' | '>>' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'at' | 'before' | 'case' | | |
'collation' | 'count' | 'default' | 'descending' | | |
'different' | 'distance' | 'else' | 'empty' | 'end' | | |
'entire' | 'eq' | 'for' | 'ge' | 'group' | 'gt' | | |
'into' | 'is' | 'le' | 'let' | 'lt' | 'modify' | 'ne' | | |
'only' | 'or' | 'order' | 'ordered' | 'return' | 'same' | | |
'satisfies' | 'stable' | 'start' | 'where' | 'window' | | |
'with' | 'without' | '}' :) | |
return | |
if ($state[$p:l1] != 80 (: 'at' :) | |
and $state[$p:l1] != 110 (: 'different' :) | |
and $state[$p:l1] != 112 (: 'distance' :) | |
and $state[$p:l1] != 122 (: 'entire' :) | |
and $state[$p:l1] != 187 (: 'ordered' :) | |
and $state[$p:l1] != 208 (: 'same' :) | |
and $state[$p:l1] != 250) then (: 'window' :) | |
$state | |
else | |
let $state := p:try-FTPosFilter($input, $state) | |
return p:try-FTSelection-1($input, $state) | |
}; | |
(:~ | |
: Parse FTSelection. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FTSelection($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-FTOr($input, $state) | |
let $state := p:parse-FTSelection-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FTSelection", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FTSelection. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FTSelection($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-FTOr($input, $state) | |
let $state := p:try-FTSelection-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse SingleType. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-SingleType($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-AtomicOrUnionType($input, $state) | |
let $state := p:lookahead1W(204, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | '*' | '*' | '+' | | |
',' | '-' | ';' | '<' | '<<' | '<=' | '=' | '>' | '>=' | | |
'>>' | '?' | ']' | 'after' | 'and' | 'as' | 'ascending' | | |
'before' | 'case' | 'castable' | 'collation' | | |
'contains' | 'count' | 'default' | 'descending' | 'div' | | |
'else' | 'empty' | 'end' | 'eq' | 'except' | 'for' | | |
'ge' | 'group' | 'gt' | 'idiv' | 'instance' | | |
'intersect' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'ne' | 'only' | 'or' | 'order' | | |
'paragraphs' | 'return' | 'satisfies' | 'sentences' | | |
'stable' | 'start' | 'times' | 'to' | 'treat' | 'union' | | |
'where' | 'with' | 'words' | '|' | '||' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 39 (: '*' :) | |
or $state[$p:l1] = 64) then (: '?' :) | |
let $state := | |
if ($state[$p:l1] = 64) then (: '?' :) | |
let $state := p:shift(64, $input, $state) (: '?' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(39, $input, $state) (: '*' :) | |
return $state | |
return $state | |
else | |
$state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "SingleType", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing SingleType. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-SingleType($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-AtomicOrUnionType($input, $state) | |
let $state := p:lookahead1W(204, $input, $state) (: EOF | S^WS | '!=' | ('(' ':') | ')' | '*' | '*' | '+' | | |
',' | '-' | ';' | '<' | '<<' | '<=' | '=' | '>' | '>=' | | |
'>>' | '?' | ']' | 'after' | 'and' | 'as' | 'ascending' | | |
'before' | 'case' | 'castable' | 'collation' | | |
'contains' | 'count' | 'default' | 'descending' | 'div' | | |
'else' | 'empty' | 'end' | 'eq' | 'except' | 'for' | | |
'ge' | 'group' | 'gt' | 'idiv' | 'instance' | | |
'intersect' | 'into' | 'is' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'ne' | 'only' | 'or' | 'order' | | |
'paragraphs' | 'return' | 'satisfies' | 'sentences' | | |
'stable' | 'start' | 'times' | 'to' | 'treat' | 'union' | | |
'where' | 'with' | 'words' | '|' | '||' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 39 (: '*' :) | |
or $state[$p:l1] = 64) then (: '?' :) | |
let $state := | |
if ($state[$p:l1] = 64) then (: '?' :) | |
let $state := p:shiftT(64, $input, $state) (: '?' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(39, $input, $state) (: '*' :) | |
return $state | |
return $state | |
else | |
$state | |
return $state | |
}; | |
(:~ | |
: Parse Pragma. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-Pragma($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(35, $input, $state) (: '(#' :) | |
let $state := p:lookahead1(228, $input, $state) (: URIQualifiedName | QName^Token | S | 'after' | | |
'ancestor' | 'ancestor-or-self' | 'and' | 'as' | | |
'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shift(23, $input, $state) (: S :) | |
return $state | |
else | |
$state | |
let $state := p:parse-EQName($input, $state) | |
let $state := p:lookahead1(11, $input, $state) (: S | '#)' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shift(23, $input, $state) (: S :) | |
let $state := p:lookahead1(0, $input, $state) (: PragmaContents :) | |
let $state := p:shift(2, $input, $state) (: PragmaContents :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1(5, $input, $state) (: '#)' :) | |
let $state := p:shift(30, $input, $state) (: '#)' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "Pragma", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing Pragma. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Pragma($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(35, $input, $state) (: '(#' :) | |
let $state := p:lookahead1(228, $input, $state) (: URIQualifiedName | QName^Token | S | 'after' | | |
'ancestor' | 'ancestor-or-self' | 'and' | 'as' | | |
'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shiftT(23, $input, $state) (: S :) | |
return $state | |
else | |
$state | |
let $state := p:try-EQName($input, $state) | |
let $state := p:lookahead1(11, $input, $state) (: S | '#)' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shiftT(23, $input, $state) (: S :) | |
let $state := p:lookahead1(0, $input, $state) (: PragmaContents :) | |
let $state := p:shiftT(2, $input, $state) (: PragmaContents :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1(5, $input, $state) (: '#)' :) | |
let $state := p:shiftT(30, $input, $state) (: '#)' :) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production ExtensionExpr (one or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ExtensionExpr-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Pragma($input, $state) | |
let $state := p:lookahead1W(91, $input, $state) (: S^WS | '(#' | ('(' ':') | '{' :) | |
return | |
if ($state[$p:l1] != 35) then (: '(#' :) | |
$state | |
else | |
p:parse-ExtensionExpr-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production ExtensionExpr (one or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ExtensionExpr-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-Pragma($input, $state) | |
let $state := p:lookahead1W(91, $input, $state) (: S^WS | '(#' | ('(' ':') | '{' :) | |
return | |
if ($state[$p:l1] != 35) then (: '(#' :) | |
$state | |
else | |
p:try-ExtensionExpr-1($input, $state) | |
}; | |
(:~ | |
: Parse ExtensionExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ExtensionExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-ExtensionExpr-1($input, $state) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ExtensionExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ExtensionExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ExtensionExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-ExtensionExpr-1($input, $state) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:try-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production PredicateList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-PredicateList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(211, $input, $state) (: EOF | S^WS | '!' | '!=' | ('(' ':') | ')' | '*' | '+' | | |
',' | '-' | '/' | '//' | ';' | '<' | '<<' | '<=' | '=' | | |
'>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | 'as' | | |
'ascending' | 'before' | 'case' | 'cast' | 'castable' | | |
'collation' | 'contains' | 'count' | 'default' | | |
'descending' | 'div' | 'else' | 'empty' | 'end' | 'eq' | | |
'except' | 'for' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'instance' | 'intersect' | 'into' | 'is' | 'le' | 'let' | | |
'lt' | 'mod' | 'modify' | 'ne' | 'only' | 'or' | | |
'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return | |
if ($state[$p:l1] != 68) then (: '[' :) | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Predicate($input, $state) | |
return p:parse-PredicateList-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production PredicateList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-PredicateList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(211, $input, $state) (: EOF | S^WS | '!' | '!=' | ('(' ':') | ')' | '*' | '+' | | |
',' | '-' | '/' | '//' | ';' | '<' | '<<' | '<=' | '=' | | |
'>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | 'as' | | |
'ascending' | 'before' | 'case' | 'cast' | 'castable' | | |
'collation' | 'contains' | 'count' | 'default' | | |
'descending' | 'div' | 'else' | 'empty' | 'end' | 'eq' | | |
'except' | 'for' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'instance' | 'intersect' | 'into' | 'is' | 'le' | 'let' | | |
'lt' | 'mod' | 'modify' | 'ne' | 'only' | 'or' | | |
'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return | |
if ($state[$p:l1] != 68) then (: '[' :) | |
$state | |
else | |
let $state := p:try-Predicate($input, $state) | |
return p:try-PredicateList-1($input, $state) | |
}; | |
(:~ | |
: Parse PredicateList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-PredicateList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-PredicateList-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "PredicateList", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing PredicateList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-PredicateList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-PredicateList-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse AbbrevForwardStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-AbbrevForwardStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 66) then (: '@' :) | |
let $state := p:shift(66, $input, $state) (: '@' :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(231, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-NodeTest($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "AbbrevForwardStep", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing AbbrevForwardStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-AbbrevForwardStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 66) then (: '@' :) | |
let $state := p:shiftT(66, $input, $state) (: '@' :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(231, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-NodeTest($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse ForwardAxis. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ForwardAxis($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 91) then (: 'child' :) | |
let $state := p:shift(91, $input, $state) (: 'child' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 106) then (: 'descendant' :) | |
let $state := p:shift(106, $input, $state) (: 'descendant' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 81) then (: 'attribute' :) | |
let $state := p:shift(81, $input, $state) (: 'attribute' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 171) then (: 'namespace' :) | |
let $state := p:shift(171, $input, $state) (: 'namespace' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 213) then (: 'self' :) | |
let $state := p:shift(213, $input, $state) (: 'self' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 202) then (: 'property' :) | |
let $state := p:shift(202, $input, $state) (: 'property' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 107) then (: 'descendant-or-self' :) | |
let $state := p:shift(107, $input, $state) (: 'descendant-or-self' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 130) then (: 'following-sibling' :) | |
let $state := p:shift(130, $input, $state) (: 'following-sibling' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(129, $input, $state) (: 'following' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ForwardAxis", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ForwardAxis. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ForwardAxis($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 91) then (: 'child' :) | |
let $state := p:shiftT(91, $input, $state) (: 'child' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 106) then (: 'descendant' :) | |
let $state := p:shiftT(106, $input, $state) (: 'descendant' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 81) then (: 'attribute' :) | |
let $state := p:shiftT(81, $input, $state) (: 'attribute' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 171) then (: 'namespace' :) | |
let $state := p:shiftT(171, $input, $state) (: 'namespace' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 213) then (: 'self' :) | |
let $state := p:shiftT(213, $input, $state) (: 'self' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 202) then (: 'property' :) | |
let $state := p:shiftT(202, $input, $state) (: 'property' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 107) then (: 'descendant-or-self' :) | |
let $state := p:shiftT(107, $input, $state) (: 'descendant-or-self' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 130) then (: 'following-sibling' :) | |
let $state := p:shiftT(130, $input, $state) (: 'following-sibling' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(129, $input, $state) (: 'following' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse ForwardStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ForwardStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 81) then (: 'attribute' :) | |
let $state := p:lookahead2W(218, $input, $state) (: EOF | S^WS | '!' | '!=' | '(' | ('(' ':') | ')' | '*' | | |
'+' | ',' | '-' | '/' | '//' | '::' | ';' | '<' | '<<' | | |
'<=' | '=' | '>' | '>=' | '>>' | '[' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return $state | |
else if ($state[$p:l1] = 91 (: 'descendant' :) | |
or $state[$p:l1] = 106 (: 'descendant-or-self' :) | |
or $state[$p:l1] = 107 (: 'following' :) | |
or $state[$p:l1] = 129 (: 'following-sibling' :) | |
or $state[$p:l1] = 130 (: 'namespace' :) | |
or $state[$p:l1] = 171 (: 'property' :) | |
or $state[$p:l1] = 202 (: 'self' :) | |
or $state[$p:l1] = 213) then (: 'self' :) | |
let $state := p:lookahead2W(215, $input, $state) (: EOF | S^WS | '!' | '!=' | ('(' ':') | ')' | '*' | '+' | | |
',' | '-' | '/' | '//' | '::' | ';' | '<' | '<<' | '<=' | | |
'=' | '>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 25681 (: 'attribute' '::' :) | |
or $state[$p:lk] = 25691 (: 'child' '::' :) | |
or $state[$p:lk] = 25706 (: 'descendant' '::' :) | |
or $state[$p:lk] = 25707 (: 'descendant-or-self' '::' :) | |
or $state[$p:lk] = 25729 (: 'following' '::' :) | |
or $state[$p:lk] = 25730 (: 'following-sibling' '::' :) | |
or $state[$p:lk] = 25771 (: 'namespace' '::' :) | |
or $state[$p:lk] = 25802 (: 'property' '::' :) | |
or $state[$p:lk] = 25813) then (: 'self' '::' :) | |
let $state := p:parse-ForwardAxis($input, $state) | |
let $state := p:lookahead1W(231, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-NodeTest($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-AbbrevForwardStep($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ForwardStep", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ForwardStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ForwardStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 81) then (: 'attribute' :) | |
let $state := p:lookahead2W(218, $input, $state) (: EOF | S^WS | '!' | '!=' | '(' | ('(' ':') | ')' | '*' | | |
'+' | ',' | '-' | '/' | '//' | '::' | ';' | '<' | '<<' | | |
'<=' | '=' | '>' | '>=' | '>>' | '[' | ']' | 'after' | | |
'and' | 'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return $state | |
else if ($state[$p:l1] = 91 (: 'descendant' :) | |
or $state[$p:l1] = 106 (: 'descendant-or-self' :) | |
or $state[$p:l1] = 107 (: 'following' :) | |
or $state[$p:l1] = 129 (: 'following-sibling' :) | |
or $state[$p:l1] = 130 (: 'namespace' :) | |
or $state[$p:l1] = 171 (: 'property' :) | |
or $state[$p:l1] = 202 (: 'self' :) | |
or $state[$p:l1] = 213) then (: 'self' :) | |
let $state := p:lookahead2W(215, $input, $state) (: EOF | S^WS | '!' | '!=' | ('(' ':') | ')' | '*' | '+' | | |
',' | '-' | '/' | '//' | '::' | ';' | '<' | '<<' | '<=' | | |
'=' | '>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 25681 (: 'attribute' '::' :) | |
or $state[$p:lk] = 25691 (: 'child' '::' :) | |
or $state[$p:lk] = 25706 (: 'descendant' '::' :) | |
or $state[$p:lk] = 25707 (: 'descendant-or-self' '::' :) | |
or $state[$p:lk] = 25729 (: 'following' '::' :) | |
or $state[$p:lk] = 25730 (: 'following-sibling' '::' :) | |
or $state[$p:lk] = 25771 (: 'namespace' '::' :) | |
or $state[$p:lk] = 25802 (: 'property' '::' :) | |
or $state[$p:lk] = 25813) then (: 'self' '::' :) | |
let $state := p:try-ForwardAxis($input, $state) | |
let $state := p:lookahead1W(231, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-NodeTest($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-AbbrevForwardStep($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse AbbrevReverseStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-AbbrevReverseStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(45, $input, $state) (: '..' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "AbbrevReverseStep", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing AbbrevReverseStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-AbbrevReverseStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(45, $input, $state) (: '..' :) | |
return $state | |
}; | |
(:~ | |
: Parse NameTest. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-NameTest($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 6) then (: Wildcard :) | |
let $state := p:shift(6, $input, $state) (: Wildcard :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-EQName($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "NameTest", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing NameTest. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-NameTest($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 6) then (: Wildcard :) | |
let $state := p:shiftT(6, $input, $state) (: Wildcard :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-EQName($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse NodeTest. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-NodeTest($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 81 (: 'binary' :) | |
or $state[$p:l1] = 84 (: 'comment' :) | |
or $state[$p:l1] = 93 (: 'document-node' :) | |
or $state[$p:l1] = 115 (: 'element' :) | |
or $state[$p:l1] = 116 (: 'namespace-node' :) | |
or $state[$p:l1] = 172 (: 'node' :) | |
or $state[$p:l1] = 178 (: 'processing-instruction' :) | |
or $state[$p:l1] = 201 (: 'schema-attribute' :) | |
or $state[$p:l1] = 211 (: 'schema-element' :) | |
or $state[$p:l1] = 212 (: 'text' :) | |
or $state[$p:l1] = 228) then (: 'text' :) | |
let $state := p:lookahead2W(214, $input, $state) (: EOF | S^WS | '!' | '!=' | '(' | ('(' ':') | ')' | '*' | | |
'+' | ',' | '-' | '/' | '//' | ';' | '<' | '<<' | '<=' | | |
'=' | '>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 17489 (: 'attribute' '(' :) | |
or $state[$p:lk] = 17492 (: 'binary' '(' :) | |
or $state[$p:lk] = 17501 (: 'comment' '(' :) | |
or $state[$p:lk] = 17523 (: 'document-node' '(' :) | |
or $state[$p:lk] = 17524 (: 'element' '(' :) | |
or $state[$p:lk] = 17580 (: 'namespace-node' '(' :) | |
or $state[$p:lk] = 17586 (: 'node' '(' :) | |
or $state[$p:lk] = 17609 (: 'processing-instruction' '(' :) | |
or $state[$p:lk] = 17619 (: 'schema-attribute' '(' :) | |
or $state[$p:lk] = 17620 (: 'schema-element' '(' :) | |
or $state[$p:lk] = 17636) then (: 'text' '(' :) | |
let $state := p:parse-KindTest($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-NameTest($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "NodeTest", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing NodeTest. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-NodeTest($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 81 (: 'binary' :) | |
or $state[$p:l1] = 84 (: 'comment' :) | |
or $state[$p:l1] = 93 (: 'document-node' :) | |
or $state[$p:l1] = 115 (: 'element' :) | |
or $state[$p:l1] = 116 (: 'namespace-node' :) | |
or $state[$p:l1] = 172 (: 'node' :) | |
or $state[$p:l1] = 178 (: 'processing-instruction' :) | |
or $state[$p:l1] = 201 (: 'schema-attribute' :) | |
or $state[$p:l1] = 211 (: 'schema-element' :) | |
or $state[$p:l1] = 212 (: 'text' :) | |
or $state[$p:l1] = 228) then (: 'text' :) | |
let $state := p:lookahead2W(214, $input, $state) (: EOF | S^WS | '!' | '!=' | '(' | ('(' ':') | ')' | '*' | | |
'+' | ',' | '-' | '/' | '//' | ';' | '<' | '<<' | '<=' | | |
'=' | '>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 17489 (: 'attribute' '(' :) | |
or $state[$p:lk] = 17492 (: 'binary' '(' :) | |
or $state[$p:lk] = 17501 (: 'comment' '(' :) | |
or $state[$p:lk] = 17523 (: 'document-node' '(' :) | |
or $state[$p:lk] = 17524 (: 'element' '(' :) | |
or $state[$p:lk] = 17580 (: 'namespace-node' '(' :) | |
or $state[$p:lk] = 17586 (: 'node' '(' :) | |
or $state[$p:lk] = 17609 (: 'processing-instruction' '(' :) | |
or $state[$p:lk] = 17619 (: 'schema-attribute' '(' :) | |
or $state[$p:lk] = 17620 (: 'schema-element' '(' :) | |
or $state[$p:lk] = 17636) then (: 'text' '(' :) | |
let $state := p:try-KindTest($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-NameTest($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse ReverseAxis. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ReverseAxis($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 191) then (: 'parent' :) | |
let $state := p:shift(191, $input, $state) (: 'parent' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 74) then (: 'ancestor' :) | |
let $state := p:shift(74, $input, $state) (: 'ancestor' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 197) then (: 'preceding-sibling' :) | |
let $state := p:shift(197, $input, $state) (: 'preceding-sibling' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 196) then (: 'preceding' :) | |
let $state := p:shift(196, $input, $state) (: 'preceding' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(75, $input, $state) (: 'ancestor-or-self' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shift(50, $input, $state) (: '::' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ReverseAxis", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ReverseAxis. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ReverseAxis($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 191) then (: 'parent' :) | |
let $state := p:shiftT(191, $input, $state) (: 'parent' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 74) then (: 'ancestor' :) | |
let $state := p:shiftT(74, $input, $state) (: 'ancestor' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 197) then (: 'preceding-sibling' :) | |
let $state := p:shiftT(197, $input, $state) (: 'preceding-sibling' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:l1] = 196) then (: 'preceding' :) | |
let $state := p:shiftT(196, $input, $state) (: 'preceding' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(75, $input, $state) (: 'ancestor-or-self' :) | |
let $state := p:lookahead1W(28, $input, $state) (: S^WS | ('(' ':') | '::' :) | |
let $state := p:shiftT(50, $input, $state) (: '::' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse ReverseStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ReverseStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 45) then (: '..' :) | |
let $state := p:parse-AbbrevReverseStep($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-ReverseAxis($input, $state) | |
let $state := p:lookahead1W(231, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-NodeTest($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ReverseStep", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ReverseStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ReverseStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 45) then (: '..' :) | |
let $state := p:try-AbbrevReverseStep($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-ReverseAxis($input, $state) | |
let $state := p:lookahead1W(231, $input, $state) (: Wildcard | URIQualifiedName | QName^Token | S^WS | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-NodeTest($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse AxisStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-AxisStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 74 (: 'ancestor-or-self' :) | |
or $state[$p:l1] = 75 (: 'parent' :) | |
or $state[$p:l1] = 191 (: 'preceding' :) | |
or $state[$p:l1] = 196 (: 'preceding-sibling' :) | |
or $state[$p:l1] = 197) then (: 'preceding-sibling' :) | |
let $state := p:lookahead2W(215, $input, $state) (: EOF | S^WS | '!' | '!=' | ('(' ':') | ')' | '*' | '+' | | |
',' | '-' | '/' | '//' | '::' | ';' | '<' | '<<' | '<=' | | |
'=' | '>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 45 (: '..' :) | |
or $state[$p:lk] = 25674 (: 'ancestor' '::' :) | |
or $state[$p:lk] = 25675 (: 'ancestor-or-self' '::' :) | |
or $state[$p:lk] = 25791 (: 'parent' '::' :) | |
or $state[$p:lk] = 25796 (: 'preceding' '::' :) | |
or $state[$p:lk] = 25797) then (: 'preceding-sibling' '::' :) | |
let $state := p:parse-ReverseStep($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-ForwardStep($input, $state) | |
return $state | |
let $state := p:lookahead1W(211, $input, $state) (: EOF | S^WS | '!' | '!=' | ('(' ':') | ')' | '*' | '+' | | |
',' | '-' | '/' | '//' | ';' | '<' | '<<' | '<=' | '=' | | |
'>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | 'as' | | |
'ascending' | 'before' | 'case' | 'cast' | 'castable' | | |
'collation' | 'contains' | 'count' | 'default' | | |
'descending' | 'div' | 'else' | 'empty' | 'end' | 'eq' | | |
'except' | 'for' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'instance' | 'intersect' | 'into' | 'is' | 'le' | 'let' | | |
'lt' | 'mod' | 'modify' | 'ne' | 'only' | 'or' | | |
'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-PredicateList($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "AxisStep", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing AxisStep. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-AxisStep($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 74 (: 'ancestor-or-self' :) | |
or $state[$p:l1] = 75 (: 'parent' :) | |
or $state[$p:l1] = 191 (: 'preceding' :) | |
or $state[$p:l1] = 196 (: 'preceding-sibling' :) | |
or $state[$p:l1] = 197) then (: 'preceding-sibling' :) | |
let $state := p:lookahead2W(215, $input, $state) (: EOF | S^WS | '!' | '!=' | ('(' ':') | ')' | '*' | '+' | | |
',' | '-' | '/' | '//' | '::' | ';' | '<' | '<<' | '<=' | | |
'=' | '>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 45 (: '..' :) | |
or $state[$p:lk] = 25674 (: 'ancestor' '::' :) | |
or $state[$p:lk] = 25675 (: 'ancestor-or-self' '::' :) | |
or $state[$p:lk] = 25791 (: 'parent' '::' :) | |
or $state[$p:lk] = 25796 (: 'preceding' '::' :) | |
or $state[$p:lk] = 25797) then (: 'preceding-sibling' '::' :) | |
let $state := p:try-ReverseStep($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-ForwardStep($input, $state) | |
return $state | |
let $state := p:lookahead1W(211, $input, $state) (: EOF | S^WS | '!' | '!=' | ('(' ':') | ')' | '*' | '+' | | |
',' | '-' | '/' | '//' | ';' | '<' | '<<' | '<=' | '=' | | |
'>' | '>=' | '>>' | '[' | ']' | 'after' | 'and' | 'as' | | |
'ascending' | 'before' | 'case' | 'cast' | 'castable' | | |
'collation' | 'contains' | 'count' | 'default' | | |
'descending' | 'div' | 'else' | 'empty' | 'end' | 'eq' | | |
'except' | 'for' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'instance' | 'intersect' | 'into' | 'is' | 'le' | 'let' | | |
'lt' | 'mod' | 'modify' | 'ne' | 'only' | 'or' | | |
'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'union' | 'where' | 'with' | 'words' | '|' | | |
'||' | '}' :) | |
let $state := p:try-PredicateList($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse Predicate. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-Predicate($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(68, $input, $state) (: '[' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(69, $input, $state) (: ']' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "Predicate", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing Predicate. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Predicate($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(68, $input, $state) (: '[' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(69, $input, $state) (: ']' :) | |
return $state | |
}; | |
(:~ | |
: Parse Param. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-Param($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EQName($input, $state) | |
let $state := p:lookahead1W(137, $input, $state) (: S^WS | ('(' ':') | ')' | ',' | 'as' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 78) then (: 'as' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-TypeDeclaration($input, $state) | |
return $state | |
else | |
$state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "Param", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing Param. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Param($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-EQName($input, $state) | |
let $state := p:lookahead1W(137, $input, $state) (: S^WS | ('(' ':') | ')' | ',' | 'as' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 78) then (: 'as' :) | |
let $state := p:try-TypeDeclaration($input, $state) | |
return $state | |
else | |
$state | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production ParamList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ParamList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(92, $input, $state) (: S^WS | ('(' ':') | ')' | ',' :) | |
return | |
if ($state[$p:l1] != 41) then (: ',' :) | |
$state | |
else | |
let $state := p:shift(41, $input, $state) (: ',' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Param($input, $state) | |
return p:parse-ParamList-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production ParamList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ParamList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(92, $input, $state) (: S^WS | ('(' ':') | ')' | ',' :) | |
return | |
if ($state[$p:l1] != 41) then (: ',' :) | |
$state | |
else | |
let $state := p:shiftT(41, $input, $state) (: ',' :) | |
let $state := p:lookahead1W(23, $input, $state) (: S^WS | '$' | ('(' ':') :) | |
let $state := p:try-Param($input, $state) | |
return p:try-ParamList-1($input, $state) | |
}; | |
(:~ | |
: Parse ParamList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ParamList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-Param($input, $state) | |
let $state := p:parse-ParamList-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ParamList", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ParamList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ParamList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-Param($input, $state) | |
let $state := p:try-ParamList-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse InlineFunction. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-InlineFunction($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(138, $input, $state) (: 'function' :) | |
let $state := p:lookahead1W(24, $input, $state) (: S^WS | '(' | ('(' ':') :) | |
let $state := p:shift(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(87, $input, $state) (: S^WS | '$' | ('(' ':') | ')' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 31) then (: '$' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ParamList($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(37, $input, $state) (: ')' :) | |
let $state := p:lookahead1W(101, $input, $state) (: S^WS | ('(' ':') | 'as' | '{' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 78) then (: 'as' :) | |
let $state := p:shift(78, $input, $state) (: 'as' :) | |
let $state := p:lookahead1W(235, $input, $state) (: URIQualifiedName | QName^Token | S^WS | '%' | '(' | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-SequenceType($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EnclosedExpr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "InlineFunction", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing InlineFunction. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-InlineFunction($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(138, $input, $state) (: 'function' :) | |
let $state := p:lookahead1W(24, $input, $state) (: S^WS | '(' | ('(' ':') :) | |
let $state := p:shiftT(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(87, $input, $state) (: S^WS | '$' | ('(' ':') | ')' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 31) then (: '$' :) | |
let $state := p:try-ParamList($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(37, $input, $state) (: ')' :) | |
let $state := p:lookahead1W(101, $input, $state) (: S^WS | ('(' ':') | 'as' | '{' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 78) then (: 'as' :) | |
let $state := p:shiftT(78, $input, $state) (: 'as' :) | |
let $state := p:lookahead1W(235, $input, $state) (: URIQualifiedName | QName^Token | S^WS | '%' | '(' | | |
('(' ':') | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-SequenceType($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:try-EnclosedExpr($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse LiteralFunctionItem. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-LiteralFunctionItem($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-EQName($input, $state) | |
let $state := p:lookahead1W(22, $input, $state) (: S^WS | '#' | ('(' ':') :) | |
let $state := p:shift(29, $input, $state) (: '#' :) | |
let $state := p:lookahead1W(18, $input, $state) (: IntegerLiteral | S^WS | ('(' ':') :) | |
let $state := p:shift(9, $input, $state) (: IntegerLiteral :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "LiteralFunctionItem", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing LiteralFunctionItem. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-LiteralFunctionItem($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-EQName($input, $state) | |
let $state := p:lookahead1W(22, $input, $state) (: S^WS | '#' | ('(' ':') :) | |
let $state := p:shiftT(29, $input, $state) (: '#' :) | |
let $state := p:lookahead1W(18, $input, $state) (: IntegerLiteral | S^WS | ('(' ':') :) | |
let $state := p:shiftT(9, $input, $state) (: IntegerLiteral :) | |
return $state | |
}; | |
(:~ | |
: Parse FunctionItemExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FunctionItemExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 138) then (: 'function' :) | |
let $state := p:lookahead2W(85, $input, $state) (: S^WS | '#' | '(' | ('(' ':') :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 17546) then (: 'function' '(' :) | |
let $state := p:parse-InlineFunction($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-LiteralFunctionItem($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FunctionItemExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FunctionItemExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FunctionItemExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 138) then (: 'function' :) | |
let $state := p:lookahead2W(85, $input, $state) (: S^WS | '#' | '(' | ('(' ':') :) | |
return $state | |
else | |
($state[$p:l1], subsequence($state, $p:lk + 1)) | |
let $state := | |
if ($state[$p:lk] = 17546) then (: 'function' '(' :) | |
let $state := p:try-InlineFunction($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-LiteralFunctionItem($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse PrefixExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-PrefixExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-Expr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "PrefixExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing PrefixExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-PrefixExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-Expr($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse Prefix. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-Prefix($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-NCName($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "Prefix", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing Prefix. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Prefix($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-NCName($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse CompNamespaceConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CompNamespaceConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(171, $input, $state) (: 'namespace' :) | |
let $state := p:lookahead1W(182, $input, $state) (: NCName^Token | S^WS | ('(' ':') | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'try' | 'union' | 'where' | 'with' | 'words' | | |
'{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-PrefixExpr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Prefix($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EnclosedExprExtended($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CompNamespaceConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CompNamespaceConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CompNamespaceConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(171, $input, $state) (: 'namespace' :) | |
let $state := p:lookahead1W(182, $input, $state) (: NCName^Token | S^WS | ('(' ':') | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'try' | 'union' | 'where' | 'with' | 'words' | | |
'{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-PrefixExpr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-Prefix($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:try-EnclosedExprExtended($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse CompBinaryConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CompBinaryConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(84, $input, $state) (: 'binary' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EnclosedExprExtended($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CompBinaryConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CompBinaryConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CompBinaryConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(84, $input, $state) (: 'binary' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:try-EnclosedExprExtended($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse CompPIConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CompPIConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(201, $input, $state) (: 'processing-instruction' :) | |
let $state := p:lookahead1W(182, $input, $state) (: NCName^Token | S^WS | ('(' ':') | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'try' | 'union' | 'where' | 'with' | 'words' | | |
'{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-NCName($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CompPIConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CompPIConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CompPIConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(201, $input, $state) (: 'processing-instruction' :) | |
let $state := p:lookahead1W(182, $input, $state) (: NCName^Token | S^WS | ('(' ':') | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'try' | 'union' | 'where' | 'with' | 'words' | | |
'{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-NCName($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:try-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse CompCommentConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CompCommentConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(93, $input, $state) (: 'comment' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CompCommentConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CompCommentConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CompCommentConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(93, $input, $state) (: 'comment' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse EnclosedExprExtended. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-EnclosedExprExtended($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "EnclosedExprExtended", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing EnclosedExprExtended. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-EnclosedExprExtended($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:try-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse CompTextConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CompTextConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(228, $input, $state) (: 'text' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EnclosedExprExtended($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CompTextConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CompTextConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CompTextConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(228, $input, $state) (: 'text' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:try-EnclosedExprExtended($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse CompAttrConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CompAttrConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(81, $input, $state) (: 'attribute' :) | |
let $state := p:lookahead1W(232, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EQName($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CompAttrConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CompAttrConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CompAttrConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(81, $input, $state) (: 'attribute' :) | |
let $state := p:lookahead1W(232, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-EQName($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:try-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse ContentExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ContentExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-Expr($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ContentExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ContentExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ContentExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-Expr($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse CompElemConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CompElemConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(116, $input, $state) (: 'element' :) | |
let $state := p:lookahead1W(232, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-EQName($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ContentExpr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CompElemConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CompElemConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CompElemConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(116, $input, $state) (: 'element' :) | |
let $state := p:lookahead1W(232, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '{' :) | |
let $state := | |
if ($state[$p:l1] = 257) then (: '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-EQName($input, $state) | |
return $state | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(246, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '}' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 261) then (: '}' :) | |
let $state := p:try-ContentExpr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse CompDocConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CompDocConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(114, $input, $state) (: 'document' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CompDocConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CompDocConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CompDocConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(114, $input, $state) (: 'document' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse ComputedConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ComputedConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 114) then (: 'document' :) | |
let $state := p:parse-CompDocConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 116) then (: 'element' :) | |
let $state := p:parse-CompElemConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 81) then (: 'attribute' :) | |
let $state := p:parse-CompAttrConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 228) then (: 'text' :) | |
let $state := p:parse-CompTextConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 93) then (: 'comment' :) | |
let $state := p:parse-CompCommentConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 201) then (: 'processing-instruction' :) | |
let $state := p:parse-CompPIConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 84) then (: 'binary' :) | |
let $state := p:parse-CompBinaryConstructor($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-CompNamespaceConstructor($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ComputedConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ComputedConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ComputedConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 114) then (: 'document' :) | |
let $state := p:try-CompDocConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 116) then (: 'element' :) | |
let $state := p:try-CompElemConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 81) then (: 'attribute' :) | |
let $state := p:try-CompAttrConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 228) then (: 'text' :) | |
let $state := p:try-CompTextConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 93) then (: 'comment' :) | |
let $state := p:try-CompCommentConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 201) then (: 'processing-instruction' :) | |
let $state := p:try-CompPIConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 84) then (: 'binary' :) | |
let $state := p:try-CompBinaryConstructor($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-CompNamespaceConstructor($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse DirPIConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirPIConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(59, $input, $state) (: '<?' :) | |
let $state := p:lookahead1(4, $input, $state) (: PITarget :) | |
let $state := p:shift(19, $input, $state) (: PITarget :) | |
let $state := p:lookahead1(14, $input, $state) (: S | '?>' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shift(23, $input, $state) (: S :) | |
let $state := p:lookahead1(2, $input, $state) (: DirPIContents :) | |
let $state := p:shift(4, $input, $state) (: DirPIContents :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1(9, $input, $state) (: '?>' :) | |
let $state := p:shift(65, $input, $state) (: '?>' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "DirPIConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing DirPIConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirPIConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(59, $input, $state) (: '<?' :) | |
let $state := p:lookahead1(4, $input, $state) (: PITarget :) | |
let $state := p:shiftT(19, $input, $state) (: PITarget :) | |
let $state := p:lookahead1(14, $input, $state) (: S | '?>' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shiftT(23, $input, $state) (: S :) | |
let $state := p:lookahead1(2, $input, $state) (: DirPIContents :) | |
let $state := p:shiftT(4, $input, $state) (: DirPIContents :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1(9, $input, $state) (: '?>' :) | |
let $state := p:shiftT(65, $input, $state) (: '?>' :) | |
return $state | |
}; | |
(:~ | |
: Parse DirCommentConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirCommentConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(54, $input, $state) (: '<!--' :) | |
let $state := p:lookahead1(1, $input, $state) (: DirCommentContents :) | |
let $state := p:shift(3, $input, $state) (: DirCommentContents :) | |
let $state := p:lookahead1(6, $input, $state) (: '-->' :) | |
let $state := p:shift(43, $input, $state) (: '-->' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "DirCommentConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing DirCommentConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirCommentConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(54, $input, $state) (: '<!--' :) | |
let $state := p:lookahead1(1, $input, $state) (: DirCommentContents :) | |
let $state := p:shiftT(3, $input, $state) (: DirCommentContents :) | |
let $state := p:lookahead1(6, $input, $state) (: '-->' :) | |
let $state := p:shiftT(43, $input, $state) (: '-->' :) | |
return $state | |
}; | |
(:~ | |
: Parse CDataSection. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CDataSection($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(55, $input, $state) (: '<![CDATA[' :) | |
let $state := p:lookahead1(3, $input, $state) (: CDataSectionContents :) | |
let $state := p:shift(5, $input, $state) (: CDataSectionContents :) | |
let $state := p:lookahead1(10, $input, $state) (: ']]>' :) | |
let $state := p:shift(70, $input, $state) (: ']]>' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CDataSection", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CDataSection. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CDataSection($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(55, $input, $state) (: '<![CDATA[' :) | |
let $state := p:lookahead1(3, $input, $state) (: CDataSectionContents :) | |
let $state := p:shiftT(5, $input, $state) (: CDataSectionContents :) | |
let $state := p:lookahead1(10, $input, $state) (: ']]>' :) | |
let $state := p:shiftT(70, $input, $state) (: ']]>' :) | |
return $state | |
}; | |
(:~ | |
: Parse DirElemContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirElemContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 53 (: '<' :) | |
or $state[$p:l1] = 54 (: '<!--' :) | |
or $state[$p:l1] = 59) then (: '<?' :) | |
let $state := p:parse-DirectConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 55) then (: '<![CDATA[' :) | |
let $state := p:parse-CDataSection($input, $state) | |
return $state | |
else if ($state[$p:l1] = 16) then (: ElementContentChar :) | |
let $state := p:shift(16, $input, $state) (: ElementContentChar :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-CommonContent($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "DirElemContent", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing DirElemContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirElemContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 53 (: '<' :) | |
or $state[$p:l1] = 54 (: '<!--' :) | |
or $state[$p:l1] = 59) then (: '<?' :) | |
let $state := p:try-DirectConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 55) then (: '<![CDATA[' :) | |
let $state := p:try-CDataSection($input, $state) | |
return $state | |
else if ($state[$p:l1] = 16) then (: ElementContentChar :) | |
let $state := p:shiftT(16, $input, $state) (: ElementContentChar :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-CommonContent($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse AposAttrValueContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-AposAttrValueContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 18) then (: AposAttrContentChar :) | |
let $state := p:shift(18, $input, $state) (: AposAttrContentChar :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-CommonContent($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "AposAttrValueContent", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing AposAttrValueContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-AposAttrValueContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 18) then (: AposAttrContentChar :) | |
let $state := p:shiftT(18, $input, $state) (: AposAttrContentChar :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-CommonContent($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse EnclosedExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-EnclosedExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "EnclosedExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing EnclosedExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-EnclosedExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse CommonContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-CommonContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 13) then (: PredefinedEntityRef :) | |
let $state := p:shift(13, $input, $state) (: PredefinedEntityRef :) | |
return $state | |
else if ($state[$p:l1] = 20) then (: CharRef :) | |
let $state := p:shift(20, $input, $state) (: CharRef :) | |
return $state | |
else if ($state[$p:l1] = 258) then (: '{{' :) | |
let $state := p:shift(258, $input, $state) (: '{{' :) | |
return $state | |
else if ($state[$p:l1] = 262) then (: '}}' :) | |
let $state := p:shift(262, $input, $state) (: '}}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-EnclosedExpr($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "CommonContent", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing CommonContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-CommonContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 13) then (: PredefinedEntityRef :) | |
let $state := p:shiftT(13, $input, $state) (: PredefinedEntityRef :) | |
return $state | |
else if ($state[$p:l1] = 20) then (: CharRef :) | |
let $state := p:shiftT(20, $input, $state) (: CharRef :) | |
return $state | |
else if ($state[$p:l1] = 258) then (: '{{' :) | |
let $state := p:shiftT(258, $input, $state) (: '{{' :) | |
return $state | |
else if ($state[$p:l1] = 262) then (: '}}' :) | |
let $state := p:shiftT(262, $input, $state) (: '}}' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-EnclosedExpr($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse QuotAttrValueContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-QuotAttrValueContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 17) then (: QuotAttrContentChar :) | |
let $state := p:shift(17, $input, $state) (: QuotAttrContentChar :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-CommonContent($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "QuotAttrValueContent", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing QuotAttrValueContent. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-QuotAttrValueContent($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 17) then (: QuotAttrContentChar :) | |
let $state := p:shiftT(17, $input, $state) (: QuotAttrContentChar :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-CommonContent($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production DirAttributeValue (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirAttributeValue-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(161, $input, $state) (: PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | | |
CharRef | '"' | '{' | '{{' | '}}' :) | |
return | |
if ($state[$p:l1] = 28) then (: '"' :) | |
$state | |
else | |
let $state := | |
if ($state[$p:l1] = 14) then (: EscapeQuot :) | |
let $state := p:shift(14, $input, $state) (: EscapeQuot :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-QuotAttrValueContent($input, $state) | |
return $state | |
return p:parse-DirAttributeValue-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production DirAttributeValue (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirAttributeValue-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(161, $input, $state) (: PredefinedEntityRef | EscapeQuot | QuotAttrContentChar | | |
CharRef | '"' | '{' | '{{' | '}}' :) | |
return | |
if ($state[$p:l1] = 28) then (: '"' :) | |
$state | |
else | |
let $state := | |
if ($state[$p:l1] = 14) then (: EscapeQuot :) | |
let $state := p:shiftT(14, $input, $state) (: EscapeQuot :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-QuotAttrValueContent($input, $state) | |
return $state | |
return p:try-DirAttributeValue-1($input, $state) | |
}; | |
(:~ | |
: Parse the 2nd loop of production DirAttributeValue (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirAttributeValue-2($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(162, $input, $state) (: PredefinedEntityRef | EscapeApos | AposAttrContentChar | | |
CharRef | "'" | '{' | '{{' | '}}' :) | |
return | |
if ($state[$p:l1] = 33) then (: "'" :) | |
$state | |
else | |
let $state := | |
if ($state[$p:l1] = 15) then (: EscapeApos :) | |
let $state := p:shift(15, $input, $state) (: EscapeApos :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-AposAttrValueContent($input, $state) | |
return $state | |
return p:parse-DirAttributeValue-2($input, $state) | |
}; | |
(:~ | |
: Try parsing the 2nd loop of production DirAttributeValue (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirAttributeValue-2($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(162, $input, $state) (: PredefinedEntityRef | EscapeApos | AposAttrContentChar | | |
CharRef | "'" | '{' | '{{' | '}}' :) | |
return | |
if ($state[$p:l1] = 33) then (: "'" :) | |
$state | |
else | |
let $state := | |
if ($state[$p:l1] = 15) then (: EscapeApos :) | |
let $state := p:shiftT(15, $input, $state) (: EscapeApos :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-AposAttrValueContent($input, $state) | |
return $state | |
return p:try-DirAttributeValue-2($input, $state) | |
}; | |
(:~ | |
: Parse DirAttributeValue. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirAttributeValue($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:lookahead1(15, $input, $state) (: '"' | "'" :) | |
let $state := | |
if ($state[$p:l1] = 28) then (: '"' :) | |
let $state := p:shift(28, $input, $state) (: '"' :) | |
let $state := p:parse-DirAttributeValue-1($input, $state) | |
let $state := p:shift(28, $input, $state) (: '"' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(33, $input, $state) (: "'" :) | |
let $state := p:parse-DirAttributeValue-2($input, $state) | |
let $state := p:shift(33, $input, $state) (: "'" :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "DirAttributeValue", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing DirAttributeValue. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirAttributeValue($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:lookahead1(15, $input, $state) (: '"' | "'" :) | |
let $state := | |
if ($state[$p:l1] = 28) then (: '"' :) | |
let $state := p:shiftT(28, $input, $state) (: '"' :) | |
let $state := p:try-DirAttributeValue-1($input, $state) | |
let $state := p:shiftT(28, $input, $state) (: '"' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(33, $input, $state) (: "'" :) | |
let $state := p:try-DirAttributeValue-2($input, $state) | |
let $state := p:shiftT(33, $input, $state) (: "'" :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production DirAttributeList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirAttributeList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(21, $input, $state) (: S | '/>' | '>' :) | |
return | |
if ($state[$p:l1] != 23) then (: S :) | |
$state | |
else | |
let $state := p:shift(23, $input, $state) (: S :) | |
let $state := p:lookahead1(230, $input, $state) (: QName^Token | S | '/>' | '>' | 'after' | 'ancestor' | | |
'ancestor-or-self' | 'and' | 'as' | 'ascending' | | |
'attribute' | 'before' | 'binary' | 'case' | 'cast' | | |
'castable' | 'catch' | 'child' | 'collation' | | |
'comment' | 'contains' | 'copy' | 'count' | 'declare' | | |
'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 23 (: S :) | |
and $state[$p:l1] != 48 (: '/>' :) | |
and $state[$p:l1] != 61) then (: '>' :) | |
let $state := p:parse-QName($input, $state) | |
let $state := p:lookahead1(12, $input, $state) (: S | '=' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shift(23, $input, $state) (: S :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1(7, $input, $state) (: '=' :) | |
let $state := p:shift(60, $input, $state) (: '=' :) | |
let $state := p:lookahead1(20, $input, $state) (: S | '"' | "'" :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shift(23, $input, $state) (: S :) | |
return $state | |
else | |
$state | |
let $state := p:parse-DirAttributeValue($input, $state) | |
return $state | |
else | |
$state | |
return p:parse-DirAttributeList-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production DirAttributeList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirAttributeList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(21, $input, $state) (: S | '/>' | '>' :) | |
return | |
if ($state[$p:l1] != 23) then (: S :) | |
$state | |
else | |
let $state := p:shiftT(23, $input, $state) (: S :) | |
let $state := p:lookahead1(230, $input, $state) (: QName^Token | S | '/>' | '>' | 'after' | 'ancestor' | | |
'ancestor-or-self' | 'and' | 'as' | 'ascending' | | |
'attribute' | 'before' | 'binary' | 'case' | 'cast' | | |
'castable' | 'catch' | 'child' | 'collation' | | |
'comment' | 'contains' | 'copy' | 'count' | 'declare' | | |
'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 23 (: S :) | |
and $state[$p:l1] != 48 (: '/>' :) | |
and $state[$p:l1] != 61) then (: '>' :) | |
let $state := p:try-QName($input, $state) | |
let $state := p:lookahead1(12, $input, $state) (: S | '=' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shiftT(23, $input, $state) (: S :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1(7, $input, $state) (: '=' :) | |
let $state := p:shiftT(60, $input, $state) (: '=' :) | |
let $state := p:lookahead1(20, $input, $state) (: S | '"' | "'" :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shiftT(23, $input, $state) (: S :) | |
return $state | |
else | |
$state | |
let $state := p:try-DirAttributeValue($input, $state) | |
return $state | |
else | |
$state | |
return p:try-DirAttributeList-1($input, $state) | |
}; | |
(:~ | |
: Parse DirAttributeList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirAttributeList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-DirAttributeList-1($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "DirAttributeList", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing DirAttributeList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirAttributeList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-DirAttributeList-1($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production DirElemConstructor (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirElemConstructor-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(168, $input, $state) (: PredefinedEntityRef | ElementContentChar | CharRef | | |
'<' | '<!--' | '<![CDATA[' | '</' | '<?' | '{' | '{{' | | |
'}}' :) | |
return | |
if ($state[$p:l1] = 56) then (: '</' :) | |
$state | |
else | |
let $state := p:parse-DirElemContent($input, $state) | |
return p:parse-DirElemConstructor-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production DirElemConstructor (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirElemConstructor-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1(168, $input, $state) (: PredefinedEntityRef | ElementContentChar | CharRef | | |
'<' | '<!--' | '<![CDATA[' | '</' | '<?' | '{' | '{{' | | |
'}}' :) | |
return | |
if ($state[$p:l1] = 56) then (: '</' :) | |
$state | |
else | |
let $state := p:try-DirElemContent($input, $state) | |
return p:try-DirElemConstructor-1($input, $state) | |
}; | |
(:~ | |
: Parse DirElemConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirElemConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(53, $input, $state) (: '<' :) | |
let $state := p:parse-QName($input, $state) | |
let $state := p:parse-DirAttributeList($input, $state) | |
let $state := | |
if ($state[$p:l1] = 48) then (: '/>' :) | |
let $state := p:shift(48, $input, $state) (: '/>' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shift(61, $input, $state) (: '>' :) | |
let $state := p:parse-DirElemConstructor-1($input, $state) | |
let $state := p:shift(56, $input, $state) (: '</' :) | |
let $state := p:parse-QName($input, $state) | |
let $state := p:lookahead1(13, $input, $state) (: S | '>' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shift(23, $input, $state) (: S :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1(8, $input, $state) (: '>' :) | |
let $state := p:shift(61, $input, $state) (: '>' :) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "DirElemConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing DirElemConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirElemConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(53, $input, $state) (: '<' :) | |
let $state := p:try-QName($input, $state) | |
let $state := p:try-DirAttributeList($input, $state) | |
let $state := | |
if ($state[$p:l1] = 48) then (: '/>' :) | |
let $state := p:shiftT(48, $input, $state) (: '/>' :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:shiftT(61, $input, $state) (: '>' :) | |
let $state := p:try-DirElemConstructor-1($input, $state) | |
let $state := p:shiftT(56, $input, $state) (: '</' :) | |
let $state := p:try-QName($input, $state) | |
let $state := p:lookahead1(13, $input, $state) (: S | '>' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] = 23) then (: S :) | |
let $state := p:shiftT(23, $input, $state) (: S :) | |
return $state | |
else | |
$state | |
let $state := p:lookahead1(8, $input, $state) (: '>' :) | |
let $state := p:shiftT(61, $input, $state) (: '>' :) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse DirectConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-DirectConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 53) then (: '<' :) | |
let $state := p:parse-DirElemConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 54) then (: '<!--' :) | |
let $state := p:parse-DirCommentConstructor($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-DirPIConstructor($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "DirectConstructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing DirectConstructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-DirectConstructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 53) then (: '<' :) | |
let $state := p:try-DirElemConstructor($input, $state) | |
return $state | |
else if ($state[$p:l1] = 54) then (: '<!--' :) | |
let $state := p:try-DirCommentConstructor($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-DirPIConstructor($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse Constructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-Constructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 53 (: '<' :) | |
or $state[$p:l1] = 54 (: '<!--' :) | |
or $state[$p:l1] = 59) then (: '<?' :) | |
let $state := p:parse-DirectConstructor($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-ComputedConstructor($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "Constructor", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing Constructor. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Constructor($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 53 (: '<' :) | |
or $state[$p:l1] = 54 (: '<!--' :) | |
or $state[$p:l1] = 59) then (: '<?' :) | |
let $state := p:try-DirectConstructor($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-ComputedConstructor($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse UnorderedExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-UnorderedExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(239, $input, $state) (: 'unordered' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "UnorderedExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing UnorderedExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-UnorderedExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(239, $input, $state) (: 'unordered' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse OrderedExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-OrderedExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(187, $input, $state) (: 'ordered' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shift(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
let $state := p:shift(261, $input, $state) (: '}' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "OrderedExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing OrderedExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-OrderedExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(187, $input, $state) (: 'ordered' :) | |
let $state := p:lookahead1W(81, $input, $state) (: S^WS | ('(' ':') | '{' :) | |
let $state := p:shiftT(257, $input, $state) (: '{' :) | |
let $state := p:lookahead1W(241, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'@' | 'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Expr($input, $state) | |
let $state := p:shiftT(261, $input, $state) (: '}' :) | |
return $state | |
}; | |
(:~ | |
: Parse ArgumentPlaceholder. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ArgumentPlaceholder($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(64, $input, $state) (: '?' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ArgumentPlaceholder", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ArgumentPlaceholder. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ArgumentPlaceholder($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(64, $input, $state) (: '?' :) | |
return $state | |
}; | |
(:~ | |
: Parse Argument. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-Argument($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 64) then (: '?' :) | |
let $state := p:parse-ArgumentPlaceholder($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-ExprSingle($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "Argument", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing Argument. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-Argument($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 64) then (: '?' :) | |
let $state := p:try-ArgumentPlaceholder($input, $state) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-ExprSingle($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse the 1st loop of production ArgumentList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ArgumentList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(92, $input, $state) (: S^WS | ('(' ':') | ')' | ',' :) | |
return | |
if ($state[$p:l1] != 41) then (: ',' :) | |
$state | |
else | |
let $state := p:shift(41, $input, $state) (: ',' :) | |
let $state := p:lookahead1W(244, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'?' | '@' | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Argument($input, $state) | |
return p:parse-ArgumentList-1($input, $state) | |
}; | |
(:~ | |
: Try parsing the 1st loop of production ArgumentList (zero or more). Use | |
: tail recursion for iteratively updating the parser state. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ArgumentList-1($input as xs:string, $state as item()+) as item()+ | |
{ | |
if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:lookahead1W(92, $input, $state) (: S^WS | ('(' ':') | ')' | ',' :) | |
return | |
if ($state[$p:l1] != 41) then (: ',' :) | |
$state | |
else | |
let $state := p:shiftT(41, $input, $state) (: ',' :) | |
let $state := p:lookahead1W(244, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | '+' | | |
'-' | '.' | '..' | '/' | '//' | '<' | '<!--' | '<?' | | |
'?' | '@' | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-Argument($input, $state) | |
return p:try-ArgumentList-1($input, $state) | |
}; | |
(:~ | |
: Parse ArgumentList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ArgumentList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(249, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | ')' | | |
'+' | '-' | '.' | '..' | '/' | '//' | '<' | '<!--' | | |
'<?' | '?' | '@' | 'after' | 'ancestor' | | |
'ancestor-or-self' | 'and' | 'as' | 'ascending' | | |
'attribute' | 'before' | 'binary' | 'case' | 'cast' | | |
'castable' | 'catch' | 'child' | 'collation' | | |
'comment' | 'contains' | 'copy' | 'count' | 'declare' | | |
'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 37) then (: ')' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Argument($input, $state) | |
let $state := p:parse-ArgumentList-1($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(37, $input, $state) (: ')' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ArgumentList", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ArgumentList. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ArgumentList($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(249, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | ')' | | |
'+' | '-' | '.' | '..' | '/' | '//' | '<' | '<!--' | | |
'<?' | '?' | '@' | 'after' | 'ancestor' | | |
'ancestor-or-self' | 'and' | 'as' | 'ascending' | | |
'attribute' | 'before' | 'binary' | 'case' | 'cast' | | |
'castable' | 'catch' | 'child' | 'collation' | | |
'comment' | 'contains' | 'copy' | 'count' | 'declare' | | |
'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 37) then (: ')' :) | |
let $state := p:try-Argument($input, $state) | |
let $state := p:try-ArgumentList-1($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(37, $input, $state) (: ')' :) | |
return $state | |
}; | |
(:~ | |
: Parse FunctionName. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FunctionName($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 7) then (: URIQualifiedName :) | |
let $state := p:shift(7, $input, $state) (: URIQualifiedName :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:parse-FunctionQName($input, $state) | |
return $state | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FunctionName", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FunctionName. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FunctionName($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := | |
if ($state[$p:l1] = 7) then (: URIQualifiedName :) | |
let $state := p:shiftT(7, $input, $state) (: URIQualifiedName :) | |
return $state | |
else if ($state[$p:error]) then | |
$state | |
else | |
let $state := p:try-FunctionQName($input, $state) | |
return $state | |
return $state | |
}; | |
(:~ | |
: Parse FunctionCall. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-FunctionCall($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:parse-FunctionName($input, $state) | |
let $state := p:lookahead1W(24, $input, $state) (: S^WS | '(' | ('(' ':') :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-ArgumentList($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "FunctionCall", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing FunctionCall. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-FunctionCall($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:try-FunctionName($input, $state) | |
let $state := p:lookahead1W(24, $input, $state) (: S^WS | '(' | ('(' ':') :) | |
let $state := p:try-ArgumentList($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse ContextItemExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ContextItemExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(44, $input, $state) (: '.' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ContextItemExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ContextItemExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ContextItemExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(44, $input, $state) (: '.' :) | |
return $state | |
}; | |
(:~ | |
: Parse ParenthesizedExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-ParenthesizedExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(243, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | ')' | | |
'+' | '-' | '.' | '..' | '/' | '//' | '<' | '<!--' | | |
'<?' | '@' | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 37) then (: ')' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shift(37, $input, $state) (: ')' :) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "ParenthesizedExpr", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing ParenthesizedExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-ParenthesizedExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(34, $input, $state) (: '(' :) | |
let $state := p:lookahead1W(243, $input, $state) (: Wildcard | URIQualifiedName | IntegerLiteral | | |
DecimalLiteral | DoubleLiteral | StringLiteral | | |
QName^Token | S^WS | '$' | '(' | '(#' | ('(' ':') | ')' | | |
'+' | '-' | '.' | '..' | '/' | '//' | '<' | '<!--' | | |
'<?' | '@' | 'after' | 'ancestor' | 'ancestor-or-self' | | |
'and' | 'as' | 'ascending' | 'attribute' | 'before' | | |
'binary' | 'case' | 'cast' | 'castable' | 'catch' | | |
'child' | 'collation' | 'comment' | 'contains' | 'copy' | | |
'count' | 'declare' | 'default' | 'delete' | | |
'descendant' | 'descendant-or-self' | 'descending' | | |
'div' | 'document' | 'document-node' | 'element' | | |
'else' | 'empty' | 'empty-sequence' | 'end' | 'eq' | | |
'every' | 'except' | 'first' | 'following' | | |
'following-sibling' | 'for' | 'function' | 'ge' | | |
'group' | 'gt' | 'idiv' | 'if' | 'import' | 'insert' | | |
'instance' | 'intersect' | 'into' | 'is' | 'item' | | |
'last' | 'le' | 'let' | 'lt' | 'mod' | 'modify' | | |
'module' | 'namespace' | 'namespace-node' | 'ne' | | |
'node' | 'only' | 'or' | 'order' | 'ordered' | | |
'paragraphs' | 'parent' | 'preceding' | | |
'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := | |
if ($state[$p:error]) then | |
$state | |
else if ($state[$p:l1] != 37) then (: ')' :) | |
let $state := p:try-Expr($input, $state) | |
return $state | |
else | |
$state | |
let $state := p:shiftT(37, $input, $state) (: ')' :) | |
return $state | |
}; | |
(:~ | |
: Parse VarRef. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-VarRef($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := p:shift(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:whitespace($input, $state) | |
let $state := p:parse-VarName($input, $state) | |
let $end := $state[$p:e0] | |
return p:reduce($state, "VarRef", $count, $begin, $end) | |
}; | |
(:~ | |
: Try parsing VarRef. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:try-VarRef($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $state := p:shiftT(31, $input, $state) (: '$' :) | |
let $state := p:lookahead1W(229, $input, $state) (: URIQualifiedName | QName^Token | S^WS | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' :) | |
let $state := p:try-VarName($input, $state) | |
return $state | |
}; | |
(:~ | |
: Parse PrimaryExpr. | |
: | |
: @param $input the input string. | |
: @param $state the parser state. | |
: @return the updated parser state. | |
:) | |
declare function p:parse-PrimaryExpr($input as xs:string, $state as item()+) as item()+ | |
{ | |
let $count := count($state) | |
let $begin := $state[$p:e0] | |
let $state := | |
if ($state[$p:l1] = 171) then (: 'namespace' :) | |
let $state := p:lookahead2W(185, $input, $state) (: NCName^Token | S^WS | '#' | '(' | ('(' ':') | 'after' | | |
'and' | 'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'try' | 'union' | 'where' | 'with' | 'words' | | |
'{' :) | |
return $state | |
else if ($state[$p:l1] = 201) then (: 'processing-instruction' :) | |
let $state := p:lookahead2W(184, $input, $state) (: NCName^Token | S^WS | '#' | ('(' ':') | 'after' | 'and' | | |
'as' | 'ascending' | 'before' | 'case' | 'cast' | | |
'castable' | 'collation' | 'contains' | 'count' | | |
'default' | 'descending' | 'div' | 'else' | 'empty' | | |
'end' | 'eq' | 'except' | 'for' | 'ge' | 'group' | 'gt' | | |
'idiv' | 'instance' | 'intersect' | 'into' | 'is' | | |
'le' | 'let' | 'lt' | 'mod' | 'modify' | 'ne' | 'only' | | |
'or' | 'order' | 'paragraphs' | 'return' | 'satisfies' | | |
'sentences' | 'stable' | 'start' | 'times' | 'to' | | |
'treat' | 'try' | 'union' | 'where' | 'with' | 'words' | | |
'{' :) | |
return $state | |
else if ($state[$p:l1] = 81 (: 'element' :) | |
or $state[$p:l1] = 116) then (: 'element' :) | |
let $state := p:lookahead2W(234, $input, $state) (: URIQualifiedName | QName^Token | S^WS | '#' | ('(' ':') | | |
'after' | 'ancestor' | 'ancestor-or-self' | 'and' | | |
'as' | 'ascending' | 'attribute' | 'before' | 'binary' | | |
'case' | 'cast' | 'castable' | 'catch' | 'child' | | |
'collation' | 'comment' | 'contains' | 'copy' | 'count' | | |
'declare' | 'default' | 'delete' | 'descendant' | | |
'descendant-or-self' | 'descending' | 'div' | | |
'document' | 'document-node' | 'element' | 'else' | | |
'empty' | 'empty-sequence' | 'end' | 'eq' | 'every' | | |
'except' | 'first' | 'following' | 'following-sibling' | | |
'for' | 'function' | 'ge' | 'group' | 'gt' | 'idiv' | | |
'if' | 'import' | 'insert' | 'instance' | 'intersect' | | |
'into' | 'is' | 'item' | 'last' | 'le' | 'let' | 'lt' | | |
'mod' | 'modify' | 'module' | 'namespace' | | |
'namespace-node' | 'ne' | 'node' | 'only' | 'or' | | |
'order' | 'ordered' | 'paragraphs' | 'parent' | | |
'preceding' | 'preceding-sibling' | 'private' | | |
'processing-instruction' | 'property' | 'rename' | | |
'replace' | 'return' | 'satisfies' | 'schema-attribute' | | |
'schema-element' | 'self' | 'sentences' | 'some' | | |
'stable' | 'start' | 'switch' | 'text' | 'times' | 'to' | | |
'treat' | 'try' | 'typeswitch' | 'union' | 'unordered' | | |
'validate' | 'where' | 'with' | 'words' | 'xquery' | '{' :) | |
return $state | |
else if ($state[$p:l1] = 84 (: 'comment' :) | |
or $state[$p:l1] = 93 (: 'text' :) | |
or $state[$p:l1] = 228) then (: 'text' :) | |
let $state := p:lookahead2W(86, $input, $state) (: S^WS | '#' | ('(' ':') | '{' :) | |
return $state | |
else if ($state[$p:l1] = 114 (: 'ordered' :) | |
or $state[$p:l1] = 187 (: 'unordered' :) | |
or $state[$p:l1] = 239) then (: 'unordered' :) | |
let $state := p:lookahead2W(132, $input, $state) (: S^WS | '#' | '(' | ('(' ':') | '{' :) | |
return $state | |
else if ($state[$p:l1] = 7 (: QName^Token :) | |
or $state[$p:l1] = 22 (: 'after' :) | |
or $state[$p:l1] = 71 (: 'ancestor' :) | |
or $state[$p:l1] = 74 (: 'ancestor-or-self' :) | |
or $state[$p:l1] = 75 (: 'and' :) | |
or $state[$p:l1] = 76 (: 'as' :) | |
or $state[$p:l1] = 78 (: 'ascending' :) | |
or $state[$p:l1] = 79 (: 'before' :) | |
or $state[$p:l1] = 83 (: 'case' :) | |
or $state[$p:l1] = 87 (: 'cast' :) | |
or $state[$p:l1] = 88 (: 'castable' :) | |
or $state[$p:l1] = 89 (: 'catch' :) | |
or $state[$p:l1] = 90 (: 'child' :) | |
or $state[$p:l1] = 91 (: 'collation' :) | |
or $state[$p:l1] = 92 (: 'contains' :) | |
or $state[$p:l1] = 95 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Looks like this file got a bit truncated somewhere?